From 8908bc34d3b4d796a1418158f7a222e8d73eecb5e93223d867e4d3d9092b6361 Mon Sep 17 00:00:00 2001 From: Olaf Hering Date: Fri, 29 May 2020 16:52:29 +0000 Subject: [PATCH] Remove usage of associative array variables to support bash3 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/build-compare?expand=0&rev=276 --- build-compare.spec | 2 +- functions.sh | 23 +++++++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/build-compare.spec b/build-compare.spec index 877da06..8bd1481 100644 --- a/build-compare.spec +++ b/build-compare.spec @@ -21,7 +21,7 @@ Summary: Build Result Compare Script License: GPL-2.0+ Group: Development/Tools/Building Url: https://github.com/openSUSE/build-compare -Version: 20200529T104401.01cca87 +Version: 20200529T185052.7a95d20 Release: 0 Source1: COPYING Source2: same-build-result.sh diff --git a/functions.sh b/functions.sh index e01b262..0e416a1 100644 --- a/functions.sh +++ b/functions.sh @@ -10,13 +10,16 @@ RPM="rpm -qp --nodigest --nosignature" -declare -A rpm_querytags +declare -a rpm_querytags collect_rpm_querytags() { - while read - do - : ${REPLY} - rpm_querytags[${REPLY}]=Y - done < <(rpm --querytags) + rpm_querytags=( $(rpm --querytags) ) +} +# returns 0 if tag is known, returns 1 if unknown +rpmtag_known() { + local needle="\<${1}\>" + local haystack="${rpm_querytags[@]}" + [[ "${haystack}" =~ ${needle} ]] + return $? } set_rpm_meta_global_variables() { @@ -54,8 +57,8 @@ do list=() for v in "${variant[@]}" do - qt=${t}${v} - test -n "${rpm_querytags[${qt}]}" || continue + qt="${t}${v}" + rpmtag_known "${qt}" || continue list+=("%{${qt}}") done QF_PROVIDES+="${t}\\n[${list[@]}\\n]\\n" @@ -99,8 +102,8 @@ do list=() for v in "${variant[@]}" do - qt=${t}${v} - test -n "${rpm_querytags[${qt}]}" || continue + qt="${t}${v}" + rpmtag_known "${qt}" || continue list+=("%{${qt}}") done QF_SCRIPT+="${t}\\n[${list[@]}\\n]\\n"