1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-12-21 18:03:11 +00:00

Adjust COPR / tag package info generation for dnf5 properties

dnf5 behaves differently from dnf < 5 in a couple of ways: like
rpm it does not always add a newline to the query format, and it
sends its status messages to stdout, not stderr. These commands
account for this and produce identical output with dnf < 5 and
dnf 5.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
Adam Williamson 2024-06-11 00:28:34 -07:00
parent a36e86fcf8
commit 5aaf78bf26

View File

@ -576,12 +576,12 @@ sub setup_repos {
# according to the 'configs' arg
assert_script_run 'printf "[openqa-testtag]\nname=openqa-testtag\nbaseurl=' . get_var("UPDATE_OR_TAG_REPO") . '/\ncost=2000\nenabled=' . $args{configs} . '\ngpgcheck=0\npriority=1\n" > /etc/yum.repos.d/openqa-testtag.repo';
# write out the info files
assert_script_run 'dnf --disablerepo=* --enablerepo=openqa-testtag repoquery --qf "%{SOURCERPM} %{NAME} %{EPOCH} %{VERSION} %{RELEASE}" | sort -u > /mnt/updatepkgs.txt';
assert_script_run 'dnf -q --disablerepo=* --enablerepo=openqa-testtag repoquery --qf "%{SOURCERPM} %{NAME} %{EPOCH} %{VERSION} %{RELEASE}\n" | sort -u | grep . > /mnt/updatepkgs.txt';
# the | xargs here is a wacky trick that converts newlines to
# spaces - unlike rpm, dnf always puts every package on a new
# spaces - unlike rpm, dnf < 5 always puts every package on a new
# line, which we don't want here
# https://unix.stackexchange.com/a/110759
assert_script_run 'dnf --disablerepo=* --enablerepo=openqa-testtag repoquery --qf "%{NAME} " | xargs > /mnt/updatepkgnames.txt';
assert_script_run 'dnf -q --disablerepo=* --enablerepo=openqa-testtag repoquery --qf "%{NAME} " | xargs > /mnt/updatepkgnames.txt';
}
my @was = get_workarounds($args{version});
# bail if there are no workarounds: