summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/pkgs.pm7
1 files changed, 4 insertions, 3 deletions
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm
index e51d4f9bf..79faf1783 100644
--- a/perl-install/pkgs.pm
+++ b/perl-install/pkgs.pm
@@ -576,14 +576,15 @@ sub read_rpmsrate_raw {
if (member('PRINTER', @$flags)) {
push @need_to_copy, $name;
}
+ my @new_flags = @$flags;
if (my $previous = $flags{$name}) {
my @common = intersection($flags, $previous);
my @diff1 = difference2($flags, \@common);
my @diff2 = difference2($previous, \@common);
if (!@diff1 || !@diff2) {
- @$flags = @common;
+ @new_flags = @common;
} elsif (@diff1 == 1 && @diff2 == 1) {
- @$flags = (@common, join('||', $diff1[0], $diff2[0]));
+ @new_flags = (@common, join('||', $diff1[0], $diff2[0]));
} else {
log::l("can not handle complicate flags for packages appearing twice ($name)");
$fatal_error++;
@@ -591,7 +592,7 @@ sub read_rpmsrate_raw {
log::l("package $name appearing twice with different rates ($rate != " . $rates{$name} . ")") if $rate != $rates{$name};
}
$rates{$name} = $rate;
- $flags{$name} = $flags;
+ $flags{$name} = \@new_flags;
}
push @l, @l2;
} else {