Hello community,

here is the log from the commit of package yast2-update for openSUSE:Factory 
checked in at 2019-10-16 09:10:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-update (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-update.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-update"

Wed Oct 16 09:10:00 2019 rev:132 rq:737516 version:4.2.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-update/yast2-update.changes        
2019-10-03 14:07:26.576411540 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-update.new.2352/yast2-update.changes      
2019-10-16 09:10:02.152279321 +0200
@@ -1,0 +2,7 @@
+Wed Oct  9 08:57:14 UTC 2019 - Martin Vidner <[email protected]>
+
+- At upgrade time, mount also /run and efivars in the target,
+  to fix hanging LVM tools (bsc#1148500)
+- 4.2.7
+
+-------------------------------------------------------------------

Old:
----
  yast2-update-4.2.6.tar.bz2

New:
----
  yast2-update-4.2.7.tar.bz2

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

Other differences:
------------------
++++++ yast2-update.spec ++++++
--- /var/tmp/diff_new_pack.ryHSU8/_old  2019-10-16 09:10:02.644278053 +0200
+++ /var/tmp/diff_new_pack.ryHSU8/_new  2019-10-16 09:10:02.648278042 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-update
-Version:        4.2.6
+Version:        4.2.7
 Release:        0
 Summary:        YaST2 - Update
 License:        GPL-2.0-only

++++++ yast2-update-4.2.6.tar.bz2 -> yast2-update-4.2.7.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-update-4.2.6/package/yast2-update.changes 
new/yast2-update-4.2.7/package/yast2-update.changes
--- old/yast2-update-4.2.6/package/yast2-update.changes 2019-10-01 
13:42:57.000000000 +0200
+++ new/yast2-update-4.2.7/package/yast2-update.changes 2019-10-11 
15:23:59.000000000 +0200
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Wed Oct  9 08:57:14 UTC 2019 - Martin Vidner <[email protected]>
+
+- At upgrade time, mount also /run and efivars in the target,
+  to fix hanging LVM tools (bsc#1148500)
+- 4.2.7
+
+-------------------------------------------------------------------
 Mon Sep 30 15:09:44 UTC 2019 - José Iván López González <[email protected]>
 
 - Use new API to save encryption names from crypttab file (part of
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-update-4.2.6/package/yast2-update.spec 
new/yast2-update-4.2.7/package/yast2-update.spec
--- old/yast2-update-4.2.6/package/yast2-update.spec    2019-10-01 
13:42:57.000000000 +0200
+++ new/yast2-update-4.2.7/package/yast2-update.spec    2019-10-11 
15:23:59.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-update
-Version:        4.2.6
+Version:        4.2.7
 Release:        0
 Summary:        YaST2 - Update
 Group:          System/YaST
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-update-4.2.6/src/modules/RootPart.rb 
new/yast2-update-4.2.7/src/modules/RootPart.rb
--- old/yast2-update-4.2.6/src/modules/RootPart.rb      2019-10-01 
13:42:57.000000000 +0200
+++ new/yast2-update-4.2.7/src/modules/RootPart.rb      2019-10-11 
15:23:59.000000000 +0200
@@ -808,10 +808,9 @@
       end
     end
 
-    #
-    def MountFSTab(fstab, message)
-      fstab = deep_copy(fstab)
-
+    # Mount /sys /proc and the like inside Installation.destdir
+    # @return [void]
+    def mount_specials_in_destdir
       # mount sysfs first
       if MountPartition("/sys", "sysfs", "sysfs") == nil
         AddMountedPartition(
@@ -832,6 +831,34 @@
         )
       end
 
+      efivars_path = "/sys/firmware/efi/efivars"
+      if ::File.exist?(efivars_path)
+        if MountPartition(efivars_path, "efivarfs", "efivarfs") == nil
+          AddMountedPartition(
+            { :type => "mount", :device => "efivarfs", :mntpt => efivars_path }
+          )
+        end
+      end
+
+      # MountPartition does not work here
+      # because it turns --bind into -o --bind
+      if SCR.Execute(
+          path(".target.mount"),
+          ["/run", ::File.join(Installation.destdir, "run"), 
Installation.mountlog],
+          "--bind"
+         )
+        AddMountedPartition(
+          { :type => "mount", :device => "none", :mntpt => "/run" }
+        )
+      end
+    end
+
+    #
+    def MountFSTab(fstab, message)
+      fstab = deep_copy(fstab)
+
+      mount_specials_in_destdir
+
       success = true
 
       Builtins.foreach(fstab) do |mounts|
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-update-4.2.6/test/root_part_test.rb 
new/yast2-update-4.2.7/test/root_part_test.rb
--- old/yast2-update-4.2.6/test/root_part_test.rb       2019-10-01 
13:42:57.000000000 +0200
+++ new/yast2-update-4.2.7/test/root_part_test.rb       2019-10-11 
15:23:59.000000000 +0200
@@ -202,6 +202,19 @@
     end
   end
 
+  describe "#mount_specials_in_destdir" do
+    before do
+      allow(subject).to receive(:MountPartition).and_return(nil)
+      allow(subject).to receive(:AddMountedPartition)
+      expect(File).to receive(:exist?).and_return(true)
+      allow(Yast::SCR).to receive(:Execute).with(Yast::Path, Array, String)
+    end
+
+    it "does not crash" do
+      expect { subject.mount_specials_in_destdir }.to_not raise_error
+    end
+  end
+
   describe "#MountFSTab" do
     before do
       stub_storage(scenario)


Reply via email to