Hello community,

here is the log from the commit of package yast2-bootloader for 
openSUSE:Factory checked in at 2014-06-01 18:57:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-bootloader (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-bootloader.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-bootloader"

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-bootloader/yast2-bootloader.changes        
2014-05-17 22:02:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-bootloader.new/yast2-bootloader.changes   
2014-06-01 18:57:11.000000000 +0200
@@ -1,0 +2,63 @@
+Thu May 29 13:47:40 UTC 2014 - jreidin...@suse.com
+
+- Fix crash in upgrade from SLE11
+- 3.1.46
+
+-------------------------------------------------------------------
+Wed May 28 14:19:36 UTC 2014 - jreidin...@suse.com
+
+- Remove check for iscsi boot partition (bnc#880328)
+- 3.1.45
+
+-------------------------------------------------------------------
+Wed May 28 13:23:19 UTC 2014 - jreidin...@suse.com
+
+- fix crash in summary page of installation for grub2 (bnc#880324)
+- 3.1.44
+
+-------------------------------------------------------------------
+Tue May 27 11:43:45 UTC 2014 - jreidin...@suse.com
+
+- fix crash in summary page of installation
+- 3.1.43
+
+-------------------------------------------------------------------
+Tue May 27 11:06:47 UTC 2014 - mch...@suse.com
+
+- reinstall bootloader if the settings requires it
+- 3.1.42
+
+-------------------------------------------------------------------
+Tue May 27 07:48:09 UTC 2014 - jreidin...@suse.com
+
+- Fix detection if bootloader installation failed (bnc#879883)
+- 3.1.41
+
+-------------------------------------------------------------------
+Mon May 26 15:31:16 UTC 2014 - jreidin...@suse.com
+
+- add support to set Protective MBR and use reasonable proposal
+  (bnc#872054)
+- 3.1.40
+
+-------------------------------------------------------------------
+Fri May 23 14:32:07 UTC 2014 - jreidin...@suse.com
+
+- Installation Summary: do not allow change location for grub2
+  on ppc and s390 (bnc#879107)
+- 3.1.39
+
+-------------------------------------------------------------------
+Thu May 22 13:06:25 UTC 2014 - jreidin...@suse.com
+
+- Report if grub2-install failed so user see quickly, that he
+  cannot boot(bnc#878664)
+- 3.1.38
+
+-------------------------------------------------------------------
+Fri May 16 17:10:26 CEST 2014 - snw...@suse.de
+
+- get rid of grub in loader type selection
+- 3.1.37
+
+-------------------------------------------------------------------

Old:
----
  yast2-bootloader-3.1.36.tar.bz2

New:
----
  yast2-bootloader-3.1.46.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2-bootloader.spec ++++++
--- /var/tmp/diff_new_pack.op7PhW/_old  2014-06-01 18:57:13.000000000 +0200
+++ /var/tmp/diff_new_pack.op7PhW/_new  2014-06-01 18:57:13.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-bootloader
-Version:        3.1.36
+Version:        3.1.46
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ yast2-bootloader-3.1.36.tar.bz2 -> yast2-bootloader-3.1.46.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-3.1.36/package/yast2-bootloader.changes 
new/yast2-bootloader-3.1.46/package/yast2-bootloader.changes
--- old/yast2-bootloader-3.1.36/package/yast2-bootloader.changes        
2014-05-16 16:13:47.000000000 +0200
+++ new/yast2-bootloader-3.1.46/package/yast2-bootloader.changes        
2014-05-29 16:18:44.000000000 +0200
@@ -1,4 +1,67 @@
 -------------------------------------------------------------------
+Thu May 29 13:47:40 UTC 2014 - jreidin...@suse.com
+
+- Fix crash in upgrade from SLE11
+- 3.1.46
+
+-------------------------------------------------------------------
+Wed May 28 14:19:36 UTC 2014 - jreidin...@suse.com
+
+- Remove check for iscsi boot partition (bnc#880328)
+- 3.1.45
+
+-------------------------------------------------------------------
+Wed May 28 13:23:19 UTC 2014 - jreidin...@suse.com
+
+- fix crash in summary page of installation for grub2 (bnc#880324)
+- 3.1.44
+
+-------------------------------------------------------------------
+Tue May 27 11:43:45 UTC 2014 - jreidin...@suse.com
+
+- fix crash in summary page of installation
+- 3.1.43
+
+-------------------------------------------------------------------
+Tue May 27 11:06:47 UTC 2014 - mch...@suse.com
+
+- reinstall bootloader if the settings requires it
+- 3.1.42
+
+-------------------------------------------------------------------
+Tue May 27 07:48:09 UTC 2014 - jreidin...@suse.com
+
+- Fix detection if bootloader installation failed (bnc#879883)
+- 3.1.41
+
+-------------------------------------------------------------------
+Mon May 26 15:31:16 UTC 2014 - jreidin...@suse.com
+
+- add support to set Protective MBR and use reasonable proposal
+  (bnc#872054)
+- 3.1.40
+
+-------------------------------------------------------------------
+Fri May 23 14:32:07 UTC 2014 - jreidin...@suse.com
+
+- Installation Summary: do not allow change location for grub2
+  on ppc and s390 (bnc#879107)
+- 3.1.39
+
+-------------------------------------------------------------------
+Thu May 22 13:06:25 UTC 2014 - jreidin...@suse.com
+
+- Report if grub2-install failed so user see quickly, that he
+  cannot boot(bnc#878664)
+- 3.1.38
+
+-------------------------------------------------------------------
+Fri May 16 17:10:26 CEST 2014 - snw...@suse.de
+
+- get rid of grub in loader type selection
+- 3.1.37
+
+-------------------------------------------------------------------
 Fri May 16 13:44:48 UTC 2014 - jreidin...@suse.com
 
 - fix progress report to not show 100% and waiting to write
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-3.1.36/package/yast2-bootloader.spec 
new/yast2-bootloader-3.1.46/package/yast2-bootloader.spec
--- old/yast2-bootloader-3.1.36/package/yast2-bootloader.spec   2014-05-16 
16:13:47.000000000 +0200
+++ new/yast2-bootloader-3.1.46/package/yast2-bootloader.spec   2014-05-29 
16:18:44.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-bootloader
-Version:        3.1.36
+Version:        3.1.46
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-3.1.36/src/include/bootloader/grub2/dialogs.rb 
new/yast2-bootloader-3.1.46/src/include/bootloader/grub2/dialogs.rb
--- old/yast2-bootloader-3.1.36/src/include/bootloader/grub2/dialogs.rb 
2014-05-16 16:13:47.000000000 +0200
+++ new/yast2-bootloader-3.1.46/src/include/bootloader/grub2/dialogs.rb 
2014-05-29 16:18:44.000000000 +0200
@@ -31,6 +31,8 @@
       Yast.import "Stage"
 
       Yast.include include_target, "bootloader/grub2/options.rb"
+      # some utils from misc are needed here
+      Yast.include include_target, "bootloader/grub2/misc.rb"
 
       Yast.include include_target, "bootloader/grub/options.rb"
 
@@ -43,9 +45,11 @@
       lt = BootCommon.getLoaderType(false)
 
       legacy_intel = (Arch.x86_64 || Arch.i386) && lt != "grub2-efi"
+      pmbr_available = lt == "grub2-efi" || (legacy_intel && gpt_boot_disk?)
       widget_names = ["distributor", "loader_type", "loader_location"]
       widget_names << "activate" << "generic_mbr" if legacy_intel
       widget_names << "inst_details" if legacy_intel || Arch.ppc
+      widget_names << "pmbr" if pmbr_available
 
       {
         "id"           => "boot_code_tab",
@@ -59,6 +63,7 @@
           MarginBox(1, 0.5, "distributor"),
           MarginBox(1, 0.5, Left("activate")),
           MarginBox(1, 0.5, Left("generic_mbr")),
+          MarginBox(1, 0.5, Left("pmbr")),
           MarginBox(1, 0.5, Left("inst_details")),
           VStretch()
         )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-3.1.36/src/include/bootloader/grub2/helps.rb 
new/yast2-bootloader-3.1.46/src/include/bootloader/grub2/helps.rb
--- old/yast2-bootloader-3.1.36/src/include/bootloader/grub2/helps.rb   
2014-05-16 16:13:47.000000000 +0200
+++ new/yast2-bootloader-3.1.46/src/include/bootloader/grub2/helps.rb   
2014-05-29 16:18:44.000000000 +0200
@@ -31,6 +31,9 @@
         ),
         "os_prober"       => _(
           "<p><b>Probe Foreign OS</b> by means of os-prober for multiboot with 
other foreign distribution </p>"
+        ),
+        "pmbr"            => _(
+          "<p><b>Protective MBR flag</b> is expert only settings, that is 
needed only on exotic hardware. For details see Protective MBR in GPT disks. Do 
not touch if you are not sure.</p>"
         )
       }
 
@@ -38,7 +41,8 @@
         "append"          => _("O&ptional Kernel Command Line Parameter"),
         "vgamode"         => _("&Vga Mode"),
         "append_failsafe" => _("&Failsafe Kernel Command Line Parameter"),
-        "os_prober"       => _("Probe Foreign OS")
+        "os_prober"       => _("Probe Foreign OS"),
+        "pmbr"           => _("Protective MBR flag")
       }
     end
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-3.1.36/src/include/bootloader/grub2/misc.rb 
new/yast2-bootloader-3.1.46/src/include/bootloader/grub2/misc.rb
--- old/yast2-bootloader-3.1.36/src/include/bootloader/grub2/misc.rb    
2014-05-16 16:13:47.000000000 +0200
+++ new/yast2-bootloader-3.1.46/src/include/bootloader/grub2/misc.rb    
2014-05-29 16:18:44.000000000 +0200
@@ -733,9 +733,20 @@
         SetBootloaderDevice(selected_location)
       end
 
+      # for GPT remove protective MBR flag otherwise some systems won't boot
+      if gpt_boot_disk?
+        BootCommon.pmbr_action = :remove
+      end
+
       selected_location
     end
 
+    def gpt_boot_disk?
+      targets = BootCommon.GetBootloaderDevices
+      boot_discs = targets.map {|d| Storage.GetDisk(Storage.GetTargetMap, d)}
+      boot_discs.any? {|d| d["label"] == "gpt" }
+    end
+
     # Find extended partition device (if it exists) on the same device where 
the
     # BootPartitionDevice is located
     #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-3.1.36/src/include/bootloader/grub2/options.rb 
new/yast2-bootloader-3.1.46/src/include/bootloader/grub2/options.rb
--- old/yast2-bootloader-3.1.36/src/include/bootloader/grub2/options.rb 
2014-05-16 16:13:47.000000000 +0200
+++ new/yast2-bootloader-3.1.46/src/include/bootloader/grub2/options.rb 
2014-05-29 16:18:44.000000000 +0200
@@ -94,6 +94,32 @@
       nil
     end
 
+    # Init function of widget
+    # @param [String] widget any id of the widget
+    def PMBRInit(widget)
+      items = [
+        # TRANSLATORS: set flag on disk
+        Item(Id(:add), _("set")),
+        # TRANSLATORS: remove flag from disk
+        Item(Id(:remove), _("remove")),
+        # TRANSLATORS: do not change flag on disk
+        Item(Id(:nothing), _("do not change"))
+      ]
+      UI.ChangeWidget(Id(widget), :Items, items)
+      value = BootCommon.pmbr_action || :nothing
+      UI.ChangeWidget(Id(widget), :Value, value)
+    end
+
+    # Store function of a pmbr
+    # @param [String] widget any widget key
+    # @param [Hash] event map event description of event that occured
+    def StorePMBR(widget, event)
+      value = UI.QueryWidget(Id(widget), :Value)
+      value = nil if value == :nothing
+
+      BootCommon.pmbr_action = value
+    end
+
     # Init function for console
     # @param [String] widget
     def ConsoleInit(widget)
@@ -355,6 +381,14 @@
           "store"  => fun_ref(method(:StoreGlobalStr), "void (string, map)"),
           "help"   => Ops.get(@grub2_help_messages, "vgamode", "")
         },
+        "pmbr"         => {
+          "widget" => :combobox,
+          "label"  => @grub2_descriptions["pmbr"],
+          "opt"    => [],
+          "init"   => fun_ref(method(:PMBRInit), "void (string)"),
+          "store"  => fun_ref(method(:StorePMBR), "void (string, map)"),
+          "help"   => @grub2_help_messages["pmbr"]
+        },
         "default"         => {
           "widget" => :combobox,
           "label"  => Ops.get(@grub_descriptions, "default", "default"),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-3.1.36/src/include/bootloader/routines/lib_iface.rb 
new/yast2-bootloader-3.1.46/src/include/bootloader/routines/lib_iface.rb
--- old/yast2-bootloader-3.1.36/src/include/bootloader/routines/lib_iface.rb    
2014-05-16 16:13:47.000000000 +0200
+++ new/yast2-bootloader-3.1.46/src/include/bootloader/routines/lib_iface.rb    
2014-05-29 16:18:44.000000000 +0200
@@ -346,9 +346,14 @@
     # Initialize the boot loader (eg. modify firmware, depending on 
architecture)
     # @return [Boolean] true on success
     def InitializeBootloader
-      Builtins.y2milestone("Initializing bootloader")
+      ret_data = TmpYAMLFile.new
+      run_pbl_yaml "#{ret_data.path}=InitializeBootloader()"
+      ret = ret_data.data
+      Builtins.y2milestone("Initializing bootloader ret: #{ret.inspect}")
 
-      run_pbl_yaml "InitializeBootloader()"
+      # perl have slightly different evaluation of boolean, so lets convert it
+      ret = ![false, nil, 0, ""].include?(ret)
+      return ret
     end
 
     # Get contents of files from the library cache
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-3.1.36/src/lib/bootloader/grub2base.rb 
new/yast2-bootloader-3.1.46/src/lib/bootloader/grub2base.rb
--- old/yast2-bootloader-3.1.36/src/lib/bootloader/grub2base.rb 2014-05-16 
16:13:47.000000000 +0200
+++ new/yast2-bootloader-3.1.46/src/lib/bootloader/grub2base.rb 2014-05-29 
16:18:44.000000000 +0200
@@ -36,6 +36,21 @@
 
     # general functions
 
+
+    # set pmbr flags on boot disks
+    def pmbr_setup(action, *devices)
+      action_parted = case action
+        when :add    then "on"
+        when :remove then "off"
+        else raise "invalid action #{action}"
+      end
+      devices.each do |dev|
+        res = SCR.Execute(path(".target.bash_output"),
+          "parted '#{dev}' disk_set pmbr_boot #{action_parted}")
+        Builtins.y2milestone("parted disk_set pmbr: #{res}")
+      end
+    end
+
     # Propose global options of bootloader
     def StandardGlobals
       {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-bootloader-3.1.36/src/modules/BootCommon.rb 
new/yast2-bootloader-3.1.46/src/modules/BootCommon.rb
--- old/yast2-bootloader-3.1.36/src/modules/BootCommon.rb       2014-05-16 
16:13:47.000000000 +0200
+++ new/yast2-bootloader-3.1.46/src/modules/BootCommon.rb       2014-05-29 
16:18:44.000000000 +0200
@@ -108,6 +108,10 @@
       # Activate bootloader partition during installation?
       @activate = false
 
+      # action to do with pbmr flag on boot disk
+      # values are :add, :remove or nil, means do nothing
+      @pmbr_action = nil
+
       # Kernel parameters at previous detection
       @kernelCmdLine = ""
 
@@ -961,8 +965,7 @@
         ]
       end
       ret = [
-        getLoaderType(false),
-        Convert.to_string(SCR.Read(path(".probe.boot_arch")))
+        getLoaderType(false)
       ]
       if Arch.i386 || Arch.x86_64
         ret = Convert.convert(
@@ -1036,6 +1039,7 @@
     publish :variable => :mbrDisk, :type => "string"
     publish :variable => :backup_mbr, :type => "boolean"
     publish :variable => :activate, :type => "boolean"
+    publish :variable => :pmbr_action, :type => "symbol"
     publish :variable => :kernelCmdLine, :type => "string"
     publish :variable => :changed, :type => "boolean"
     publish :variable => :del_parts, :type => "list <string>"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-bootloader-3.1.36/src/modules/BootGRUB2.rb 
new/yast2-bootloader-3.1.46/src/modules/BootGRUB2.rb
--- old/yast2-bootloader-3.1.36/src/modules/BootGRUB2.rb        2014-05-16 
16:13:47.000000000 +0200
+++ new/yast2-bootloader-3.1.46/src/modules/BootGRUB2.rb        2014-05-29 
16:18:44.000000000 +0200
@@ -84,6 +84,7 @@
         end
       end
 
+      @orig_globals ||= deep_copy(BootCommon.globals)
       ret
     end
 
@@ -92,6 +93,16 @@
     def Write
       ret = BootCommon.UpdateBootloader
 
+      if @orig_globals
+        location = ["boot_mbr", "boot_boot", "boot_root", "boot_extended", 
"boot_custom", "boot_custom", "activate", "generic_mbr"]
+        location.each do |i|
+           BootCommon.location_changed = true if @orig_globals[i] != 
BootCommon.globals[i]
+        end
+      else
+        # there is no original, so we do not read config, but propose it
+        BootCommon.location_changed = true
+      end
+
       #TODO: InstallingToFloppy ..
       if BootCommon.location_changed
         # bnc #461613 - Unable to boot after making changes to boot loader
@@ -106,6 +117,17 @@
         ret = ret && BootCommon.PostUpdateMBR
       end
 
+      # something with PMBR needed
+      if BootCommon.pmbr_action
+        boot_devices = BootCommon.GetBootloaderDevices
+        boot_discs = targets.map {|d| Storage.GetDisk(Storage.GetTargetMap, d)}
+        boot_discs.uniq!
+        gpt_disks = boot_discs.select {|d| d["label"] == "gpt" }
+        gpt_disks_devices = gpt_disks.map {|d| d["device"] }
+
+        pmbr_setup(BootCommon.pmbr_action, *gpt_disks_devices)
+      end
+
       ret
     end
 
@@ -218,54 +240,43 @@
       ]
       locations = []
 
-      if Ops.get(BootCommon.globals, "boot_boot", "") == "true"
-        locations = Builtins.add(
-          locations,
-          Ops.add(BootStorage.BootPartitionDevice, _(" (\"/boot\")"))
-        )
+      if BootCommon.globals["boot_boot"] == "true"
+        locations << BootStorage.BootPartitionDevice + " (\"/boot\")"
       end
-      if Ops.get(BootCommon.globals, "boot_extended", "") == "true"
-        locations = Builtins.add(
-          locations,
-          Ops.add(BootStorage.ExtendedPartitionDevice, _(" (extended)"))
-        )
+      if BootCommon.globals["boot_extended"] == "true"
+        # TRANSLATORS: extended is here for extended partition. Keep 
translation short.
+        locations << BootStorage.ExtendedPartitionDevice + _(" (extended)")
       end
-      if Ops.get(BootCommon.globals, "boot_root", "") == "true"
-        locations = Builtins.add(
-          locations,
-          Ops.add(BootStorage.RootPartitionDevice, _(" (\"/\")"))
-        )
+      if BootCommon.globals["boot_root"] == "true"
+        locations << BootStorage.RootPartitionDevice + " (\"/\")"
       end
-      if Ops.get(BootCommon.globals, "boot_mbr", "") == "true"
-        locations = Builtins.add(
-          locations,
-          Ops.add(BootCommon.mbrDisk, _(" (MBR)"))
-        )
+      if BootCommon.globals["boot_mbr"] == "true"
+        # TRANSLATORS: MBR is acronym for Master Boot Record, if nothing 
locally specific
+        # is used in your language, then keep it as it is.
+        locations << BootCommon.mbrDisk + _(" (MBR)")
       end
-      if Builtins.haskey(BootCommon.globals, "boot_custom")
-        locations = Builtins.add(
-          locations,
-          Ops.get(BootCommon.globals, "boot_custom", "")
-        )
+      if BootCommon.globals["boot_custom"] && 
!BootCommon.globals["boot_custom"].empty?
+        locations << BootCommon.globals["boot_custom"]
       end
-      if Ops.greater_than(Builtins.size(locations), 0)
-        # FIXME: should we translate all devices to names and add MBR suffixes?
-        result = Builtins.add(
-          result,
-          Builtins.sformat(
+      if !locations.empty?
+        result << Builtins.sformat(
             _("Status Location: %1"),
-            Builtins.mergestring(locations, ", ")
+            locations.join(", ")
           )
-        )
       end
 
       # it is necessary different summary for autoyast and installation
       # other mode than autoyast on running system
-      result = Builtins.add(result, urlLocationSummary) if !Mode.config
+      # both ppc and s390 have special devices for stage1 so it do not make 
sense
+      # allow change of location to MBR or boot partition (bnc#879107)
+      if !Arch.ppc && !Arch.s390 && !Mode.config
+        result << urlLocationSummary
+      end
 
       order_sum = BootCommon.DiskOrderSummary
-      result = Builtins.add(result, order_sum) if order_sum != nil
-      deep_copy(result)
+      result << order_sum if order_sum
+
+      return result
     end
 
     def Dialogs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-bootloader-3.1.36/src/modules/BootGRUB2EFI.rb 
new/yast2-bootloader-3.1.46/src/modules/BootGRUB2EFI.rb
--- old/yast2-bootloader-3.1.36/src/modules/BootGRUB2EFI.rb     2014-05-16 
16:13:47.000000000 +0200
+++ new/yast2-bootloader-3.1.46/src/modules/BootGRUB2EFI.rb     2014-05-29 
16:18:44.000000000 +0200
@@ -41,6 +41,7 @@
       BootCommon.InitializeLibrary(reread, "grub2-efi")
       BootCommon.ReadFiles(avoid_reading_device_map) if reread
       BootCommon.Read(false, avoid_reading_device_map)
+      @orig_globals ||= deep_copy(BootCommon.globals)
     end
 
     # Write bootloader settings to disk
@@ -48,6 +49,7 @@
     def Write
       ret = BootCommon.UpdateBootloader
 
+      BootCommon.location_changed = true if @orig_globals["distributor"] != 
BootCommon.globals["distributor"]
       if BootCommon.location_changed
         grub_ret = BootCommon.InitializeBootloader
         grub_ret = false if grub_ret == nil
@@ -56,9 +58,25 @@
         ret = ret && grub_ret
       end
 
+      # something with PMBR needed
+      if BootCommon.pmbr_action
+        efi_disk = Storage.GetEntryForMountpoint("/boot/efi")["device"]
+        efi_disk ||= Storage.GetEntryForMountpoint("/boot")["device"]
+        efi_disk ||= Storage.GetEntryForMountpoint("/")["device"]
+
+        pmbr_setup(BootCommon.pmbr_action, efi_disk)
+      end
+
       ret
     end
 
+    def Propose
+      super
+
+      # for UEFI always set PMBR flag on disk (bnc#872054)
+      BootCommon.pmbr_action = :add if !BootCommon.was_proposed || 
Mode.autoinst
+    end
+
     # Display bootloader summary
     # @return a list of summary lines
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-3.1.36/src/modules/BootSupportCheck.rb 
new/yast2-bootloader-3.1.46/src/modules/BootSupportCheck.rb
--- old/yast2-bootloader-3.1.36/src/modules/BootSupportCheck.rb 2014-05-16 
16:13:47.000000000 +0200
+++ new/yast2-bootloader-3.1.46/src/modules/BootSupportCheck.rb 2014-05-29 
16:18:44.000000000 +0200
@@ -143,38 +143,13 @@
 
     def check_BootDevice
       result = true
-      boot_device = ""
-
       devices = Storage.GetTargetMap
 
       boot_device = BootCommon.getBootPartition
 
-      boot_disk = BootCommon.getBootDisk
-      # if (BootStorage::BootPartitionDevice == 
BootStorage::RootPartitionDevice)
-      # AddNewProblem (_("Doesn't exist separete /boot partition"));
-
       found_boot = false
       # check if boot device is on raid0
       Builtins.foreach(devices) do |k, v|
-        # check if boot disk is iscsi disk
-        # bnc#393928: Installing root system on iscsi disk makes the system 
useless
-        if k == boot_disk
-          # if "iscsi" is true
-          if Ops.get_boolean(v, "iscsi", false)
-            AddNewProblem(
-              Builtins.sformat(
-                _("The boot device is on iSCSI disk: %1. System may not 
boot."),
-                k
-              )
-            )
-            Builtins.y2error(
-              "The boot partition: %1 is on iscsi disk: %2",
-              boot_device,
-              k
-            )
-            result = false
-          end
-        end
         Builtins.foreach(Ops.get_list(v, "partitions", [])) do |p|
           if Ops.get_string(p, "device", "") == boot_device
             if Ops.get_string(p, "raid_type", "") != "raid1" &&

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to