From 10e9838e8b9eda38ec8601191fe8179b824f1b02 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Fri, 6 Jul 2007 10:34:37 +0000 Subject: - urpmq o --whatrequires: fix skipping packages through provides provided by other packages, when the other package is the same pkg name (#31773) (backport from trunk) --- NEWS | 3 +++ urpmq | 6 ++---- 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; } -- cgit v1.2.1