summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/bootloader.pm14
1 files changed, 10 insertions, 4 deletions
diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm
index 743d8aafd..8aa6850be 100644
--- a/perl-install/bootloader.pm
+++ b/perl-install/bootloader.pm
@@ -135,10 +135,16 @@ sub same_entries {
my ($a, $b) = @_;
foreach (uniq(keys %$a, keys %$b)) {
- next if $_ eq 'label';
- next if $a->{$_} eq $b->{$_};
- my ($inode_a, $inode_b) = map { (stat "$::prefix$_")[1] } ($a->{$_}, $b->{$_});
- next if $inode_a && $inode_b && $inode_a == $inode_b;
+ if ($_ eq 'label') {
+ next;
+ } elsif ($_ eq 'append') {
+ next if join(' ', sort split(' ', $a->{$_})) eq join(' ', sort split(' ', $b->{$_}))
+ } else {
+ next if $a->{$_} eq $b->{$_};
+
+ my ($inode_a, $inode_b) = map { (stat "$::prefix$_")[1] } ($a->{$_}, $b->{$_});
+ next if $inode_a && $inode_b && $inode_a == $inode_b;
+ }
log::l("entries $a->{label} don't have same $_: $a->{$_} ne $b->{$_}");
return;