summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/install_any.pm5
-rw-r--r--perl-install/pkgs.pm7
2 files changed, 8 insertions, 4 deletions
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
index f01824732..0389f4a70 100644
--- a/perl-install/install_any.pm
+++ b/perl-install/install_any.pm
@@ -160,7 +160,10 @@ sub setup_postinstall_rpms($$) {
my %toCopy;
#- compute closure of package that may be copied, use INSTALL category
#- in rpmsrate.
- pkgs::setSelectedFromCompssList($packages, { INSTALL => 1 }, 0, 0, \%toCopy);
+ foreach (@{$packages->{needToCopy} || []}) {
+ my $p = pkgs::packageByName($packages, $_);
+ pkgs::selectPackage($packages, $p, 0, \%toCopy);
+ }
my @toCopy = grep { $_ && pkgs::packageFlagSelected($_) == 0 } map { pkgs::packageByName($packages, $_) } keys %toCopy;
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm
index 5998c9e6c..790063ced 100644
--- a/perl-install/pkgs.pm
+++ b/perl-install/pkgs.pm
@@ -667,15 +667,16 @@ sub read_rpmsrate {
foreach (split ' ', $data) {
if ($packages) {
my $p = packageByName($packages, $_) or next;
-
my @m2 =
map { if_($_ && packageName($_) =~ /locales-(.*)/, qq(LOCALES"$1")) }
map { packageById($packages, $_) } packageDepsId($p);
my @m3 = ((grep { !/^\d$/ } @m), @m2);
+ if (@m3 == 1 && $m3[0] eq 'INSTALL') {
+ push @{$packages->{needToCopy} ||= []}, $_;
+ next; #- don't need to put INSTALL flag for a package.
+ }
if (packageRate($p)) {
- next if @m3 == 1 && $m3[0] eq 'INSTALL';
-
my ($rate2, @m4) = packageRateRFlags($p);
if (@m3 > 1 || @m4 > 1) {
log::l("can't handle complicate flags for packages appearing twice ($_)");