c3a2eef2bf8dfc4805af1572147960e74f976239
[releng/builder.git] / vagrant / basic-builder / bootstrap.sh
1 #!/bin/bash
2
3 # vim: sw=4 ts=4 sts=4 et tw=72 :
4
5 yum clean all
6 # Add the ODL yum repo (not needed for java nodes, but useful for
7 # potential later layers)
8 yum install -q -y https://nexus.opendaylight.org/content/repositories/opendaylight-yum-epel-6-x86_64/rpm/opendaylight-release/0.1.0-1.el6.noarch/opendaylight-release-0.1.0-1.el6.noarch.rpm
9
10 # Make sure the system is fully up to date
11 yum update -q -y
12
13 # Add in git (needed for most everything) and XML-XPath as it is useful
14 # for doing CLI based CML parsing of POM files
15 yum install -q -y git perl-XML-XPath
16
17 # install all available openjdk-devel sets
18 yum install -q -y 'java-*-openjdk-devel'
19
20 # we currently use Java7 (aka java-1.7.0-openjdk) as our standard make
21 # sure that this is the java that alternatives is pointing to, dynamic
22 # spin-up scripts can switch to any of the current JREs installed if
23 # needed
24 alternatives --set java /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
25 alternatives --set java_sdk_openjdk /usr/lib/jvm/java-1.7.0-openjdk.x86_64
26
27 # To handle the prompt style that is expected all over the environment
28 # with how use use robotframework we need to make sure that it is
29 # consistent for any of the users that are created during dynamic spin
30 # ups
31 echo 'PS1="[\u@\h \W]> "' >> /etc/skel/.bashrc
32
33 # The following packages are not needed by all projects, but they are
34 # needed by enough to make them useful everywhere
35 yum install -q -y @development perl-{Digest-SHA,ExtUtils-MakeMaker} \
36     ant {boost,gtest,json-c,libcurl,libxml2,libvirt,openssl}-devel \
37     {readline,unixODBC}-devel
38
39 # tcpmd5 is wanting to do 32bit ARM cross-compilation and is specifically
40 # requesting the following be installed (note the kernel headers are
41 # going to be the x86_64 package as there aren't separate 32bit and
42 # x86_64 packages for them
43 yum install -q -y glibc-devel.i686 kernel-headers
44
45 # The following is needed by opendove, if this is to be perfomed against
46 # an EL6 system some of these packages are not availalble (or at the
47 # wrong version) in publically available repositories as such this
48 # should only really be done on an EL7 (or F18+) system
49 yum install -q -y {jansson,libevent,libevent2,libnl,libuuid}-devel \
50     python-{devel,virtualenv,setuptools}
51
52 #get yum-config-manager
53 yum -q -y install yum-utils
54 #The following is needed for the new code in vtn project.
55 #these packages will enable C# compilation.
56 rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
57 #Added the mono tools repository
58 yum-config-manager -q -y --add-repo http://download.mono-project.com/repo/centos6
59 #Install the nuget binary
60 yum install -q -y http://download.mono-project.com/repo/centos/RPMS/noarch/nuget-2.8.3+md58+dhx1-0.noarch.rpm
61 #install the mono toolchain
62 yum -q -y install mono-complete