diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2001-08-08 17:24:32 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2001-08-08 17:24:32 +0000 |
commit | b7b8f8fc3b3b95817c77f376065b8ce705f8d4d9 (patch) | |
tree | f37eb8d584cf9f1ced1b9eb7f7ddc61b9c7de1d4 /perl-install/standalone.pm | |
parent | 75fb7f43f2ca90a9121df1e572ea77ae4a27dcd4 (diff) | |
download | drakx-b7b8f8fc3b3b95817c77f376065b8ce705f8d4d9.tar drakx-b7b8f8fc3b3b95817c77f376065b8ce705f8d4d9.tar.gz drakx-b7b8f8fc3b3b95817c77f376065b8ce705f8d4d9.tar.bz2 drakx-b7b8f8fc3b3b95817c77f376065b8ce705f8d4d9.tar.xz drakx-b7b8f8fc3b3b95817c77f376065b8ce705f8d4d9.zip |
adding interactive_pkgs stuff
Diffstat (limited to 'perl-install/standalone.pm')
-rw-r--r-- | perl-install/standalone.pm | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/perl-install/standalone.pm b/perl-install/standalone.pm index b74253f72..408088b33 100644 --- a/perl-install/standalone.pm +++ b/perl-install/standalone.pm @@ -10,11 +10,34 @@ c::setlocale(); c::bindtextdomain('libDrakX', "/usr/share/locale"); -sub pkgs_install { - my ($in, @l) = @_; - $in->suspend; - my $ret = system('urpmi --auto --best-output ' . join(' ', @l)); - $in->resume; + +package interactive_pkgs; + +sub interactive::do_pkgs { + my ($in) = @_; + bless { in => $in }, 'interactive_pkgs'; +} + +sub install { + my ($o, @l) = @_; + $o->{in}->suspend; + my $ret = system('urpmi', '--auto', '--best-output', @l); + $o->{in}->resume; + $ret; +} + +sub install_if { + my ($o, $deps, @l) = @_; + my @deps = deref($deps); + system('rpm', '-q', @deps) == 0 or return; + install($o, @l); +} + +sub remove { + my ($o, @l) = @_; + $o->{in}->suspend; + my $ret = system('rpm', '-e ', @l); + $o->{in}->resume; $ret; } |