From 63ea3d02595facf9374f0ba42f710964e9d5d084 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Thu, 18 May 2017 15:15:19 +0200 Subject: contrib: add jenkins-build-osmo-msc.sh Change-Id: I2d5520cab0ad09f23e3ba49404385af80acf56f6 --- contrib/jenkins-build-osmo-msc.sh | 82 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100755 contrib/jenkins-build-osmo-msc.sh diff --git a/contrib/jenkins-build-osmo-msc.sh b/contrib/jenkins-build-osmo-msc.sh new file mode 100755 index 0000000..7e71488 --- /dev/null +++ b/contrib/jenkins-build-osmo-msc.sh @@ -0,0 +1,82 @@ +#!/bin/sh +set -e -x + +base="$PWD" +prefix="$base/inst-osmo-msc" + +rm -f "$base/osmo-msc*.tgz" + +git_url="git://git.osmocom.org" + +have_repo() { + repo="$1" + branch="${2-master}" + + cd "$base" + if [ ! -d "$repo" ]; then + git clone "$git_url/$repo" -b "$branch" "$repo" + fi + cd "$repo" + rm -rf * + git fetch origin + git checkout . + git checkout "$branch" + git reset --hard origin/"$branch" + git rev-parse HEAD + + cd "$base" +} + +build_repo() { + dep="$1" + branch="${2-master}" + + have_repo "$dep" "$branch" + + cd "$dep" + + echo "$(git rev-parse HEAD) $dep" >> "$prefix/osmo-msc_git_hashes.txt" + + config_opts="" + + case "$dep" in + 'openbsc') + config_opts="$config_opts --enable-smpp --enable-osmo-bsc --enable-nat --enable-iu" + cd openbsc/ + ;; + esac + + autoreconf -fi + ./configure --prefix="$prefix" $config_opts + make -j8 || make # libsmpp34 can't build in parallel + make install +} + +rm -rf "$prefix" +mkdir -p "$prefix" + +export PKG_CONFIG_PATH="$prefix/lib/pkgconfig" +export LD_LIBRARY_PATH="$prefix/lib" + +build_repo libosmocore +build_repo libosmo-abis +build_repo libosmo-netif +build_repo openggsn +build_repo libsmpp34 +build_repo libosmo-sccp neels/aoip # TEMPORARY BRANCH +build_repo libasn1c +build_repo osmo-iuh neels/sigtran # TEMPORARY BRANCH +build_repo openbsc aoip + +# don't package documentation -- the libosmocore docs can be up to 16 Mb large, +# a significant amount compared to the binaries +rm -rf "$prefix/share/doc/libosmocore" + +# build the archive that is going to be copied to the tester +rm "$base"/*.tgz "$base"/*.md5 || true +cd "$prefix" +this="osmo-msc.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" +tar="${this}.tgz" +tar czf "$base/$tar" * +cd "$base" +md5sum "$tar" > "${this}.md5" -- cgit v1.2.3