add coverity scripts found on osmo build-1

Change-Id: Ie69398dc95e8571b5a16fb529869f4c9fb3baa20
This commit is contained in:
Neels Hofmeyr 2016-09-27 01:25:09 +02:00
parent 735a5b9d16
commit a62cfe1ed3
5 changed files with 368 additions and 0 deletions

154
coverity/build_iuh.sh Executable file
View File

@ -0,0 +1,154 @@
#!/usr/bin/env bash
set -e -x
export PKG_CONFIG_PATH=~/coverity/install-iuh/lib/pkgconfig
do_build() {
git clean -dxf
git checkout .
git remote prune origin
git pull --rebase
autoreconf --install --force
./configure --prefix=$HOME/coverity/install-iuh $*
make
make install
}
build_layer1api() {
pushd layer1-api
install -d $HOME/coverity/install-iuh/include/sysmocom/femtobts/
cp include/*.h $HOME/coverity/install-iuh/include/sysmocom/femtobts/
popd
}
build_asn1c() {
pushd asn1c
do_build
popd
}
build_libasn1c() {
pushd libasn1c
do_build
sed -i s,'#include "config.h"','/*#include "config.h"*/', $HOME/coverity/install-iuh/include/asn1c/asn_system.h
popd
}
build_osmoiuh() {
pushd osmo-iuh
do_build
popd
}
build_libosmocore() {
pushd libosmocore
do_build
popd
}
build_libosmoabis() {
pushd libosmo-abis
do_build
popd
}
build_libosmosccp() {
pushd libosmo-sccp
do_build
popd
}
build_openggsn() {
pushd openggsn
do_build
popd
}
build_openbsc() {
pushd openbsc/openbsc
git checkout sysmocom/iu
do_build --enable-osmo-bsc --enable-nat --enable-smpp --enable-mgcp-transcoding --enable-iu
popd
}
build_osmobts() {
pushd openbsc/openbsc
git checkout master
git pull --rebase
popd
pushd osmo-bts
do_build --enable-sysmocom-bts --with-openbsc=$PWD/../openbsc/openbsc/include
popd
}
build_osmopcu() {
pushd osmo-pcu
do_build --enable-sysmocom-bts=yes --enable-sysmocom-dsp=yes
popd
}
build_libosmodsp() {
pushd libosmo-dsp
do_build
popd
}
build_libosmonetif() {
pushd libosmo-netif
do_build
popd
}
build_osmogmr() {
pushd osmo-gmr
do_build
popd
}
build_libsmpp34() {
pushd libsmpp34
do_build
popd
}
build_osmosipconnector() {
pushd osmo-sip-connector
do_build
popd
}
cd source-iuh
rm -rf ~/coverity/install-iuh/
build_layer1api
build_asn1c
build_libosmocore
build_libasn1c
build_libosmoabis
build_libosmonetif
build_libosmosccp
build_libsmpp34
build_openggsn
build_osmoiuh
build_osmopcu
build_osmobts
build_openbsc
build_osmosipconnector
# GMR
build_libosmodsp
build_osmogmr
# MNCC to SIP
build_osmosipconnector

139
coverity/coverity_all.sh Executable file
View File

@ -0,0 +1,139 @@
#!/usr/bin/env bash
base_dir="$PWD"
set -e -x
export PATH=~/coverity/cov-analysis-linux64-8.5.0/bin/:$PATH
export PKG_CONFIG_PATH=~/coverity/install/lib/pkgconfig
do_build() {
git clean -dxf
git remote prune origin
git pull --rebase
autoreconf --install --force
./configure --prefix=$HOME/coverity/install $*
cov-build --dir cov-int make
make install
tar czf myproject.tgz cov-int
}
do_upload() {
project="$1"
token="$("$base_dir"/get_token.sh "$base_dir"/tokens.txt $project)"
curl \
--form token=$token \
--form email=holger@freyther.de --form file=@myproject.tgz \
--form version=Version --form description=AutoUpload \
https://scan.coverity.com/builds?project=$project
:
}
upload_libosmocore() {
pushd libosmocore
do_build
do_upload libosmocore
popd
}
upload_libosmoabis() {
pushd libosmo-abis
do_build
do_upload libosmo-abis
popd
}
upload_libosmosccp() {
pushd libosmo-sccp
do_build
do_upload libosmo-sccp
popd
}
upload_openggsn() {
pushd openggsn
do_build
do_upload OpenGGSN
popd
}
upload_openbsc() {
pushd openbsc/openbsc
do_build --enable-osmo-bsc --enable-nat --enable-smpp --enable-mgcp-transcoding
do_upload OpenBSC
popd
}
upload_osmobts() {
pushd osmo-bts
do_build --enable-sysmocom-bts --with-openbsc=$PWD/../openbsc/openbsc/include
do_upload osmo-bts
popd
}
upload_osmopcu() {
pushd osmo-pcu
do_build --enable-sysmocom-bts=yes --enable-sysmocom-dsp=yes
do_upload osmo-pcu
popd
}
upload_libosmodsp() {
pushd libosmo-dsp
do_build
do_upload libosmo-dsp
popd
}
upload_libosmonetif() {
pushd libosmo-netif
do_build
do_upload libosmo-netif
popd
}
upload_osmogmr() {
pushd osmo-gmr
do_build
do_upload osmo-gmr
popd
}
build_libsmpp34() {
pushd libsmpp34
do_build
popd
}
build_api() {
pushd layer1-api
install -d $HOME/coverity/install/include/sysmocom/femtobts/
cp include/*.h $HOME/coverity/install/include/sysmocom/femtobts/
popd
}
cd source
upload_libosmocore
upload_libosmoabis
upload_libosmonetif
upload_libosmosccp
build_libsmpp34
build_api
upload_openggsn
upload_openbsc
upload_osmopcu
# GMR
upload_libosmodsp
upload_osmogmr
# last.. as currently broken
upload_osmobts

16
coverity/coverity_iuh.sh Executable file
View File

@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -e -x
export PATH=~/coverity/cov-analysis-linux64-8.5.0/bin/:$PATH
rm -rf sources-iuh/cov-int
cov-build --dir sources-iuh/cov-int ./build_iuh.sh
cd sources-iuh
tar czf myproject.tgz cov-int
curl \
--form token="$(../get_token.sh ../tokens.txt iuh)" \
--form email=holger@freyther.de --form file=@myproject.tgz \
--form version=Version --form description=AutoUpload \
https://scan.coverity.com/builds?project=Osmocom

View File

@ -0,0 +1,41 @@
#!/usr/bin/env bash
set -e -x
export PATH=~/coverity/cov-analysis-linux64-8.5.0/bin/:$PATH
export PKG_CONFIG_PATH=~/coverity/install/lib/pkgconfig
do_build() {
git clean -dxf
git remote prune origin
git pull --rebase
autoreconf --install --force
./configure --prefix=$HOME/coverity/install $*
cov-build --dir cov-int make
make install
tar czf myproject.tgz cov-int
}
do_upload() {
curl \
--form token=$2 \
--form email=holger@freyther.de --form file=@myproject.tgz \
--form version=Version --form description=AutoUpload \
https://scan.coverity.com/builds?project=$1
:
}
upload_osmotrx() {
pushd osmo-trx
do_build
#do_upload osmo-trx Insert-Coverity-Token-Here
popd
}
cd source
upload_osmotrx

18
coverity/get_token.sh Executable file
View File

@ -0,0 +1,18 @@
#!/bin/sh
#
# Usage:
# get_token.sh ../tokens.txt my-project
#
# Look for coverity token in a text file.
# Text file lines must be of this format:
# <token><single-space><project>
#
# e.g.
#
# a3Ksd02nfa-Lk28f_cAk3F libosmocore
# b8sdJA_sd43fLS3-2vL24g libosmo-abis
# ...
tokens_file="$1"
project="$2"
grep " $project\$" "$tokens_file" | sed 's/ .*//'