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(a)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(a)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(a)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(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org