Merge "Update Ubuntu mininet image and labels"
[releng/builder.git] / packer / provision / java-builder.sh
index db194b3d66d0bb5c40afa7d4d0db77c4617c5f94..6ef6dd271d4b29a95c1f5072782d9f06c3abcd3f 100644 (file)
@@ -2,48 +2,86 @@
 
 # vim: sw=4 ts=4 sts=4 et tw=72 :
 
+# Force any errors to cause the script and job to end in failure
+set -xeu -o pipefail
+
 # The following packages are not needed by all projects, but they are
 # needed by enough to make them useful everywhere
-yum install -q -y @development perl-{Digest-SHA,ExtUtils-MakeMaker} \
+yum install -y @development perl-{Digest-SHA,ExtUtils-MakeMaker} \
     ant {boost,gtest,json-c,libcurl,libxml2,libvirt,openssl}-devel \
-    {readline,unixODBC}-devel yum-utils
+    {readline,unixODBC}-devel yum-utils fedora-packager \
+    libxslt-devel crudini
+
+# Install python3 and dependencies, needed for Coala linting at least
+yum install -y python34
+yum install -y python34-{devel,virtualenv,setuptools,pip}
 
-# Install python dependencies
+# Install python dependencies, useful generally
 yum install -y python-{devel,virtualenv,setuptools,pip}
 
 # Needed by autorelease scripts
 yum install -y xmlstarlet
 
-# sshpass for the current deploy test to be runable immediatelly after
-# build
+# Needed by docs project
+yum install -y graphviz
+
+# Needed by deploy test
 yum install -y sshpass
 
 # tcpmd5 is wanting to do 32bit ARM cross-compilation and is specifically
 # requesting the following be installed (note the kernel headers are
 # going to be the x86_64 package as there aren't separate 32bit and
 # x86_64 packages for them
-yum install -q -y glibc-devel.i686 kernel-headers
+yum install -y glibc-devel.i686 kernel-headers
 
-# The following is needed by opendove, if this is to be perfomed against
-# an EL6 system some of these packages are not availalble (or at the
-# wrong version) in publically available repositories as such this
-# should only really be done on an EL7 (or F18+) system
-yum install -q -y {jansson,libevent,libnl,libuuid}-devel
+# Needed by opendove
+yum install -y {jansson,libevent,libnl,libuuid}-devel
 
-#The following is needed for the vsemprovider build in vtn project.
-#these packages will enable C# compilation.
+# Needed for vsemprovider build in vtn project to enable C# compilation.
 rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
-#Added the mono tools repository
-yum-config-manager -q -y --add-repo http://download.mono-project.com/repo/centos/
-#install the mono toolchain and nuget
-yum -q -y install mono-complete-4.2.3.4 nuget-2.8.7
-#end changes for vsemprovider in VTN
-
-# The following installs hashicorp's packer binary which is required  for
-# the {verify,merge}-packer jobs
+# Add the mono tools repository
+yum-config-manager -y --add-repo http://download.mono-project.com/repo/centos/
+# Install the mono toolchain and nuget
+yum -y install mono-complete nuget
+
+# Needed by TSDR
+echo "Installing the Hbase Server..."
+mkdir /tmp/Hbase
+cd /tmp/Hbase
+wget --no-verbose http://apache.osuosl.org/hbase/hbase-0.94.27/hbase-0.94.27.tar.gz
+tar -xvf hbase-0.94.27.tar.gz
+
+# Needed by TSDR
+echo "Installing the Cassandra Server..."
+mkdir /tmp/cassandra
+cd /tmp/cassandra
+wget --no-verbose http://apache.osuosl.org/cassandra/2.1.16/apache-cassandra-2.1.16-bin.tar.gz
+tar -xvf apache-cassandra-2.1.16-bin.tar.gz
+
+# Generally useful for all projects
+echo "Installing the Elasticsearch node..."
+mkdir /tmp/elasticsearch
+cd /tmp/elasticsearch
+wget --no-verbose https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz
+tar -xvzf elasticsearch-1.7.5.tar.gz
+
+# Installs Hashicorp's Packer binary, required for {verify,merge}-packer jobs
 mkdir /tmp/packer
 cd /tmp/packer
-wget https://releases.hashicorp.com/packer/0.10.1/packer_0.10.1_linux_amd64.zip
-unzip packer_0.10.1_linux_amd64.zip -d /usr/local/bin/
+wget https://releases.hashicorp.com/packer/0.12.2/packer_0.12.2_linux_amd64.zip
+unzip packer_0.12.2_linux_amd64.zip -d /usr/local/bin/
 # rename packer to avoid conflict with binary in cracklib
 mv /usr/local/bin/packer /usr/local/bin/packer.io
+
+#Check out 6Wind quagga with tag name '20170330', compile and install for router functionalities
+echo "Installing the Quagga..."
+mkdir -p /tmp/build_quagga
+cd /tmp/build_quagga
+git clone https://github.com/6WIND/zrpcd.git
+cd zrpcd
+git checkout 20170330
+chmod a+x /tmp/build_quagga/zrpcd/pkgsrc/dev_compile_script.sh
+/tmp/build_quagga/zrpcd/pkgsrc/dev_compile_script.sh -d -b -t
+
+# Removing the build_quagga folder
+rm -rf /tmp/build_quagga/
\ No newline at end of file