Make packer templates fail on any problems
[releng/builder.git] / packer / provision / java-builder.sh
1 #!/bin/bash
2
3 # vim: sw=4 ts=4 sts=4 et tw=72 :
4
5 # force any errors to cause the script and job to end in failure
6 set -xeu -o pipefile
7
8 # The following packages are not needed by all projects, but they are
9 # needed by enough to make them useful everywhere
10 yum install -y @development perl-{Digest-SHA,ExtUtils-MakeMaker} \
11     ant {boost,gtest,json-c,libcurl,libxml2,libvirt,openssl}-devel \
12     {readline,unixODBC}-devel yum-utils fedora-packager \
13     libxslt-devel crudini
14
15 #Install python3 and dependencies
16 yum install -y python34
17 yum install -y python34-{devel,virtualenv,setuptools,pip}
18
19 # Install python dependencies
20 yum install -y python-{devel,virtualenv,setuptools,pip}
21
22 # Needed by autorelease scripts
23 yum install -y xmlstarlet
24
25 # sshpass for the current deploy test to be runable immediatelly after
26 # build
27 yum install -y sshpass
28
29 # tcpmd5 is wanting to do 32bit ARM cross-compilation and is specifically
30 # requesting the following be installed (note the kernel headers are
31 # going to be the x86_64 package as there aren't separate 32bit and
32 # x86_64 packages for them
33 yum install -y glibc-devel.i686 kernel-headers
34
35 # The following is needed by opendove, if this is to be perfomed against
36 # an EL6 system some of these packages are not availalble (or at the
37 # wrong version) in publically available repositories as such this
38 # should only really be done on an EL7 (or F18+) system
39 yum install -y {jansson,libevent,libnl,libuuid}-devel
40
41 #The following is needed for the vsemprovider build in vtn project.
42 #these packages will enable C# compilation.
43 rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
44 #Added the mono tools repository
45 yum-config-manager -y --add-repo http://download.mono-project.com/repo/centos/
46 #install the mono toolchain and nuget
47 yum -y install mono-complete nuget
48 #end changes for vsemprovider in VTN
49
50
51 # TSDR dependencies
52 echo "Installing the Hbase Server..."
53 mkdir /tmp/Hbase
54 cd /tmp/Hbase
55 wget --no-verbose http://apache.osuosl.org/hbase/hbase-0.94.27/hbase-0.94.27.tar.gz
56 tar -xvf hbase-0.94.27.tar.gz
57
58 echo "Installing the Cassandra Server..."
59 mkdir /tmp/cassandra
60 cd /tmp/cassandra
61 wget --no-verbose http://apache.osuosl.org/cassandra/2.1.16/apache-cassandra-2.1.16-bin.tar.gz
62 tar -xvf apache-cassandra-2.1.16-bin.tar.gz
63
64
65 # Generally useful for all projects
66 echo "Installing the Elasticsearch node..."
67 mkdir /tmp/elasticsearch
68 cd /tmp/elasticsearch
69 wget --no-verbose https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz
70 tar -xvzf elasticsearch-1.7.5.tar.gz
71
72
73 # The following installs hashicorp's packer binary which is required  for
74 # the {verify,merge}-packer jobs
75 mkdir /tmp/packer
76 cd /tmp/packer
77 wget https://releases.hashicorp.com/packer/0.12.2/packer_0.12.2_linux_amd64.zip
78 unzip packer_0.12.2_linux_amd64.zip -d /usr/local/bin/
79 # rename packer to avoid conflict with binary in cracklib
80 mv /usr/local/bin/packer /usr/local/bin/packer.io