Hello community,
here is the log from the commit of package perl-Bootloader
checked in at Fri Jun 30 16:59:21 CEST 2006.
--------
--- perl-Bootloader/perl-Bootloader.changes 2006-05-22 18:20:07.000000000 +0200
+++ perl-Bootloader/perl-Bootloader.changes 2006-06-30 16:07:30.000000000 +0200
@@ -1,0 +2,28 @@
+Wed Jun 28 19:38:31 CEST 2006 - jplack@suse.de
+
+- map kernel_append params to xen_append params (#188614) when
+ having a serial console
+
+-------------------------------------------------------------------
+Wed Jun 28 19:32:25 CEST 2006 - jplack@suse.de
+
+- be nicer while handling empty paths (#177083)
+- remove call to RealFileName which is called in SplitDevPath
+ anyway
+- extended/reworked interface in Tools.pm, more generic functions
+ those are needed for another tool needed to enable multipathing
+ after install, add new entries
+- check for RAID1 md arrays as all others will break on reboot
+ (#178802), fix mdadm call (RAID1 check)
+- changed name of ReadMDArrays to ReadRAID1Array which matches its
+ intended functionality.
+- Added FIXME notes for mskibbe
+
+-------------------------------------------------------------------
+Tue May 30 15:04:15 CEST 2006 - jplack@suse.de
+
+- fixed broken parsing/handling/reassembly esp. of comments in
+ config files
+- fixed inline documentation for MD2Members
+
+-------------------------------------------------------------------
Old:
----
perl-Bootloader-0.2.24.tar.bz2
New:
----
perl-Bootloader-0.2.25.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Bootloader.spec ++++++
--- /var/tmp/diff_new_pack.90xdxD/_old 2006-06-30 16:59:06.000000000 +0200
+++ /var/tmp/diff_new_pack.90xdxD/_new 2006-06-30 16:59:06.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package perl-Bootloader (Version 0.2.24)
+# spec file for package perl-Bootloader (Version 0.2.25)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,7 +11,7 @@
# norootforbuild
Name: perl-Bootloader
-Version: 0.2.24
+Version: 0.2.25
Release: 1
Requires: perl >= %{perl_version}
Requires: perl-gettext
@@ -56,6 +56,25 @@
/sbin/update-bootloader
%changelog -n perl-Bootloader
+* Wed Jun 28 2006 - jplack@suse.de
+- map kernel_append params to xen_append params (#188614) when
+ having a serial console
+* Wed Jun 28 2006 - jplack@suse.de
+- be nicer while handling empty paths (#177083)
+- remove call to RealFileName which is called in SplitDevPath
+ anyway
+- extended/reworked interface in Tools.pm, more generic functions
+ those are needed for another tool needed to enable multipathing
+ after install, add new entries
+- check for RAID1 md arrays as all others will break on reboot
+ (#178802), fix mdadm call (RAID1 check)
+- changed name of ReadMDArrays to ReadRAID1Array which matches its
+ intended functionality.
+- Added FIXME notes for mskibbe
+* Tue May 30 2006 - jplack@suse.de
+- fixed broken parsing/handling/reassembly esp. of comments in
+ config files
+- fixed inline documentation for MD2Members
* Mon May 22 2006 - jplack@suse.de
- fix broken selection list (#167390)
- bump version to 0.2.24
++++++ perl-Bootloader-0.2.24.tar.bz2 -> perl-Bootloader-0.2.25.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/perl-Bootloader-0.2.24/lib/Bootloader/Core/GRUB.pm new/perl-Bootloader-0.2.25/lib/Bootloader/Core/GRUB.pm
--- old/perl-Bootloader-0.2.24/lib/Bootloader/Core/GRUB.pm 2006-05-15 16:10:36.000000000 +0200
+++ new/perl-Bootloader-0.2.25/lib/Bootloader/Core/GRUB.pm 2006-06-30 16:02:18.000000000 +0200
@@ -244,7 +244,7 @@
C<< $unix_path = Bootloader::Core::GRUB->GrubPath2UnixPath ($grub_path, $grub_dev_prefix); >>
Translates the GRUB path (eg. '(hd0,0)/grub/device.map') to UNIX path (eg.
-'/boot/grub/device.map'). If the GRUB path doesn't contain the device, the one
+'/boot/grub/device.map'). If the GRUB path does not contain the device, the one
specified in the argument is used instead.
As arguments, the function takes the GRUB path and the device to be used if not
specified in the GRUB path, and returns the UNIX path (all strings).
@@ -303,7 +303,7 @@
Translates the UNIX path (eg. '/boot/grub/device.map') to GRUB path (eg.
'(hd0,0)/grub/device.map'). If the device (as specified in GRUB configuration
files via the 'root' option) is the same as the device in the resulting path,
-the resulting path doesn't contain the device.
+the resulting path does not contain the device.
As arguments, the function takes the UNIX path and the device as specified via
'root' option, and returns the GRUB path (all strings).
@@ -321,8 +321,7 @@
return $orig_path;
}
- my $link_path = $self->RealFileName ($orig_path);
- (my $dev, my $path) = $self->SplitDevPath ($link_path);
+ (my $dev, my $path) = $self->SplitDevPath ($orig_path);
$dev = $self->UnixDev2GrubDev ($dev);
if ($dev eq $preset_dev)
@@ -670,6 +669,19 @@
my $options = join " ", @{$grub_conf_item->{"options"} || []};
my $location = $self->UnixDev2GrubDev ($grub_conf_item->{"device"});
(my $s1dev, my $s1path) = $self->SplitDevPath ("/boot/grub/stage1");
+ if( $s1dev =~ m:/dev/md\d\d?: )
+ {
+ my $mddiscs = $self->MD2Members( $s1dev );
+ foreach my $mddisc (@$mddiscs)
+ {
+ if( $mddisc =~ /$s1dev..?/o )
+ {
+ $s1dev = $mddisc;
+ last;
+ }
+ }
+ $s1dev = $grub_conf_item->{"device"};
+ }
$s1dev = $self->UnixDev2GrubDev ($s1dev);
my $line = "setup $options $location $s1dev";
push @grub_conf, $line;
@@ -724,44 +736,56 @@
}
elsif ($key eq "kernel")
{
- if ($val =~ /^[ \t]*([^ \t]+)([ \t]+(.*))?$/)
- {
- $ret{"kernel"} = $self->GrubPath2UnixPath ($1, $grub_root);
- $val = $3;
- $val = "" if (! defined ($val));
- }
- else
+ # split into loader and parameter, note that the regex does
+ # always match
+ $val =~ /^\s*(\S+)(?:\s+(.*))?$/;
+
+ $ret{"kernel"} = $self->GrubPath2UnixPath ($1, $grub_root);
+ $val = $2 || "";
+
+ if ($val =~ /^(?:(.*)\s+)?root=(\S+)(?:\s+(.*))?$/)
{
- $ret{"kernel"} = $self->GrubPath2UnixPath ($val, $grub_root);
- $val = "";
+ $ret{"root"} = $2 if $2 ne "";
+ $val = $self->MergeIfDefined ($1, $3);
}
- if ($val =~ /^((.*)[ \t])?root=([^ \t]+)([ \t](.*))?$/)
+ if ($val =~ /^(?:(.*)\s+)?vga=(\S+)(?:\s+(.*))?$/)
{
- $ret{"root"} = $3 if ($3 ne "");
- $val = $self->MergeIfDefined ($2, $5);
- }
- if ($val =~ /^((.*)[ \t])?vga=([^ \t]+)([ \t](.*))?$/)
- {
- $ret{"vga"} = $3 if ($3 ne "");
- $val = $self->MergeIfDefined ($2, $5);
+ $ret{"vga"} = $2 if $2 ne "";
+ $val = $self->MergeIfDefined ($1, $3);
}
if ($val ne "")
{
$ret{"append"} = $val;
+ if ($is_xen) {
+ if ($val =~ /console=ttyS(\d+),(\d+)/) {
+ # merge console and speed into xen_append
+ my $console = sprintf("com%d", $1+1);
+ my $speed = sprintf("%s=%d", $console, $2);
+ if (exists $ret{"xen_append"}) {
+ my $xen_append = $ret{"xen_append"};
+ while ($xen_append =~
+ s/(.*)console=(\S+)\s*(.*)$/$1$3/o) {
+ my $del_console = $2;
+ $xen_append =~
+ s/(.*)${del_console}=\d+\s*(.*)$/$1$2/g;
+ }
+ $ret{"xen_append"} = "console=$console $speed $xen_append";
+ } else {
+ $ret{"xen_append"} = "console=$console $speed";
+ }
+ }
+ }
}
$ret{"type"} = "image";
}
elsif ($key eq "xen")
{
- if ($val =~ /^[ \t]*([^ \t]+)([ \t]+(.*))?$/)
- {
- $ret{"xen"} = $self->GrubPath2UnixPath ($1, $grub_root);
- $ret{"xen_append"} = $3 if (defined ($3));
- }
- else
- {
- $ret{"xen"} = $self->GrubPath2UnixPath ($val, $grub_root);
- }
+ # split into loader and parameter, note that the regex does
+ # always match
+ $val =~ /^\s*(\S+)(?:\s+(.*))?$/;
+
+ $ret{"xen"} = $self->GrubPath2UnixPath ($1, $grub_root);
+ $ret{"xen_append"} = $2 if defined $2;
}
elsif ($key eq "initrd" || $key eq "wildcard")
{
@@ -1039,6 +1063,26 @@
if (exists ($sectinfo{"xen"}))
{
@lines = @{$self->Section2XenInfo (\@lines)};
+
+ if (exists($sectinfo{"append"}) and
+ ($sectinfo{"append"} =~ /console=ttyS(\d+),(\d+)/) )
+ {
+ # merge console and speed into xen_append
+ my $console = sprintf("com%d", $1+1);
+ my $speed = sprintf("%s=%d", $console, $2);
+ if (exists $sectinfo{"xen_append"}) {
+ my $xen_append = $sectinfo{"xen_append"};
+ while ($xen_append =~
+ s/(.*)console=(\S+)\s*(.*)$/$1$3/o) {
+ my $del_console = $2;
+ $xen_append =~
+ s/(.*)${del_console}=\d+\s*(.*)$/$1$2/g;
+ }
+ $sectinfo{"xen_append"} = "console=$console $speed $xen_append";
+ } else {
+ $sectinfo{"xen_append"} = "console=$console $speed";
+ }
+ }
}
@lines = map {
@@ -1184,8 +1228,9 @@
if ($key eq "default")
{
# cast $val to integer. That means that if no valid default has
- # been given, weÂll take the first section as default.
- my $defindex = 0+$val;
+ # been given, we'll take the first section as default.
+ no warnings "numeric"; # this is neccessary to avoid to trigger a perl bug
+ my $defindex = 0+ $val;
$ret{"default"} = $sections[$defindex];
}
elsif ($key eq "timeout" || $key eq "password")
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/perl-Bootloader-0.2.24/lib/Bootloader/Core/ZIPL.pm new/perl-Bootloader-0.2.25/lib/Bootloader/Core/ZIPL.pm
--- old/perl-Bootloader-0.2.24/lib/Bootloader/Core/ZIPL.pm 2006-04-03 17:36:14.000000000 +0200
+++ new/perl-Bootloader-0.2.25/lib/Bootloader/Core/ZIPL.pm 2006-05-29 17:24:57.000000000 +0200
@@ -817,9 +817,9 @@
=cut
-# (list