[yast-commit] [ci_new_pac] JFYI yast2-bootloader -> sle12
Script 'mail_helper' called by ro Hello packager, This is just FYI. Your package was checked in in distribution "sle12" by autobuild-member: ro. Here comes the log... ---------------------------%<------------------------------ Hi, here is the log from ci_new_pac /mounts/work_src_done/SLE12/yast2-bootloader -> sle12 ## BNC# 866912 : "Unsupported combination of hardware platform ppc64 and bootloader grub2" (NEW/) ## BNC# 868909 : "boot-configuration for grub2 needs non-PC options" (NEW/) Changes: -------- --- /work/SRC/SUSE:SLE-12:GA/yast2-bootloader/yast2-bootloader.changes 2014-03-28 12:01:04.000000000 +0100 +++ /mounts/work_src_done/SLE12/yast2-bootloader/yast2-bootloader.changes 2014-03-28 14:51:40.000000000 +0100 @@ -1,0 +2,7 @@ +Fri Mar 28 10:17:07 UTC 2014 - jreidinger@suse.com + +- improve support grub2 on non-pc architectures + (bnc#866912,bnc#868909) +- 3.1.15 + +------------------------------------------------------------------- calling whatdependson for sle12-i586 Packages directly triggered for rebuild: - yast2-bootloader - yast2-kdump - yast2-product-creator - yast2-reipl - yast2-schema - yast2-vm ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/SUSE:SLE-12:GA/yast2-bootloader (Old) and /mounts/work_src_done/SLE12/yast2-bootloader (BS:build ID:35140 MAIL:yast-commit@opensuse.org) (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "yast2-bootloader", Maintainer is "yast-commit@opensuse.org" Old: ---- yast2-bootloader-3.1.14.tar.bz2 New: ---- yast2-bootloader-3.1.15.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-bootloader.spec ++++++ --- /var/tmp/diff_new_pack.tEg7jB/_old 2014-03-28 16:29:29.000000000 +0100 +++ /var/tmp/diff_new_pack.tEg7jB/_new 2014-03-28 16:29:29.000000000 +0100 @@ -17,7 +17,7 @@ Name: yast2-bootloader -Version: 3.1.14 +Version: 3.1.15 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ yast2-bootloader-3.1.14.tar.bz2 -> yast2-bootloader-3.1.15.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-3.1.14/package/yast2-bootloader.changes new/yast2-bootloader-3.1.15/package/yast2-bootloader.changes --- old/yast2-bootloader-3.1.14/package/yast2-bootloader.changes 2014-03-28 11:18:24.000000000 +0100 +++ new/yast2-bootloader-3.1.15/package/yast2-bootloader.changes 2014-03-28 14:48:23.000000000 +0100 @@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Fri Mar 28 10:17:07 UTC 2014 - jreidinger@suse.com + +- improve support grub2 on non-pc architectures + (bnc#866912,bnc#868909) +- 3.1.15 + +------------------------------------------------------------------- Fri Mar 28 04:03:54 UTC 2014 - mchang@suse.com - fix wrong console regexp match (bnc#870514) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-3.1.14/package/yast2-bootloader.spec new/yast2-bootloader-3.1.15/package/yast2-bootloader.spec --- old/yast2-bootloader-3.1.14/package/yast2-bootloader.spec 2014-03-28 11:18:24.000000000 +0100 +++ new/yast2-bootloader-3.1.15/package/yast2-bootloader.spec 2014-03-28 14:48:23.000000000 +0100 @@ -17,7 +17,7 @@ Name: yast2-bootloader -Version: 3.1.14 +Version: 3.1.15 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-3.1.14/src/include/bootloader/grub/options.rb new/yast2-bootloader-3.1.15/src/include/bootloader/grub/options.rb --- old/yast2-bootloader-3.1.14/src/include/bootloader/grub/options.rb 2014-03-28 11:18:24.000000000 +0100 +++ new/yast2-bootloader-3.1.15/src/include/bootloader/grub/options.rb 2014-03-28 14:48:23.000000000 +0100 @@ -733,6 +733,7 @@ def grubBootLoaderLocationWidget contents = VBox( + VSpacing(1), Frame( _("Boot Loader Location"), VBox( @@ -742,35 +743,22 @@ Left( CheckBox(Id("boot_mbr"), _("Boot from &Master Boot Record")) ), - Left(CheckBox(Id("boot_root"), _("Boot from &Root Partition"))), - Left(CheckBox(Id("boot_boot"), _("Boo&t from Boot Partition"))), - Left( - CheckBox( - Id("boot_extended"), - _("Boot from &Extended Partition") - ) - ), - Left( - CheckBox( - Id("boot_custom"), - Opt(:notify), - _("C&ustom Boot Partition") - ) - ), - Left( - ComboBox( - Id("boot_custom_list"), - Opt(:editable, :hstretch), - "", - [] - ) - ), - VStretch() + BootStorage.BootPartitionDevice == BootStorage.RootPartitionDevice ? + Left(CheckBox(Id("boot_root"), _("Boot from &Root Partition"))) : + Left(CheckBox(Id("boot_boot"), _("Boo&t from Boot Partition"))), + BootStorage.ExtendedPartitionDevice ? + Left( + CheckBox( + Id("boot_extended"), + _("Boot from &Extended Partition") + ) + ) : + Empty() ) ) ) ), - VStretch() + VSpacing(1) ) if !BootCommon.PartitionInstallable diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-3.1.14/src/include/bootloader/grub2/dialogs.rb new/yast2-bootloader-3.1.15/src/include/bootloader/grub2/dialogs.rb --- old/yast2-bootloader-3.1.14/src/include/bootloader/grub2/dialogs.rb 2014-03-28 11:18:24.000000000 +0100 +++ new/yast2-bootloader-3.1.15/src/include/bootloader/grub2/dialogs.rb 2014-03-28 14:48:23.000000000 +0100 @@ -22,6 +22,7 @@ textdomain "bootloader" + Yast.import "Arch" Yast.import "Label" Yast.import "Wizard" Yast.import "CWM" @@ -41,14 +42,19 @@ def boot_code_tab lt = BootCommon.getLoaderType(false) + legacy_intel = (Arch.x86_64 || Arch.i386) && lt != "grub2-efi" + widget_names = ["distributor", "loader_type", "loader_location" ] + widget_names << "activate" << "generic_mbr" if legacy_intel + { "id" => "boot_code_tab", "header" => _("Boot Code Options"), # if name is not included, that it is not displayed - "widget_names" => lt == "grub2-efi" ? ["distributor"] : - ["distributor", "activate", "generic_mbr"], + "widget_names" => widget_names, "contents" => VBox( - VSpacing(1), + VSquash(HBox( + Top(VBox( VSpacing(1), "loader_type")), + Arch.s390 ? Empty() : "loader_location")), MarginBox(1, 0.5, "distributor"), MarginBox(1, 0.5, Left("activate")), MarginBox(1, 0.5, Left("generic_mbr")), @@ -58,10 +64,13 @@ end def kernel_tab + widgets = ["vgamode", "append", "append_failsafe", "console"] + widgets.delete("console") if Arch.s390 # there is no console on s390 (bnc#868909) + { "id" => "kernel_tab", "header" => _("Kernel Parameters"), - "widget_names" => ["vgamode", "append", "append_failsafe", "console"], + "widget_names" => widgets, "contents" => VBox( VSpacing(1), MarginBox(1, 0.5, "vgamode"), @@ -74,10 +83,13 @@ end def bootloader_tab + widgets = ["default", "timeout", "password", "os_prober", "hiddenmenu"] + widgets.delete("os_prober") if Arch.s390 # there is no os prober on s390(bnc#868909) + { "id" => "bootloader_tab", "header" => _("Bootloader Options"), - "widget_names" => ["default", "timeout", "password", "os_prober", "hiddenmenu"], + "widget_names" => widgets, "contents" => VBox( VSpacing(2), HBox( @@ -94,6 +106,12 @@ } end + def Grub2TabDescr + tabs = [ bootloader_tab, kernel_tab, boot_code_tab] + + Hash[tabs.map{|tab| [tab["id"], tab]}] + end + # Run dialog for loader installation details for Grub2 # @return [Symbol] for wizard sequencer def Grub2LoaderDetailsDialog @@ -148,6 +166,7 @@ def grub2SecureBootWidget contents = VBox( + VSpacing(1), Frame( _("Secure Boot"), VBox( @@ -157,12 +176,10 @@ Left( CheckBox(Id("secure_boot"), _("Enable &Secure Boot Support")) ), - VStretch() ) ) ) - ), - VStretch() + ) ) { @@ -206,11 +223,67 @@ ) end + def ppc_location_init(widget) + UI::ChangeWidget( + Id("boot_custom_list"), + :Value, + BootCommon.globals["boot_custom"] + ) + end + + def ppc_location_store(widget, value) + value = UI::QueryWidget( + Id("boot_custom_list"), + :Value, + ) + y2milestone("store boot custom #{value}") + + BootCommon.globals["boot_custom"] = value + end + + def grub_on_ppc_location + contents = VBox( + VSpacing(1), + ComboBox( + Id("boot_custom_list"), + # TRANSLATORS: place where boot code is installed + _("Boot &Loader Location"), + prep_partitions + ) + ) + + { + # need custom to not break ui as intel one is quite complex so some + # spacing is needed + "widget" => :custom, + "custom_widget" => contents, + "init" => fun_ref( + method(:ppc_location_init), + "void (string)" + ), + "store" => fun_ref( + method(:ppc_location_store), + "void (string, map)" + ), + # help text + "help" => _("Choose partition where is boot sequence installed.") + } + + end + # Get generic widgets # @return a map describing all generic widgets def grub2Widgets if @_grub2_widgets == nil - @_grub2_widgets = { "loader_location" => grubBootLoaderLocationWidget } + case Arch.architecture + when "i386", "x86_64" + @_grub2_widgets = { "loader_location" => grubBootLoaderLocationWidget } + when /ppc/ + @_grub2_widgets = { "loader_location" => grub_on_ppc_location } + else + raise "unsuppoted architecture #{Arch.architecture}" + end + @_grub2_widgets.merge! Grub2Options() end deep_copy(@_grub2_widgets) end @@ -219,6 +292,7 @@ if Arch.x86_64 if @_grub2_efi_widgets == nil @_grub2_efi_widgets = { "loader_location" => grub2SecureBootWidget } + @_grub2_efi_widgets.merge! Grub2Options() end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-3.1.14/src/include/bootloader/routines/dialogs.rb new/yast2-bootloader-3.1.15/src/include/bootloader/routines/dialogs.rb --- old/yast2-bootloader-3.1.14/src/include/bootloader/routines/dialogs.rb 2014-03-28 11:18:24.000000000 +0100 +++ new/yast2-bootloader-3.1.15/src/include/bootloader/routines/dialogs.rb 2014-03-28 14:48:23.000000000 +0100 @@ -32,6 +32,7 @@ Yast.include include_target, "bootloader/routines/popups.rb" Yast.include include_target, "bootloader/routines/section_widgets.rb" Yast.include include_target, "bootloader/routines/global_widgets.rb" + Yast.include include_target, "bootloader/grub2/dialogs.rb" @return_tab = "sections" @@ -114,11 +115,13 @@ CWMTab.CreateWidget( { "tab_order" => lt == "grub2" || lt == "grub2-efi" ? - ["installation"] : + ["boot_code_tab", "kernel_tab", "bootloader_tab"] : ["sections", "installation"], - "tabs" => TabsDescr(), + "tabs" => lt == "grub2" || lt == "grub2-efi" ? + Grub2TabDescr() : + TabsDescr(), "widget_descr" => widget_descr, - "initial_tab" => lt == "grub2" || lt == "grub2-efi" ? "installation" : @return_tab + "initial_tab" => lt == "grub2" || lt == "grub2-efi" ? "boot_code_tab" : @return_tab } ) ) @@ -140,6 +143,7 @@ ) if ret != :back && ret != :abort && ret != :cancel @return_tab = CWMTab.LastTab + @return_tab = "installation" if @return_tab.include? "tab" #workaround different tab set for grub2 end ret end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-3.1.14/src/lib/bootloader/grub2base.rb new/yast2-bootloader-3.1.15/src/lib/bootloader/grub2base.rb --- old/yast2-bootloader-3.1.14/src/lib/bootloader/grub2base.rb 2014-03-28 11:18:24.000000000 +0100 +++ new/yast2-bootloader-3.1.15/src/lib/bootloader/grub2base.rb 2014-03-28 14:48:23.000000000 +0100 @@ -9,6 +9,7 @@ textdomain "bootloader" + Yast.import "Arch" Yast.import "BootArch" Yast.import "BootCommon" Yast.import "BootStorage" @@ -42,8 +43,9 @@ "default" => "0", "vgamode" => "", "gfxmode" => "auto", - "terminal" => "gfxterm", - "os_prober" => "true" + "terminal" => Arch.s390 ? "console" : "gfxterm", + "os_prober" => Arch.s390 ? "false" : "true", + "activate" => Arch.ppc ? "true" : "false" } end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-3.1.14/src/modules/BootGRUB2.rb new/yast2-bootloader-3.1.15/src/modules/BootGRUB2.rb --- old/yast2-bootloader-3.1.14/src/modules/BootGRUB2.rb 2014-03-28 11:18:24.000000000 +0100 +++ new/yast2-bootloader-3.1.15/src/modules/BootGRUB2.rb 2014-03-28 14:48:23.000000000 +0100 @@ -22,6 +22,9 @@ require "bootloader/grub2base" module Yast + import "Arch" + import "Storage" + class BootGRUB2Class < GRUB2Base def main super @@ -107,7 +110,40 @@ def Propose super - grub_LocationProposal if !BootCommon.was_proposed || !Mode.autoinst + + if !BootCommon.was_proposed || !Mode.autoinst + case Arch.architecture + when "i386", "x86_64" + grub_LocationProposal + when /ppc/ + partition = prep_partitions.first + raise "there is no prep partition" unless partition + + BootCommon.globals["boot_custom"] = partition + when /s390/ + zipl_partition = Storage.GetEntryForMountPoint("/boot/zipl") + raise "missing separate /boot/zipl partition" if zipl_partition.empty? + + BootCommon.globals["boot_custom"] = zipl_partition["device"] + else + raise "unsuported architecture #{Arch.architecture}" + end + end + end + + def prep_partitions + target_map = Storage.GetTargetMap + + partitions = target_map.reduce([]) do |parts, pair| + parts.concat(pair[1]["partitions"] || []) + end + + prep_partitions = partitions.select do |partition| + partition["fsid"] == 0x41 + end + + y2milestone "detected prep partitions #{prep_partitions.inspect}" + prep_partitions.map { |p| p["device"] } end # FATE#303643 Enable one-click changes in bootloader proposal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-3.1.14/src/modules/BootStorage.rb new/yast2-bootloader-3.1.15/src/modules/BootStorage.rb --- old/yast2-bootloader-3.1.14/src/modules/BootStorage.rb 2014-03-28 11:18:25.000000000 +0100 +++ new/yast2-bootloader-3.1.15/src/modules/BootStorage.rb 2014-03-28 14:48:23.000000000 +0100 @@ -959,10 +959,15 @@ Builtins.foreach(targetMap) do |target_dev, target| bios_id = Ops.get_string(target, "bios_id", "") if bios_id != "" - index = Ops.subtract( - Builtins.tointeger(bios_id), - Builtins.tointeger("0x80") - ) + index = case Arch.architecture + when /ppc/ + # on ppc it looks like "vdevice/v-scsi@71000002/@0" + bios_id[/\d+\z/].to_i + when "i386", "x86_64" + Builtins.tointeger(bios_id) - 0x80 + else + raise "no support for bios id '#{bios_id}' on #{Arch.architecture}" + end grub_dev = Builtins.sformat("hd%1", index) # FATE #303548 - doesn't add disk with same bios_id with different name (multipath machine) if !Ops.get_boolean(ids, index, false) continue with "q"... Checked in at Fri Mar 28 16:29:38 CET 2014 by ro Remember to have fun... -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org
participants (1)
-
ro