Hello community,

here is the log from the commit of package yast2-bootloader for 
openSUSE:Factory checked in at 2014-05-17 22:02:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-13 20:45:52.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-bootloader.new/yast2-bootloader.changes   
2014-05-17 22:02:04.000000000 +0200
@@ -1,0 +2,14 @@
+Fri May 16 13:44:48 UTC 2014 - [email protected]
+
+- fix progress report to not show 100% and waiting to write
+  bootloader (bnc#878007)
+- 3.1.36
+
+-------------------------------------------------------------------
+Wed May 14 09:22:15 UTC 2014 - [email protected]
+
+- add new API call to work nice with grub2 kernel parameter
+  configuration (bnc#869608)
+- 3.1.35
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ yast2-bootloader.spec ++++++
--- /var/tmp/diff_new_pack.9R1LhP/_old  2014-05-17 22:02:05.000000000 +0200
+++ /var/tmp/diff_new_pack.9R1LhP/_new  2014-05-17 22:02:05.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-bootloader
-Version:        3.1.34
+Version:        3.1.36
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ yast2-bootloader-3.1.34.tar.bz2 -> yast2-bootloader-3.1.36.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-3.1.34/package/yast2-bootloader.changes 
new/yast2-bootloader-3.1.36/package/yast2-bootloader.changes
--- old/yast2-bootloader-3.1.34/package/yast2-bootloader.changes        
2014-05-12 14:58:45.000000000 +0200
+++ new/yast2-bootloader-3.1.36/package/yast2-bootloader.changes        
2014-05-16 16:13:47.000000000 +0200
@@ -1,4 +1,18 @@
 -------------------------------------------------------------------
+Fri May 16 13:44:48 UTC 2014 - [email protected]
+
+- fix progress report to not show 100% and waiting to write
+  bootloader (bnc#878007)
+- 3.1.36
+
+-------------------------------------------------------------------
+Wed May 14 09:22:15 UTC 2014 - [email protected]
+
+- add new API call to work nice with grub2 kernel parameter
+  configuration (bnc#869608)
+- 3.1.35
+
+-------------------------------------------------------------------
 Mon May 12 12:35:51 UTC 2014 - [email protected]
 
 - extended sysconfig options only for grub1 to prevent confusion
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-3.1.34/package/yast2-bootloader.spec 
new/yast2-bootloader-3.1.36/package/yast2-bootloader.spec
--- old/yast2-bootloader-3.1.34/package/yast2-bootloader.spec   2014-05-12 
14:58:45.000000000 +0200
+++ new/yast2-bootloader-3.1.36/package/yast2-bootloader.spec   2014-05-16 
16:13:47.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-bootloader
-Version:        3.1.34
+Version:        3.1.36
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-bootloader-3.1.34/src/modules/Bootloader.rb 
new/yast2-bootloader-3.1.36/src/modules/Bootloader.rb
--- old/yast2-bootloader-3.1.34/src/modules/Bootloader.rb       2014-05-12 
14:58:45.000000000 +0200
+++ new/yast2-bootloader-3.1.36/src/modules/Bootloader.rb       2014-05-16 
16:13:47.000000000 +0200
@@ -383,7 +383,7 @@
         Progress.New(
           _("Saving Boot Loader Configuration"),
           " ",
-          2,
+          stages.size,
           stages,
           titles,
           ""
@@ -1001,6 +1001,7 @@
     # @param [String] key string
     # @return [String] value, "false" if not present,
     # "true" if present key without value
+    # @deprecated Use kernel_param instead
     def getKernelParam(section, key)
       ReadOrProposeIfNeeded()
       if section == "DEFAULT"
@@ -1026,8 +1027,113 @@
       end
     end
 
+    FLAVOR_KERNEL_LINE_MAP = {
+      :common    => "append",
+      :recovery  => "append_failsafe",
+      :xen_guest => "xen_append",
+      :xen_host  => "xen_kernel_append"
+    }
+
+    # Gets value for given parameter in kernel parameters for given flavor.
+    # @note For grub1 it returns value for default section and its kernel 
parameter
+    # @param [Symbol] flavor flavor of kernel, for possible values see 
#modify_kernel_param
+    # @param [String] key of parameter on kernel command line
+    # @returns [String,:missing,:present] Returns string for parameters with 
value,
+    #   `:missing` if key is not there and `:present` for parameters without 
value.
+    #
+    # @example get crashkernel parameter to common kernel
+    #   Bootloader.kernel_param(:common, "crashkernel")
+    #   => "256M@64B"
+    #
+    # @example get cio_ignore parameter for recovery kernel when missing
+    #   Bootloader.kernel_param(:recovery, "cio_ignore")
+    #   => :missing
+    #
+    # @example get verbose parameter for xen_guest which is there
+    #   Bootloader.kernel_param(:xen_guest, "verbose")
+    #   => :present
+    #
+
+    def kernel_param(flavor, key)
+      bl = getLoaderType
+      if bl == "grub"
+        ret = getKernelParam("DEFAULT", key)
+      else
+        ReadOrProposeIfNeeded() # ensure we have some data
 
+        kernel_line_key = FLAVOR_KERNEL_LINE_MAP[flavor]
+        raise ArgumentError, "Unknown flavor #{flavor}" unless kernel_line_key
+
+        line = BootCommon.globals[kernel_line_key]
+        ret = BootCommon.getKernelParamFromLine(line, key)
+      end
+
+      # map old api response to new one
+      api_mapping = { "true" => :present, "false" => :missing }
+      return api_mapping[ret] || ret
+    end
+
+    # Modify kernel parameters for installed kernels according to values
+    # For grub1 for backward compatibility modify default section
+    # @param [Array]  args parameters to modify. Last parameter is hash with 
keys
+    #   and its values, keys are strings and values are `:present`, `:missing` 
or
+    #   string value. Other parameters specify which kernel flavors are 
affected.
+    #   Known values are:
+    #     - `:common` for non-specific flavor
+    #     - `:recovery` for fallback boot entries
+    #     - `:xen_guest` for xen guest kernels
+    #     - `:xen_host` for xen host kernels
+    #
+    # @example add crashkernel parameter to common kernel, xen guest and also 
recovery
+    #   Bootloader.modify_kernel_params(:common, :recovery, :xen_guest, 
"crashkernel" => "256M@64M")
+    #
+    # @example same as before just with array passing
+    #   targets = [:common, :recovery, :xen_guest]
+    #   Bootloader.modify_kernel_params(targets, "crashkernel" => "256M@64M")
+    #
+    # @example remove cio_ignore parameter for common kernel only
+    #   Bootloader.modify_kernel_params("cio_ignore" => :missing)
+    #
+    # @example add feature_a parameter and remove feature_b from xen host 
kernel
+    #   Bootloader.modify_kernel_params(:xen_host, "cio_ignore" => :present)
+    #
+    def modify_kernel_params(*args)
+      values = args.pop
+      if !values.is_a? Hash
+        raise ArgumentError, "Missing parameters to modify #{args.inspect}"
+      end
+      args = [:common] if args.empty? # by default change common kernels only
+      args = args.first if args.first.is_a? Array # support array like syntax
+
+      bl = getLoaderType
+      if bl =="grub" #for backward compatibility for grub
+        ret = true
+        values.each do |key, value|
+          value = "true" if value == :present
+          value = "false" if value == :missing
+          ret &&= setKernelParam("DEFAULT", key, value)
+        end
+        return ret
+      end
 
+      values.each do |key, value|
+        next if key == "root" # grub2 do not support modify root
+        if key == "vga"
+          BootCommon.globals["vgamode"] = value == :remove ? "" : value
+          next
+        else
+          kernel_lines = args.map do |a|
+            FLAVOR_KERNEL_LINE_MAP[a] ||
+              raise(ArgumentError, "Invalid argument #{a.inspect}")
+          end
+          kernel_lines.each do |line_key|
+            BootCommon.globals[line_key] = 
BootCommon.setKernelParamToLine(BootCommon.globals[line_key], key, value)
+          end
+        end
+        BootCommon.globals["__modified"] = "1"
+        BootCommon.changed = true
+      end
+    end
 
     # set kernel parameter to menu.lst
     # @param [String] section string section title, use DEFAULT for default 
section
@@ -1035,6 +1141,7 @@
     # @param [String] value string value, "false" to remove key,
     #   "true" to add key without value
     # @return [Boolean] true on success
+    # @deprecated use modify_kernel_param instead
     def setKernelParam(section, key, value)
       if !Mode.config && key == "vga" && (Arch.s390 || Arch.ppc)
         Builtins.y2warning(

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to