Hello community,

here is the log from the commit of package yast2-registration for 
openSUSE:Factory checked in at 2018-07-24 17:28:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-registration (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-registration.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-registration"

Tue Jul 24 17:28:05 2018 rev:21 rq:623678 version:4.0.43

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-registration/yast2-registration.changes    
2018-07-03 23:32:38.640555826 +0200
+++ 
/work/SRC/openSUSE:Factory/.yast2-registration.new/yast2-registration.changes   
    2018-07-24 17:28:11.959744296 +0200
@@ -1,0 +2,6 @@
+Wed Jul 18 10:45:15 CEST 2018 - sch...@suse.de
+
+- Do not crash if getting zypp lock failed. (bnc#1043125)
+- 4.0.43
+
+-------------------------------------------------------------------

Old:
----
  yast2-registration-4.0.42.tar.bz2

New:
----
  yast2-registration-4.0.43.tar.bz2

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

Other differences:
------------------
++++++ yast2-registration.spec ++++++
--- /var/tmp/diff_new_pack.T5UJQ5/_old  2018-07-24 17:28:12.891745478 +0200
+++ /var/tmp/diff_new_pack.T5UJQ5/_new  2018-07-24 17:28:12.895745483 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-registration
-Version:        4.0.42
+Version:        4.0.43
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ yast2-registration-4.0.42.tar.bz2 -> yast2-registration-4.0.43.tar.bz2 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-registration-4.0.42/package/yast2-registration.changes 
new/yast2-registration-4.0.43/package/yast2-registration.changes
--- old/yast2-registration-4.0.42/package/yast2-registration.changes    
2018-07-02 17:15:57.000000000 +0200
+++ new/yast2-registration-4.0.43/package/yast2-registration.changes    
2018-07-18 16:46:49.000000000 +0200
@@ -1,4 +1,10 @@
 -------------------------------------------------------------------
+Wed Jul 18 10:45:15 CEST 2018 - sch...@suse.de
+
+- Do not crash if getting zypp lock failed. (bnc#1043125)
+- 4.0.43
+
+-------------------------------------------------------------------
 Mon Jul  2 17:05:19 CEST 2018 - sch...@suse.de
 
 - Added additional searchkeys to desktop file (fate#321043).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-registration-4.0.42/package/yast2-registration.spec 
new/yast2-registration-4.0.43/package/yast2-registration.spec
--- old/yast2-registration-4.0.42/package/yast2-registration.spec       
2018-07-02 17:15:57.000000000 +0200
+++ new/yast2-registration-4.0.43/package/yast2-registration.spec       
2018-07-18 16:46:49.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-registration
-Version:        4.0.42
+Version:        4.0.43
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-registration-4.0.42/src/clients/scc.rb 
new/yast2-registration-4.0.43/src/clients/scc.rb
--- old/yast2-registration-4.0.42/src/clients/scc.rb    2018-07-02 
17:15:57.000000000 +0200
+++ new/yast2-registration-4.0.43/src/clients/scc.rb    2018-07-18 
16:46:49.000000000 +0200
@@ -52,6 +52,12 @@
           return WFM.call("inst_scc", WFM.Args)
         rescue Registration::SourceRestoreError => e
           retry if fix_repositories(e.message)
+        rescue Registration::PkgAborted => e
+          # Libzypp init has failed because another application
+          # has already locked the zypp stack. The user has already
+          # decided to exit the module. So nothing more has to be
+          # done here.
+          log.info "User abort..."
         ensure
           Wizard.CloseDialog
         end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-registration-4.0.42/src/lib/registration/exceptions.rb 
new/yast2-registration-4.0.43/src/lib/registration/exceptions.rb
--- old/yast2-registration-4.0.42/src/lib/registration/exceptions.rb    
2018-07-02 17:15:57.000000000 +0200
+++ new/yast2-registration-4.0.43/src/lib/registration/exceptions.rb    
2018-07-18 16:46:49.000000000 +0200
@@ -41,4 +41,9 @@
   # generic download error
   class DownloadError < RuntimeError
   end
+
+  # User decision to abort because libzypp has already been
+  # locked by another application.
+  class PkgAborted < RuntimeError
+  end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-registration-4.0.42/src/lib/registration/sw_mgmt.rb 
new/yast2-registration-4.0.43/src/lib/registration/sw_mgmt.rb
--- old/yast2-registration-4.0.42/src/lib/registration/sw_mgmt.rb       
2018-07-02 17:15:57.000000000 +0200
+++ new/yast2-registration-4.0.43/src/lib/registration/sw_mgmt.rb       
2018-07-18 16:46:49.000000000 +0200
@@ -68,6 +68,9 @@
     def self.init(load_packages = false)
       # false = do not allow continuing without the libzypp lock
       lock = PackageLock.Connect(false)
+      # User would like to abort
+      raise_pkg_exception(PkgAborted) if lock["aborted"]
+      # locking has failed
       raise_pkg_exception unless lock["connected"]
 
       # display progress when refreshing repositories
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-registration-4.0.42/test/sw_mgmt_spec.rb 
new/yast2-registration-4.0.43/test/sw_mgmt_spec.rb
--- old/yast2-registration-4.0.42/test/sw_mgmt_spec.rb  2018-07-02 
17:15:57.000000000 +0200
+++ new/yast2-registration-4.0.43/test/sw_mgmt_spec.rb  2018-07-18 
16:46:49.000000000 +0200
@@ -50,11 +50,13 @@
 
   describe ".init" do
     before do
-      allow(Yast::PackageLock).to receive(:Connect).and_return("connected" => 
connected)
+      allow(Yast::PackageLock).to receive(:Connect).and_return("connected" => 
connected,
+                                                               "aborted"   => 
aborted)
     end
 
     context "when the libzypp lock can be obtained" do
       let(:connected) { true }
+      let(:aborted) { false }
 
       before do
         expect(Yast::PackageCallbacks).to receive(:InitPackageCallbacks)
@@ -76,10 +78,22 @@
     end
 
     context "when the libzypp lock cannot be obtained" do
-      let(:connected) { false }
+      context "when user has NOT aborted" do
+        let(:connected) { false }
+        let(:aborted) { false }
+
+        it "raises an PkgError exception" do
+          expect { subject.init }.to raise_error(Registration::PkgError)
+        end
+      end
 
-      it "raises an PkgError exception" do
-        expect { subject.init }.to raise_error(Registration::PkgError)
+      context "when user has aborted" do
+        let(:connected) { false }
+        let(:aborted) { true }
+
+        it "raises an PkgAborted exception" do
+          expect { subject.init }.to raise_error(Registration::PkgAborted)
+        end
       end
     end
   end


Reply via email to