summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@mandriva.org>2005-05-20 05:52:25 +0000
committerRafael Garcia-Suarez <rgarciasuarez@mandriva.org>2005-05-20 05:52:25 +0000
commit256b6a30b5af407288cf3c3eaa857922d30e2a30 (patch)
tree2903df46482b4a6e389b97dc0090bf343d0df992
parent3363cd269ab61e371519d359e796c3fe5011ad02 (diff)
downloadurpmi-256b6a30b5af407288cf3c3eaa857922d30e2a30.tar
urpmi-256b6a30b5af407288cf3c3eaa857922d30e2a30.tar.gz
urpmi-256b6a30b5af407288cf3c3eaa857922d30e2a30.tar.bz2
urpmi-256b6a30b5af407288cf3c3eaa857922d30e2a30.tar.xz
urpmi-256b6a30b5af407288cf3c3eaa857922d30e2a30.zip
Implement -RR in urpmq to search through virtual packages as well. (bug 15895)
-rw-r--r--man/C/urpmq.83
-rw-r--r--urpm/args.pm2
-rwxr-xr-xurpmq3
3 files changed, 5 insertions, 3 deletions
diff --git a/man/C/urpmq.8 b/man/C/urpmq.8
index 7866518b..a397ecb3 100644
--- a/man/C/urpmq.8
+++ b/man/C/urpmq.8
@@ -115,7 +115,8 @@ Search in provides to find package (this is the opposite of \fB-P\fP).
Do not search in provides to find package (this is the opposite of \fB-p\fP and
is the default).
.IP "\fB\-R\fP"
-Reverse search to what requires the package given.
+Reverse search to what requires the package given. If you specify this option
+twice, looks also through virtual packages to find the dependencies.
.IP "\fB\-y\fP"
This is the same as \fB--fuzzy\fP.
.IP "\fB\-Y\fP"
diff --git a/urpm/args.pm b/urpm/args.pm
index 44742a9b..af7d02ef 100644
--- a/urpm/args.pm
+++ b/urpm/args.pm
@@ -216,7 +216,7 @@ my %options_spec = (
g => \$options{group},
p => \$options{use_provides},
P => sub { $options{use_provides} = 0 },
- R => \$options{what_requires},
+ R => sub { ++$options{what_requires} },
y => sub { $options{fuzzy} = $options{all} = 1 },
Y => sub { $options{fuzzy} = $options{all} = $options{caseinsensitive} = 1 },
v => \$options{verbose},
diff --git a/urpmq b/urpmq
index c212cde0..a1d4cca1 100755
--- a/urpmq
+++ b/urpmq
@@ -85,6 +85,7 @@ usage:
") . N(" -p - search in provides to find package.
") . N(" -r - print version and release with name also.
") . N(" -R - reverse search to what requires package.
+") . N(" -RR - extended reverse search (includes virtual packages).
") . N(" -s - next package is a source package (same as --src).
") . N(" -u - remove package if a more recent version is already installed.
") . N(" -v - verbose mode.
@@ -260,7 +261,7 @@ if ($urpm::args::options{list_aliases}) {
#- NOTE. if the "provides" has no version specification, we happily
#- assume that it can be skipped, because it most probably refers
#- to a virtual package.
- next if $s eq '';
+ next if $s eq '' && $urpm::args::options{what_requires} <= 1;
foreach (map { $urpm->{depslist}[$_] }
grep { ! exists $state->{selected}{$_} && ! exists $properties{$_} }
keys %{$requires{$n} || {}}) {