Hello community,

here is the log from the commit of package autoyast2 for openSUSE:Factory 
checked in at 2014-02-07 16:43:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/autoyast2 (Old)
 and      /work/SRC/openSUSE:Factory/.autoyast2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "autoyast2"

Changes:
--------
--- /work/SRC/openSUSE:Factory/autoyast2/autoyast2.changes      2014-01-29 
07:12:23.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.autoyast2.new/autoyast2.changes 2014-02-07 
16:43:58.000000000 +0100
@@ -1,0 +2,28 @@
+Thu Feb  6 15:51:09 CET 2014 - [email protected]
+
+- fix bug in general raid handling
+- fix bug handling more than two disks without explicit device name
+  in partitioning section of xml description
+- 3.1.13
+
+-------------------------------------------------------------------
+Wed Feb  5 15:52:40 UTC 2014 - [email protected]
+
+- Add support to profile for minimal configuration(FATE#313149)
+- 3.1.12
+
+-------------------------------------------------------------------
+Wed Feb  5 13:54:36 CET 2014 - [email protected]
+
+- add dependency to yast2-slp again
+
+-------------------------------------------------------------------
+Mon Feb  3 14:37:32 CET 2014 - [email protected]
+
+- Prevent hang if no IP address entry in /etc/install.inf, this can
+  happen with ipv6only=1 (bnc#861624)
+- fix problem with initialisation order Storage/Autoinstall and 
+  make use of label://mylabel/autoyast.xml work (FATE#316530)
+- 3.1.11
+
+-------------------------------------------------------------------

Old:
----
  autoyast2-3.1.10.tar.bz2

New:
----
  autoyast2-3.1.13.tar.bz2

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

Other differences:
------------------
++++++ autoyast2.spec ++++++
--- /var/tmp/diff_new_pack.USy3u8/_old  2014-02-07 16:43:58.000000000 +0100
+++ /var/tmp/diff_new_pack.USy3u8/_new  2014-02-07 16:43:58.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           autoyast2
-Version:        3.1.10
+Version:        3.1.13
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -91,6 +91,7 @@
 Requires:       yast2-ncurses
 Requires:       yast2-packager
 Requires:       yast2-services-manager
+Requires:       yast2-slp
 Requires:       yast2-storage
 Requires:       yast2-transfer >= 2.21.0
 Requires:       yast2-update >= 2.18.3

++++++ autoyast2-3.1.10.tar.bz2 -> autoyast2-3.1.13.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/autoyast2-3.1.10/package/autoyast2.changes 
new/autoyast2-3.1.13/package/autoyast2.changes
--- old/autoyast2-3.1.10/package/autoyast2.changes      2014-01-28 
19:20:22.000000000 +0100
+++ new/autoyast2-3.1.13/package/autoyast2.changes      2014-02-06 
18:00:07.000000000 +0100
@@ -1,4 +1,32 @@
 -------------------------------------------------------------------
+Thu Feb  6 15:51:09 CET 2014 - [email protected]
+
+- fix bug in general raid handling
+- fix bug handling more than two disks without explicit device name
+  in partitioning section of xml description
+- 3.1.13
+
+-------------------------------------------------------------------
+Wed Feb  5 15:52:40 UTC 2014 - [email protected]
+
+- Add support to profile for minimal configuration(FATE#313149)
+- 3.1.12
+
+-------------------------------------------------------------------
+Wed Feb  5 13:54:36 CET 2014 - [email protected]
+
+- add dependency to yast2-slp again
+
+-------------------------------------------------------------------
+Mon Feb  3 14:37:32 CET 2014 - [email protected]
+
+- Prevent hang if no IP address entry in /etc/install.inf, this can
+  happen with ipv6only=1 (bnc#861624)
+- fix problem with initialisation order Storage/Autoinstall and 
+  make use of label://mylabel/autoyast.xml work (FATE#316530)
+- 3.1.11
+
+-------------------------------------------------------------------
 Tue Jan 28 17:37:57 UTC 2014 - [email protected]
 
 - In first stage export only proposed values without reading from
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/autoyast2-3.1.10/package/autoyast2.spec 
new/autoyast2-3.1.13/package/autoyast2.spec
--- old/autoyast2-3.1.10/package/autoyast2.spec 2014-01-28 19:20:22.000000000 
+0100
+++ new/autoyast2-3.1.13/package/autoyast2.spec 2014-02-06 18:00:07.000000000 
+0100
@@ -17,7 +17,7 @@
 
 
 Name:           autoyast2
-Version:        3.1.10
+Version:        3.1.13
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -91,6 +91,7 @@
 Requires:       yast2-ncurses
 Requires:       yast2-packager
 Requires:       yast2-services-manager
+Requires:       yast2-slp
 Requires:       yast2-storage
 Requires:       yast2-transfer >= 2.21.0
 Requires:       yast2-update >= 2.18.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/autoyast2-3.1.10/src/autoyast-rnc/general.rnc 
new/autoyast2-3.1.13/src/autoyast-rnc/general.rnc
--- old/autoyast2-3.1.10/src/autoyast-rnc/general.rnc   2014-01-28 
19:20:22.000000000 +0100
+++ new/autoyast2-3.1.13/src/autoyast-rnc/general.rnc   2014-02-06 
18:00:07.000000000 +0100
@@ -15,6 +15,7 @@
     mouse? & 
     ask-list? & 
     semi-automatic? &
+    minimal-configuration? &
     signature-handling? &
     element proposals {
         LIST,
@@ -82,6 +83,8 @@
 semi-automatic = element semi-automatic { LIST, semi-automatic-modules* }
 semi-automatic-modules = element module { "networking" | "partitioning" }
 
+minimal-configuration = element minimal-configuration { BOOLEAN }
+
 signature-handling = element signature-handling { accept_unsigned_file? & 
accept_file_without_checksum? & accept_verification_failed? & 
accept_unknown_gpg_key? & import_gpg_key? & accept_non_trusted_gpg_key? }
 accept_unsigned_file = element accept_unsigned_file { BOOLEAN }
 accept_file_without_checksum = element accept_file_without_checksum { BOOLEAN }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/autoyast2-3.1.10/src/modules/AutoInstallRules.rb 
new/autoyast2-3.1.13/src/modules/AutoInstallRules.rb
--- old/autoyast2-3.1.10/src/modules/AutoInstallRules.rb        2014-01-28 
19:20:22.000000000 +0100
+++ new/autoyast2-3.1.13/src/modules/AutoInstallRules.rb        2014-02-06 
18:00:07.000000000 +0100
@@ -1083,19 +1083,17 @@
     # @return [void]
     def CreateDefault
       @Behaviour = :one
-      tmp_hex_ip = @hostid
-      @tomerge = Builtins.add(@tomerge, tmp_hex_ip)
-      while Builtins.size(tmp_hex_ip) != 1
-        tmp_hex_ip = Builtins.substring(
-          tmp_hex_ip,
-          0,
-          Ops.subtract(Builtins.size(tmp_hex_ip), 1)
-        )
-        @tomerge = Builtins.add(@tomerge, tmp_hex_ip)
+      if @hostid
+        tmp_hex_ip = @hostid
+        @tomerge << tmp_hex_ip
+        while tmp_hex_ip.size > 1
+          tmp_hex_ip = tmp_hex_ip[0..-2]
+          @tomerge << tmp_hex_ip
+        end
       end
-      @tomerge = Builtins.add(@tomerge, Builtins.toupper(@mac))
-      @tomerge = Builtins.add(@tomerge, Builtins.tolower(@mac))
-      @tomerge = Builtins.add(@tomerge, "default")
+      @tomerge << Builtins.toupper(@mac)
+      @tomerge << Builtins.tolower(@mac)
+      @tomerge << "default"
       Builtins.y2milestone("Created default rules=%1", @tomerge)
       nil
     end
@@ -1113,7 +1111,7 @@
     def AutoInstallRules
       @mac = getMAC
       @hostid = getHostid
-      Builtins.y2milestone("init mac:%1 histid:%2", @mac, @hostid)
+      Builtins.y2milestone("init mac:%1 hostid:%2", @mac, @hostid)
       nil
     end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/autoyast2-3.1.10/src/modules/AutoinstRAID.rb 
new/autoyast2-3.1.13/src/modules/AutoinstRAID.rb
--- old/autoyast2-3.1.10/src/modules/AutoinstRAID.rb    2014-01-28 
19:20:22.000000000 +0100
+++ new/autoyast2-3.1.13/src/modules/AutoinstRAID.rb    2014-02-06 
18:00:07.000000000 +0100
@@ -204,7 +204,7 @@
         end
         Ops.set(md, "format", false) if !Builtins.haskey(md, "format")
         if Ops.get_boolean(md, "format", false)
-          Ops.set(md, "used_fs", Ops.get_symbol(md, "filesystem", :ext2))
+          Ops.set(md, "used_fs", Ops.get_symbol(md, "filesystem", 
Partitions.DefaultFs))
         end
         md = AutoinstStorage.AddFilesysData(md, md)
         Ops.set(md, "type", :sw_raid)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/autoyast2-3.1.10/src/modules/AutoinstStorage.rb 
new/autoyast2-3.1.13/src/modules/AutoinstStorage.rb
--- old/autoyast2-3.1.10/src/modules/AutoinstStorage.rb 2014-01-28 
19:20:22.000000000 +0100
+++ new/autoyast2-3.1.13/src/modules/AutoinstStorage.rb 2014-02-06 
18:00:07.000000000 +0100
@@ -81,39 +81,45 @@
       Storage.ClassicStringToByte(s)
     end
 
-    def find_first_disk(after)
-      initial_target_map = Storage.GetTargetMap
-      Builtins.y2milestone("Target map: %1", initial_target_map)
+    META_TYPES = [ :CT_DMRAID, :CT_MDPART, :CT_DMMULTIPATH ]
+    ALL_TYPES = META_TYPES.dup.push(:CT_DISK)
+
+    def find_next_disk( tm, after, ctype )
+      Builtins.y2milestone("find_next_disk after:\"%1\" ctype:%2", after, 
ctype);
+      used_disk = ""
+      if after.empty? && !ALL_TYPES.include?(ctype)
+        tm.each do |device, disk|
+          if META_TYPES.include?(disk.fetch("type")) &&
+             [email protected]?(device)
+            used_disk = device
+          end
+        end
+      end
 
-      mbr_disk = ""
-      Builtins.foreach(initial_target_map) do |device, disk|
-        if (Ops.get_symbol(disk, "type", :jo) == :CT_DMRAID ||
-            Ops.get_symbol(disk, "type", :jo) == :CT_MDPART ||
-            Ops.get_symbol(disk, "type", :jo) == :CT_DMMULTIPATH) &&
-            !Builtins.contains(@tabooDevices, device)
-          mbr_disk = device
-        end
-      end if after == ""
-
-      Builtins.foreach(initial_target_map) do |device, disk|
-        if Ops.get_string(disk, "bios_id", "") == "0x80" &&
-            !Builtins.contains(@tabooDevices, device)
-          mbr_disk = device
+      if after.empty? && used_disk.empty?
+        tm.each do |device, disk|
+          if disk["bios_id"]=="0x80" && [email protected]?(device)
+            used_disk = device
+          end
         end
-      end if after == "" &&
-        mbr_disk == ""
+      end
 
       # device guessing code enhanced
-      Builtins.foreach(initial_target_map) do |device, disk|
-        if Ops.get_symbol(disk, "type", :x) == :CT_DISK
-          next if device == after || Builtins.contains(@tabooDevices, device)
-          mbr_disk = device
-          raise Break
+      if used_disk.empty?
+        ctype = :CT_DISK  unless ALL_TYPES.include?(ctype)
+        disks = tm.select { |dev,disk| disk["type"]==ctype };
+        found = !disks.keys.include?(after)
+        disks.each do |device, disk|
+          next if !found && device != after 
+          found = true if device == after
+          next if device == after || @tabooDevices.include?(device)
+          used_disk = device
+          break
         end
-      end if mbr_disk == ""
+      end
 
-      Builtins.y2milestone("device detection: %1", mbr_disk)
-      mbr_disk
+      Builtins.y2milestone("find_next_disk device detection: %1", used_disk)
+      used_disk
     end
 
     # Pre-process partition plan and prepare for creating partitions.
@@ -225,20 +231,15 @@
     def GetRaidDevices(dev, tm)
       tm = deep_copy(tm)
       ret = []
-      Builtins.foreach(tm) do |k, d|
-        if Ops.get_symbol(d, "type", :CT_UNKNOWN) == :CT_DISK ||
-            Ops.get_symbol(d, "type", :CT_UNKNOWN) == :CT_DMMULTIPATH
-          tmp = Builtins.filter(Ops.get_list(d, "partitions", [])) do |p|
-            Ops.get_string(p, "raid_name", "") == dev
-          end
-          ret = Convert.convert(
-            Builtins.union(ret, tmp),
-            :from => "list",
-            :to   => "list <map>"
-          )
+      tm.each do |k, d|
+        if [:CT_DISK,:CT_DMMULTIPATH].include?(d["type"])
+          tmp = d.fetch("partitions",[]).select do |p|
+            p["raid_name"]==dev
+          end
+          ret.concat(tmp)
         end
       end
-      dlist = Builtins.maplist(ret) { |p| Ops.get_string(p, "device", "") }
+      dlist = ret.map { |p| p["device"] }
       Builtins.y2milestone("GetRaidDevices dlist = %1 and ret = %2", dlist, 
ret)
       deep_copy(dlist)
     end
@@ -278,34 +279,15 @@
         counter = Ops.add(counter, 1)
       end
       #raid2device = $[];
-      Builtins.foreach(tm) do |k, d2|
-        if Ops.get_symbol(d2, "type", :CT_UNKNOWN) == :CT_DISK ||
-            Ops.get_symbol(d2, "type", :CT_UNKNOWN) == :CT_DMMULTIPATH
-          tmp = Builtins.filter(Ops.get_list(d2, "partitions", [])) do |p|
-            Ops.get_string(p, "raid_name", "") != ""
-          end
-          devMd = Builtins.maplist(tmp) do |p|
-            Ops.get_string(p, "raid_name", "")
-          end
-          Builtins.foreach(devMd) do |dev|
-            next if Ops.get(already_mapped, dev, false) == true
-            if !Builtins.haskey(@raid2device, dev)
-              Ops.set(@raid2device, dev, GetRaidDevices(dev, tm))
-            else
-              Builtins.foreach(
-                Convert.convert(
-                  GetRaidDevices(dev, tm),
-                  :from => "list",
-                  :to   => "list <string>"
-                )
-              ) do |k2|
-                Ops.set(
-                  @raid2device,
-                  dev,
-                  Builtins.add(Ops.get(@raid2device, dev, []), k2)
-                )
-              end
-            end
+      tm.each do |k, d2|
+        if [:CT_DISK,:CT_DMMULTIPATH].include?(d2["type"])
+          tmp = d2.fetch("partitions",[]).select do |p| 
+            !p.fetch("raid_name","").empty?
+          end
+          devMd = tmp.map { |p| p["raid_name"] }
+          devMd.each do |dev|
+            next if already_mapped[dev]
+            @raid2device[dev] = GetRaidDevices(dev, tm)
           end
         end
       end
@@ -418,11 +400,10 @@
         device = Ops.get_string(d, "device", "")
         udev_string = ""
         if device == ""
-          Ops.set(d, "device", find_first_disk(last_dev))
+          dtyp = d.fetch("type",:CT_UNKNOWN)
+          d["device"] = find_next_disk(tm,last_dev,dtyp)
           Builtins.y2milestone(
-            "empty device in profile set to %1",
-            Ops.get_string(d, "device", "")
-          )
+            "empty device in profile set to %1", d["device"] )
         end
         # translation of by-id, by-path, ... device names.
         # was handled in autoyast until openSUSE 11.3
@@ -1085,7 +1066,7 @@
       initial_target_map = Storage.GetTargetMap
       Builtins.y2milestone("Target map: %1", initial_target_map)
 
-      Storage.SetPartDisk(find_first_disk(""))
+      Storage.SetPartDisk(find_next_disk(initial_target_map,"",:CT_DISK))
 
       @AutoTargetMap = set_devices(@AutoPartPlan)
       return false if @AutoTargetMap == nil || @AutoTargetMap == {}
@@ -1292,7 +1273,7 @@
     publish :function => :GetModified, :type => "boolean ()"
     publish :function => :humanStringToByte, :type => "integer (string, 
boolean)"
     publish :function => :AddFilesysData, :type => "map (map, map)"
-    publish :function => :find_first_disk, :type => "string (string)"
+    publish :function => :find_next_disk, :type => "string (map,string,symbol)"
     publish :function => :GetRaidDevices, :type => "list (string, map <string, 
map>)"
     publish :function => :SearchRaids, :type => "void (map <string, map>)"
     publish :function => :mountBy, :type => "list <map> (list <map>)"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/autoyast2-3.1.10/src/modules/ProfileLocation.rb 
new/autoyast2-3.1.13/src/modules/ProfileLocation.rb
--- old/autoyast2-3.1.10/src/modules/ProfileLocation.rb 2014-01-28 
19:20:22.000000000 +0100
+++ new/autoyast2-3.1.13/src/modules/ProfileLocation.rb 2014-02-06 
18:00:07.000000000 +0100
@@ -17,6 +17,7 @@
       Yast.import "AutoinstConfig"
       Yast.import "AutoInstallRules"
       Yast.import "StorageDevices"
+      Yast.import "StorageControllers"
       Yast.import "Mode"
       Yast.import "Installation"
       Yast.import "Popup"
@@ -124,6 +125,8 @@
         SCR.Write(path(".etc.install_inf"), nil)
       elsif AutoinstConfig.scheme == "label"
         Builtins.y2milestone("searching label")
+        # need to call this to force Storage stuff to initialize just now
+        StorageControllers.Initialize()
         Builtins.foreach(Storage.GetTargetMap) do |device, v|
           Builtins.y2milestone("looking on %1", device)
           if Ops.get_string(v, "label", "") == AutoinstConfig.host

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

Reply via email to