summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS4
-rwxr-xr-xurpmq8
2 files changed, 7 insertions, 5 deletions
diff --git a/NEWS b/NEWS
index 8c2f2609..14e1b7a0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,7 @@
+- urpmq
+ o --whatrequires: fix skipping packages through provides provided by other
+ packages, when the other package is the same pkg name (#31773)
+
Version 4.9.27 - 18 June 2007, by Pascal "Pixel" Rigaux
- urpmi.addmedia --distrib, urpmi/urpme/urpmf/urpmq --use-distrib
diff --git a/urpmq b/urpmq
index 41a8037a..e0ee88e7 100755
--- a/urpmq
+++ b/urpmq
@@ -285,11 +285,9 @@ if ($urpm::args::options{list_aliases}) {
#- for all provides of package, look up what is requiring them.
foreach ($pkg->provides) {
if (my ($n, $s) = /^([^\s\[]*)(?:\[\*\])?\[?([^\s\]]*\s*[^\s\]]*)/) {
- if (keys %{$urpm->{provides}{$n}} > 1) {
- #- If more than one thing provides this requirement
- #- then don't bother finding stuff
- #- that needs it as it will be invalid
- my @l = grep { $_ ne $pkg->name } map { $_->name } $urpm->packages_providing($n);
+ if (my @l = grep { $_ ne $pkg->name } map { $_->name } $urpm->packages_providing($n)) {
+ #- If another package provides this requirement,
+ #- then don't bother finding stuff that needs it as it will be invalid
$urpm->{log}(sprintf "skipping package(s) requiring %s via %s, since %s is also provided by %s", $pkg->name, $n, $n, join(' ', @l));
next;
}