summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/install_any.pm13
-rw-r--r--perl-install/install_steps.pm2
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;