From 304699bc6f261f9cd3ecd685742bc297387f87c5 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Tue, 11 Jun 2024 09:13:01 -0700 Subject: [PATCH] Defend even harder against progress spew in updatepkgs.txt Seems current dnf5 has a bug which causes repository refresh progress to be sent to stdout even with -q. Signed-off-by: Adam Williamson --- lib/utils.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/utils.pm b/lib/utils.pm index 42730a5c..784d1fd8 100644 --- a/lib/utils.pm +++ b/lib/utils.pm @@ -576,7 +576,11 @@ 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 -q --disablerepo=* --enablerepo=openqa-testtag repoquery --qf "%{SOURCERPM} %{NAME} %{EPOCH} %{VERSION} %{RELEASE}\n" | sort -u | grep . > /mnt/updatepkgs.txt'; + # -q avoids most progress spew into the output. grep -v testtag + # avoids some more. grep . filters empty lines, which we get + # with dnf < 5 since this queryformat template ends with \n for + # dnf >= 5 + assert_script_run 'dnf -q --disablerepo=* --enablerepo=openqa-testtag repoquery --qf "%{SOURCERPM} %{NAME} %{EPOCH} %{VERSION} %{RELEASE}\n" | sort -u | grep -v testtag | grep . > /mnt/updatepkgs.txt'; # the | xargs here is a wacky trick that converts newlines to # spaces - unlike rpm, dnf < 5 always puts every package on a new # line, which we don't want here