Hello community, here is the log from the commit of package perl-Bootloader checked in at Thu Oct 9 18:58:33 CEST 2008. -------- --- perl-Bootloader/perl-Bootloader.changes 2008-10-07 14:56:33.000000000 +0200 +++ /mounts/work_src_done/STABLE/perl-Bootloader/perl-Bootloader.changes 2008-10-09 15:37:03.187967000 +0200 @@ -1,0 +2,10 @@ +Thu Oct 9 15:34:48 CEST 2008 - jreidinger@suse.cz + +- use option relocatable only on ia64 architecture (FATE #301882) +- improve selecting root devices (bnc #433347) +- fix regex to confirm mounted /boot (bnc #433835) +- add support for xen to elilo, as elilo now must work also on + x86_64 (FATE #301882) +- 0.4.74 + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- perl-Bootloader-0.4.73.tar.bz2 New: ---- perl-Bootloader-0.4.74.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Bootloader.spec ++++++ --- /var/tmp/diff_new_pack.d19269/_old 2008-10-09 18:54:25.000000000 +0200 +++ /var/tmp/diff_new_pack.d19269/_new 2008-10-09 18:54:25.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package perl-Bootloader (Version 0.4.73) +# spec file for package perl-Bootloader (Version 0.4.74) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -19,7 +19,7 @@ Name: perl-Bootloader -Version: 0.4.73 +Version: 0.4.74 Release: 1 Requires: perl-base = %{perl_version} Requires: e2fsprogs @@ -74,6 +74,13 @@ /usr/lib/bootloader %changelog +* Thu Oct 09 2008 jreidinger@suse.cz +- use option relocatable only on ia64 architecture (FATE #301882) +- improve selecting root devices (bnc #433347) +- fix regex to confirm mounted /boot (bnc #433835) +- add support for xen to elilo, as elilo now must work also on + x86_64 (FATE #301882) +- 0.4.74 * Tue Oct 07 2008 jreidinger@suse.cz - Fix syntax error in bootloader_entry (bnc#430666 patch by kukuk@suse.de) ++++++ bootloader_entry ++++++ --- perl-Bootloader/bootloader_entry 2008-10-07 14:56:33.000000000 +0200 +++ /mounts/work_src_done/STABLE/perl-Bootloader/bootloader_entry 2008-10-09 15:37:03.306840000 +0200 @@ -301,7 +301,8 @@ fi ) >> $logname -if [ `grep -c "^[^#[:space:]]\+[[:space:]]\+/boot" /etc/fstab` -ne `grep -c "^[^[:space:]]\+[[:space:]]\+/boot" /etc/mtab` ]; then +if [ `grep -c "^[^#[:space:]]\+[[:space:]]\+/boot[[:space:]]" /etc/fstab` -ne \ + `grep -c "^[^[:space:]]\+[[:space:]]\+/boot[[:space:]]" /etc/mtab` ]; then echo "/boot directory is not mounted"; exit 1; fi ++++++ perl-Bootloader-0.4.73.tar.bz2 -> perl-Bootloader-0.4.74.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/perl-Bootloader-0.4.73/lib/Bootloader/Core/ELILO.pm new/perl-Bootloader-0.4.74/lib/Bootloader/Core/ELILO.pm --- old/perl-Bootloader-0.4.73/lib/Bootloader/Core/ELILO.pm 2008-09-16 15:55:27.000000000 +0200 +++ new/perl-Bootloader-0.4.74/lib/Bootloader/Core/ELILO.pm 2008-10-09 15:34:21.000000000 +0200 @@ -150,9 +150,9 @@ } @partinfo; my $root_devices = join(":",@root_part,\@md_arrays); - # FIXME: is "arch" export necessary? + my $arch = `uname --hardware-platform`; + chomp ($arch); - # FIXME: Add quotation marks around all keys (like key "read-only") $exports{"global_options"} = { default => "string:Default Boot Section:Linux", @@ -170,13 +170,16 @@ 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:", }; + if ($arch eq "ia64") { + $exports{"global_options"}{"relocatable"} = "bool:Allow Attempt to relocate:"; + } + my $go = $exports{"global_options"}; $exports{"section_options"} = { @@ -187,9 +190,19 @@ 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, + + type_xen => "bool:Xen section", + xen_xen => "select:Hypervisor:/boot/xen.gz:/boot/xen.gz", + xen_xen_append => "string:Additional Xen Hypervisor Parameters:", + xen_image => "path:Kernel image:/boot/vmlinux", + xen_root => "select:Root device::" . $root_devices, + xen_append => "string:Optional kernel command line parameter", + xen_initrd => "path:Initial RAM disk:/boot/initrd", }; + if ($arch eq "ia64") { + $exports{"sction_options"}{"image_relocatable"} = "bool:Allow Attempt to relocate:"; + } my $so = $exports{"section_options"}; @@ -212,8 +225,14 @@ my $loader = $self->SUPER::new ($old); $loader->{"default_global_lines"} = [ { "key" => "timeout", "value" => 80 }, - { "key" => "relocatable", "value" => "" }, ]; + my $arch = `uname --hardware-platform`; + chomp ($arch); + if ($arch eq "ia64") + { + my $line = { "key" => "relocatable", "value" => "" }; + push @{$loader->{"default_global_lines"}}, $line ; + } bless ($loader); $loader->GetMetaData(); @@ -587,6 +606,11 @@ foreach my $line_ref (@lines) { my $key = $line_ref->{"key"}; + if ($key eq "vmm") + { + $key = "xen"; + } + if ($key eq "label") { $line_ref = $self->UpdateSectionNameLine ($sectinfo{"name"}, $line_ref, @@ -599,6 +623,21 @@ "ELILO::Info2Section: Ignoring key '$key' for section type '$type'"); next; } + #append in xen contains also xen append, so it must handled special + elsif ($key eq "append") + { + my $first = $sectinfo{"xen_append"} || ""; + my $second = $sectinfo{"append"} || ""; + my $console = $sectinfo{"console"} || ""; + $console = "console=$console" if ($console ne ""); + my $value = "$second $console"; + $value = "$first -- $value" if ($type eq "xen"); + $value = $self->trim($value); + $line_ref->{"value"} = $value; + delete $sectinfo{"xen_append"}; + delete $sectinfo{"append"}; + delete $sectinfo{"console"}; + } else { next unless defined ($sectinfo{$key}); @@ -629,19 +668,35 @@ $line_ref->{"key"} = "label"; push @lines, $line_ref; } - elsif ( $key eq "append" || $key eq "console" ) + elsif ( $key eq "append" || $key eq "console" || $key eq "xen_append" ) { if (defined($create_append)) { my $append = $sectinfo{"append"} || ""; my $console = $sectinfo{"console"} || ""; + $console = "console=$console" if ($console ne ""); + my $val = "$append $console"; + if ($type eq "xen") + { + my $xen_append = $sectinfo{"xen_append"} || ""; + $val = "$xen_append -- $val"; + } + + push @lines, { "key" => "append", - "value" => $append.$console, + "value" => $val, }; $create_append = undef; } } + elsif ($key eq "xen" and $type eq "xen") + { + push @lines, { + "key" => "vmm", + "value" => $value, + }; + } elsif (! exists ($so->{$type . "_" . $key})) { # only accept known section options :-) @@ -704,6 +759,12 @@ { $ret{"type"} = $key; } + elsif ($key eq "vmm") + { + $ret{"type"} = "xen"; + $ret{"xen"} = $val; + next; + } elsif ($key eq "append") { if ($val =~ /^(?:(.*)\s+)?console=ttyS(\d+),(\w+)(?:\s+(.*))?$/) @@ -711,7 +772,18 @@ $ret{"console"} = "ttyS$2,$3" if $2 ne ""; $val = $self->MergeIfDefined( $1, $4); } - $ret{"append"} = $val if $val ne ""; + if ($val =~ m/--/) #value contains separator between hypervisor and host + { + $val =~ m/(.*)--(.*)/; + my $xen_app = $1; + my $host_app = $2; + $ret{"xen_append"} = $self->trim($xen_app); + $ret{"append"} = $self->trim($host_app); + } + else + { + $ret{"append"} = $val if $val ne ""; + } next; } diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/perl-Bootloader-0.4.73/lib/Bootloader/Core/GRUB.pm new/perl-Bootloader-0.4.74/lib/Bootloader/Core/GRUB.pm --- old/perl-Bootloader-0.4.73/lib/Bootloader/Core/GRUB.pm 2008-10-02 12:18:09.000000000 +0200 +++ new/perl-Bootloader-0.4.74/lib/Bootloader/Core/GRUB.pm 2008-10-09 09:56:09.000000000 +0200 @@ -156,6 +156,7 @@ my @bootpart; my @partinfo = @{$loader->{"partitions"} || []}; + my %dev_map = %{$loader->{"mountpoints"} || {}}; # Partitioninfo is a list of list references of the format: # Device, disk, nr, fsid, fstype, part_type, start_cyl, size_cyl @@ -175,10 +176,11 @@ # give a list of possible root devices: all MD devices # and all 'Linux' devices above 20 cylinders my $root_devices = join(":", - (map { + (map { my ($device, $disk, $nr, $fsid, $fstype, $part_type, $start_cyl, $size_cyl) = @$_; - (($fsid eq "131" or $fstype =~ m:linux:i) and + # allow only linux standart partitions, 130 is linux swap + (($fsid eq "131" or ($fsid ne "130" and $fstype =~ m:linux:i)) and $size_cyl >= 20) ? $device : (); } @partinfo), @@ -237,7 +239,7 @@ type_image => "bool:Image section", # image_name => "string:Name of section", # implicit image_image => "path:Kernel image:/boot/vmlinux", - image_root => "selectdevice:Root device::" . $root_devices, + image_root => "selectdevice:Root device:". ($dev_map{"/"} || "").":" . $root_devices, image_vgamode => "string:Vga Mode", image_append => "string:Optional kernel command line parameter", image_initrd => "path:Initial RAM disk:/boot/initrd", diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/perl-Bootloader-0.4.73/lib/Bootloader/Core.pm new/perl-Bootloader-0.4.74/lib/Bootloader/Core.pm --- old/perl-Bootloader-0.4.73/lib/Bootloader/Core.pm 2008-09-30 12:49:07.000000000 +0200 +++ new/perl-Bootloader-0.4.74/lib/Bootloader/Core.pm 2008-10-09 15:34:21.000000000 +0200 @@ -16,6 +16,8 @@ use Bootloader::Core; +C<< $res = Bootloader::Core->trim ($string); >> + C<< $mountpoint = Bootloader::Core->Dev2MP ($device); >> C<< $device = Bootloader::Core->MP2Dev ($mountpoint); >> @@ -134,6 +136,21 @@ =item +C<< $res = Bootloader::Core->trim ($string); >> + +Cut whitespace from front and back. + +=cut +sub trim{ + my $self = shift; + my $string = shift; + $string =~ s/^\s+//; + $string =~ s/\s+$//; + return $string; +} + +=item + C<< Bootloader::Core->l_debug ($message); >> Writes a debug message to the system log buffer. diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/perl-Bootloader-0.4.73/lib/Bootloader/Tools.pm new/perl-Bootloader-0.4.74/lib/Bootloader/Tools.pm --- old/perl-Bootloader-0.4.73/lib/Bootloader/Tools.pm 2008-09-26 15:13:50.000000000 +0200 +++ new/perl-Bootloader-0.4.74/lib/Bootloader/Tools.pm 2008-10-09 10:39:18.000000000 +0200 @@ -1683,6 +1683,8 @@ if (!$other_part and !-f $initrd_name and ($_->{"type"} eq "image" or $_->{"type"} eq "xen")) { $match = 0; + $core_lib->l_milestone ( + "Tools::RemoveSections: Remove non-existing initrd :".$_->{"name"}." -- $initrd_name \n"); } $default_removed = 1 ++++++ update-bootloader ++++++ --- perl-Bootloader/update-bootloader 2008-10-07 14:56:33.000000000 +0200 +++ /mounts/work_src_done/STABLE/perl-Bootloader/update-bootloader 2008-10-09 15:37:03.220924000 +0200 @@ -344,8 +344,8 @@ $opt_xen_name = "$opt_name -- " . GetProduct() . " - " . $version; } else { - $opt_name =~ s/^.*(xen.*)$/$1/; - $opt_name = ucfirst ($opt_name); + $opt_xen_name =~ s/^.*(xen.*)$/$1/; + $opt_xen_name = ucfirst ($opt_xen_name); } } # Naming scheme for all other kernels @@ -376,6 +376,7 @@ if (defined $oper{add}) { open (LOG, ">>$logname"); print LOG ("update-bootloader: now executing operation add\n"); + print LOG ("update-bootloader: changed opt name is $opt_name \n"); close LOG; pod2usage("Please specify name and kernel image for new section") ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org