From 27b2859339428e7ff5017594bddec28debed3af2 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Thu, 10 Jul 2025 00:18:54 -0700 Subject: [PATCH] Upgrades: don't install target release packages in repo_setup F42 to F43 upgrades suddenly started failing, and I think this is why - we actually wind up installing packages from the target release in setup_repos (called from repo_setup), because we set up the buildroot repo then run some dnf commands. Let's tweak that so for upgrade tests we create the buildroot repo disabled at first, then enable it in upgrade_run. Signed-off-by: Adam Williamson --- lib/utils.pm | 6 +++++- tests/upgrade_run.pm | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/utils.pm b/lib/utils.pm index f2929424..d760fca5 100644 --- a/lib/utils.pm +++ b/lib/utils.pm @@ -736,7 +736,11 @@ sub _repo_setup_updates { # see e.g. https://pagure.io/fedora-ci/general/issue/376 for why my $brrepo = get_var("BUILDROOT_REPO"); if ($brrepo && get_var("TEST") ne "support_server") { - assert_script_run 'printf "[buildroot]\nname=buildroot\nbaseurl=https://kojipkgs.fedoraproject.org/repos/' . $brrepo . '/latest/' . $arch . '/\ncost=2000\nenabled=1\ngpgcheck=0\n" > /etc/yum.repos.d/buildroot.repo'; + # don't enable it for upgrade tests or else we'll install stuff + # from the target release in setup_repos, we'll enable it right + # before running the upgrade + my $enabled = get_var("UPGRADE") ? "0" : "1"; + assert_script_run 'printf "[buildroot]\nname=buildroot\nbaseurl=https://kojipkgs.fedoraproject.org/repos/' . $brrepo . '/latest/' . $arch . '/\ncost=2000\nenabled=' . $enabled . '\ngpgcheck=0\n" > /etc/yum.repos.d/buildroot.repo'; } if (get_var("CANNED")) { # install and use en_US.UTF-8 locale for consistent sort diff --git a/tests/upgrade_run.pm b/tests/upgrade_run.pm index 9270a474..0588e677 100644 --- a/tests/upgrade_run.pm +++ b/tests/upgrade_run.pm @@ -13,6 +13,8 @@ sub run { # use compose repo (compose tests) or set up update repo (update tests) cleanup_workaround_repo; repo_setup(); + # enable the buildroot repo now, if relevant + assert_script_run 'sed -i -e "s,enabled=0,enabled=1,g" /etc/yum.repos.d/buildroot.repo' if (get_var("BUILDROOT_REPO")); my $params = "-y --best --releasever=${relnum}"; if (script_run "dnf ${params} system-upgrade download", 6000) {