blob: 86d787c2821c7df4891c90bdf35cd4ba244be6dc [file] [log] [blame]
Neels Hofmeyr07650982017-05-12 16:24:16 +02001#!/bin/sh
Neels Hofmeyrd46ea132017-04-08 15:56:31 +02002set -e -x
3
4base="$PWD"
5prefix="$base/inst-osmo-nitb"
6
7rm -f "$base/osmo-nitb*.tgz"
8
9deps="
10libosmocore
11libosmo-abis
12libosmo-netif
13openggsn
14libsmpp34
15libosmo-sccp
16openbsc
17"
18
19have_repo() {
20 repo="$1"
21 cd "$base"
Neels Hofmeyr07650982017-05-12 16:24:16 +020022 if [ ! -d "$repo" ]; then
23 git clone "git://git.osmocom.org/$repo" "$repo"
Neels Hofmeyrd46ea132017-04-08 15:56:31 +020024 fi
25 cd "$repo"
26 git clean -dxf
Neels Hofmeyr07650982017-05-12 16:24:16 +020027 git fetch origin
28 git reset --hard origin/master
29 git rev-parse HEAD
Neels Hofmeyrd46ea132017-04-08 15:56:31 +020030 cd "$base"
31}
32
33rm -rf "$prefix"
34mkdir -p "$prefix"
35
36export PKG_CONFIG_PATH="$prefix/lib/pkgconfig"
37export LD_LIBRARY_PATH="$prefix/lib"
38
39for dep in $deps; do
Neels Hofmeyr445ff9b2017-05-24 18:17:01 +020040 set +x; echo "
41
42====================== $dep
43
44"; set -x
45
Neels Hofmeyrd46ea132017-04-08 15:56:31 +020046 have_repo "$dep"
47 cd "$dep"
48 rm -rf *
49 git checkout .
50
51 echo "$(git rev-parse HEAD) $dep" >> "$prefix/osmo-nitb_git_hashes.txt"
52
53 config_opts=""
54
55 case "$dep" in
56 'openbsc')
57 config_opts="$config_opts --enable-smpp --enable-osmo-bsc --enable-nat"
58 cd openbsc/
59 ;;
60 esac
61
62 autoreconf -fi
Neels Hofmeyr445ff9b2017-05-24 18:17:01 +020063 set +x; echo; echo; set -x
Neels Hofmeyrd46ea132017-04-08 15:56:31 +020064 ./configure --prefix="$prefix" $config_opts
Neels Hofmeyr445ff9b2017-05-24 18:17:01 +020065 set +x; echo; echo; set -x
Neels Hofmeyrd46ea132017-04-08 15:56:31 +020066 make -j8 || make # libsmpp34 can't build in parallel
Neels Hofmeyr445ff9b2017-05-24 18:17:01 +020067 set +x; echo; echo; set -x
Neels Hofmeyrd46ea132017-04-08 15:56:31 +020068 make install
69done
70
Neels Hofmeyr62a56002017-05-22 19:32:06 +020071# don't package documentation -- the libosmocore docs can be up to 16 Mb large,
72# a significant amount compared to the binaries
Neels Hofmeyr4e0627f2017-05-29 00:41:07 +020073rm -rf "$prefix/share/doc"
Neels Hofmeyr62a56002017-05-22 19:32:06 +020074
Neels Hofmeyrd46ea132017-04-08 15:56:31 +020075# build the archive that is going to be copied to the tester
Neels Hofmeyrc59e0792017-05-14 01:57:25 +020076rm "$base"/*.tgz "$base"/*.md5 || true
Neels Hofmeyrd46ea132017-04-08 15:56:31 +020077cd "$prefix"
Neels Hofmeyrc59e0792017-05-14 01:57:25 +020078this="osmo-nitb.build-${BUILD_NUMBER}"
79tar="${this}.tgz"
80tar czf "$base/$tar" *
81cd "$base"
82md5sum "$tar" > "${this}.md5"