diff options
-rw-r--r-- | gurpmi | 6 | ||||
-rw-r--r-- | gurpmi.pm | 11 | ||||
-rwxr-xr-x | gurpmi2 | 3 |
3 files changed, 18 insertions, 2 deletions
@@ -61,6 +61,12 @@ foreach (@all_rpms) { You probably didn't want to install it on your computer (installing it would allow you to make modifications to its sourcecode then compile it). What would you like to do?", $srpms->[0]) + : @all_rpms == 0 + ? N("You are about to install the following software packages on your computer: + +%s + +Proceed?", @gurpmi::names) : @all_rpms == 1 ? N("You are about to install the following software package on your computer: @@ -36,9 +36,11 @@ sub fatal { my $s = $_[0]; print STDERR "$s\n"; exit 1 } #- Parse command line #- puts options in %gurpmi::options +#- puts bare names (not rpm filenames) in @gurpmi::names sub parse_command_line { my @all_rpms; our %options; + our @names; # Expand *.urpmi arguments my @ARGV_expanded; foreach my $a (@ARGV) { @@ -59,9 +61,14 @@ sub parse_command_line { /^--?[hv?]/ and usage(); fatal(N("Unknown option %s", $_)); } - push @all_rpms, $_; + if (/^[-a-zA-Z0-9_+]+\z/) { # is this an rpm name ? + push @names, $_; + } else { # assume it's a filename + push @all_rpms, $_; + } } - return @all_rpms or fatal(N("No packages specified")); + @all_rpms + @names or fatal(N("No packages specified")); + return @all_rpms; } sub but ($) { " $_[0] " } @@ -64,6 +64,9 @@ $mainw->add($mainbox); my $urpm = configure_urpm(); my $state = {}; my %requested = $urpm->register_rpms(@all_rpms); +if (@gurpmi::names) { + $urpm->search_packages(\%requested, [ @gurpmi::names ]); +} $urpm->resolve_dependencies( $state, \%requested, |