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
