diff options
author | Oliver Smith <osmith@sysmocom.de> | 2020-05-22 11:00:01 +0200 |
---|---|---|
committer | Oliver Smith <osmith@sysmocom.de> | 2020-05-22 11:36:53 +0200 |
commit | a36c355462fa1e987ac7dc338da5b839158171bb (patch) | |
tree | 7f808da3f1eb6299fdd23d6cb5cfca41d3917be0 | |
parent | 4969d2b1163bbecd6ad43e4a1497ed33dc3adafb (diff) |
OBS: check required programs before start
osmocom-*-packages.sh take some time to execute and has quite a few
programs that are not commonly installed. Check the required
dependencies first, so it doesn't abort in the middle of the scripts if
these are missing. I just ran into this with the new meson dependency.
Change-Id: I46cf1aeedd61dbd4fc8fa3f24c60e29033339ead
-rw-r--r-- | scripts/common-obs.sh | 13 | ||||
-rw-r--r-- | scripts/common.sh | 15 | ||||
-rwxr-xr-x | scripts/osmocom-latest-packages.sh | 5 | ||||
-rwxr-xr-x | scripts/osmocom-nightly-packages.sh | 5 |
4 files changed, 28 insertions, 10 deletions
diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index 5e21574..c07fbaa 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -1,6 +1,19 @@ #!/bin/sh # Various common code used in the OBS (opensuse build service) related osmo-ci shell scripts +osmo_cmd_require \ + dch \ + dh \ + dpkg-buildpackage \ + gbp \ + git \ + meson \ + mktemp \ + osc \ + patch \ + sed \ + wget + # Create the source for a dummy package, that conflicts with another dummy package in the current directory. Example # of the structure that will be generated: # osmocom-nightly diff --git a/scripts/common.sh b/scripts/common.sh index af7c354..917962e 100644 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -157,3 +157,18 @@ docker_images_require() { cd "$oldpwd" return $ret } + +# Abort the script if required programs are missing +# $1...$n: program name +osmo_cmd_require() { + local fail=0 + for i in "$@"; do + if ! command -v "$i" >/dev/null 2>&1; then + echo "Required program not found: $i" + fail=1 + fi + done + if [ "$fail" = 1 ]; then + exit 1 + fi +} diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 88c5094..ddf5359 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -15,11 +15,6 @@ DT=$(date +%Y%m%d) TOP=$(pwd) DEBSRCDIR="$TOP/debsrc" -if ! which osc >/dev/null 2>/dev/null ; then - echo "osc binary not found" - exit 1 -fi - ### OBS build prepare() { # start with a checkout of the project diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index b3f0461..8f36377 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -14,11 +14,6 @@ PROJ=network:osmocom:nightly DT=$(date +%Y%m%d) TOP=$(pwd)/$(mktemp -d nightly-3g_XXXXXX) -if ! which osc >/dev/null 2>/dev/null ; then - echo "osc binary not found" - exit 1 -fi - ### OBS build prepare() { # clean up the whole space |