Hello community,

here is the log from the commit of package yast2-packager for openSUSE:Factory 
checked in at 2016-10-26 13:26:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-packager (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-packager.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-packager"

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-packager/yast2-packager.changes    
2016-10-18 13:28:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-packager.new/yast2-packager.changes       
2016-10-26 13:26:49.000000000 +0200
@@ -1,0 +2,8 @@
+Mon Oct 24 14:54:59 CEST 2016 - [email protected]
+
+- Faking /etc/mtab on target system for post RPM installation
+  actions which depend on it, e.g. checking if there is a /home
+  directory. (bnc#995299)
+- 3.2.5
+
+-------------------------------------------------------------------

Old:
----
  yast2-packager-3.2.4.tar.bz2

New:
----
  yast2-packager-3.2.5.tar.bz2

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

Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.qI6Qw1/_old  2016-10-26 13:26:53.000000000 +0200
+++ /var/tmp/diff_new_pack.qI6Qw1/_new  2016-10-26 13:26:53.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-packager
-Version:        3.2.4
+Version:        3.2.5
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ yast2-packager-3.2.4.tar.bz2 -> yast2-packager-3.2.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-3.2.4/package/yast2-packager.changes 
new/yast2-packager-3.2.5/package/yast2-packager.changes
--- old/yast2-packager-3.2.4/package/yast2-packager.changes     2016-10-17 
13:13:41.000000000 +0200
+++ new/yast2-packager-3.2.5/package/yast2-packager.changes     2016-10-24 
15:44:34.000000000 +0200
@@ -1,4 +1,12 @@
 -------------------------------------------------------------------
+Mon Oct 24 14:54:59 CEST 2016 - [email protected]
+
+- Faking /etc/mtab on target system for post RPM installation
+  actions which depend on it, e.g. checking if there is a /home
+  directory. (bnc#995299)
+- 3.2.5
+
+-------------------------------------------------------------------
 Mon Oct 17 07:41:00 UTC 2016 - [email protected]
 
 - Update the priority for the loaded packages when starting the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-3.2.4/package/yast2-packager.spec 
new/yast2-packager-3.2.5/package/yast2-packager.spec
--- old/yast2-packager-3.2.4/package/yast2-packager.spec        2016-10-17 
13:13:41.000000000 +0200
+++ new/yast2-packager-3.2.5/package/yast2-packager.spec        2016-10-24 
15:44:34.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-packager
-Version:        3.2.4
+Version:        3.2.5
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-3.2.4/src/clients/inst_kickoff.rb 
new/yast2-packager-3.2.5/src/clients/inst_kickoff.rb
--- old/yast2-packager-3.2.4/src/clients/inst_kickoff.rb        2016-10-17 
13:13:41.000000000 +0200
+++ new/yast2-packager-3.2.5/src/clients/inst_kickoff.rb        2016-10-24 
15:44:34.000000000 +0200
@@ -28,6 +28,12 @@
       Yast.import "Arch"
       Yast.import "FileUtils"
       Yast.import "String"
+      Yast.import "Mtab"
+
+      if !Mode.update
+        # fake mtab on target system for rpm post-scripts
+        Mtab.clone_to_target
+      end
 
       # Feature #301903, bugzilla #244937
       if Mode.update
@@ -159,6 +165,9 @@
           end
         end
 
+        # fake mtab on target system
+        Mtab.clone_to_target
+
         # F#302660: System installation and upgrade workflow: kernel %post
         # calling ins_bootloader write all config files for bootloader
         #      if (Stage::initial ())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-3.2.4/src/modules/Mtab.rb 
new/yast2-packager-3.2.5/src/modules/Mtab.rb
--- old/yast2-packager-3.2.4/src/modules/Mtab.rb        1970-01-01 
01:00:00.000000000 +0100
+++ new/yast2-packager-3.2.5/src/modules/Mtab.rb        2016-10-24 
15:44:34.000000000 +0200
@@ -0,0 +1,49 @@
+#
+# Handling of /etc/mtab and /mnt/etc/mtab
+#
+require "yast"
+
+module Yast
+  class MtabClass < Module
+    include Yast::Logger
+
+    MTABNAME = "/etc/mtab"
+
+    def main
+      Yast.import "Installation"
+    end
+
+    #
+    # Reading /etc/mtab from inst-sys, removing all /mnt headings
+    # and writing this patched mtab into target system.
+    #
+    def clone_to_target
+      log.info("Copying /etc/mtab to the target system...")
+      mtab = WFM.Read(path(".local.string"), MTABNAME)
+      # remove non-existing mount points
+      mtab_lines = mtab.split("\n")
+      mtab_lines.map! do |mtab_line|
+        # Filter out all non-existing entries/directories
+        columns = mtab_line.split
+        if File.directory?(columns[1])
+          # remove heading /mnt from directory entry
+          columns[1] = columns[1][4..-1] if columns[1].start_with?("/mnt")
+          columns.join(" ")
+        else
+          nil
+        end
+      end
+
+      # join back the lines
+      mtab = mtab_lines.compact.join("\n")
+      log.info("Target /etc/mtab file: #{mtab}")
+      SCR.Write(path(".target.string"),
+        File.join(Installation.destdir, MTABNAME), mtab)
+    end
+
+    publish :function => :clone_to_target, :type => "boolean ()"
+  end
+
+  Mtab = MtabClass.new
+  Mtab.main
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-3.2.4/test/data/org_mtab 
new/yast2-packager-3.2.5/test/data/org_mtab
--- old/yast2-packager-3.2.4/test/data/org_mtab 1970-01-01 01:00:00.000000000 
+0100
+++ new/yast2-packager-3.2.5/test/data/org_mtab 2016-10-24 15:44:34.000000000 
+0200
@@ -0,0 +1,39 @@
+tmpfs / tmpfs rw,relatime,size=1016112k,nr_inodes=0 0 0
+proc /proc proc rw,relatime 0 0
+sysfs /sys sysfs rw,relatime 0 0
+/dev/loop0 /parts/mp_0000 squashfs ro,relatime 0 0
+/dev/loop1 /parts/mp_0001 squashfs ro,relatime 0 0
+devtmpfs /dev devtmpfs rw,relatime,size=462120k,nr_inodes=115530,mode=755 0 0
+devpts /dev/pts devpts rw,relatime,mode=600,ptmxmode=000 0 0
+rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
+/dev/loop2 /mounts/mp_0000 squashfs ro,relatime 0 0
+/dev/loop3 /mounts/mp_0001 squashfs ro,relatime 0 0
+/dev/loop4 /mounts/mp_0002 squashfs ro,relatime 0 0
+/dev/loop5 /mounts/mp_0003 squashfs ro,relatime 0 0
+/dev/loop6 /mounts/mp_0004 squashfs ro,relatime 0 0
+/dev/vda2 /mnt btrfs rw,relatime,space_cache,subvolid=257,subvol=/@ 0 0
+/dev/vda2 /mnt/boot/grub2/i386-pc btrfs 
rw,relatime,space_cache,subvolid=258,subvol=/@/boot/grub2/i386-pc 0 0
+/dev/vda2 /mnt/boot/grub2/x86_64-efi btrfs 
rw,relatime,space_cache,subvolid=259,subvol=/@/boot/grub2/x86_64-efi 0 0
+/dev/vda2 /mnt/home btrfs rw,relatime,space_cache,subvolid=260,subvol=/@/home 
0 0
+/dev/vda2 /mnt/opt btrfs rw,relatime,space_cache,subvolid=261,subvol=/@/opt 0 0
+/dev/vda2 /mnt/srv btrfs rw,relatime,space_cache,subvolid=262,subvol=/@/srv 0 0
+/dev/vda2 /mnt/tmp btrfs rw,relatime,space_cache,subvolid=263,subvol=/@/tmp 0 0
+/dev/vda2 /mnt/usr/local btrfs 
rw,relatime,space_cache,subvolid=264,subvol=/@/usr/local 0 0
+/dev/vda2 /mnt/var/cache btrfs 
rw,relatime,space_cache,subvolid=265,subvol=/@/var/cache 0 0
+/dev/vda2 /mnt/var/crash btrfs 
rw,relatime,space_cache,subvolid=266,subvol=/@/var/crash 0 0
+/dev/vda2 /mnt/var/lib/libvirt/images btrfs 
rw,relatime,space_cache,subvolid=267,subvol=/@/var/lib/libvirt/images 0 0
+/dev/vda2 /mnt/var/lib/machines btrfs 
rw,relatime,space_cache,subvolid=268,subvol=/@/var/lib/machines 0 0
+/dev/vda2 /mnt/var/lib/mailman btrfs 
rw,relatime,space_cache,subvolid=269,subvol=/@/var/lib/mailman 0 0
+/dev/vda2 /mnt/var/lib/mariadb btrfs 
rw,relatime,space_cache,subvolid=270,subvol=/@/var/lib/mariadb 0 0
+/dev/vda2 /mnt/var/lib/mysql btrfs 
rw,relatime,space_cache,subvolid=271,subvol=/@/var/lib/mysql 0 0
+/dev/vda2 /mnt/var/lib/named btrfs 
rw,relatime,space_cache,subvolid=272,subvol=/@/var/lib/named 0 0
+/dev/vda2 /mnt/var/lib/pgsql btrfs 
rw,relatime,space_cache,subvolid=273,subvol=/@/var/lib/pgsql 0 0
+/dev/vda2 /mnt/var/log btrfs 
rw,relatime,space_cache,subvolid=274,subvol=/@/var/log 0 0
+/dev/vda2 /mnt/var/opt btrfs 
rw,relatime,space_cache,subvolid=275,subvol=/@/var/opt 0 0
+/dev/vda2 /mnt/var/spool btrfs 
rw,relatime,space_cache,subvolid=276,subvol=/@/var/spool 0 0
+/dev/vda2 /mnt/var/tmp btrfs 
rw,relatime,space_cache,subvolid=277,subvol=/@/var/tmp 0 0
+devtmpfs /mnt/dev devtmpfs rw,relatime,size=462120k,nr_inodes=115530,mode=755 
0 0
+proc /mnt/proc proc rw,relatime 0 0
+sysfs /mnt/sys sysfs rw,relatime 0 0
+tmpfs /mnt/run tmpfs rw,relatime,size=1016112k,nr_inodes=0 0 0
+/dev/sr0 /mnt/var/tmp/AP_0xdxoI8b iso9660 ro,relatime 0 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-3.2.4/test/data/patched_mtab 
new/yast2-packager-3.2.5/test/data/patched_mtab
--- old/yast2-packager-3.2.4/test/data/patched_mtab     1970-01-01 
01:00:00.000000000 +0100
+++ new/yast2-packager-3.2.5/test/data/patched_mtab     2016-10-24 
15:44:34.000000000 +0200
@@ -0,0 +1,39 @@
+tmpfs / tmpfs rw,relatime,size=1016112k,nr_inodes=0 0 0
+proc /proc proc rw,relatime 0 0
+sysfs /sys sysfs rw,relatime 0 0
+/dev/loop0 /parts/mp_0000 squashfs ro,relatime 0 0
+/dev/loop1 /parts/mp_0001 squashfs ro,relatime 0 0
+devtmpfs /dev devtmpfs rw,relatime,size=462120k,nr_inodes=115530,mode=755 0 0
+devpts /dev/pts devpts rw,relatime,mode=600,ptmxmode=000 0 0
+rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
+/dev/loop2 /mounts/mp_0000 squashfs ro,relatime 0 0
+/dev/loop3 /mounts/mp_0001 squashfs ro,relatime 0 0
+/dev/loop4 /mounts/mp_0002 squashfs ro,relatime 0 0
+/dev/loop5 /mounts/mp_0003 squashfs ro,relatime 0 0
+/dev/loop6 /mounts/mp_0004 squashfs ro,relatime 0 0
+/dev/vda2  btrfs rw,relatime,space_cache,subvolid=257,subvol=/@ 0 0
+/dev/vda2 /boot/grub2/i386-pc btrfs 
rw,relatime,space_cache,subvolid=258,subvol=/@/boot/grub2/i386-pc 0 0
+/dev/vda2 /boot/grub2/x86_64-efi btrfs 
rw,relatime,space_cache,subvolid=259,subvol=/@/boot/grub2/x86_64-efi 0 0
+/dev/vda2 /home btrfs rw,relatime,space_cache,subvolid=260,subvol=/@/home 0 0
+/dev/vda2 /opt btrfs rw,relatime,space_cache,subvolid=261,subvol=/@/opt 0 0
+/dev/vda2 /srv btrfs rw,relatime,space_cache,subvolid=262,subvol=/@/srv 0 0
+/dev/vda2 /tmp btrfs rw,relatime,space_cache,subvolid=263,subvol=/@/tmp 0 0
+/dev/vda2 /usr/local btrfs 
rw,relatime,space_cache,subvolid=264,subvol=/@/usr/local 0 0
+/dev/vda2 /var/cache btrfs 
rw,relatime,space_cache,subvolid=265,subvol=/@/var/cache 0 0
+/dev/vda2 /var/crash btrfs 
rw,relatime,space_cache,subvolid=266,subvol=/@/var/crash 0 0
+/dev/vda2 /var/lib/libvirt/images btrfs 
rw,relatime,space_cache,subvolid=267,subvol=/@/var/lib/libvirt/images 0 0
+/dev/vda2 /var/lib/machines btrfs 
rw,relatime,space_cache,subvolid=268,subvol=/@/var/lib/machines 0 0
+/dev/vda2 /var/lib/mailman btrfs 
rw,relatime,space_cache,subvolid=269,subvol=/@/var/lib/mailman 0 0
+/dev/vda2 /var/lib/mariadb btrfs 
rw,relatime,space_cache,subvolid=270,subvol=/@/var/lib/mariadb 0 0
+/dev/vda2 /var/lib/mysql btrfs 
rw,relatime,space_cache,subvolid=271,subvol=/@/var/lib/mysql 0 0
+/dev/vda2 /var/lib/named btrfs 
rw,relatime,space_cache,subvolid=272,subvol=/@/var/lib/named 0 0
+/dev/vda2 /var/lib/pgsql btrfs 
rw,relatime,space_cache,subvolid=273,subvol=/@/var/lib/pgsql 0 0
+/dev/vda2 /var/log btrfs 
rw,relatime,space_cache,subvolid=274,subvol=/@/var/log 0 0
+/dev/vda2 /var/opt btrfs 
rw,relatime,space_cache,subvolid=275,subvol=/@/var/opt 0 0
+/dev/vda2 /var/spool btrfs 
rw,relatime,space_cache,subvolid=276,subvol=/@/var/spool 0 0
+/dev/vda2 /var/tmp btrfs 
rw,relatime,space_cache,subvolid=277,subvol=/@/var/tmp 0 0
+devtmpfs /dev devtmpfs rw,relatime,size=462120k,nr_inodes=115530,mode=755 0 0
+proc /proc proc rw,relatime 0 0
+sysfs /sys sysfs rw,relatime 0 0
+tmpfs /run tmpfs rw,relatime,size=1016112k,nr_inodes=0 0 0
+/dev/sr0 /var/tmp/AP_0xdxoI8b iso9660 ro,relatime 0 0
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-3.2.4/test/mtab_test.rb 
new/yast2-packager-3.2.5/test/mtab_test.rb
--- old/yast2-packager-3.2.4/test/mtab_test.rb  1970-01-01 01:00:00.000000000 
+0100
+++ new/yast2-packager-3.2.5/test/mtab_test.rb  2016-10-24 15:44:34.000000000 
+0200
@@ -0,0 +1,34 @@
+#!/usr/bin/env rspec
+
+require_relative "test_helper"
+
+Yast.import "Mtab"
+Yast.import "WFM"
+Yast.import "SCR"
+
+DATA_PATH = File.join(File.expand_path(File.dirname(__FILE__)), "data")
+MTABNAME = "/etc/mtab"
+DESTDIR = "/mnt"
+
+describe Yast::Mtab do
+  subject(:mtab)  { Yast::Mtab }
+
+  describe "#clone_to_target" do
+    let (:org_mtab) { File.open(File.join(DATA_PATH, "org_mtab"), "rb") { 
|file| file.read } }
+    let (:patched_mtab) { File.open(File.join(DATA_PATH, "patched_mtab"), 
"rb") { |file| file.read } }
+
+    before do
+      expect(Yast::WFM).to receive(:Read).
+        with(Yast::Path.new(".local.string"), MTABNAME).
+        and_return(org_mtab)
+      expect(Yast::SCR).to receive(:Write).
+        with(Yast::Path.new(".target.string"), File.join(DESTDIR, MTABNAME), 
patched_mtab)
+      allow(File).to receive(:directory?).and_return(true)
+      allow(Yast::Installation).to receive(:destdir).and_return(DESTDIR)
+    end
+
+    it "writes /etc/mtab to target system" do
+      mtab.clone_to_target
+    end
+  end
+end


Reply via email to