summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2007-07-06 10:34:37 +0000
committerPascal Rigaux <pixel@mandriva.com>2007-07-06 10:34:37 +0000
commit10e9838e8b9eda38ec8601191fe8179b824f1b02 (patch)
treeca2f0498437ff4e872007a85450436fbf0782824
parentaf36e44a71db07c5bebbce7884ddba004879615d (diff)
downloadurpmi-10e9838e8b9eda38ec8601191fe8179b824f1b02.tar
urpmi-10e9838e8b9eda38ec8601191fe8179b824f1b02.tar.gz
urpmi-10e9838e8b9eda38ec8601191fe8179b824f1b02.tar.bz2
urpmi-10e9838e8b9eda38ec8601191fe8179b824f1b02.tar.xz
urpmi-10e9838e8b9eda38ec8601191fe8179b824f1b02.zip
- 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)
-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;
}