summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rwxr-xr-xurpmq6
2 files changed, 5 insertions, 4 deletions
diff --git a/NEWS b/NEWS
index 078e9b18..86faac18 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,9 @@
o [bugfix] fix reconfig.urpmi use
- urpmf
o bug fix -m (#31452)
+- 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.21.3 - 4 June 2007, by Pascal "Pixel" Rigaux
diff --git a/urpmq b/urpmq
index 6348e281..0a651d18 100755
--- a/urpmq
+++ b/urpmq
@@ -284,11 +284,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 (my @l = grep { $_ ne $pkg->name } map { $_->name } $urpm->packages_providing($n)) {
#- 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);
+ #- 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;
}