Hello community,

here is the log from the commit of package yast2-installation for 
openSUSE:Factory checked in at 2018-03-04 11:50:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-installation (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-installation.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-installation"

Sun Mar  4 11:50:36 2018 rev:397 rq:581740 version:4.0.36

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-installation/yast2-installation.changes    
2018-02-14 09:18:07.100843590 +0100
+++ 
/work/SRC/openSUSE:Factory/.yast2-installation.new/yast2-installation.changes   
    2018-03-04 11:50:39.526349917 +0100
@@ -1,0 +2,23 @@
+Thu Mar  1 14:48:45 UTC 2018 - shundham...@suse.com
+
+- Pass args to parent class constructor (bsc#1083500)
+- 4.0.36
+
+-------------------------------------------------------------------
+Tue Feb 27 12:23:03 UTC 2018 - jreidin...@suse.com
+
+- fix marking texts for translation (bsc#1081361, bsc#1083015)
+- 4.0.35
+
+-------------------------------------------------------------------
+Tue Feb 27 01:41:17 UTC 2018 - an...@suse.com
+
+- More gentle handling of aborts caused by hardware probing errors
+  (bsc#1079228, bsc#1079817, bsc#1063059, bsc#1080554, bsc#1076776,
+  bsc#1070459 and some others).
+- Re-enable the old fix for bsc#298049 (abort button during ongoing
+  hardware probing).
+- Cleanup of dead code
+- 4.0.34
+
+-------------------------------------------------------------------

Old:
----
  yast2-installation-4.0.33.tar.bz2

New:
----
  yast2-installation-4.0.36.tar.bz2

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

Other differences:
------------------
++++++ yast2-installation.spec ++++++
--- /var/tmp/diff_new_pack.MqQ4lD/_old  2018-03-04 11:50:40.106328906 +0100
+++ /var/tmp/diff_new_pack.MqQ4lD/_new  2018-03-04 11:50:40.110328761 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-installation
-Version:        4.0.33
+Version:        4.0.36
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -46,9 +46,9 @@
 # Yast::Packages.check_remote_installation_packages
 BuildRequires:  yast2-packager >= 4.0.9
 
-# Y2Storage::StorageManager#activate accepts an argument
-BuildRequires:  yast2-storage-ng >= 4.0.43
-Requires:       yast2-storage-ng >= 4.0.43
+# Y2Storage::StorageManager#activate and #probe as boolean
+BuildRequires:  yast2-storage-ng >= 4.0.114
+Requires:       yast2-storage-ng >= 4.0.114
 
 # Mandatory language in Product#release_notes
 Requires:       yast2 >= 4.0.49
@@ -66,11 +66,6 @@
 # Yast::Packages.check_remote_installation_packages
 Requires:       yast2-packager >= 4.0.9
 
-# FIXME: some code present in this package still depends on the old 
yast2-storage
-# and will break without this dependency. That's acceptable at this point of 
the
-# migration to storage-ng. See installer-hacks.md in the yast-storage-ng repo.
-# Requires:  yast2-storage >= 2.24.1
-
 # use in startup scripts
 Requires:       initviocons
 

++++++ yast2-installation-4.0.33.tar.bz2 -> yast2-installation-4.0.36.tar.bz2 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-installation-4.0.33/package/yast2-installation.changes 
new/yast2-installation-4.0.36/package/yast2-installation.changes
--- old/yast2-installation-4.0.33/package/yast2-installation.changes    
2018-02-13 14:06:44.000000000 +0100
+++ new/yast2-installation-4.0.36/package/yast2-installation.changes    
2018-03-01 16:08:50.000000000 +0100
@@ -1,4 +1,27 @@
 -------------------------------------------------------------------
+Thu Mar  1 14:48:45 UTC 2018 - shundham...@suse.com
+
+- Pass args to parent class constructor (bsc#1083500)
+- 4.0.36
+
+-------------------------------------------------------------------
+Tue Feb 27 12:23:03 UTC 2018 - jreidin...@suse.com
+
+- fix marking texts for translation (bsc#1081361, bsc#1083015)
+- 4.0.35
+
+-------------------------------------------------------------------
+Tue Feb 27 01:41:17 UTC 2018 - an...@suse.com
+
+- More gentle handling of aborts caused by hardware probing errors
+  (bsc#1079228, bsc#1079817, bsc#1063059, bsc#1080554, bsc#1076776,
+  bsc#1070459 and some others).
+- Re-enable the old fix for bsc#298049 (abort button during ongoing
+  hardware probing).
+- Cleanup of dead code
+- 4.0.34
+
+-------------------------------------------------------------------
 Tue Feb 13 12:53:44 UTC 2018 - jreidin...@suse.com
 
 - Ensure previous role selection is cleared when doing desktop
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-installation-4.0.33/package/yast2-installation.spec 
new/yast2-installation-4.0.36/package/yast2-installation.spec
--- old/yast2-installation-4.0.33/package/yast2-installation.spec       
2018-02-13 14:06:44.000000000 +0100
+++ new/yast2-installation-4.0.36/package/yast2-installation.spec       
2018-03-01 16:08:50.000000000 +0100
@@ -16,7 +16,7 @@
 #
 
 Name:           yast2-installation
-Version:        4.0.33
+Version:        4.0.36
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -45,9 +45,9 @@
 # Yast::Packages.check_remote_installation_packages
 BuildRequires: yast2-packager >= 4.0.9
 
-# Y2Storage::StorageManager#activate accepts an argument
-BuildRequires: yast2-storage-ng >= 4.0.43
-Requires:      yast2-storage-ng >= 4.0.43
+# Y2Storage::StorageManager#activate and #probe as boolean
+BuildRequires: yast2-storage-ng >= 4.0.114
+Requires:      yast2-storage-ng >= 4.0.114
 
 # Mandatory language in Product#release_notes
 Requires:       yast2 >= 4.0.49
@@ -65,11 +65,6 @@
 # Yast::Packages.check_remote_installation_packages
 Requires:      yast2-packager >= 4.0.9
 
-# FIXME: some code present in this package still depends on the old 
yast2-storage
-# and will break without this dependency. That's acceptable at this point of 
the
-# migration to storage-ng. See installer-hacks.md in the yast-storage-ng repo.
-# Requires:  yast2-storage >= 2.24.1
-
 # use in startup scripts
 Requires:      initviocons
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-installation-4.0.33/src/lib/installation/clients/inst_system_analysis.rb
 
new/yast2-installation-4.0.36/src/lib/installation/clients/inst_system_analysis.rb
--- 
old/yast2-installation-4.0.33/src/lib/installation/clients/inst_system_analysis.rb
  2018-02-13 14:06:44.000000000 +0100
+++ 
new/yast2-installation-4.0.36/src/lib/installation/clients/inst_system_analysis.rb
  2018-03-01 16:08:50.000000000 +0100
@@ -30,6 +30,13 @@
 
 module Yast
   class InstSystemAnalysisClient < Client
+    include Yast::Logger
+
+    # Custom exception class to indicate the user (or the AutoYaST profile)
+    # decided to abort the installation due to a libstorage-ng error
+    class AbortError < RuntimeError
+    end
+
     def main
       Yast.import "UI"
 
@@ -50,13 +57,6 @@
       Yast.import "ProductFeatures"
       Yast.import "Progress"
       Yast.import "Report"
-# storage-ng
-# rubocop:disable Style/BlockComments
-=begin
-      Yast.import "Storage"
-      Yast.import "StorageControllers"
-      Yast.import "StorageDevices"
-=end
       Yast.import "Wizard"
       Yast.import "PackageCallbacks"
 
@@ -66,15 +66,7 @@
 
       # This dialog in not interactive
       # always return `back when came from the previous dialog
-      if GetInstArgs.going_back
-# storage-ng
-=begin
-        Storage.ActivateHld(false)
-=end
-        return :back
-      end
-
-      @found_controllers = true
+      return :back if GetInstArgs.going_back
 
       @packager_initialized = false
 
@@ -104,28 +96,8 @@
           actions_todo      << _("Probe FireWire devices")
           actions_doing     << _("Probing FireWire devices...")
           actions_functions << fun_ref(method(:ActionFireWire), "boolean ()")
-
-# storage-ng
-=begin
-          actions_todo      << _("Probe floppy disk devices")
-          actions_doing     << _("Probing floppy disk devices...")
-          actions_functions << fun_ref(method(:ActionFloppyDisks), "boolean 
()")
-=end
         end
 
-# storage-ng
-# As soon as we introduce support for RAID or multipath, we'll need to replace
-# StorageController with a new OOP way of probing and loading controllers
-=begin
-        actions_todo      << _("Probe hard disk controllers")
-        actions_doing     << _("Probing hard disk controllers...")
-        actions_functions << fun_ref(method(:ActionHHDControllers), "boolean 
()")
-
-        actions_todo      << _("Load kernel modules for hard disk controllers")
-        actions_doing     << _("Loading kernel modules for hard disk 
controllers...")
-        actions_functions << fun_ref(method(:ActionLoadModules), "boolean ()")
-=end
-
         WFM.CallFunction("inst_features", [])
       end
 
@@ -163,12 +135,17 @@
 
           if Popup.ConfirmAbort(:painless)
             Builtins.y2warning("User decided to abort the installation")
-            next :abort
+            return :abort
           end
         end
 
-        ret = run_function.call
-        Builtins.y2milestone("Function %1 returned %2", run_function, ret)
+        begin
+          ret = run_function.call
+          Builtins.y2milestone("Function %1 returned %2", run_function, ret)
+        rescue AbortError
+          return :abort
+        end
+
         # Return in case of restart is needed
         return ret if ret == :restart_yast
       end
@@ -186,73 +163,27 @@
 
     # Function definitions -->
 
-    # --------------------------------------------------------------
-    #                                USB
-    # --------------------------------------------------------------
+    #  USB initialization
     def ActionUSB
       Hotplug.StartUSB
 
       true
     end
 
-    # --------------------------------------------------------------
-    #                          FireWire (ieee1394)
-    # --------------------------------------------------------------
+    # FireWire (ieee1394) initialization
     def ActionFireWire
       Hotplug.StartFireWire
 
       true
     end
 
-    # --------------------------------------------------------------
-    #                              Floppy
-    # --------------------------------------------------------------
-    def ActionFloppyDisks
-      StorageDevices.FloppyReady
-
-      true
-    end
-
-    # --------------------------------------------------------------
-    #                       Hard disk controllers
-    # 1. Probe
-    # 2. Initialize (module loading)
-    # --------------------------------------------------------------
-    # In live_eval mode, all modules have been loaded by linuxrc. But
-    # they are loaded by StorageControllers::Initialize(). Well, there
-    # also was another reason for skipping StorageControllers::Probe ()
-    # but nobody seems to remember more.
-    # --------------------------------------------------------------
-    def ActionHHDControllers
-      @found_controllers = Ops.greater_than(StorageControllers.Probe, 0)
-
-      true
-    end
-
-    # --------------------------------------------------------------
-    # Don't abort or even warn if no storage controllers can be
-    # found.  Disks might be detected even without proper knowledge
-    # about the controller.  There's a warning below if no disks were
-    # found.
-    # --------------------------------------------------------------
-    def ActionLoadModules
-      StorageControllers.Initialize
-
-      true
-    end
-
-    # --------------------------------------------------------------
-    #                            Hard disks
-    # --------------------------------------------------------------
+    #  Hard disks initialization
+    #
+    # @raise [AbortError] if an error is found and the installation must
+    #   be aborted because of such error
     def ActionHDDProbe
-      storage = Y2Storage::StorageManager.instance
-      # Activate high level devices (RAID, multipath, LVM, encryption...)
-      # and (re)probe. Reprobing ensures we don't bring bug#806454 back and
-      # invalidates cached proposal, so we are also safe from bug#865579.
-      storage.activate(activate_callbacks)
-      storage.probe
-
-      devicegraph = storage.probed
+      init_storage
+      devicegraph = storage_manager.probed
 
       # additonal error when HW was not found
       drivers_info = _(
@@ -264,37 +195,23 @@
       end
 
       if devicegraph.empty?
-        if @found_controllers || Arch.s390
-          if !(Mode.autoinst || Mode.autoupgrade)
-            # pop-up error report
-            Report.Error(
-              Builtins.sformat(
-                _(
-                  "No hard disks were found for the installation.\n" \
-                    "Please check your hardware!\n" \
-                    "%1\n"
-                ),
-                drivers_info
-              )
+        if Mode.auto
+          Report.Warning(
+            # TRANSLATORS: Error pop-up
+            _(
+              "No hard disks were found for the installation.\n" \
+              "During an automatic installation, they might be detected 
later.\n" \
+              "(especially on S/390 or iSCSI systems)\n"
             )
-          else
-            Report.Warning(
-              _(
-                "No hard disks were found for the installation.\n" \
-                  "During an automatic installation, they might be detected 
later.\n" \
-                  "(especially on S/390 or iSCSI systems)\n"
-              )
-            )
-          end
+          )
         else
-          # pop-up error report
           Report.Error(
             Builtins.sformat(
+              # TRANSLATORS: Error pop-up
               _(
-                "No hard disks and no hard disk controllers were\n" \
-                  "found for the installation.\n" \
-                  "Check your hardware.\n" \
-                  "%1\n"
+                "No hard disks were found for the installation.\n" \
+                "Please check your hardware!\n" \
+                "%1\n"
               ),
               drivers_info
             )
@@ -347,6 +264,8 @@
       true
     end
 
+  private
+
     # Return the activate callbacks for libstorage-ng
     #
     # When running AutoYaST, it will use a different set of callbacks.
@@ -359,5 +278,27 @@
       return nil unless Mode.auto
       Y2Autoinstallation::ActivateCallbacks.new
     end
+
+    # Activates high level devices (RAID, multipath, LVM, encryption...)
+    # and (re)probes
+    #
+    # Reprobing ensures we don't bring bug#806454 back and invalidates cached
+    # proposal, so we are also safe from bug#865579.
+    #
+    # @raise [AbortError] if an error is found and the installation must
+    #   be aborted because of such error
+    def init_storage
+      success = storage_manager.activate(activate_callbacks)
+      success &&= storage_manager.probe
+      return if success
+
+      log.info "A storage error was raised and the installation must be 
aborted."
+      raise AbortError, "User aborted"
+    end
+
+    # @return [Y2Storage::StorageManager]
+    def storage_manager
+      @storage_manager ||= Y2Storage::StorageManager.instance
+    end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-installation-4.0.33/src/lib/installation/dialogs/complex_welcome.rb 
new/yast2-installation-4.0.36/src/lib/installation/dialogs/complex_welcome.rb
--- 
old/yast2-installation-4.0.33/src/lib/installation/dialogs/complex_welcome.rb   
    2018-02-13 14:06:44.000000000 +0100
+++ 
new/yast2-installation-4.0.36/src/lib/installation/dialogs/complex_welcome.rb   
    2018-03-01 16:08:50.000000000 +0100
@@ -42,6 +42,7 @@
       # @param products        [Array<Y2Packager::Product>] List of available 
products
       # @param disable_buttons [Array<Symbol>] List of buttons to disable
       def initialize(products, disable_buttons: [])
+        textdomain "installation"
         @products = products
         @disable_buttons = disable_buttons.map { |b| "#{b}_button" }
       end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-installation-4.0.33/src/lib/installation/dialogs/registration_url_dialog.rb
 
new/yast2-installation-4.0.36/src/lib/installation/dialogs/registration_url_dialog.rb
--- 
old/yast2-installation-4.0.33/src/lib/installation/dialogs/registration_url_dialog.rb
       2018-02-13 14:06:44.000000000 +0100
+++ 
new/yast2-installation-4.0.36/src/lib/installation/dialogs/registration_url_dialog.rb
       2018-03-01 16:08:50.000000000 +0100
@@ -24,6 +24,11 @@
 
 module Installation
   class RegistrationURLDialog < ::Installation::URLDialog
+    def initialize(*args)
+      textdomain "installation"
+      super
+    end
+
     def help_text
       # TRANSLATORS: Help text alerting the user about a invalid url
       _("<p>\n" \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-installation-4.0.33/src/lib/installation/widgets/system_roles_radio_buttons.rb
 
new/yast2-installation-4.0.36/src/lib/installation/widgets/system_roles_radio_buttons.rb
--- 
old/yast2-installation-4.0.33/src/lib/installation/widgets/system_roles_radio_buttons.rb
    2018-02-13 14:06:44.000000000 +0100
+++ 
new/yast2-installation-4.0.36/src/lib/installation/widgets/system_roles_radio_buttons.rb
    2018-03-01 16:08:50.000000000 +0100
@@ -44,6 +44,7 @@
         # selection is lost when the widget is redrawn.
         # FIXME: It will not be needed once RadioButtons widget take care of it
         self.handle_all_events = true
+        textdomain "installation"
       end
 
       def store
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-installation-4.0.33/test/lib/clients/inst_system_analysis_test.rb 
new/yast2-installation-4.0.36/test/lib/clients/inst_system_analysis_test.rb
--- old/yast2-installation-4.0.33/test/lib/clients/inst_system_analysis_test.rb 
2018-02-13 14:06:44.000000000 +0100
+++ new/yast2-installation-4.0.36/test/lib/clients/inst_system_analysis_test.rb 
2018-03-01 16:08:50.000000000 +0100
@@ -31,6 +31,8 @@
 
     let(:devicegraph) { instance_double(Y2Storage::Devicegraph, empty?: false) 
}
     let(:auto) { false }
+    let(:activate_result) { true }
+    let(:probe_result) { true }
 
     before do
       allow(client).to receive(:require).with("autoinstall/activate_callbacks")
@@ -38,11 +40,13 @@
 
     before do
       allow(Y2Storage::StorageManager).to 
receive(:instance).and_return(storage)
+      allow(storage).to receive(:activate).and_return activate_result
+      allow(storage).to receive(:probe).and_return probe_result
       allow(Yast::Mode).to receive(:auto).and_return(auto)
     end
 
     it "uses default activation callbacks" do
-      expect(storage).to receive(:activate).with(nil)
+      expect(storage).to receive(:activate).with(nil).and_return true
       client.ActionHDDProbe
     end
 
@@ -54,9 +58,28 @@
       before { stub_const("Y2Autoinstallation::ActivateCallbacks", 
callbacks_class) }
 
       it "uses AutoYaST activation callbacks" do
-        expect(storage).to receive(:activate).with(callbacks)
+        expect(storage).to receive(:activate).with(callbacks).and_return true
         client.ActionHDDProbe
       end
     end
+
+    context "when activation fails and the error is not recovered" do
+      let(:activate_result) { false }
+
+      it "does not probe and raises AbortError" do
+        expect(storage).to_not receive(:probe)
+        expect { client.ActionHDDProbe }
+          .to raise_error Yast::InstSystemAnalysisClient::AbortError
+      end
+    end
+
+    context "when probing fails and the error is not recovered" do
+      let(:probe_result) { false }
+
+      it "raises AbortError" do
+        expect { client.ActionHDDProbe }
+          .to raise_error Yast::InstSystemAnalysisClient::AbortError
+      end
+    end
   end
 end


Reply via email to