summaryrefslogtreecommitdiffstats
path: root/perl-install/bootloader.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/bootloader.pm')
-rw-r--r--perl-install/bootloader.pm7
1 files changed, 6 insertions, 1 deletions
diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm
index 31bb13665..4b3cfddf0 100644
--- a/perl-install/bootloader.pm
+++ b/perl-install/bootloader.pm
@@ -484,6 +484,8 @@ sub duplicate_kernel_entry {
add_entry($bootloader, $entry);
}
+my $uniq_dict_appends = join('|', qw(devfs acpi pci resume PROFILE XFree));
+
sub unpack_append {
my ($s) = @_;
my @l = split(' ', $s);
@@ -494,7 +496,10 @@ sub pack_append {
#- normalize
$simple = [ reverse(uniq(reverse @$simple)) ];
- $dict = [ reverse(uniq_ { my ($k, $v) = @$_; $k eq 'mem' ? "$k=$v" : $k } reverse @$dict) ];
+ $dict = [ reverse(uniq_ {
+ my ($k, $v) = @$_;
+ $k =~ /^($uniq_dict_appends)$/ ? $k : "$k=$v";
+ } reverse @$dict) ];
join(' ', @$simple, map { "$_->[0]=$_->[1]" } @$dict);
}