osmo-bts/contrib/jenkins_oct.sh

69 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
set -ex
rm -rf deps/install
mkdir deps || true
cd deps
# Get the headers..
git clone git://git.osmocom.org/openbsc || true
cd openbsc
git pull --rebase
# Build the dependency
cd ../
# Analysis code
osmo-deps.sh osmo-static-analysis
osmo-deps.sh libosmocore
cd libosmocore
autoreconf --install --force
./configure --prefix=$PWD/../install
$MAKE $PARALLEL_MAKE install
cd ../
osmo-deps.sh libosmo-abis
cd libosmo-abis
autoreconf --install --force
PKG_CONFIG_PATH=$PWD/../install/lib/pkgconfig ./configure --prefix=$PWD/../install
PKG_CONFIG_PATH=$PWD/../install/lib/pkgconfig $MAKE $PARALLEL_MAKE install
cd ../
if ! test -d layer1-api;
then
git clone git://git.osmocom.org/octphy-2g-headers layer1-api
fi
cd layer1-api
git fetch origin
if [ $FIRMWARE_VERSION = "master" ];
then
git reset --hard origin/master
else
git reset --hard $FIRMWARE_VERSION
fi
# Build osmo-bts
cd ../../
autoreconf --install --force
PKG_CONFIG_PATH=$PWD/deps/install/lib/pkgconfig ./configure --with-openbsc=$PWD/deps/openbsc/openbsc/include --with-octsdr-2g=$PWD/deps/layer1-api/
PKG_CONFIG_PATH=$PWD/deps/install/lib/pkgconfig $MAKE $PARALLEL_MAKE
PKG_CONFIG_PATH=$PWD/deps/install/lib/pkgconfig LD_LIBRARY_PATH=$PWD/deps/install/lib $MAKE check
DISTCHECK_CONFIGURE_FLAGS="--with-octsdr-2g=$PWD/deps/layer1-api/ --with-openbsc=$PWD/deps/openbsc/openbsc/include" PKG_CONFIG_PATH=$PWD/deps/install/lib/pkgconfig LD_LIBRARY_PATH=$PWD/deps/install/lib $MAKE distcheck
# Use spatch to find common issues
spatch -include_headers -in_place -sp_file deps/osmo-static-analysis/coccinelle/memcpy.cocci .
RES=`git status --porcelain | grep ' M' | wc -l`
git checkout .
if [ $RES -gt 0 ]; then
echo "Static analysis failed. Please fix the code."
exit 23
fi