summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/standalone.pm')
-rw-r--r--perl-install/standalone.pm13
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;