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 - [email protected] + +- make junk_cleaner less aggresive to not remove important files + (fate#317900) +- 3.1.31 + +------------------------------------------------------------------- +Fri May 29 14:58:19 UTC 2015 - [email protected] + +- mount properly subvolumes of upgraded system (fate#317900) +- 3.1.30 + +------------------------------------------------------------------- +Thu May 28 11:16:30 UTC 2015 - [email protected] + +- 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 - [email protected] + +- make junk_cleaner less aggresive to not remove important files + (fate#317900) +- 3.1.31 + +------------------------------------------------------------------- +Fri May 29 14:58:19 UTC 2015 - [email protected] + +- mount properly subvolumes of upgraded system (fate#317900) +- 3.1.30 + +------------------------------------------------------------------- +Thu May 28 11:16:30 UTC 2015 - [email protected] + +- create pre update snapshot (fate#317900) +- 3.1.29 + +------------------------------------------------------------------- Mon May 18 14:42:15 UTC 2015 - [email protected] - 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 <string, map>" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-update-3.1.28/test/Makefile.am new/yast2-update-3.1.31/test/Makefile.am --- old/yast2-update-3.1.28/test/Makefile.am 2015-05-18 17:27:09.000000000 +0200 +++ new/yast2-update-3.1.31/test/Makefile.am 2015-06-01 13:59:21.000000000 +0200 @@ -1,4 +1,5 @@ TESTS = \ + root_part_test.rb \ suse_release_test.rb \ update_test.rb diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-update-3.1.28/test/root_part_test.rb new/yast2-update-3.1.31/test/root_part_test.rb --- old/yast2-update-3.1.28/test/root_part_test.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-update-3.1.31/test/root_part_test.rb 2015-06-01 13:59:21.000000000 +0200 @@ -0,0 +1,8 @@ +#!/usr/bin/env rspec + +require_relative "test_helper" + +Yast.import "RootPart" + +describe Yast::RootPart do +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-update-3.1.28/test/suse_release_test.rb new/yast2-update-3.1.31/test/suse_release_test.rb --- old/yast2-update-3.1.28/test/suse_release_test.rb 2015-05-18 17:27:09.000000000 +0200 +++ new/yast2-update-3.1.31/test/suse_release_test.rb 2015-06-01 13:59:21.000000000 +0200 @@ -1,8 +1,6 @@ #!/usr/bin/env rspec -ENV["Y2DIR"] = File.join(File.expand_path(File.dirname(__FILE__)), "../src/") - -require "yast" +require_relative "test_helper" Yast.import "SUSERelease" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-update-3.1.28/test/test_helper.rb new/yast2-update-3.1.31/test/test_helper.rb --- old/yast2-update-3.1.28/test/test_helper.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-update-3.1.31/test/test_helper.rb 2015-06-01 13:59:21.000000000 +0200 @@ -0,0 +1,4 @@ +ENV["Y2DIR"] = File.join(File.expand_path(File.dirname(__FILE__)), "../src/") + +require "yast" +require "yast/rspec" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-update-3.1.28/test/update_test.rb new/yast2-update-3.1.31/test/update_test.rb --- old/yast2-update-3.1.28/test/update_test.rb 2015-05-18 17:27:09.000000000 +0200 +++ new/yast2-update-3.1.31/test/update_test.rb 2015-06-01 13:59:21.000000000 +0200 @@ -1,8 +1,6 @@ #!/usr/bin/env rspec -ENV["Y2DIR"] = File.join(File.expand_path(File.dirname(__FILE__)), "../src/") - -require "yast" +require_relative "test_helper" Yast.import "Update" Yast.import "Installation"
