Hello community,
here is the log from the commit of package yast2-update for openSUSE:Factory checked in at 2015-06-03 08:26:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-update (Old)
and /work/SRC/openSUSE:Factory/.yast2-update.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-update"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-update/yast2-update.changes 2015-05-19 23:24:28.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-update.new/yast2-update.changes 2015-06-03 08:26:42.000000000 +0200
@@ -1,0 +2,19 @@
+Mon Jun 1 08:43:53 UTC 2015 - jreidinger@suse.com
+
+- make junk_cleaner less aggresive to not remove important files
+ (fate#317900)
+- 3.1.31
+
+-------------------------------------------------------------------
+Fri May 29 14:58:19 UTC 2015 - jreidinger@suse.com
+
+- mount properly subvolumes of upgraded system (fate#317900)
+- 3.1.30
+
+-------------------------------------------------------------------
+Thu May 28 11:16:30 UTC 2015 - jreidinger@suse.com
+
+- create pre update snapshot (fate#317900)
+- 3.1.29
+
+-------------------------------------------------------------------
Old:
----
yast2-update-3.1.28.tar.bz2
New:
----
yast2-update-3.1.31.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-update.spec ++++++
--- /var/tmp/diff_new_pack.H4BIAR/_old 2015-06-03 08:26:42.000000000 +0200
+++ /var/tmp/diff_new_pack.H4BIAR/_new 2015-06-03 08:26:42.000000000 +0200
@@ -17,14 +17,14 @@
Name: yast2-update
-Version: 3.1.28
+Version: 3.1.31
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: %{name}-%{version}.tar.bz2
BuildRequires: update-desktop-files
-BuildRequires: yast2 >= 3.1.28
+BuildRequires: yast2 >= 3.1.126
BuildRequires: yast2-devtools >= 3.1.15
BuildRequires: yast2-packager
BuildRequires: yast2-ruby-bindings >= 1.0.0
@@ -40,8 +40,8 @@
# Stroage::ChangeDmNamesFromCrypttab
Requires: yast2-storage >= 2.22.9
-# OSRelease
-Requires: yast2 >= 3.1.28
+# FSSnapshotStore
+Requires: yast2 >= 3.1.126
Requires: yast2-installation
# product update summary
++++++ yast2-update-3.1.28.tar.bz2 -> yast2-update-3.1.31.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-update-3.1.28/package/yast2-update.changes new/yast2-update-3.1.31/package/yast2-update.changes
--- old/yast2-update-3.1.28/package/yast2-update.changes 2015-05-18 17:27:09.000000000 +0200
+++ new/yast2-update-3.1.31/package/yast2-update.changes 2015-06-01 13:59:21.000000000 +0200
@@ -1,4 +1,23 @@
-------------------------------------------------------------------
+Mon Jun 1 08:43:53 UTC 2015 - jreidinger@suse.com
+
+- make junk_cleaner less aggresive to not remove important files
+ (fate#317900)
+- 3.1.31
+
+-------------------------------------------------------------------
+Fri May 29 14:58:19 UTC 2015 - jreidinger@suse.com
+
+- mount properly subvolumes of upgraded system (fate#317900)
+- 3.1.30
+
+-------------------------------------------------------------------
+Thu May 28 11:16:30 UTC 2015 - jreidinger@suse.com
+
+- create pre update snapshot (fate#317900)
+- 3.1.29
+
+-------------------------------------------------------------------
Mon May 18 14:42:15 UTC 2015 - lslezak@suse.cz
- sort patterns in the upgrade summary to have stable output for
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-update-3.1.28/package/yast2-update.spec new/yast2-update-3.1.31/package/yast2-update.spec
--- old/yast2-update-3.1.28/package/yast2-update.spec 2015-05-18 17:27:09.000000000 +0200
+++ new/yast2-update-3.1.31/package/yast2-update.spec 2015-06-01 13:59:21.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-update
-Version: 3.1.28
+Version: 3.1.31
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -28,7 +28,7 @@
BuildRequires: update-desktop-files
BuildRequires: yast2-devtools >= 3.1.15
BuildRequires: yast2-ruby-bindings >= 1.0.0
-BuildRequires: yast2 >= 3.1.28
+BuildRequires: yast2 >= 3.1.126
BuildRequires: yast2-packager
# xmllint
@@ -42,8 +42,8 @@
# Stroage::ChangeDmNamesFromCrypttab
Requires: yast2-storage >= 2.22.9
-# OSRelease
-Requires: yast2 >= 3.1.28
+# FSSnapshotStore
+Requires: yast2 >= 3.1.126
Requires: yast2-installation
# product update summary
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-update-3.1.28/src/bin/remove_junk new/yast2-update-3.1.31/src/bin/remove_junk
--- old/yast2-update-3.1.28/src/bin/remove_junk 2015-05-18 17:27:09.000000000 +0200
+++ new/yast2-update-3.1.31/src/bin/remove_junk 2015-06-01 13:59:21.000000000 +0200
@@ -1,13 +1,15 @@
#!/bin/bash
+# remove old YaST directory from YaST1 era
if test -d $1/var/lib/YaST ; then
/bin/rm -fr $1/var/lib/YaST
fi
if test -d $1/var/lib/YaST2 ; then
- /usr/bin/find $1/var/lib/YaST2 -name "*" -a -type f -a \( -name "users.ycp" -prune -o -exec rm -f -- {} \; \)
+ # place here files from dropped modules
fi
+# remove old you stuff which can be quite big
if test -d $1/var/lib/YaST2/you ; then
/bin/rm -f $1/var/lib/YaST2/you/quickcheck
/bin/rm -fr $1/var/lib/YaST2/you/{files,installed,mnt,scripts}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-update-3.1.28/src/modules/RootPart.rb new/yast2-update-3.1.31/src/modules/RootPart.rb
--- old/yast2-update-3.1.28/src/modules/RootPart.rb 2015-05-18 17:27:09.000000000 +0200
+++ new/yast2-update-3.1.31/src/modules/RootPart.rb 2015-06-01 13:59:21.000000000 +0200
@@ -25,12 +25,15 @@
#
# Purpose: Responsible for searching of root partitions and
# mounting of target partitions.
-#
-# $Id$
+
require "yast"
+require "yast2/fs_snapshot"
+require "yast2/fs_snapshot_store"
module Yast
class RootPartClass < Module
+ NON_MODULAR_FS = ["proc", "sysfs"]
+
def main
Yast.import "UI"
@@ -83,8 +86,6 @@
@already_checked_jfs_partitions = []
- @non_modular_fs = ["proc", "sysfs"]
-
# List of mounted partitions, activated swap partitions and loop devices.
# Amongst other things used for reversing action if mode is changed from
# update to new installation or if root partition for update is changed.
@@ -563,7 +564,7 @@
# @param [String] device string device to mount
# @param [String] mount_type string filesystem type to be specified while mounting
# @return [String] nil on success, error description on fail
- def MountPartition(mount_point, device, mount_type)
+ def MountPartition(mount_point, device, mount_type, fsopts = "")
if mount_type == ""
# e.g. -> "reiserfs"
mount_type = FileSystems.GetMountString(Storage.DetectFs(device), "")
@@ -573,7 +574,7 @@
if mount_type == ""
Builtins.y2warning("Unknown filesystem, skipping modprobe...")
# #211916, sysfs, proc are not modular
- elsif !Builtins.contains(@non_modular_fs, mount_type)
+ elsif !NON_MODULAR_FS.include?(mount_type)
# #167976, was broken with "-t ", modprobe before adding it
Builtins.y2milestone("Calling 'modprobe %1'", mount_type)
SCR.Execute(path(".target.modprobe"), mount_type, "")
@@ -598,7 +599,13 @@
return error_message
end
- mount_type = Ops.add("-t ", mount_type) if mount_type != ""
+ mnt_opts = cleaned_mount_options(fsopts)
+
+ mnt_opts = "-o " + mnt_opts unless mnt_opts.empty?
+
+ mnt_opts << " -t #{mount_type}" if mount_type != ""
+
+ Builtins.y2milestone("mount options '#{mnt_opts}'")
ret = Convert.to_boolean(
SCR.Execute(
@@ -608,7 +615,7 @@
Ops.add(Installation.destdir, mount_point),
Installation.mountlog
],
- mount_type
+ mnt_opts
)
)
if ret
@@ -629,10 +636,10 @@
# @param [String] device string device to mount
# @param [String] mount_type string filesystem type to be specified while mounting
# @return [String] nil on success, error description on fail
- def FsckAndMount(mount_point, device, mount_type)
+ def FsckAndMount(mount_point, device, mount_type, mntopts="")
FSCKPartition(device)
- ret = MountPartition(mount_point, device, mount_type)
+ ret = MountPartition(mount_point, device, mount_type, mntopts)
if ret == nil
AddMountedPartition(
@@ -1242,7 +1249,7 @@
mount_err = ""
while mount_err != nil
- mount_err = FsckAndMount(fspath, spec, mount_type)
+ mount_err = FsckAndMount(fspath, spec, mount_type, mntops)
if mount_err != nil
Builtins.y2error(
"mounting %1 (type %2) on %3 failed",
@@ -1797,6 +1804,10 @@
# enter the mount points of the newly mounted partitions
# in the target map of the storage module
AddToTargetMap()
+ if Yast2::FsSnapshot.configured?
+ snapshot = Yast2::FsSnapshot.create_pre("before upgrade")
+ Yast2::FsSnapshotStore.save("upgrade", snapshot.number)
+ end
Update.clean_backup
create_backup
end
@@ -1903,7 +1914,7 @@
end
# mustn't be empty and must be modular
- if mount_type != "" && !Builtins.contains(@non_modular_fs, mount_type)
+ if mount_type != "" && !NON_MODULAR_FS.include?(mount_type)
SCR.Execute(path(".target.modprobe"), mount_type, "")
end
# mount (read-only) partition to Installation::destdir
@@ -2214,6 +2225,18 @@
nil
end
+ IGNORED_OPTIONS = [
+ "ro", # in installation do not mount anything RO
+ "defaults", # special defaults options in fstab
+ /^locale=.*$/, #avoid locale for NTFS
+ ]
+
+ def cleaned_mount_options(mount_options)
+ elements = mount_options.split(",")
+ elements.delete_if { |e| IGNORED_OPTIONS.any? { |o| o === e } }
+ elements.join(",")
+ end
+
publish :variable => :selectedRootPartition, :type => "string"
publish :variable => :previousRootPartition, :type => "string"
publish :variable => :rootPartitions, :type => "map