Hello community, here is the log from the commit of package perl-Bootloader for openSUSE:Factory checked in at 2014-08-27 16:52:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Bootloader (Old) and /work/SRC/openSUSE:Factory/.perl-Bootloader.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Bootloader" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Bootloader/perl-Bootloader.changes 2014-08-11 10:09:45.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Bootloader.new/perl-Bootloader.changes 2014-08-27 16:53:01.000000000 +0200 @@ -1,0 +2,6 @@ +Tue Aug 19 15:04:27 CEST 2014 - [email protected] + +- support GRUB_ENABLE_CRYPTODISK config option (bnc #887888) +- 0.821 + +------------------------------------------------------------------- Old: ---- perl-Bootloader-0.820.tar.xz New: ---- perl-Bootloader-0.821.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Bootloader.spec ++++++ --- /var/tmp/diff_new_pack.B2XECa/_old 2014-08-27 16:53:02.000000000 +0200 +++ /var/tmp/diff_new_pack.B2XECa/_new 2014-08-27 16:53:02.000000000 +0200 @@ -17,7 +17,7 @@ Name: perl-Bootloader -Version: 0.820 +Version: 0.821 Release: 0 Requires: coreutils Requires: perl-base = %{perl_version} ++++++ perl-Bootloader-0.820.tar.xz -> perl-Bootloader-0.821.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/perl-Bootloader-0.820/perl-Bootloader.changes new/perl-Bootloader-0.821/perl-Bootloader.changes --- old/perl-Bootloader-0.820/perl-Bootloader.changes 2014-08-08 12:00:13.000000000 +0200 +++ new/perl-Bootloader-0.821/perl-Bootloader.changes 2014-08-20 16:26:07.000000000 +0200 @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Tue Aug 19 15:04:27 CEST 2014 - [email protected] + +- support GRUB_ENABLE_CRYPTODISK config option (bnc #887888) +- 0.821 + +------------------------------------------------------------------- Fri Aug 8 11:59:42 CEST 2014 - [email protected] - remove dependency on e2fsprogs (bnc #890795) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/perl-Bootloader-0.820/src/Core/GRUB2.pm new/perl-Bootloader-0.821/src/Core/GRUB2.pm --- old/perl-Bootloader-0.820/src/Core/GRUB2.pm 2014-08-08 12:00:13.000000000 +0200 +++ new/perl-Bootloader-0.821/src/Core/GRUB2.pm 2014-08-20 16:26:07.000000000 +0200 @@ -56,6 +56,45 @@ #module interface + +=item +Determines whether grub2 files are installed on an encrypted partition. +=cut + +sub CryptoNeeded() +{ + my $self = shift; + my $crypto = 0; + + my ($dev) = $self->SplitDevPath("/boot/grub2"); + + $dev = Cwd::realpath($dev); + + $self->milestone("/boot/grub2 is on $dev"); + + $dev =~ s#/dev#/sys/block#; + + do { + $self->milestone("checking $dev"); + + my $uuid; + if(open my $f, "$dev/dm/uuid") { + $uuid = <$f>; + close $f; + } + + $crypto = 1 if $uuid =~ /^CRYPT/; + + $dev = (glob "$dev/slaves/*")[0]; + } + while($dev && !$crypto); + + $self->milestone("crypto = $crypto"); + + return $crypto; +} + + sub GetDeviceMap { my $self = shift; @@ -781,6 +820,8 @@ $ret{"xen_kernel_append"} = $val; } elsif ($key =~ m/@?SUSE_BTRFS_SNAPSHOT_BOOTING$/) { $ret{"suse_btrfs"} = $val; + } elsif ($key =~ m/@?GRUB_ENABLE_CRYPTODISK$/) { + $ret{"cryptodisk"} = $val eq 'y' ? 1 : 0; } } @@ -922,6 +963,13 @@ '# WARNING foregin OS menu entries will be lost if set true here' ], }, + { + 'key' => 'GRUB_ENABLE_CRYPTODISK', + 'value' => 'n', + 'comment_before' => [ + "# Set to 'y' for grub to be installed on an encrypted partition" + ], + }, ); } @@ -945,6 +993,7 @@ my $append_failsafe = delete $globinfo{"append_failsafe"} || ""; my $os_prober = delete $globinfo{"os_prober"} || ""; my $suse_btrfs = delete $globinfo{"suse_btrfs"} || "true"; + my $cryptodisk = delete $globinfo{"cryptodisk"} || 0; # $root = " root=$root" if $root ne ""; $vga = " vga=$vga" if $vga ne ""; $append = " $append" if $append ne ""; @@ -952,6 +1001,8 @@ $self->milestone("XXX append = $append"); $append =~ s/rootflags=subvol\S*\s*//; + $cryptodisk = $self->CryptoNeeded() unless $cryptodisk; + my $hidden_timeout = "$timeout"; if ("$hiddenmenu" eq "true") { $timeout = "0" if "$timeout" ne ""; @@ -1054,6 +1105,9 @@ } elsif ($key =~ m/@?SUSE_BTRFS_SNAPSHOT_BOOTING$/) { $line_ref->{"value"} = $suse_btrfs if $suse_btrfs ne ""; $suse_btrfs = ""; + } elsif ($key =~ m/@?GRUB_ENABLE_CRYPTODISK$/) { + $line_ref->{value} = $cryptodisk ? 'y' : 'n' if defined $cryptodisk; + undef $cryptodisk; } defined $line_ref ? $line_ref : (); } @lines; @@ -1155,6 +1209,13 @@ "value" => $suse_btrfs, } } + + if (defined $cryptodisk) { + push @lines, { + "key" => "GRUB_ENABLE_CRYPTODISK", + "value" => $cryptodisk ? 'y' : 'n', + } + } return \@lines; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/perl-Bootloader-0.820/src/Core/GRUB2EFI.pm new/perl-Bootloader-0.821/src/Core/GRUB2EFI.pm --- old/perl-Bootloader-0.820/src/Core/GRUB2EFI.pm 2014-08-08 12:00:13.000000000 +0200 +++ new/perl-Bootloader-0.821/src/Core/GRUB2EFI.pm 2014-08-20 16:26:07.000000000 +0200 @@ -56,6 +56,45 @@ #module interface + +=item +Determines whether grub2 files are installed on an encrypted partition. +=cut + +sub CryptoNeeded() +{ + my $self = shift; + my $crypto = 0; + + my ($dev) = $self->SplitDevPath("/boot/grub2"); + + $dev = Cwd::realpath($dev); + + $self->milestone("/boot/grub2 is on $dev"); + + $dev =~ s#/dev#/sys/block#; + + do { + $self->milestone("checking $dev"); + + my $uuid; + if(open my $f, "$dev/dm/uuid") { + $uuid = <$f>; + close $f; + } + + $crypto = 1 if $uuid =~ /^CRYPT/; + + $dev = (glob "$dev/slaves/*")[0]; + } + while($dev && !$crypto); + + $self->milestone("crypto = $crypto"); + + return $crypto; +} + + =item C<< $obj_ref = Bootloader::Core::GRUB2EFI->new (); >> @@ -363,6 +402,8 @@ $ret{"xen_kernel_append"} = $val; } elsif ($key =~ m/@?SUSE_BTRFS_SNAPSHOT_BOOTING$/) { $ret{"suse_btrfs"} = $val; + } elsif ($key =~ m/@?GRUB_ENABLE_CRYPTODISK$/) { + $ret{"cryptodisk"} = $val eq 'y' ? 1 : 0; } } @@ -511,6 +552,13 @@ 'key' => 'SUSE_BTRFS_SNAPSHOT_BOOTING', 'value' => 'true', }, + { + 'key' => 'GRUB_ENABLE_CRYPTODISK', + 'value' => 'n', + 'comment_before' => [ + "# Set to 'y' for grub to be installed on an encrypted partition" + ], + }, ); } @@ -534,6 +582,7 @@ my $append_failsafe = delete $globinfo{"append_failsafe"} || ""; my $os_prober = delete $globinfo{"os_prober"} || ""; my $suse_btrfs = delete $globinfo{"suse_btrfs"} || "true"; + my $cryptodisk = delete $globinfo{"cryptodisk"} || 0; # $root = " root=$root" if $root ne ""; $vga = " vga=$vga" if $vga ne ""; $append = " $append" if $append ne ""; @@ -541,6 +590,8 @@ $self->milestone("XXX append = $append"); $append =~ s/rootflags=subvol\S*\s*//; + $cryptodisk = $self->CryptoNeeded() unless $cryptodisk; + my $hidden_timeout = "$timeout"; if ("$hiddenmenu" eq "true") { $timeout = "0" if "$timeout" ne ""; @@ -643,6 +694,9 @@ } elsif ($key =~ m/@?SUSE_BTRFS_SNAPSHOT_BOOTING$/) { $line_ref->{"value"} = $suse_btrfs if $suse_btrfs ne ""; $suse_btrfs = ""; + } elsif ($key =~ m/@?GRUB_ENABLE_CRYPTODISK$/) { + $line_ref->{value} = $cryptodisk ? 'y' : 'n' if defined $cryptodisk; + undef $cryptodisk; } defined $line_ref ? $line_ref : (); @@ -745,6 +799,13 @@ "value" => $suse_btrfs, } } + + if (defined $cryptodisk) { + push @lines, { + "key" => "GRUB_ENABLE_CRYPTODISK", + "value" => $cryptodisk ? 'y' : 'n', + } + } return \@lines; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/perl-Bootloader-0.820/version new/perl-Bootloader-0.821/version --- old/perl-Bootloader-0.820/version 2014-08-08 12:00:13.000000000 +0200 +++ new/perl-Bootloader-0.821/version 2014-08-20 16:26:07.000000000 +0200 @@ -1 +1 @@ -0.820 +0.821 -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
