a379eb19190d8af43e71d1284e59ac8fc7847cc5
[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 pipefail
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 # Needed by docs project
26 yum install -y graphviz
27
28 # sshpass for the current deploy test to be runable immediatelly after
29 # build
30 yum install -y sshpass
31
32 # tcpmd5 is wanting to do 32bit ARM cross-compilation and is specifically
33 # requesting the following be installed (note the kernel headers are
34 # going to be the x86_64 package as there aren't separate 32bit and
35 # x86_64 packages for them
36 yum install -y glibc-devel.i686 kernel-headers
37
38 # The following is needed by opendove, if this is to be perfomed against
39 # an EL6 system some of these packages are not availalble (or at the
40 # wrong version) in publically available repositories as such this
41 # should only really be done on an EL7 (or F18+) system
42 yum install -y {jansson,libevent,libnl,libuuid}-devel
43
44 #The following is needed for the vsemprovider build in vtn project.
45 #these packages will enable C# compilation.
46 rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
47 #Added the mono tools repository
48 yum-config-manager -y --add-repo http://download.mono-project.com/repo/centos/
49 #install the mono toolchain and nuget
50 yum -y install mono-complete nuget
51 #end changes for vsemprovider in VTN
52
53
54 # TSDR dependencies
55 echo "Installing the Hbase Server..."
56 mkdir /tmp/Hbase
57 cd /tmp/Hbase
58 wget --no-verbose http://apache.osuosl.org/hbase/hbase-0.94.27/hbase-0.94.27.tar.gz
59 tar -xvf hbase-0.94.27.tar.gz
60
61 echo "Installing the Cassandra Server..."
62 mkdir /tmp/cassandra
63 cd /tmp/cassandra
64 wget --no-verbose http://apache.osuosl.org/cassandra/2.1.16/apache-cassandra-2.1.16-bin.tar.gz
65 tar -xvf apache-cassandra-2.1.16-bin.tar.gz
66
67
68 # Generally useful for all projects
69 echo "Installing the Elasticsearch node..."
70 mkdir /tmp/elasticsearch
71 cd /tmp/elasticsearch
72 wget --no-verbose https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz
73 tar -xvzf elasticsearch-1.7.5.tar.gz
74
75
76 # The following installs hashicorp's packer binary which is required  for
77 # the {verify,merge}-packer jobs
78 mkdir /tmp/packer
79 cd /tmp/packer
80 wget https://releases.hashicorp.com/packer/0.12.2/packer_0.12.2_linux_amd64.zip
81 unzip packer_0.12.2_linux_amd64.zip -d /usr/local/bin/
82 # rename packer to avoid conflict with binary in cracklib
83 mv /usr/local/bin/packer /usr/local/bin/packer.io