Add 6Wind quagga to ubuntu16.04 and centos7 images
[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, needed for Coala linting at least
16 yum install -y python34
17 yum install -y python34-{devel,virtualenv,setuptools,pip}
18
19 # Install python dependencies, useful generally
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 # Needed by deploy test
29 yum install -y sshpass
30
31 # tcpmd5 is wanting to do 32bit ARM cross-compilation and is specifically
32 # requesting the following be installed (note the kernel headers are
33 # going to be the x86_64 package as there aren't separate 32bit and
34 # x86_64 packages for them
35 yum install -y glibc-devel.i686 kernel-headers
36
37 # Needed by opendove
38 yum install -y {jansson,libevent,libnl,libuuid}-devel
39
40 # Needed for vsemprovider build in vtn project to enable C# compilation.
41 rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
42 # Add the mono tools repository
43 yum-config-manager -y --add-repo http://download.mono-project.com/repo/centos/
44 # Install the mono toolchain and nuget
45 yum -y install mono-complete nuget
46
47 # Needed by TSDR
48 echo "Installing the Hbase Server..."
49 mkdir /tmp/Hbase
50 cd /tmp/Hbase
51 wget --no-verbose http://apache.osuosl.org/hbase/hbase-0.94.27/hbase-0.94.27.tar.gz
52 tar -xvf hbase-0.94.27.tar.gz
53
54 # Needed by TSDR
55 echo "Installing the Cassandra Server..."
56 mkdir /tmp/cassandra
57 cd /tmp/cassandra
58 wget --no-verbose http://apache.osuosl.org/cassandra/2.1.16/apache-cassandra-2.1.16-bin.tar.gz
59 tar -xvf apache-cassandra-2.1.16-bin.tar.gz
60
61 # Generally useful for all projects
62 echo "Installing the Elasticsearch node..."
63 mkdir /tmp/elasticsearch
64 cd /tmp/elasticsearch
65 wget --no-verbose https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz
66 tar -xvzf elasticsearch-1.7.5.tar.gz
67
68 # Installs Hashicorp's Packer binary, required for {verify,merge}-packer jobs
69 mkdir /tmp/packer
70 cd /tmp/packer
71 wget https://releases.hashicorp.com/packer/0.12.2/packer_0.12.2_linux_amd64.zip
72 unzip packer_0.12.2_linux_amd64.zip -d /usr/local/bin/
73 # rename packer to avoid conflict with binary in cracklib
74 mv /usr/local/bin/packer /usr/local/bin/packer.io
75
76 #Check out 6Wind quagga with tag name '20170330', compile and install for router functionalities
77 echo "Installing the Quagga..."
78 mkdir -p /tmp/build_quagga
79 cd /tmp/build_quagga
80 git clone https://github.com/6WIND/zrpcd.git
81 cd zrpcd
82 git checkout 20170330
83 chmod a+x /tmp/build_quagga/zrpcd/pkgsrc/dev_compile_script.sh
84 /tmp/build_quagga/zrpcd/pkgsrc/dev_compile_script.sh -d -b -t
85
86 # Removing the build_quagga folder
87 rm -rf /tmp/build_quagga/