aboutsummaryrefslogtreecommitdiffstats
path: root/coverity/prepare_source_Osmocom.sh
blob: 2c693567aff39ecb7ad661336cc2c6de1a73a037 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/bin/sh -xe
. $(realpath common.sh)
BASEDIR=source-Osmocom

osmo_cmd_require sdcc

# How to add a new project:
# * add it to the list below
# * add it to build_Osmocom.sh
# * add it as component here:
#   https://scan.coverity.com/projects/osmocom?tab=analysis_settings

PROJECTS="
  libasn1c
  libosmo-abis
  libosmocore
  libosmo-dsp
  libosmo-gprs
  libosmo-netif
  libosmo-pfcp
  libosmo-sccp
  libsmpp34
  libusrp
  osmo-bsc
  osmo-msc
  osmo-mgw
  osmo-ggsn
  osmo-gbproxy
  osmo-sgsn
  osmo-bts
  osmo-gmr
  osmo-iuh
  osmo-pcu
  osmo-sysmon
  osmo-sip-connector
  osmo-trx
  osmo-hlr
  osmocom-bb
  osmo-smlc
  osmo-cbc
  simtrace2
  osmo-hnodeb
  osmo-hnbgw
  osmo-bsc-nat
  osmo-pcap
  osmo-e1d
  osmo-e1-recorder
  libgtpnl
  osmo-upf
  osmo-isdntap
  osmo-uecups
  osmo-remsim
"

PROJECTS_DONT_BUILD_TEST="
  asn1c
"

mkdir -p $BASEDIR
cd $BASEDIR

for proj in $PROJECTS $PROJECTS_DONT_BUILD_TEST; do
	if [ -d $proj ]; then
		if [ -z "$SRC_SKIP_FETCH" ]; then
			(cd $proj && git fetch && git checkout -f -B master origin/master && git submodule update --recursive --remote)
		fi
		if [ -n "$SRC_CLEAN" ]; then
			git -C "$proj" clean -ffxd
		fi
	else
		git clone --recursive "$(osmo_git_clone_url "$proj")"
	fi
done

# We want to compile tests, but not execute them.  Using 'noinst_PROGRAMS'
# instead of 'check_PROGRAMS' allows building test binaries during 'make all'.
for proj in $PROJECTS; do
	files="$(git -C $proj grep -l check_PROGRAMS)" || true
	if [ -n "$files" ]; then
		(cd $proj && sed -i "s/check_PROGRAMS/noinst_PROGRAMS/" $files)
	fi
done

if ! [ -d layer1-api ]; then
	git clone https://gitea.sysmocom.de/sysmo-bts/layer1-api
fi