diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2002-08-21 20:43:06 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2002-08-21 20:43:06 +0000 |
commit | 48df454d604810ab006d7f3ce1b545c83df1e540 (patch) | |
tree | 1dca910aee1523e4fdfdc3a56020123414ede71f /perl-install/standalone.pm | |
parent | e15e62ac8668e3538ef9bdc9cc5193c5debb1af4 (diff) | |
download | drakx-48df454d604810ab006d7f3ce1b545c83df1e540.tar drakx-48df454d604810ab006d7f3ce1b545c83df1e540.tar.gz drakx-48df454d604810ab006d7f3ce1b545c83df1e540.tar.bz2 drakx-48df454d604810ab006d7f3ce1b545c83df1e540.tar.xz drakx-48df454d604810ab006d7f3ce1b545c83df1e540.zip |
- add do_pkgs->are_installed
- add an auto parameter to ensure_is_installed
- implement do_pkgs->ensure_is_installed during install
Diffstat (limited to 'perl-install/standalone.pm')
-rw-r--r-- | perl-install/standalone.pm | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/perl-install/standalone.pm b/perl-install/standalone.pm index 54205dc7b..e3463df10 100644 --- a/perl-install/standalone.pm +++ b/perl-install/standalone.pm @@ -21,6 +21,7 @@ foreach (@ARGV) { package pkgs_interactive; use run_program; +use common; sub interactive::do_pkgs { @@ -51,10 +52,11 @@ sub install { } sub ensure_is_installed { - my ($o, $pkg, $file) = @_; + my ($o, $pkg, $file, $auto) = @_; if (! -e $file) { - $o->{in}->ask_okcancel('', _("The package %s needs to be installed. Do you want to install it?", $pkg), 1) or return; + $o->{in}->ask_okcancel('', _("The package %s needs to be installed. Do you want to install it?", $pkg), 1) + or return if !$auto; $o->{in}->do_pkgs->install($pkg); } if (! -e $file) { @@ -75,6 +77,13 @@ sub is_installed { run_program::run('rpm', '>', '/dev/null', '-q', @l); } +sub are_installed { + my ($o, @l) = @_; + my @l2; + run_program::run('rpm', '>', \@l2, '-q', '--qf', "%{name}\n", @l); + intersection(\@l, [ map { chomp_($_) } @l2 ]); +} + sub remove { my ($o, @l) = @_; $o->{in}->suspend; |