diff options
author | Rafael Garcia-Suarez <rgarciasuarez@mandriva.org> | 2005-01-10 08:37:18 +0000 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@mandriva.org> | 2005-01-10 08:37:18 +0000 |
commit | 38503ac49864e6de1c90a9fd7c5ddad40076baa7 (patch) | |
tree | 5d1007667cb0123de5d56e83bd6e7f8e76181df9 | |
parent | 46307104b892d733ff7d83b5aabcb61f02991904 (diff) | |
download | urpmi-38503ac49864e6de1c90a9fd7c5ddad40076baa7.tar urpmi-38503ac49864e6de1c90a9fd7c5ddad40076baa7.tar.gz urpmi-38503ac49864e6de1c90a9fd7c5ddad40076baa7.tar.bz2 urpmi-38503ac49864e6de1c90a9fd7c5ddad40076baa7.tar.xz urpmi-38503ac49864e6de1c90a9fd7c5ddad40076baa7.zip |
Add an option to urpmi, --expect-install, that tells urpmi to return with
an exit status of 15 if it installed nothing.
-rw-r--r-- | urpm/args.pm | 1 | ||||
-rwxr-xr-x | urpmi | 9 |
2 files changed, 6 insertions, 4 deletions
diff --git a/urpm/args.pm b/urpm/args.pm index a1e9d9af..d81e28a1 100644 --- a/urpm/args.pm +++ b/urpm/args.pm @@ -113,6 +113,7 @@ my %options_spec = ( 'excludepath|exclude-path=s' => sub { $urpm->{options}{excludepath} = $_[1] }, 'excludedocs|exclude-docs' => sub { $urpm->{options}{excludedocs} = 1 }, 'more-choices' => sub { $urpm->{options}{morechoices} = 1 }, + 'expect-install!' => \$::expect_install, a => \$::all, q => sub { --$::verbose; $::rpm_opt = '' }, v => sub { ++$::verbose; $::rpm_opt = 'vh' }, @@ -215,7 +215,7 @@ if ($env) { } } -unless ($bug || $install_src || $env || $urpm->{options}{'allow-force'}) { +unless ($bug || $install_src || $env || $urpm->{options}{'allow-force'} || $root) { require urpm::sys; urpm::sys::check_fs_writable() or $urpm->{fatal}(1, N("Error: %s appears to be mounted read-only. Use --allow-force to force operation.", $urpm::sys::mountpoint)); @@ -684,9 +684,10 @@ if ($nok) { if ($test) { message(N("Installation is possible")); } elsif (@names || @src_names || @files || @src_files || $auto_select) { - @{$state->{transaction} || []} == 0 && @ask_unselect == 0 && $verbose >= 0 - and message(N("The package(s) are already installed")); - $exit_code = 15; + if (@{$state->{transaction} || []} == 0 && @ask_unselect == 0) { + message(N("The package(s) are already installed")) if $verbose >= 0; + $exit_code = 15 if our $expect_install; + } } } |