rendered paste bodydiff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pmindex afbc7ea..c81cd6c 100644--- a/perl-install/bootloader.pm+++ b/perl-install/bootloader.pm@@ -322,7 +322,7 @@ sub _parse_grub_menu_lst() { sub is_already_crypted { my ($password) = @_;- $password =~ /^$1\$/; # CHECKME: EMPIRIC + $password =~ /^--md5 (.*)/; } sub read_grub_menu_lst {@@ -333,9 +333,6 @@ sub read_grub_menu_lst { foreach my $keyword (grep { $_ ne 'entries' } keys %b) { $b{$keyword} = $b{$keyword} eq '' ? 1 : grub2file($b{$keyword}, $grub2dev, $fstab, \%b); }- if ($b{password} =~ /^--md5 (.*)/) {- $b{password} = $1;- } #- sanitize foreach my $e (@{$b{entries}}) {@@ -1639,7 +1636,9 @@ sub crypt_grub_password { require IPC::Open2; local $ENV{LC_ALL} = 'C'; my ($his_out, $his_in);- my $pid = IPC::Open2::open2($his_out, $his_in, "$::prefix/sbin/grub-md5-crypt");+ my $cmd = ($::prefix ? "chroot $::prefix " : "") . "/sbin/grub-md5-crypt";++ my $pid = IPC::Open2::open2($his_out, $his_in, $cmd); my ($line, $res); while (sysread($his_out, $line, 100)) {@@ -1703,14 +1702,16 @@ sub write_grub { { my @conf; - push @conf, $format->(grep { defined $bootloader->{$_} } qw(timeout));- push @conf, $format->(grep { $bootloader->{$_} } qw(color serial shade terminal viewport background foreground));- if (my $pw = $bootloader->{password}) {- $pw = crypt_grub_password($pw) if !is_already_crypted($pw);- $bootloader->{'password --md5'} = $pw;- push @conf, $format->('password --md5');+ if ($bootloader->{password}) {+ if (!is_already_crypted($bootloader->{password})) {+ my $encrypted = crypt_grub_password($bootloader->{password});+ $bootloader->{password} = "--md5 $encrypted";+ } } + push @conf, $format->(grep { defined $bootloader->{$_} } qw(timeout));+ push @conf, $format->(grep { $bootloader->{$_} } qw(color password serial shade terminal viewport background foreground));+ push @conf, map { $_ . ' ' . $file2grub->($bootloader->{$_}) } grep { $bootloader->{$_} } qw(gfxmenu); eval {diff --git a/perl-install/share/po/fr.po b/perl-install/share/po/fr.poindex 5c52404..6404700 100644--- a/perl-install/share/po/fr.po+++ b/perl-install/share/po/fr.po@@ -260,7 +260,7 @@ msgstr "Veuillez réessayer" #: any.pm:416 #, c-format msgid "You can not use a password with %s"-msgstr "Vous pouvez utiliser un mot de passe avec %s"+msgstr "Vous ne pouvez pas utiliser de mot de passe avec %s" #: any.pm:419 any.pm:804 any.pm:819 authentication.pm:246 #, c-format