6 # -o pipefail: Fail on errors in scripts this calls, give stacktrace
9 # Requirements for package where SRPM was built into noarch on CentOS CBS
10 # rpm -qp opendaylight-8.0.0-0.1.20171125rel2049.el7.noarch.rpm --requires
11 # shellcheck disable=SC2034
12 declare -a expected_deps=( "/bin/bash"
16 "rpmlib(CompressedFileNames) <= 3.0.4-1"
17 "rpmlib(FileDigests) <= 4.6.0-1"
18 "rpmlib(PartialHardlinkSets) <= 4.0.4-1"
19 "rpmlib(PayloadFilesHavePrefix) <= 4.0-1"
21 "rpmlib(PayloadIsXz) <= 5.2-1" )
23 # Verify exactly 1 RPM is in the path we expect
24 set -- /home/$USER/rpmbuild/RPMS/noarch/*.rpm
25 # shellcheck disable=SC1054
26 [ $# -eq 1 ] || {{ echo "Expected 1 RPM, found $#"; exit 1; }}
28 # shellcheck disable=SC2034
29 mapfile -t actual_deps < <( rpm -qp /home/$USER/rpmbuild/RPMS/noarch/*.rpm --requires )
30 # shellcheck disable=SC2154 disable=SC2145
31 printf 'Dependency found: %s\n' "${{actual_deps[@]}}"
33 # shellcheck disable=SC2154 disable=SC2145 disable=SC2034
34 diff_deps=(`echo "${{expected_deps[@]}}" "${{actual_deps[@]}}" | tr ' ' '\n' | sort | uniq -u`)
35 # shellcheck disable=SC2154 disable=SC2145 disable=SC2068 disable=SC2170 disable=SC1083
36 if [ ${{#diff_deps[*]}} -eq 0 ]; then
37 echo "RPM requirements are as expected"
39 echo "RPM requirements don't match the expected requirements"
40 # shellcheck disable=SC2154 disable=SC2145
41 printf 'Dependency mismatch: %s\n' ${{diff_deps[@]}}