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]
