summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2018-12-14 11:51:07 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2018-12-18 12:06:19 +0000
commit21fc0f98378654f7ccfa2df95e6645bef0f13ebb (patch)
treedb0511fd32245740a2ad8b04171586802b281c74
parentc0db51589dc81e09afc4275b5d66ef0879c703bb (diff)
tcwg_kernel-build.sh: Improve checking of parameters.
Change-Id: Iba94ba9ea421f2dc326b8909a71807ebe46a52b4
-rw-r--r--jenkins-helpers.sh2
-rwxr-xr-xtcwg_kernel-bisect.sh2
-rwxr-xr-xtcwg_kernel-build.sh11
3 files changed, 12 insertions, 3 deletions
diff --git a/jenkins-helpers.sh b/jenkins-helpers.sh
index 8c4ffc27..12e66a05 100644
--- a/jenkins-helpers.sh
+++ b/jenkins-helpers.sh
@@ -745,7 +745,7 @@ obligatory_variables ()
(
set -euf -o pipefail
for i in "$@"; do
- if ! declare -p $i >/dev/null 2>&1; then
+ if eval "[ x\"\${$i+set}\" != x\"set\" ]"; then
echo "ERROR: required parameter $i not set"
exit 1
fi
diff --git a/tcwg_kernel-bisect.sh b/tcwg_kernel-bisect.sh
index 065fe95d..55c8ba37 100755
--- a/tcwg_kernel-bisect.sh
+++ b/tcwg_kernel-bisect.sh
@@ -17,7 +17,7 @@ confirm_failure="${confirm_failure:-false}"
# Process build args and record them in build-manifest.sh
convert_args_to_variables %% build-manifest.sh "$@"
-obligatory_variables rr current_project toolchain
+obligatory_variables current_project toolchain
linux_config="${linux_config:-defconfig}"
target="${target:-native}"
diff --git a/tcwg_kernel-build.sh b/tcwg_kernel-build.sh
index cd4bae01..15cd9611 100755
--- a/tcwg_kernel-build.sh
+++ b/tcwg_kernel-build.sh
@@ -10,8 +10,17 @@ convert_args_to_variables "$@"
# Execution mode: baseline, jenkins-full, bisect, continue.
mode="${mode-baseline}"
+obligatory_variables toolchain \
+ rr[linux_version] rr[linux_url] rr[linux_rev]
+
# Toolchain to use: gnu or llvm
-obligatory_variables rr toolchain
+case "$toolchain" in
+ "gnu") obligatory_variables rr[gnu_version] \
+ rr[binutils_url] rr[binutils_rev] \
+ rr[gcc_url] rr[gcc_rev] ;;
+ "llvm") obligatory_variables rr[llvm_version] \
+ rr[llvm_url] rr[llvm_rev] ;;
+esac
case "$mode" in
"jenkins-full")