Hello community,
here is the log from the commit of package yast2-installation for
openSUSE:Factory checked in at 2018-05-17 19:32:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-installation (Old)
and /work/SRC/openSUSE:Factory/.yast2-installation.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-installation"
Thu May 17 19:32:31 2018 rev:404 rq:609807 version:4.0.60
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-installation/yast2-installation.changes
2018-05-13 15:58:24.824892313 +0200
+++
/work/SRC/openSUSE:Factory/.yast2-installation.new/yast2-installation.changes
2018-05-17 19:32:35.460858289 +0200
@@ -1,0 +2,8 @@
+Wed May 16 12:50:36 UTC 2018 - [email protected]
+
+- Do not try to set read-only property to default BTRFS subvolume
+ if the filesystem already existed on disk (needed for
+ bsc#1091047).
+- 4.0.60
+
+-------------------------------------------------------------------
Old:
----
yast2-installation-4.0.59.tar.bz2
New:
----
yast2-installation-4.0.60.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-installation.spec ++++++
--- /var/tmp/diff_new_pack.7UtZS7/_old 2018-05-17 19:32:36.080835638 +0200
+++ /var/tmp/diff_new_pack.7UtZS7/_new 2018-05-17 19:32:36.084835492 +0200
@@ -17,7 +17,7 @@
Name: yast2-installation
-Version: 4.0.59
+Version: 4.0.60
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -28,7 +28,7 @@
Requires: yast2-ruby-bindings >= 4.0.6
Summary: YaST2 - Installation Parts
-License: GPL-2.0
+License: GPL-2.0-only
Group: System/YaST
Source1: YaST2-Second-Stage.service
++++++ yast2-installation-4.0.59.tar.bz2 -> yast2-installation-4.0.60.tar.bz2
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.59/package/yast2-installation.changes
new/yast2-installation-4.0.60/package/yast2-installation.changes
--- old/yast2-installation-4.0.59/package/yast2-installation.changes
2018-05-11 10:48:59.000000000 +0200
+++ new/yast2-installation-4.0.60/package/yast2-installation.changes
2018-05-16 15:51:12.000000000 +0200
@@ -1,4 +1,12 @@
-------------------------------------------------------------------
+Wed May 16 12:50:36 UTC 2018 - [email protected]
+
+- Do not try to set read-only property to default BTRFS subvolume
+ if the filesystem already existed on disk (needed for
+ bsc#1091047).
+- 4.0.60
+
+-------------------------------------------------------------------
Thu May 10 13:10:41 UTC 2018 - [email protected]
- Log a warning when umounting a filesystem fails after
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.59/package/yast2-installation.spec
new/yast2-installation-4.0.60/package/yast2-installation.spec
--- old/yast2-installation-4.0.59/package/yast2-installation.spec
2018-05-11 10:48:59.000000000 +0200
+++ new/yast2-installation-4.0.60/package/yast2-installation.spec
2018-05-16 15:51:12.000000000 +0200
@@ -16,7 +16,7 @@
#
Name: yast2-installation
-Version: 4.0.59
+Version: 4.0.60
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.59/src/lib/installation/clients/umount_finish.rb
new/yast2-installation-4.0.60/src/lib/installation/clients/umount_finish.rb
--- old/yast2-installation-4.0.59/src/lib/installation/clients/umount_finish.rb
2018-05-11 10:48:59.000000000 +0200
+++ new/yast2-installation-4.0.60/src/lib/installation/clients/umount_finish.rb
2018-05-16 15:51:12.000000000 +0200
@@ -404,7 +404,7 @@
devicegraph = Y2Storage::StorageManager.instance.staging
ro_btrfs_filesystems = devicegraph.filesystems.select do |fs|
- fs.is?(:btrfs) && fs.mount_point && fs.mount_options.include?("ro")
+ new_filesystem?(fs) && ro_btrfs_filesystem?(fs)
end
ro_btrfs_filesystems.each { |f| default_subvolume_as_ro(f) }
@@ -445,5 +445,23 @@
end
log.warn("Running processes using #{mount_point}: #{fuser}")
end
+
+ private
+
+ # Check whether the given filesystem is going to be created
+ #
+ # @param filesystem [Y2Storage::Filesystems::Base]
+ # @return [Boolean]
+ def new_filesystem?(filesystem)
+ !filesystem.exists_in_probed?
+ end
+
+ # Check whether the given filesystem is read-only BTRFS
+ #
+ # @param filesystem [Y2Storage::Filesystems::Base]
+ # @return [Boolean]
+ def ro_btrfs_filesystem?(filesystem)
+ filesystem.is?(:btrfs) && filesystem.mount_point &&
filesystem.mount_options.include?("ro")
+ end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.59/test/lib/clients/umount_finish_test.rb
new/yast2-installation-4.0.60/test/lib/clients/umount_finish_test.rb
--- old/yast2-installation-4.0.59/test/lib/clients/umount_finish_test.rb
2018-05-11 10:48:59.000000000 +0200
+++ new/yast2-installation-4.0.60/test/lib/clients/umount_finish_test.rb
2018-05-16 15:51:12.000000000 +0200
@@ -27,10 +27,11 @@
let(:root_fs) do
instance_double(
Y2Storage::Filesystems::Btrfs,
- is?: true,
mount_point: mount_point,
mount_options: mount_options,
- subvolumes_prefix: subvolumes_prefix
+ subvolumes_prefix: subvolumes_prefix,
+ is?: is_btrfs,
+ exists_in_probed?: !is_new
)
end
@@ -38,6 +39,8 @@
let(:mount_options) { ["ro"] }
let(:subvolumes_prefix) { "@" }
let(:get_default) { "ID 276 gen 1172 top level 275 path
@/.snapshots/1/snapshot\n" }
+ let(:is_btrfs) { true }
+ let(:is_new) { true }
context "when a Btrfs filesystem is mounted as read-only" do
context "and there is no subvolume_prefix" do
@@ -116,8 +119,18 @@
end
end
- context "when a non-Btrfs filesystem is mounted" do
- let(:root_fs) { instance_double(Y2Storage::Filesystems::Base, is?:
false) }
+ context "when Btrfs filesystem is not mounted as read-only" do
+ let(:mount_options) { [] }
+
+ it "does not try to set 'ro' property" do
+ expect(Yast::Execute).to_not receive(:on_target)
+ .with("btrfs", "property", "set", any_args)
+ client.set_btrfs_defaults_as_ro
+ end
+ end
+
+ context "when a Btrfs filesystem already exists on disk" do
+ let(:is_new) { false }
it "does not try to set 'ro' property for that filesystem" do
expect(Yast::Execute).to_not receive(:on_target)
@@ -126,10 +139,10 @@
end
end
- context "when Btrfs filesystem is not mounted as read-only" do
- let(:mount_options) { [] }
+ context "when a non-Btrfs filesystem is mounted" do
+ let(:is_btrfs) { false }
- it "does not try to set 'ro' property" do
+ it "does not try to set 'ro' property for that filesystem" do
expect(Yast::Execute).to_not receive(:on_target)
.with("btrfs", "property", "set", any_args)
client.set_btrfs_defaults_as_ro