provisioner.bash 4.7 KB
Newer Older
Yann Garcia's avatar
Yann Garcia committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/bin/bash
# Prepare environment for the build
#set -e # Exit with non 0 if any command fails
#set -vx

# Update system
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y
sudo DEBIAN_FRONTEND=noninteractive apt-get install software-properties-common -y
sudo DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:linuxuprising/java -y
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get --allow-unauthenticated install emacs openjdk-11-jre gcc-8 g++-8 git subversion lsof ntp gdb make cmake flex bison autoconf doxygen graphviz libtool libncurses5-dev expect libssl-dev libgcrypt-dev libxml2-dev xutils-dev tcpdump libpcap-dev libwireshark-dev wget tree unzip sshpass kubuntu-desktop valgrind qt5-default qttools5-dev qtmultimedia5-dev libqt5svg5-dev vim tzdata dos2unix xsltproc -y
# Install java
#sudo DEBIAN_FRONTEND=noninteractive apt-get install oracle-java9-installer oracle-java9-set-default -y
#sudo DEBIAN_FRONTEND=noninteractive apt-get --allow-unauthenticated install oracle-java10-installer oracle-java10-set-default -y
#sudo DEBIAN_FRONTEND=noninteractive apt --fix-broken install -y
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove --purge -y
sudo DEBIAN_FRONTEND=noninteractive apt-get clean

gcc --version
g++ --version
valgrind --version
java -version

export HOME=/home/vagrant

export PATH_DEV=${HOME}/dev
export HOME_FRAMEWORKS=${HOME}/frameworks
export HOME_LIB=${HOME}/lib
export HOME_BIN=${HOME}/bin
export HOME_ETC=${HOME}/etc
export HOME_INC=${HOME}/include
export HOME_TMP=${HOME}/tmp
export HOME_DOCS=${HOME}/docs
export PATH=${HOME_BIN}:${PATH}
export LD_LIBRARY_PATH=${HOME_LIB}:/usr/local/lib:${LD_LIBRARY_PATH}

OLD_PWD=`pwd`
# Create directories
mkdir -p ${HOME_LIB}
if [ ! -d ${HOME_LIB} ]
then
    exit -1
fi
mkdir -p ${HOME_INC}
if [ ! -d ${HOME_INC} ]
then
    exit -1
fi
mkdir -p ${HOME_BIN}
if [ ! -d ${HOME_BIN} ]
then
    exit -1
fi
mkdir -p ${HOME_TMP}
if [ ! -d ${HOME_TMP} ]
then
    exit -1
fi
mkdir -p ${HOME_DOCS}
if [ ! -d ${HOME_DOCS} ]
then
    exit -1
fi
mkdir -p ${HOME_FRAMEWORKS}
if [ ! -d ${HOME_FRAMEWORKS} ]
then
    exit -1
fi
mkdir -p ${PATH_DEV}
if [ ! -d ${PATH_DEV} ]
then
    exit -1
fi

Yann Garcia's avatar
Yann Garcia committed
76
cd /home/vagrant/dev
YannGarcia's avatar
YannGarcia committed
77
git clone https://forge.etsi.org/gitlab/mec/gs032p3-ttcn-test-suite.git ./STF569_Mec
Yann Garcia's avatar
Yann Garcia committed
78
79
cd /home/vagrant/dev/STF569_Mec
cd /home/vagrant/dev/STF569_Mec/ttcn
Yann Garcia's avatar
Yann Garcia committed
80
81
82
83
git clone https://forge.etsi.org/gitlab/LIBS/LibSip.git ./LibSip
git clone https://forge.etsi.org/gitlab/LIBS/LibIms.git ./LibIms
git clone https://forge.etsi.org/gitlab/LIBS/LibCommon.git ./LibCommon
git clone -bSTF525 https://forge.etsi.org/gitlab/LIBS/LibIts ./LibIt
Yann Garcia's avatar
Yann Garcia committed
84
cd /home/etsi/dev/STF569_Mec/ttcn/LibIts
Yann Garcia's avatar
Yann Garcia committed
85
86
rm -fr asn1 t3q xsd
cd ttcn && rm -fr BTP CALM CAM Common DCC DENM GeoNetworking Ipv6OverGeoNetworking IVIM MapemSpatem Pki Security SremSsem V2G
Yann Garcia's avatar
Yann Garcia committed
87
cd /home/vagrant/dev/STF569_Mec/scripts
Yann Garcia's avatar
Yann Garcia committed
88
chmod 775 *.bash devenv.bash.*
Yann Garcia's avatar
Yann Garcia committed
89
cd /home/vagrant/dev/STF569_Mec/docker
Yann Garcia's avatar
Yann Garcia committed
90
chmod 775 *.sh
Yann Garcia's avatar
Yann Garcia committed
91
cd /home/vagrant/dev/STF569_Mec
Yann Garcia's avatar
Yann Garcia committed
92
93
chmod 775 ./.jenkins.sh
cd /home/vagrant
Yann Garcia's avatar
Yann Garcia committed
94
ln -sf /home/vagrant/dev/STF569_Mec/scripts/devenv.bash.ubuntu /home/vagrant/devenv.bash
Yann Garcia's avatar
Yann Garcia committed
95
96
97
98
99
100
. /home/vagrant/devenv.bash

# Install all frameworks

# Install osip
cd ${HOME_FRAMEWORKS}
Yann Garcia's avatar
Yann Garcia committed
101
102
103
104
git clone git://git.savannah.gnu.org/osip.git ./osip
cd ./osip
./autogen.sh
./configure --prefix=/home/vagrant
Yann Garcia's avatar
Yann Garcia committed
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
make && make install

# Install GoogleTest
cd ${HOME_FRAMEWORKS}
git clone https://github.com/google/googletest.git googletest
cd ${HOME_FRAMEWORKS}/googletest/
cmake .
make CXX=g++
sudo make install

# Install latest LCOV
cd ${HOME_FRAMEWORKS}
mkdir -p ${HOME_FRAMEWORKS}/lcov
cd ${HOME_FRAMEWORKS}/lcov
wget http://ftp.de.debian.org/debian/pool/main/l/lcov/lcov_1.13.orig.tar.gz
tar xf lcov_1.13.orig.tar.gz
sudo make -C lcov-1.13/ install

# Install lcov to coveralls conversion
sudo gem install coveralls-lcov

lcov --version
coveralls-lcov -h

# Install eclipse
cd ${HOME_FRAMEWORKS}
wget 'http://ftp.halifax.rwth-aachen.de/eclipse/technology/epp/downloads/release/oxygen/2/eclipse-cpp-oxygen-2-linux-gtk-x86_64.tar.gz' -Oeclipse-cpp-oxygen-2-linux-gtk-x86_64.tar.gz
tar -zxvf ./eclipse-cpp-oxygen-2-linux-gtk-x86_64.tar.gz
rm -f ./eclipse-cpp-oxygen-2-linux-gtk-x86_64.tar.gz

cd /home/vagrant
Yann Garcia's avatar
Yann Garcia committed
136
137
138
139
echo "" >> /home/vagrant/.bashrc
echo "export LD_LIBRARY_PATH=/home/vagrant/dev/etsi_mec/lib:$LD_LIBRARY_PATH" >> /home/vagrant/.bashrc
echo "export PATH=/home/vagrant/bin:$PATH" >> /home/vagrant/.bashrc
echo ". ~/devenv.bash" >> /home/vagrant/.bashrc
Yann Garcia's avatar
Yann Garcia committed
140
141

. /home/vagrant/.bashrc
Yann Garcia's avatar
Yann Garcia committed
142
143
144
cd /home/vagrant/dev/STF569_Mec/scripts
./build_titan.bash
. /home/vagrant/devenv.bash
Yann Garcia's avatar
Yann Garcia committed
145
146
147
148
149
150
151
152
153
154
./update_its_project.bash
cd /home/vagrant/dev/etsi_emco/src/TestCodec/objs
../bin/testcodec_generate_makefile.bash
../bin/run_all.bash

cd ${OLD_PWD}

sudo init 6

exit 0