mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-12-22 10:23:09 +00:00
Handle rpm -q
commands failing if we didn't download anything
I think this is new behaviour in rpm 4.19, or else we would have run into this before when testing an s390utils update. But it's easy enough to handle. Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
parent
d8bad7a292
commit
818c2d5d8f
29
lib/utils.pm
29
lib/utils.pm
@ -639,18 +639,25 @@ sub _repo_setup_updates {
|
||||
die "Neither ADVISORY_NVRS nor KOJITASK set! Don't know what to do";
|
||||
}
|
||||
|
||||
# log the exact packages in the update at test time, with their
|
||||
# source packages and epochs. we use /mnt as the path for this
|
||||
# and similar files because, on ostree-based installs where we
|
||||
# have to use a toolbox container for part of this, it's common
|
||||
# to the host system and container
|
||||
assert_script_run 'rpm -qp *.rpm --qf "%{SOURCERPM} %{NAME} %{EPOCHNUM} %{VERSION} %{RELEASE}\n" | sort -u > /mnt/updatepkgs.txt';
|
||||
upload_logs "/mnt/updatepkgs.txt";
|
||||
# also log just the binary package names: this is so we can check
|
||||
# later whether any package from the update *should* have been
|
||||
# installed, but was not
|
||||
assert_script_run 'rpm -qp *.rpm --qf "%{NAME} " > /mnt/updatepkgnames.txt';
|
||||
if (script_run 'ls *.rpm') {
|
||||
# we didn't actually download any packages (as they are all
|
||||
# for an arch we don't test), so write dummy files
|
||||
assert_script_run 'touch /mnt/updatepkgnames.txt /mnt/updatepkgs.txt';
|
||||
}
|
||||
else {
|
||||
# log the exact packages in the update at test time, with their
|
||||
# source packages and epochs. we use /mnt as the path for this
|
||||
# and similar files because, on ostree-based installs where we
|
||||
# have to use a toolbox container for part of this, it's common
|
||||
# to the host system and container
|
||||
assert_script_run 'rpm -qp *.rpm --qf "%{SOURCERPM} %{NAME} %{EPOCHNUM} %{VERSION} %{RELEASE}\n" | sort -u > /mnt/updatepkgs.txt';
|
||||
# also log just the binary package names: this is so we can check
|
||||
# later whether any package from the update *should* have been
|
||||
# installed, but was not
|
||||
assert_script_run 'rpm -qp *.rpm --qf "%{NAME} " > /mnt/updatepkgnames.txt';
|
||||
}
|
||||
upload_logs "/mnt/updatepkgnames.txt";
|
||||
upload_logs "/mnt/updatepkgs.txt";
|
||||
|
||||
# create the repo metadata
|
||||
assert_script_run "createrepo .", timeout => 180;
|
||||
|
Loading…
Reference in New Issue
Block a user