diff options
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/install_any.pm | 13 | ||||
-rw-r--r-- | perl-install/install_steps.pm | 2 |
2 files changed, 12 insertions, 3 deletions
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm index a686706b2..edc1d9b8c 100644 --- a/perl-install/install_any.pm +++ b/perl-install/install_any.pm @@ -3,7 +3,7 @@ package install_any; # $Id$ use diagnostics; use strict; -use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @needToCopy); +use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @needToCopy @needToCopyIfRequiresSatisfied); @ISA = qw(Exporter); %EXPORT_TAGS = ( @@ -36,6 +36,10 @@ XFree86 XFree86-glide-module Device3DFX Glide_V3-DRI Glide_V5 Mesa dhcpcd pump dhcpxd dhcp-client isdn4net isdn4k-utils dev pptp-adsl-fr rp-pppoe ppp ypbind rhs-printfilters lpr cups cups-drivers pnm2ppa Lexmark-1100-printer-driver__lm1100 samba ncpfs ); +#- package that have to be copied only if all their requires are satisfied. +@needToCopyIfRequiresSatisfied = qw( +xpp kups +); #-###################################################################################### #- Media change variables&functions @@ -172,8 +176,13 @@ sub setup_postinstall_rpms($$) { my $pkg = pkgs::packageByName($packages, $_); pkgs::selectPackage($packages, $pkg, 0, \%toCopy) if $pkg; } + foreach (@needToCopyIfRequiresSatisfied) { + my $pkg = pkgs::packageByName($packages, $_); + my %newSelection; pkgs::selectPackage($packages, $pkg, 0, \%newSelection) if $pkg; + scalar(keys %newSelection) == 1 and @toCopy{keys %newSelection} = (); + } - my @toCopy; push @toCopy, map { pkgs::packageByName($packages, $_) } keys %toCopy; + my @toCopy = map { pkgs::packageByName($packages, $_) } keys %toCopy; #- extract headers of package, this is necessary for getting #- the complete filename of each package. diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm index 099d42288..c2e52150e 100644 --- a/perl-install/install_steps.pm +++ b/perl-install/install_steps.pm @@ -318,7 +318,7 @@ sub pkg_install_if_requires_satisfied { foreach (@l) { my %newSelection; my $pkg = pkgs::packageByName($o->{packages}, $_) || die "$_ rpm not found"; - pkgs::selectPackage($o->{packages}, $pkg, 0, \%newSelection) foreach @l; + pkgs::selectPackage($o->{packages}, $pkg, 0, \%newSelection); scalar(keys %newSelection) == 1 and pkgs::selectPackage($o->{packages}, $pkg); } $o->installPackages; |