Hello community, here is the log from the commit of package perl-Bootloader checked in at Wed Feb 14 20:54:30 CET 2007. -------- --- perl-Bootloader/perl-Bootloader.changes 2007-01-10 18:13:29.000000000 +0100 +++ /mounts/work_src_done/STABLE/perl-Bootloader/perl-Bootloader.changes 2007-02-14 12:02:42.000000000 +0100 @@ -1,0 +2,51 @@ +Wed Feb 14 11:51:49 CET 2007 - aosthof@suse.de + +- manually merge SLES10 branch with trunk, part 4/4: +- fixed function SplitDevPath() in src/Core.pm to avoid an endless + loop (#228570) & (#236777) +- version bump 0.4.11 (skipped 0.4.10 to be consistent again) + +------------------------------------------------------------------- +Wed Feb 14 11:44:14 CET 2007 - aosthof@suse.de + +- manually merge SLES10 branch with trunk, part 3/4: +- Reverted to make Xen kernel default boot kernel if Xen pattern + or Xen RPMs are installed. (Fate #301384) + +------------------------------------------------------------------- +Wed Feb 14 11:40:20 CET 2007 - aosthof@suse.de + +- manually merge SLES10 branch with trunk, part 2/4: +- fixed function InitializeBootloader() in src/Core/ZIPL.pm to + correctly call /sbin/zipl (without param "-m menu") (#199582) + +------------------------------------------------------------------- +Wed Feb 14 11:31:30 CET 2007 - aosthof@suse.de + +- manually merge SLES10 branch with trunk, part 1/4: +- fixed default/minimum/maximum values for timeout in ELILO.pm +- fixed some typos (in descriptions) in ELILO.pm +- IA 64: Added missing options in elilo.conf (#235400) + +------------------------------------------------------------------- +Wed Jan 17 12:37:41 CET 2007 - jplack@suse.de + +- fix for efi boot entry handling (#233537) + +------------------------------------------------------------------- +Wed Jan 17 12:21:02 CET 2007 - jplack@suse.de + +- proposed fix for append quotation in elilo (#235400) + +------------------------------------------------------------------- +Tue Jan 16 23:46:31 CET 2007 - jplack@suse.de + +- fix various zipl configuration problems (#235486) + +------------------------------------------------------------------- +Thu Jan 11 16:16:36 CET 2007 - jplack@suse.de + +- final (at least should be ) fix for ELILO (#228833) +- version bump 0.4.9 + +------------------------------------------------------------------- Old: ---- perl-Bootloader-0.4.8.tar.bz2 New: ---- perl-Bootloader-0.4.11.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Bootloader.spec ++++++ --- /var/tmp/diff_new_pack.Y15976/_old 2007-02-14 20:54:20.000000000 +0100 +++ /var/tmp/diff_new_pack.Y15976/_new 2007-02-14 20:54:20.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package perl-Bootloader (Version 0.4.8) +# spec file for package perl-Bootloader (Version 0.4.11) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -11,8 +11,8 @@ # norootforbuild Name: perl-Bootloader -Version: 0.4.8 -Release: 2 +Version: 0.4.11 +Release: 1 Requires: perl >= %{perl_version} Requires: perl-gettext Requires: mdadm e2fsprogs @@ -63,6 +63,33 @@ /usr/lib/bootloader %changelog -n perl-Bootloader +* Wed Feb 14 2007 - aosthof@suse.de +- manually merge SLES10 branch with trunk, part 4/4: +- fixed function SplitDevPath() in src/Core.pm to avoid an endless + loop (#228570) & (#236777) +- version bump 0.4.11 (skipped 0.4.10 to be consistent again) +* Wed Feb 14 2007 - aosthof@suse.de +- manually merge SLES10 branch with trunk, part 3/4: +- Reverted to make Xen kernel default boot kernel if Xen pattern + or Xen RPMs are installed. (Fate #301384) +* Wed Feb 14 2007 - aosthof@suse.de +- manually merge SLES10 branch with trunk, part 2/4: +- fixed function InitializeBootloader() in src/Core/ZIPL.pm to + correctly call /sbin/zipl (without param "-m menu") (#199582) +* Wed Feb 14 2007 - aosthof@suse.de +- manually merge SLES10 branch with trunk, part 1/4: +- fixed default/minimum/maximum values for timeout in ELILO.pm +- fixed some typos (in descriptions) in ELILO.pm +- IA 64: Added missing options in elilo.conf (#235400) +* Wed Jan 17 2007 - jplack@suse.de +- fix for efi boot entry handling (#233537) +* Wed Jan 17 2007 - jplack@suse.de +- proposed fix for append quotation in elilo (#235400) +* Tue Jan 16 2007 - jplack@suse.de +- fix various zipl configuration problems (#235486) +* Thu Jan 11 2007 - jplack@suse.de +- final (at least should be ) fix for ELILO (#228833) +- version bump 0.4.9 * Wed Jan 10 2007 - jplack@suse.de - mostly complete fix for #228833, wrong elilo configurator * Fri Dec 22 2006 - aosthof@suse.de ++++++ bootloader_entry ++++++ --- perl-Bootloader/bootloader_entry 2006-12-07 13:41:23.000000000 +0100 +++ /mounts/work_src_done/STABLE/perl-Bootloader/bootloader_entry 2007-02-14 11:49:53.000000000 +0100 @@ -72,20 +72,15 @@ case $flavor in (kdump|um) ;; - (*) + (xen*) opt_xen_kernel= - case $flavor in - xen*) - set -- $flavor - set -- ${1#xen} - opt_xen_kernel=--xen-kernel=/boot/xen${1:+-$1}.gz - ;; - esac + set -- $flavor + set -- ${1#xen} + opt_xen_kernel=--xen-kernel=/boot/xen${1:+-$1}.gz # Add the new bootloader entry update_bootloader --image /boot/$image \ --initrd /boot/$initrd \ - --default \ --add \ --force $opt_xen_kernel \ --name "Kernel-$release" @@ -93,6 +88,18 @@ # Run the bootloader (e.g., lilo). update_bootloader --refresh ;; + (*) + # Add the new bootloader entry + update_bootloader --image /boot/$image \ + --initrd /boot/$initrd \ + --default \ + --add \ + --force \ + --name "Kernel-$release" + + # Run the bootloader (e.g., lilo). + update_bootloader --refresh + ;; esac fi } ++++++ perl-Bootloader-0.4.8.tar.bz2 -> perl-Bootloader-0.4.11.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/perl-Bootloader-0.4.8/lib/Bootloader/Core/ELILO.pm new/perl-Bootloader-0.4.11/lib/Bootloader/Core/ELILO.pm --- old/perl-Bootloader-0.4.8/lib/Bootloader/Core/ELILO.pm 2007-01-10 18:13:29.000000000 +0100 +++ new/perl-Bootloader-0.4.11/lib/Bootloader/Core/ELILO.pm 2007-02-14 11:39:21.000000000 +0100 @@ -151,41 +151,44 @@ ); # FIXME: is "arch" export necessary? - + + # FIXME: Add quotation marks around all keys (like key "read-only") + $exports{"global_options"} = { default => "string:Default Boot Section:Linux", - timeout => "int:Timeout in Seconds:5:0:60", - delay => "int:Delay to wait before auto booting in seconds:0", - prompt => "bool:Show boot menu", - verbose => "int:Set level of verbosity [0-5]:0", - root => "path:Set global root filesystem:/", - readonly => "bool:Force rootfs to be mounted read-only", - append => "string:Append string of options to kernel command line:", - initrd => "path:Name of initrd file:/boot/initrd", - image => "path:Name of image file:/boot/vmlinuz", - chooser => "string:Specify kernel chooser to use:textmenu", - message => "string:Message printed on main screen (if supported):", - fX => "path:Display the content of a file by function keys:", - noedd30 => "bool:Don't force EDD30 mode if not set:", - fpswa => "path:Specify the filename for a specific FPSWA to load:", - relocatable => "bool:Allow attempt to relocate:", - - # FIXME: Do we really need this, thus can there be custom boot partitions? - boot_custom => "selectdevice:Custom Boot Partition::" . $boot_partitions, + timeout => "int:Timeout in 10th of Seconds:80:0:36000", + delay => "int:Delay to wait before Auto Booting in 10th of Seconds:0", + prompt => "bool:Show Boot Menu", + verbose => "int:Set Level of Verbosity [0-5]:0", + root => "path:Set global Root Filesystem:/", + "read-only" => "bool:Force rootfs to be mounted read-only", + append => "string:Append String of Options to Kernel Command Line:", + initrd => "path:Name of initrd File:/boot/initrd", + image => "path:Name of image File:/boot/vmlinuz", + chooser => "string:Specify Kernel Chooser to use:textmenu", + message => "string:Message printed on Main Screen (if supported):", + fX => "path:Display the Content of a File by Function Keys:", + noedd30 => "bool:Don't force EDD30 Mode if not set:", + fpswa => "path:Specify the Filename for a specific FPSWA to load:", + relocatable => "bool:Allow Attempt to relocate:", + + # shadow entries for efi boot manager + boot_efilabel => "string:EFI Boot Manager Label::", + boot_rm_efilabel => "bool:Remove existing EFI Boot Manager Entries by Name:", }; my $go = $exports{"global_options"}; $exports{"section_options"} = { type_image => "bool:Image Section", - image_append => "string:Optional kernel command line parameter", - image_description => "string:One line text description of the image:", - image_image => "path:Kernel image:/boot/vmlinux", - image_initrd => "path:Initial RAM disk:/boot/initrd", - image_noverifyroot => "bool:Do not verify filesystem before booting:false", - image_readonly => "bool:Force root filesystem to be mounted read-only:", - image_relocatable => "bool:Allow attempt to relocate:", - image_root => "selectdevice:Root device::" . $root_devices, + image_append => "string:Optional Kernel Command Line Parameter", + image_description => "string:One Line Text Description of the Image:", + image_image => "path:Kernel Image:/boot/vmlinux", + image_initrd => "path:Initial RAM Disk:/boot/initrd", + image_noverifyroot => "bool:Do not verify Filesystem before Booting:false", + image_readonly => "bool:Force Root Filesystem to be mounted read-only:", + image_relocatable => "bool:Allow Attempt to relocate:", + image_root => "selectdevice:Root Device::" . $root_devices, }; my $so = $exports{"section_options"}; @@ -335,6 +338,37 @@ } + +=item +C<< $line = Bootloader::Core::ELILO->CreateSingleMenuFileLine ($key, $value, $separator); >> + +Transforms a line (hash) to a string to save. As arguments it takes the the key, the +value and a string to separate the key and the value. Returns a string. + +=cut + +# string CreateSingleMenuFileLine (string key, string value, string separator) +sub CreateSingleMenuFileLine { + my $self = shift; + my $key = shift; + my $value = shift; + my $equal_sep = shift; + + my $line = "$key"; + if (! $self->HasEmptyValue ($key, $value)) + { + # I like this crappy elilo thing + if ($key eq "append") { + $value = $self->Quote ($value, "always"); + } else { + $value = $self->Quote ($value, "blanks"); + } + $line = "$line$equal_sep$value"; + } + return $line; +} + + =item C<< $files_ref = Bootloader::Core::ELILO->CreateLines (); >> @@ -348,6 +382,7 @@ sub CreateLines { my $self = shift; + # FIXME: think this is unnecessary code, no one else needs it, please check if ($self->{"global"}{"__modified"} || 0) { my @lines = @{$self->{"global"}{"__lines"} || []}; my @out_lines = (); @@ -356,36 +391,6 @@ } $self->{"global"}{"__lines"} = \@out_lines; } - foreach my $sect_ref (@{$self->{"sections"}} ) { - my %sect = %{$sect_ref}; - my $append = undef; - my $title = undef; - my $kernel = undef; -# foreach my $skey (keys %sect) { -# printf STDERR "%s: %s\n", $skey, $sect{$skey}; -# } -if(0){ - foreach my $opt_ref (@{$sect_ref->{"__lines"}|| []}) { - my $key = $opt_ref->{"key"}; - my $val = $opt_ref->{"value"}; -# print STDERR "$key = '$val'\n"; - if($key eq "image") { - $kernel = $val; - } elsif ($key eq "label") { - $title = $val; - } elsif ($key eq "append") { - $append = $val; - } - } -} - next unless defined( $title = $sect{"name"}); -# if( defined( $append) ) { -# print STDERR "SECTION $title has APPEND: '$append'\n"; -# } else { -# print STDERR "SECTION $title has NO APPEND!\n"; -# } -# print STDERR "\n"; - } # create /etc/elilo.conf lines my $elilo_conf = $self->PrepareMenuFileLines ( @@ -394,9 +399,14 @@ " ", " = " ); - if (! defined ($elilo_conf)) { - return undef; - } + + return undef unless defined $elilo_conf; + + # handle 'hidden magic' entries + map { + s/^/##YaST - / + if /^boot_efilabel/ or /^boot_rm_efilabel/; + } @{$elilo_conf}; return { $default_conf => $elilo_conf, @@ -523,25 +533,12 @@ next unless exists $go->{$key}; #next if $key =~ /^__/; - #if ($key eq "boot_" . $arch . "_custom") { - # push @lines, { - # "key" => "boot", - # "value" => $value, - # } - #} - #elsif ($key eq "boot_slot") { if ($key eq "boot_slot") { push @lines, { "key" => "boot", "value" => $value, } } - elsif ($key eq "boot_file") { - push @lines, { - "key" => "boot", - "value" => $value, - } - } else { my ($type) = split /:/, $go->{$key}; # bool values appear in a config file or not @@ -601,6 +598,8 @@ } elsif (!exists $so->{$type . "_" . $key}) { # only accept known section options :-) + $self->l_milestone ( + "ELILO::Info2Section: Ignoring key '$key' for section type '$type'"); next; } else @@ -635,6 +634,8 @@ elsif (! exists ($so->{$type . "_" . $key})) { # only accept known section options :-) + $self->l_milestone ( + "ELILO::Info2Section: Ignoring key '$key' for section type '$type'"); next; } else @@ -673,22 +674,39 @@ sub Section2Info { my $self = shift; my @lines = @{+shift}; + my $so = $self->{"exports"}{"section_options"}; my %ret = (); foreach my $line_ref (@lines) { my $key = $line_ref->{"key"}; + my $val = $line_ref->{"value"}; + if ($key eq "label") { my $on = $self->Comment2OriginalName ($line_ref->{"comment_before"}); $ret{"original_name"} = $on if ($on ne ""); - $key="name"; + $ret{"name"} = $val; + next; } elsif ($key eq "image" or $key eq "other") { $ret{"type"} = $key; } - $ret{$key} = $line_ref->{"value"}; + + unless (exists $ret{"type"} && exists $so->{$ret{"type"} . "_" . $key}) { + # only accept known section options :-) + $self->l_milestone ( + "ELILO::Section2Info: Ignoring key '$key' for section" + . " type '" . $ret{"type"} . "'"); + next; + } + + my ($type) = split /:/, $so->{$ret{"type"} . "_" . $key}; + if ($type eq "bool") { + $val = "true"; + } + $ret{$key} = $val; } $ret{"__lines"} = \@lines; return \%ret; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/perl-Bootloader-0.4.8/lib/Bootloader/Core/ZIPL.pm new/perl-Bootloader-0.4.11/lib/Bootloader/Core/ZIPL.pm --- old/perl-Bootloader-0.4.8/lib/Bootloader/Core/ZIPL.pm 2006-12-22 16:58:15.000000000 +0100 +++ new/perl-Bootloader-0.4.11/lib/Bootloader/Core/ZIPL.pm 2007-02-14 11:43:46.000000000 +0100 @@ -330,7 +330,7 @@ my $self = shift; return 0 == $self->RunCommand ( - "/sbin/zipl -m menu", + "/sbin/zipl", "/var/log/YaST2/y2log_bootloader" ); } @@ -466,7 +466,7 @@ # bool values appear in a config file or not if ($stype eq "bool") { next if $value ne "true"; - $value = ""; + $value = "1"; } push @lines, { diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/perl-Bootloader-0.4.8/lib/Bootloader/Core.pm new/perl-Bootloader-0.4.11/lib/Bootloader/Core.pm --- old/perl-Bootloader-0.4.8/lib/Bootloader/Core.pm 2006-12-08 15:56:04.000000000 +0100 +++ new/perl-Bootloader-0.4.11/lib/Bootloader/Core.pm 2007-02-14 12:02:42.000000000 +0100 @@ -100,13 +100,13 @@ C<< $real = Bootloader::Core->RealFileName ($filename); >> -C<< Bootloader::Core->l_debug ($messake); >> +C<< Bootloader::Core->l_debug ($message); >> -C<< Bootloader::Core->l_milestone ($messake); >> +C<< Bootloader::Core->l_milestone ($message); >> -C<< Bootloader::Core->l_warning ($messake); >> +C<< Bootloader::Core->l_warning ($message); >> -C<< Bootloader::Core->l_error ($messake); >> +C<< Bootloader::Core->l_error ($message); >> C<< $records_ref = Bootloader::Core->GetLogRecords (); >> @@ -130,7 +130,7 @@ =item -C<< Bootloader::Core->l_debug ($messake); >> +C<< Bootloader::Core->l_debug ($message); >> Writes a debug message to the system log buffer. @@ -149,7 +149,7 @@ =item -C<< Bootloader::Core->l_milestone ($messake); >> +C<< Bootloader::Core->l_milestone ($message); >> Writes a milestone message to the system log buffer. @@ -168,7 +168,7 @@ =item -C<< Bootloader::Core->l_warning ($messake); >> +C<< Bootloader::Core->l_warning ($message); >> Writes a warning message to the system log buffer. @@ -187,7 +187,7 @@ =item -C<< Bootloader::Core->l_error ($messake); >> +C<< Bootloader::Core->l_error ($message); >> Writes an error message to the system log buffer. @@ -364,7 +364,13 @@ $self->l_error ("Core::SplitDevPath: Cannot get device for $path"); return undef; } - $mp = "/" if ($mp eq ""); + if ($mp eq "") { + unless (exists $self->{"mountpoints"}{"/"}) { + $self->l_error ("Core::SplitDevPath: Cannot get device for $path, not root mount point set"); + return undef; + } + $mp = "/"; + } } my $dev = $self->{"mountpoints"}{$mp}; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org