debian-forge-composer/test/cases/shared_lib.sh
Achilleas Koutsou 3b14828669 test: new weldr client compatibility for test scripts
- Handle the array responses from the new weldr-client (>= 35.6).
- Move the `get_build_info` function to shared_libs.sh to source and
  reuse in multiple places.
2022-09-13 16:06:19 +01:00

35 lines
768 B
Bash
Executable file

#!/usr/bin/bash
function nvrGreaterOrEqual {
local rpm_name=$1
local min_version=$2
set +e
rpm_version=$(rpm -q --qf "%{version}" "${rpm_name}")
rpmdev-vercmp "${rpm_version}" "${min_version}" 1>&2
if [ "$?" != "12" ]; then
# 0 - rpm_version == min_version
# 11 - rpm_version > min_version
# 12 - rpm_version < min_version
echo "DEBUG: ${rpm_version} >= ${min_version}" 1>&2
set -e
return
fi
set -e
false
}
function get_build_info() {
local key="$1"
local fname="$2"
if rpm -q --quiet weldr-client; then
key=".body${key}"
if nvrGreaterOrEqual "weldr-client" "35.6"; then
key=".[0]${key}"
fi
fi
jq -r "${key}" "${fname}"
}