From 68bce8446c6482c98be2f2867fd12d6db1decebd Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Sat, 10 Dec 2022 13:46:22 +0100 Subject: Workaround removing real life kernels Rationale: testsuite didn't covered the "kmod(vboxdrv.ko)" provides. So we were skipping eg virtualbox-kernel-6.0.9-desktop-1.mga9 because it provided "kmod(vboxdrv.ko)[== 7.0.4]" which was needed because virtualbox-7.0.4-1.mga9.x86_64 requires "kmod(vboxdrv.ko)" We need a better fix as in check if a (non orphaned) pkg still provides the property instead. --- urpm/orphans.pm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/urpm/orphans.pm b/urpm/orphans.pm index 11bd555e..aea64fb4 100644 --- a/urpm/orphans.pm +++ b/urpm/orphans.pm @@ -544,6 +544,9 @@ sub _all_unrequested_orphans { foreach my $prop ($pkg->requires, $pkg->recommends_nosense) { my $n = URPM::property2name($prop); foreach my $p (@{$provides{$n} || []}) { + # FIXME: hackish in order to fix orphaning kernels with virtualbox installed on mga9+ + # TODO: check if something else that's not orphaned still provides it instead + next if $n eq 'kmod(vboxdrv.ko)'; my $pfn = $p->fullname; if ($p != $pkg && $l{$pfn} && $p->provides_overlap($prop)) { delete $l{$pfn}; -- cgit v1.2.1