diff options
Diffstat (limited to 'perl-install/install_any.pm')
-rw-r--r-- | perl-install/install_any.pm | 13 |
1 files changed, 11 insertions, 2 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. |