Hello community,

here is the log from the commit of package autoyast2 for openSUSE:Factory 
checked in at 2018-04-26 13:30:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/autoyast2 (Old)
 and      /work/SRC/openSUSE:Factory/.autoyast2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "autoyast2"

Thu Apr 26 13:30:09 2018 rev:242 rq:599931 version:4.0.49

Changes:
--------
--- /work/SRC/openSUSE:Factory/autoyast2/autoyast2.changes      2018-04-07 
20:51:21.874752511 +0200
+++ /work/SRC/openSUSE:Factory/.autoyast2.new/autoyast2.changes 2018-04-26 
13:30:11.261324093 +0200
@@ -1,0 +2,26 @@
+Fri Apr 20 20:58:54 UTC 2018 - [email protected]
+
+- AutoYaST: properly handle empty proposals (bsc#1090390).
+- 4.0.49
+
+-------------------------------------------------------------------
+Mon Apr 16 11:45:45 UTC 2018 - [email protected]
+
+- Probe storage devices again after initializing DASD or zFCP
+  devices (bsc#1089326 and bsc#1089554).
+- 4.0.48
+
+-------------------------------------------------------------------
+Mon Apr 16 07:53:36 UTC 2018 - [email protected]
+
+- Install the module products also in AutoYaST autoupgrade
+  (related to bsc#1086818 and bsc#1087206)
+- 4.0.47
+
+-------------------------------------------------------------------
+Fri Apr 13 13:47:51 UTC 2018 - [email protected]
+
+- Honor partitioning settings from product (bsc#1085755).
+- 4.0.46
+
+-------------------------------------------------------------------

Old:
----
  autoyast2-4.0.45.tar.bz2

New:
----
  autoyast2-4.0.49.tar.bz2

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

Other differences:
------------------
++++++ autoyast2.spec ++++++
--- /var/tmp/diff_new_pack.o9uG9j/_old  2018-04-26 13:30:11.805304168 +0200
+++ /var/tmp/diff_new_pack.o9uG9j/_new  2018-04-26 13:30:11.809304021 +0200
@@ -22,7 +22,7 @@
 %endif
 
 Name:           autoyast2
-Version:        4.0.45
+Version:        4.0.49
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -48,8 +48,8 @@
 BuildRequires:  yast2-transfer
 BuildRequires:  yast2-update >= 3.3.0
 BuildRequires:  yast2-xml
-# ActivateCallbacks::multipath signature
-BuildRequires:  yast2-storage-ng >= 4.0.116
+# AutoinstIssues::NoProposal
+BuildRequires:  yast2-storage-ng >= 4.0.160
 
 # %%{_unitdir} macro definition is in a separate package since 13.1
 %if 0%{?suse_version} >= 1310
@@ -69,8 +69,8 @@
 Requires:       yast2-schema
 Requires:       yast2-transfer >= 2.21.0
 Requires:       yast2-xml
-# Y2Storage::AutoinstProfile::SkipListValue#to_hash
-Requires:       yast2-storage-ng >= 4.0.23
+# AutoinstIssues::NoProposal
+Requires:       yast2-storage-ng >= 4.0.160
 Conflicts:      yast2-installation < 3.1.166
 
 Provides:       yast2-config-autoinst

++++++ autoyast2-4.0.45.tar.bz2 -> autoyast2-4.0.49.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/autoyast2-4.0.45/package/autoyast2.changes 
new/autoyast2-4.0.49/package/autoyast2.changes
--- old/autoyast2-4.0.45/package/autoyast2.changes      2018-04-03 
17:46:54.000000000 +0200
+++ new/autoyast2-4.0.49/package/autoyast2.changes      2018-04-23 
11:08:21.000000000 +0200
@@ -1,4 +1,30 @@
 -------------------------------------------------------------------
+Fri Apr 20 20:58:54 UTC 2018 - [email protected]
+
+- AutoYaST: properly handle empty proposals (bsc#1090390).
+- 4.0.49
+
+-------------------------------------------------------------------
+Mon Apr 16 11:45:45 UTC 2018 - [email protected]
+
+- Probe storage devices again after initializing DASD or zFCP
+  devices (bsc#1089326 and bsc#1089554).
+- 4.0.48
+
+-------------------------------------------------------------------
+Mon Apr 16 07:53:36 UTC 2018 - [email protected]
+
+- Install the module products also in AutoYaST autoupgrade
+  (related to bsc#1086818 and bsc#1087206)
+- 4.0.47
+
+-------------------------------------------------------------------
+Fri Apr 13 13:47:51 UTC 2018 - [email protected]
+
+- Honor partitioning settings from product (bsc#1085755).
+- 4.0.46
+
+-------------------------------------------------------------------
 Tue Apr  3 10:43:16 UTC 2018 - [email protected]
 
 - Fix tests to use correct storage instance (part of fate#318196).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/autoyast2-4.0.45/package/autoyast2.spec 
new/autoyast2-4.0.49/package/autoyast2.spec
--- old/autoyast2-4.0.45/package/autoyast2.spec 2018-04-03 17:46:54.000000000 
+0200
+++ new/autoyast2-4.0.49/package/autoyast2.spec 2018-04-23 11:08:21.000000000 
+0200
@@ -22,7 +22,7 @@
 %endif
 
 Name:           autoyast2
-Version:        4.0.45
+Version:        4.0.49
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -48,8 +48,8 @@
 BuildRequires:  yast2-update >= 3.3.0
 BuildRequires:  yast2-slp
 BuildRequires:  yast2-country
-# ActivateCallbacks::multipath signature
-BuildRequires:  yast2-storage-ng >= 4.0.116
+# AutoinstIssues::NoProposal
+BuildRequires:  yast2-storage-ng >= 4.0.160
 
 # %%{_unitdir} macro definition is in a separate package since 13.1
 %if 0%{?suse_version} >= 1310
@@ -69,8 +69,8 @@
 Requires:       yast2-schema
 Requires:       yast2-transfer >= 2.21.0
 Requires:       yast2-xml
-# Y2Storage::AutoinstProfile::SkipListValue#to_hash
-Requires:       yast2-storage-ng >= 4.0.23
+# AutoinstIssues::NoProposal
+Requires:       yast2-storage-ng >= 4.0.160
 Conflicts:      yast2-installation < 3.1.166
 
 Provides:       yast2-config-autoinst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/autoyast2-4.0.45/src/clients/inst_autosetup.rb 
new/autoyast2-4.0.49/src/clients/inst_autosetup.rb
--- old/autoyast2-4.0.45/src/clients/inst_autosetup.rb  2018-04-03 
17:46:54.000000000 +0200
+++ new/autoyast2-4.0.49/src/clients/inst_autosetup.rb  2018-04-23 
11:08:21.000000000 +0200
@@ -135,6 +135,9 @@
       #
       Progress.NextStage
 
+      # Merging selected product
+      AutoinstSoftware.merge_product(AutoinstFunctions.selected_product)
+
       # configure general settings
       AutoinstGeneral.Import(Ops.get_map(Profile.current, "general", {}))
       Builtins.y2milestone(
@@ -159,7 +162,7 @@
         elsif !AutoinstConfig.second_stage()
           # Second stage of installation will not be called but a
           # network configuration is available. So this will be written
-          # while the general inst_finish process at the end of the
+          # during the general inst_finish process at the end of the
           # first stage. But for the installation workflow the linuxrc
           # network settings will be taken. (bnc#944942)
           Builtins.y2milestone(
@@ -255,7 +258,8 @@
 
       # moved here from autoinit for fate #301193
       # needs testing
-      if Arch.s390 && AutoinstConfig.remoteProfile == true
+      s390_and_remote_profile = Arch.s390 && AutoinstConfig.remoteProfile == 
true
+      if s390_and_remote_profile
         Builtins.y2milestone("arch=s390 and remote_profile=true")
         if Builtins.haskey(Profile.current, "dasd")
           Builtins.y2milestone("dasd found")
@@ -274,7 +278,7 @@
 
       Progress.NextStage
 
-      probe_storage if modified_profile?
+      probe_storage if modified_profile? || s390_and_remote_profile
 
       if Profile.current["partitioning_advanced"] && 
!Profile.current["partitioning_advanced"].empty?
         write_storage = 
AutoinstStorage.ImportAdvanced(Profile.current["partitioning_advanced"])
@@ -304,7 +308,7 @@
 
       # Bootloader
       # The bootloader has to be called before software selection.
-      # So the software selection can take care about packages
+      # So the software selection is aware and can manage packages
       # needed by the bootloader (bnc#876161)
 
       return :abort if Popup.ConfirmAbort(:painless) if UI.PollInput == :abort
@@ -322,7 +326,7 @@
       Progress.NextStage
 
       # The configuration_management has to be called before software 
selection.
-      # So the software selection can take care about packages
+      # So the software selection is aware and can manage packages
       # needed by the configuration_management.
       if Profile.current["configuration_management"]
         return :abort unless WFM.CallFunction(
@@ -357,16 +361,13 @@
 
       Progress.NextStage
 
-      # Merging selected product
-      AutoinstSoftware.merge_product(AutoinstFunctions.selected_product)
-
       # Evaluating package and patterns selection.
-      # Selection will stored in PackageAI.
+      # Selection will be stored in PackageAI.
       AutoinstSoftware.Import(Ops.get_map(Profile.current, "software", {}))
 
       # Add additional packages in order to run YAST modules which
-      # has been defined the AutoYaST configuration file.
-      # Selection will stored in PackageAI.
+      # have been defined in the AutoYaST configuration file.
+      # Selection will be stored in PackageAI.
       add_yast2_dependencies if AutoinstFunctions.second_stage_required?
 
       # Adding selections (defined in PackageAI) to libzypp and solving
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/autoyast2-4.0.45/src/clients/inst_autosetup_upgrade.rb 
new/autoyast2-4.0.49/src/clients/inst_autosetup_upgrade.rb
--- old/autoyast2-4.0.45/src/clients/inst_autosetup_upgrade.rb  2018-04-03 
17:46:54.000000000 +0200
+++ new/autoyast2-4.0.49/src/clients/inst_autosetup_upgrade.rb  2018-04-23 
11:08:21.000000000 +0200
@@ -300,11 +300,8 @@
       if !Update.did_init1
         Update.did_init1 = true
 
-        Pkg.PkgApplReset
-
         # bnc #300540
         # bnc #391785
-        # Drops packages after PkgApplReset, not before (that would null that)
         Update.DropObsoletePackages
 
         # make sure the packages needed for accessing the installation 
repository
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/autoyast2-4.0.45/src/lib/autoinstall/storage_proposal.rb 
new/autoyast2-4.0.49/src/lib/autoinstall/storage_proposal.rb
--- old/autoyast2-4.0.45/src/lib/autoinstall/storage_proposal.rb        
2018-04-03 17:46:54.000000000 +0200
+++ new/autoyast2-4.0.49/src/lib/autoinstall/storage_proposal.rb        
2018-04-23 11:08:21.000000000 +0200
@@ -86,8 +86,6 @@
     #
     # * {Y2Storage::GuidedProposal} if {partitioning} is nil or empty;
     # * {Y2Storage::AutoinstProposal} in any other case.
-    #
-    # @return [Y2Storage::GuidedProposal,Y2Storage::AutoinstProposal] Proposal 
instance
     def build_proposal(partitioning)
       if partitioning.nil? || partitioning.empty?
         @proposal = guided_proposal
@@ -95,6 +93,7 @@
         @proposal = autoinst_proposal(partitioning)
         @proposal.propose
       end
+      issues_list.add(:no_proposal) unless @proposal.devices
     rescue Y2Storage::Error => e
       handle_exception(e)
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/autoyast2-4.0.45/src/modules/AutoinstStorage.rb 
new/autoyast2-4.0.49/src/modules/AutoinstStorage.rb
--- old/autoyast2-4.0.45/src/modules/AutoinstStorage.rb 2018-04-03 
17:46:54.000000000 +0200
+++ new/autoyast2-4.0.49/src/modules/AutoinstStorage.rb 2018-04-23 
11:08:21.000000000 +0200
@@ -85,7 +85,8 @@
       general_settings.delete("btrfs_set_default_subvolume_name")
 
       # Override product settings from control file
-      Yast::ProductFeatures.SetSection("partitioning", general_settings)
+      control_settings = Yast::ProductFeatures.GetSection("partitioning") || {}
+      Yast::ProductFeatures.SetSection("partitioning", 
control_settings.merge(general_settings))
     end
 
     # Import Fstab data
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/autoyast2-4.0.45/test/autoinst_storage_test.rb 
new/autoyast2-4.0.49/test/autoinst_storage_test.rb
--- old/autoyast2-4.0.45/test/autoinst_storage_test.rb  2018-04-03 
17:46:54.000000000 +0200
+++ new/autoyast2-4.0.49/test/autoinst_storage_test.rb  2018-04-23 
11:08:21.000000000 +0200
@@ -188,30 +188,33 @@
 
   describe "#import_general_settings" do
     let(:profile) { { "proposal_lvm" => true } }
+    let(:partitioning_features) { {"btrfs_default_subvolume" => "@" } }
 
-    it "overrides control file values" do
-      expect(Yast::ProductFeatures).to receive(:SetSection)
-        .with("partitioning", profile)
-      subject.import_general_settings(profile)
+    around do |example|
+      old_partitioning = Yast::ProductFeatures.GetSection("partitioning")
+      Yast::ProductFeatures.SetSection("partitioning", partitioning_features)
+      example.call
+      Yast::ProductFeatures.SetSection("partitioning", old_partitioning)
     end
 
-    context "when multipath is enabled" do
-      let(:profile) { { "start_multipath" => true } }
-
-      it "sets multipath"
+    it "overrides control file values" do
+      subject.import_general_settings(profile)
+      expect(Yast::ProductFeatures.GetSection("partitioning")).to 
include("proposal_lvm" => true)
     end
 
-    context "when multipath is not enabled" do
-      it "does not set multipath"
+    it "keeps not overriden values" do
+      subject.import_general_settings(profile)
+      expect(Yast::ProductFeatures.GetSection("partitioning"))
+        .to include("btrfs_default_subvolume" => "@")
     end
 
     context "when btrfs default subvolume name is set to false" do
       let(:profile) { { "btrfs_set_default_subvolume_name" => false } }
 
       it "disables the btrfs default subvolume" do
-        expect(Yast::ProductFeatures).to receive(:SetSection)
-          .with("partitioning", { "btrfs_default_subvolume" => "" })
         subject.import_general_settings(profile)
+        expect(Yast::ProductFeatures.GetSection("partitioning"))
+          .to include("btrfs_default_subvolume" => "")
       end
     end
 
@@ -219,8 +222,9 @@
       let(:profile) { {} }
 
       it "uses the default for the product" do
-        expect(Yast::ProductFeatures).to 
receive(:SetSection).with("partitioning", {})
         subject.import_general_settings(profile)
+        expect(Yast::ProductFeatures.GetSection("partitioning"))
+          .to include("btrfs_default_subvolume" => "@")
       end
     end
 
@@ -228,8 +232,9 @@
       let(:profile) { { "btrfs_set_default_subvolume_name" => true } }
 
       it "uses the default for the product" do
-        expect(Yast::ProductFeatures).to 
receive(:SetSection).with("partitioning", {})
         subject.import_general_settings(profile)
+        expect(Yast::ProductFeatures.GetSection("partitioning"))
+          .to include("btrfs_default_subvolume" => "@")
       end
     end
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/autoyast2-4.0.45/test/lib/storage_proposal_test.rb 
new/autoyast2-4.0.49/test/lib/storage_proposal_test.rb
--- old/autoyast2-4.0.45/test/lib/storage_proposal_test.rb      2018-04-03 
17:46:54.000000000 +0200
+++ new/autoyast2-4.0.49/test/lib/storage_proposal_test.rb      2018-04-23 
11:08:21.000000000 +0200
@@ -7,8 +7,13 @@
   subject(:storage_proposal) { described_class.new(profile) }
 
   let(:storage_manager) { double(Y2Storage::StorageManager) }
-  let(:guided_proposal) { instance_double(Y2Storage::GuidedProposal, propose: 
nil, proposed?: true) }
-  let(:autoinst_proposal) { instance_double(Y2Storage::AutoinstProposal, 
propose: nil, proposed?: true) }
+  let(:devicegraph) { instance_double(Y2Storage::Devicegraph) }
+  let(:guided_proposal) do
+    instance_double(Y2Storage::GuidedProposal, propose: nil, proposed?: true, 
devices: devicegraph)
+  end
+  let(:autoinst_proposal) do
+    instance_double(Y2Storage::AutoinstProposal, propose: nil, proposed?: 
true, devices: devicegraph)
+  end
   let(:profile) { [{ "device" => "/dev/sda" }] }
 
   before do
@@ -29,6 +34,7 @@
         expect(Y2Storage::GuidedProposal).to receive(:initial)
         expect(storage_proposal.proposal).to be(guided_proposal)
       end
+
     end
 
     context "when profile contains an empty set of partitions" do
@@ -62,6 +68,20 @@
         expect(issue).to_not be_nil
       end
     end
+
+    context "when no proposal is possible" do
+      let(:devicegraph) { nil }
+
+      before do
+        allow(guided_proposal).to receive(:devices).and_return(nil)
+      end
+
+      it "registers an issue" do
+        issues_list = storage_proposal.issues_list
+        issue = issues_list.find { |i| 
i.is_a?(Y2Storage::AutoinstIssues::NoProposal) }
+        expect(issue).to_not be_nil
+      end
+    end
   end
 
   describe "#save" do


Reply via email to