Hello community, here is the log from the commit of package perl-Bootloader checked in at Sat Aug 2 06:20:47 CEST 2008. -------- --- perl-Bootloader/perl-Bootloader.changes 2008-07-22 10:33:44.000000000 +0200 +++ perl-Bootloader/perl-Bootloader.changes 2008-07-29 16:01:40.271744000 +0200 @@ -1,0 +2,8 @@ +Tue Jul 29 15:51:16 CEST 2008 - jsrain@suse.cz + +- return unmodified GRUB device from GrubDev2UnixDev when match not + found in device map so that it is distinguishable GRUB device and + cannot be understood as UNIX device (bnc #411937) +- version bump to 0.4.66 + +------------------------------------------------------------------- Old: ---- perl-Bootloader-0.4.65.tar.bz2 New: ---- perl-Bootloader-0.4.66.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Bootloader.spec ++++++ --- /var/tmp/diff_new_pack.jL1632/_old 2008-08-02 06:19:16.000000000 +0200 +++ /var/tmp/diff_new_pack.jL1632/_new 2008-08-02 06:19:17.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package perl-Bootloader (Version 0.4.65) +# spec file for package perl-Bootloader (Version 0.4.66) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -12,7 +12,7 @@ Name: perl-Bootloader -Version: 0.4.65 +Version: 0.4.66 Release: 1 Requires: perl-base = %{perl_version} Requires: e2fsprogs @@ -67,6 +67,11 @@ /usr/lib/bootloader %changelog +* Tue Jul 29 2008 jsrain@suse.cz +- return unmodified GRUB device from GrubDev2UnixDev when match not + found in device map so that it is distinguishable GRUB device and + cannot be understood as UNIX device (bnc #411937) +- version bump to 0.4.66 * Tue Jul 22 2008 jreidinger@suse.cz - fix crash in update-bootloader (bnc #411161) - don't try remove kernel image if none bootloader installed ++++++ bootloader_entry ++++++ --- perl-Bootloader/bootloader_entry 2008-07-22 10:33:44.000000000 +0200 +++ perl-Bootloader/bootloader_entry 2008-07-29 16:01:40.155872000 +0200 @@ -118,7 +118,8 @@ --force-default \ --add \ --force $opt_xen_kernel \ - --name "$release" + --name "$release" \ + || exit 1 else # Add the new bootloader entry (xen kernel) update_bootloader --image /boot/$image \ @@ -126,11 +127,12 @@ --default \ --add \ --force $opt_xen_kernel \ - --name "$release" + --name "$release" \ + || exit 1 fi # Run the bootloader (e.g., lilo). - update_bootloader --refresh + update_bootloader --refresh || exit 1 ;; (debug) @@ -142,18 +144,20 @@ --force-default \ --add \ --force \ - --name "$release" + --name "$release" \ + || exit 1 else # Add the new bootloader entry (debug kernel) update_bootloader --image /boot/$image \ --initrd /boot/$initrd \ --add \ --force \ - --name "$release" + --name "$release" \ + || exit 1 fi # Run the bootloader (e.g., lilo). - update_bootloader --refresh + update_bootloader --refresh || exit 1 ;; (*) @@ -166,7 +170,8 @@ --force-default \ --add \ --force \ - --name "$release" + --name "$release" \ + || exit 1 else # Add the new bootloader entry update_bootloader --image /boot/$image \ @@ -174,11 +179,12 @@ --default \ --add \ --force \ - --name "$release" + --name "$release" \ + || exit 1 fi # Run the bootloader (e.g., lilo). - update_bootloader --refresh + update_bootloader --refresh || exit 1 ;; esac fi @@ -241,16 +247,18 @@ --initrd /boot/$initrd \ --xen \ --remove \ - --force + --force \ + || exit 1 else update_bootloader --image /boot/$image \ --initrd /boot/$initrd \ --remove \ - --force + --force \ + || exit 1 fi # Run the bootloader (e.g., lilo). - update_bootloader --refresh + update_bootloader --refresh || exit 1 fi fi } @@ -281,7 +289,8 @@ fi echo "excerpts of /dev:" -ls -l /dev/{[hs]d[ab]?,md[0-3],.udev,disk/by-*} 2>/dev/null +#if doesn't find anything you can be on strange architecture (like ps3) and dump all block devices +ls -l /dev/{[hs]d[ab]?,md[0-3],.udev,disk/by-*} 2>/dev/null || ls -l /dev | grep ^b echo device_map="/boot/grub/device.map" ++++++ perl-Bootloader-0.4.65.tar.bz2 -> perl-Bootloader-0.4.66.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/perl-Bootloader-0.4.65/lib/Bootloader/Core/GRUB.pm new/perl-Bootloader-0.4.66/lib/Bootloader/Core/GRUB.pm --- old/perl-Bootloader-0.4.65/lib/Bootloader/Core/GRUB.pm 2008-07-17 16:23:59.000000000 +0200 +++ new/perl-Bootloader-0.4.66/lib/Bootloader/Core/GRUB.pm 2008-07-29 14:45:47.000000000 +0200 @@ -407,11 +407,18 @@ $dev = $1; } + my $match_found = 0; + $self->l_milestone ("GRUB::GrubDev2UnixDev: device_map: ".$self->{"device_map"}); while ((my $unix, my $fw) = each (%{$self->{"device_map"}})) { if ($dev eq $fw) { $dev = $unix; + $match_found = 1; } } + if ($match_found == 0) { + $self->l_error ("GRUB::GrubDev2UnixDev: did not find a match for $dev in the device map"); + return $original; + } # resolve symlinks..... my $cmd = "udevinfo -q name -n $dev"; @@ -512,6 +519,7 @@ # now check kernel devices / devicemapper devices if ( exists $self->{"device_map"}->{$kernel_dev} ) { $dev = $self->{"device_map"}->{$kernel_dev}; + return "($dev)" if ( $kernel_dev eq $original ); #disk dev, no partition } else { foreach my $udev_link (@udev_links) { @@ -519,12 +527,14 @@ $udev_link = "/dev/" . $udev_link; if (exists $self->{"device_map"}->{$udev_link} ) { $dev = $self->{"device_map"}->{$udev_link}; + return "($dev)" if ( $kernel_dev eq $original ); #disk dev, no partition } } } # print all entries of device.map. This is rather for debugging if (exists $self->{"device_map"}) { + $self->l_milestone ("GRUB::GrubDev2UnixDev: device_map: ".$self->{"device_map"}); $self->l_milestone ("GRUB::UnixDev2GrubDev: Read from internal structure device_map:"); while ((my $unix_dev, my $grub_dev) = each (%{$self->{"device_map"}})) { @@ -539,11 +549,12 @@ # fallback to grub device hd0 if translation has failed - this is good # enough for many cases + #FIXME try get partition number from device my $partition_fallback = 0; if ($dev !~ /^${grubdev_pattern}$/) { $dev = "hd0"; - $self->l_milestone ("GRUB::UnixDev2GrubDev: Unknown device '$dev', fall back to ($dev,$partition_fallback)"); + $self->l_milestone ("GRUB::UnixDev2GrubDev: Unknown device '$original', fall back to ($dev)"); } $dev = defined ($partition) @@ -751,7 +762,9 @@ my $avoid_reading_device_map = shift; #first set the device map - other parsing uses it - my @device_map = @{$files{"Bootloader::Path::Grub_devicemap()"} || []}; + my @device_map = @{$files{Bootloader::Path::Grub_devicemap()} || []}; + $self->l_milestone ("GRUB::Parselines: input from device.map :\n'" . + join("'\n' ", @device_map) . "'"); my %devmap = (); foreach my $dm_entry (@device_map) { @@ -760,6 +773,7 @@ $devmap{$2} = $1; } }; + $self->l_debug ("GRUB::Parselines: avoided_reading device map.") if (! $avoid_reading_device_map ); $self->{"device_map"} = \%devmap if (! $avoid_reading_device_map); # and now proceed with menu.lst @@ -1161,6 +1175,7 @@ } # remapping end, start processing + # FIXME : check against metadata? if ($key eq "root" || $key eq "rootnoverify") @@ -1255,6 +1270,11 @@ } $ret{$key} = $val; } + # recognize remapping both is shrink to one remap return + elsif ($key eq "map") + { + $ret{"remap"} = "true"; + } } $ret{"__lines"} = \@lines; @@ -1654,6 +1674,25 @@ "value" => $value, }; } + elsif ($key eq "remap") + { + push @lines, { + "key" => "map", + "value" => "(hd0) ".$grub_root, + }; + push @lines, { + "key" => "map", + "value" => $grub_root." (hd0)", + }; + } + elsif ($key eq "makeactive") + { + push @lines, { + "key" => "makeactive", + "value" => "", + }; + } + } my $ret = $self->FixSectionLineOrder (\@lines, diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/perl-Bootloader-0.4.65/lib/Bootloader/Core.pm new/perl-Bootloader-0.4.66/lib/Bootloader/Core.pm --- old/perl-Bootloader-0.4.65/lib/Bootloader/Core.pm 2007-11-15 13:33:04.000000000 +0100 +++ new/perl-Bootloader-0.4.66/lib/Bootloader/Core.pm 2008-07-25 18:00:41.000000000 +0200 @@ -1705,7 +1705,11 @@ my $self = shift; my $devmap_ref = shift; + $self->l_debug ("Core::SetDeviceMapping: called."); $self->{"device_map"} = $devmap_ref; + while ( my ($key, $value) = each (%$devmap_ref)){ + $self->l_milestone ("Core::SetDeviceMapping: device_mapping: $key <=> $value"); + } return 1; } @@ -1751,7 +1755,8 @@ if (defined ($settings{$key})) { $self->{$key} = $settings{$key}; - } + $self->l_milestone ("Core::SetSettings: store: $key:" . join( ",", $settings{$key})); + } } return 1; } diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/perl-Bootloader-0.4.65/lib/Bootloader/Path.pm new/perl-Bootloader-0.4.66/lib/Bootloader/Path.pm --- old/perl-Bootloader-0.4.65/lib/Bootloader/Path.pm 2008-07-22 09:04:58.000000000 +0200 +++ new/perl-Bootloader-0.4.66/lib/Bootloader/Path.pm 2008-07-25 18:00:41.000000000 +0200 @@ -11,7 +11,8 @@ sub Prefix { my $value = shift; - return $ENV{PERL_BOOTLOADER_TESTSUITE_PATH} . $value; + return $ENV{PERL_BOOTLOADER_TESTSUITE_PATH} . $value if (defined($ENV{PERL_BOOTLOADER_TESTSUITE_PATH})); + return $value; } sub Logname { ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de