create osmocom-nightly-nitb-split.sh based on osmocom-nightly-packages.sh

Create a snapshot of the nitb split and upload it to OBS.

Change-Id: I8bf9fce1547e98c44b62a693ac4aaa4beed1aef9
This commit is contained in:
Alexander Couzens 2017-08-03 19:51:52 +00:00
parent efcf6881a2
commit a0d34c1b8d
1 changed files with 119 additions and 0 deletions

View File

@ -0,0 +1,119 @@
#!/bin/bash
set -e
set -x
DT=$(date +%Y%m%d)
PROJ=network:osmocom:nitb-split:nightly
### common
checkout() {
local name=$1
local branch=$2
local url="git://git.osmocom.org"
cd "$REPO"
if [ -n "$branch" ] ; then
git clone "$url/$name" -b "$branch"
else
git clone "$url/$name"
fi
cd -
}
### OBS build
prepare() {
# clean up the whole space
mkdir -p "$REPO/osc/"
cd "$REPO/osc"
osc co "$PROJ"
}
build() {
local name=$1
local repodir=$REPO/$name
local oscdir=$REPO/osc/$PROJ/$name
if [ -d "$oscdir" ] ; then
# remove earlier version
cd "$oscdir"
osc rm -- * || true
else
# new package
mkdir -p "$oscdir/"
cd "$REPO/osc/$PROJ/"
osc add "$name"
fi
cd "$repodir"
VER=$(head -1 debian/changelog | cut -d ' ' -f 2 | sed 's,(,,' | sed 's,),,')
dch -v "$VER.$DT" -m "Snapshot build"
git commit -m "$DT snapshot" debian/
mkdir -p "$DATA/$name"
# source code build without dependency checks and unsigned source and unsigned change log
gbp buildpackage -S -uc -us -d --git-ignore-branch "--git-export-dir=$DATA/$name"
mv "$DATA/$name/"*.tar* "$DATA/$name/"*.dsc "$oscdir/"
cd "$oscdir"
osc add -- *.tar* *.dsc
osc ci -m "Snapshot $name $DT"
}
post() {
cd "$REPO/osc/$PROJ/"
osc status
}
build_osmocom() {
BASE=$PWD
DATA=$BASE/data
REPO=$BASE/repo
# rather than including a dangerous 'rm -rf *' here, lets delegate to the user:
if [ -n "$(ls)" ]; then
echo "ERROR: I need to run in an empty directory."
exit 1
fi
prepare
checkout libosmocore
checkout libosmo-abis
checkout libosmo-netif
checkout libosmo-sccp
checkout libsmpp34
checkout libasn1c
checkout osmo-iuh lynxis/pre_release
checkout osmo-hlr
checkout openggsn
checkout osmo-mgw pre_release
checkout osmo-bsc lynxis/pre_release
checkout osmo-msc pre_release
checkout osmo-sgsn pre_release
build libosmocore
build libosmo-abis
build libosmo-netif
build libosmo-sccp
build libsmpp34
build libasn1c
build osmo-iuh
build osmo-hlr
build openggsn
build osmo-mgw
build osmo-bsc
build osmo-msc
build osmo-sgsn
post
}
TMPDIR=$(mktemp -d nightly-3g_XXXXXX)
cd "$TMPDIR"
build_osmocom
rm -rf "./$TMPDIR/"