Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package yast2-storage-ng for
openSUSE:Factory checked in at 2021-12-13 20:42:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-storage-ng (Old)
and /work/SRC/openSUSE:Factory/.yast2-storage-ng.new.2520 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-storage-ng"
Mon Dec 13 20:42:17 2021 rev:112 rq:939113 version:4.4.23
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-storage-ng/yast2-storage-ng.changes
2021-12-03 20:35:51.352122847 +0100
+++
/work/SRC/openSUSE:Factory/.yast2-storage-ng.new.2520/yast2-storage-ng.changes
2021-12-13 20:46:57.816503947 +0100
@@ -1,0 +2,19 @@
+Fri Dec 10 10:18:05 UTC 2021 - Jos?? Iv??n L??pez Gonz??lez <[email protected]>
+
+- Proposal: add support for mount options (related to fate#318196).
+- 4.4.23
+
+-------------------------------------------------------------------
+Thu Dec 9 13:25:29 UTC 2021 - Steffen Winterfeldt <[email protected]>
+
+- use libstorage-ng to determine whether efibootmgr is available
+ (bsc#937067)
+- 4.4.22
+
+-------------------------------------------------------------------
+Wed Dec 8 10:01:35 UTC 2021 - Josef Reidinger <[email protected]>
+
+- Prepare code for ruby3 - adapt openstruct usage (bsc#1193192)
+- 4.4.21
+
+-------------------------------------------------------------------
Old:
----
yast2-storage-ng-4.4.20.tar.bz2
New:
----
yast2-storage-ng-4.4.23.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-storage-ng.spec ++++++
--- /var/tmp/diff_new_pack.CL2WHe/_old 2021-12-13 20:46:58.448504025 +0100
+++ /var/tmp/diff_new_pack.CL2WHe/_new 2021-12-13 20:46:58.452504025 +0100
@@ -17,7 +17,7 @@
Name: yast2-storage-ng
-Version: 4.4.20
+Version: 4.4.23
Release: 0
Summary: YaST2 - Storage Configuration
License: GPL-2.0-only OR GPL-3.0-only
@@ -26,8 +26,8 @@
Source: %{name}-%{version}.tar.bz2
-# Encryption#pbkdf
-BuildRequires: libstorage-ng-ruby >= 4.4.56
+# Storage::Arch.is_efibootmgr
+BuildRequires: libstorage-ng-ruby >= 4.4.61
BuildRequires: update-desktop-files
# Yast::Kernel.propose_hibernation?
BuildRequires: yast2 >= 4.3.41
@@ -48,8 +48,8 @@
# findutils for xargs
Requires: findutils
-# Encryption#pbkdf
-Requires: libstorage-ng-ruby >= 4.4.56
+# Storage::Arch.is_efibootmgr
+Requires: libstorage-ng-ruby >= 4.4.61
# Yast::Kernel.propose_hibernation?
Requires: yast2 >= 4.3.41
# Y2Packager::Repository
++++++ yast2-storage-ng-4.4.20.tar.bz2 -> yast2-storage-ng-4.4.23.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.4.20/package/yast2-storage-ng.changes
new/yast2-storage-ng-4.4.23/package/yast2-storage-ng.changes
--- old/yast2-storage-ng-4.4.20/package/yast2-storage-ng.changes
2021-12-03 13:42:04.000000000 +0100
+++ new/yast2-storage-ng-4.4.23/package/yast2-storage-ng.changes
2021-12-10 13:15:51.000000000 +0100
@@ -1,4 +1,23 @@
-------------------------------------------------------------------
+Fri Dec 10 10:18:05 UTC 2021 - Jos?? Iv??n L??pez Gonz??lez <[email protected]>
+
+- Proposal: add support for mount options (related to fate#318196).
+- 4.4.23
+
+-------------------------------------------------------------------
+Thu Dec 9 13:25:29 UTC 2021 - Steffen Winterfeldt <[email protected]>
+
+- use libstorage-ng to determine whether efibootmgr is available
+ (bsc#937067)
+- 4.4.22
+
+-------------------------------------------------------------------
+Wed Dec 8 10:01:35 UTC 2021 - Josef Reidinger <[email protected]>
+
+- Prepare code for ruby3 - adapt openstruct usage (bsc#1193192)
+- 4.4.21
+
+-------------------------------------------------------------------
Fri Dec 3 12:21:14 UTC 2021 - Jos?? Iv??n L??pez Gonz??lez <[email protected]>
- Fix regression for unit tests: mock the generation of Bcache
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.4.20/package/yast2-storage-ng.spec
new/yast2-storage-ng-4.4.23/package/yast2-storage-ng.spec
--- old/yast2-storage-ng-4.4.20/package/yast2-storage-ng.spec 2021-12-03
13:42:04.000000000 +0100
+++ new/yast2-storage-ng-4.4.23/package/yast2-storage-ng.spec 2021-12-10
13:15:51.000000000 +0100
@@ -16,7 +16,7 @@
#
Name: yast2-storage-ng
-Version: 4.4.20
+Version: 4.4.23
Release: 0
Summary: YaST2 - Storage Configuration
License: GPL-2.0-only OR GPL-3.0-only
@@ -25,8 +25,8 @@
Source: %{name}-%{version}.tar.bz2
-# Encryption#pbkdf
-BuildRequires: libstorage-ng-ruby >= 4.4.56
+# Storage::Arch.is_efibootmgr
+BuildRequires: libstorage-ng-ruby >= 4.4.61
BuildRequires: update-desktop-files
# Yast::Kernel.propose_hibernation?
BuildRequires: yast2 >= 4.3.41
@@ -47,8 +47,8 @@
# findutils for xargs
Requires: findutils
-# Encryption#pbkdf
-Requires: libstorage-ng-ruby >= 4.4.56
+# Storage::Arch.is_efibootmgr
+Requires: libstorage-ng-ruby >= 4.4.61
# Yast::Kernel.propose_hibernation?
Requires: yast2 >= 4.3.41
# Y2Packager::Repository
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yast2-storage-ng-4.4.20/src/lib/y2storage/arch.rb
new/yast2-storage-ng-4.4.23/src/lib/y2storage/arch.rb
--- old/yast2-storage-ng-4.4.20/src/lib/y2storage/arch.rb 2021-12-03
13:42:04.000000000 +0100
+++ new/yast2-storage-ng-4.4.23/src/lib/y2storage/arch.rb 2021-12-10
13:15:51.000000000 +0100
@@ -23,12 +23,30 @@
module Y2Storage
# Hardware architecture
#
- # This is a wrapper for Storage::Arch
+ # This is a wrapper for Storage::Arch.
class Arch
include StorageClassWrapper
wrap_class Storage::Arch
+ # Wraps the Storage::Arch object passed to it or creates a new
+ # Storage::Arch object and wraps that.
+ #
+ # This also adjusts {#efiboot?} according to the `/etc/install.inf::EFI`
setting.
+ #
+ # @param storage_arch [Storage::Arch] Storage::Arch object to wrap.
+ #
+ # @return [Y2Storage::Arch]
+ def initialize(storage_arch = Storage::Arch.new)
+ super(storage_arch)
+
+ Yast.import "Linuxrc"
+
+ return if Yast::Linuxrc.InstallInf("EFI").nil?
+
+ storage_arch.efiboot = Yast::Linuxrc.InstallInf("EFI") == "1"
+ end
+
# @!method x86?
# @return [Boolean] whether the architecture is x86
storage_forward :x86?
@@ -53,6 +71,23 @@
# @return [Integer] the system page size
storage_forward :page_size
+ # @!method efibootmgr?
+ #
+ # Whether the UEFI boot manager can write UEFI boot entries.
+ #
+ # Storage::Arch exports it as static function to not break the existing
ABI.
+ # Make it available as instance method to have a consistent API
+ # in {Y2Storage::Arch}.
+ #
+ # @note This is entirely independent of {#efiboot?}. In particular
+ # overriding {#efiboot?} with environment variables or config files will
+ # have no effect on {#efibootmgr?}.
+ #
+ # @return [Boolean] whether the UEFI boot manager can write UEFI boot
entries
+ def efibootmgr?
+ to_storage_value.class.efibootmgr?
+ end
+
# Current RAM size in bytes
#
# @note RAM size is read from /proc/meminfo, where sizes are supposed to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.4.20/src/lib/y2storage/hwinfo_disk.rb
new/yast2-storage-ng-4.4.23/src/lib/y2storage/hwinfo_disk.rb
--- old/yast2-storage-ng-4.4.20/src/lib/y2storage/hwinfo_disk.rb
2021-12-03 13:42:04.000000000 +0100
+++ new/yast2-storage-ng-4.4.23/src/lib/y2storage/hwinfo_disk.rb
2021-12-10 13:15:51.000000000 +0100
@@ -47,9 +47,9 @@
def self.define_property(name, multi: false)
define_method(name) do
if multi
- super() || []
+ self[name] || []
else
- super()
+ self[name]
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.4.20/src/lib/y2storage/proposal/devices_planner.rb
new/yast2-storage-ng-4.4.23/src/lib/y2storage/proposal/devices_planner.rb
--- old/yast2-storage-ng-4.4.20/src/lib/y2storage/proposal/devices_planner.rb
2021-12-03 13:42:04.000000000 +0100
+++ new/yast2-storage-ng-4.4.23/src/lib/y2storage/proposal/devices_planner.rb
2021-12-10 13:15:51.000000000 +0100
@@ -131,7 +131,7 @@
# Plans a device based on a <volume> section from control file
#
# @param volume [VolumeSpecification]
- # @return [Planned::device]
+ # @return [Planned::Device]
def planned_device(volume)
if settings.separate_vgs && volume.separate_vg?
planned_separate_vg(volume)
@@ -176,8 +176,9 @@
adjust_sizes(planned_device, volume)
adjust_btrfs(planned_device, volume)
adjust_device(planned_device, volume)
-
adjust_swap(planned_device, volume) if planned_device.swap?
+
+ planned_device.fstab_options = volume.mount_options&.split(",")
end
# Adjusts planned device weight according to settings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.4.20/src/lib/y2storage/volume_specification.rb
new/yast2-storage-ng-4.4.23/src/lib/y2storage/volume_specification.rb
--- old/yast2-storage-ng-4.4.20/src/lib/y2storage/volume_specification.rb
2021-12-03 13:42:04.000000000 +0100
+++ new/yast2-storage-ng-4.4.23/src/lib/y2storage/volume_specification.rb
2021-12-10 13:15:51.000000000 +0100
@@ -1,4 +1,4 @@
-# Copyright (c) [2017-2020] SUSE LLC
+# Copyright (c) [2017-2021] SUSE LLC
#
# All Rights Reserved.
#
@@ -34,6 +34,9 @@
# @return [String] directory where the volume will be mounted in the system
attr_accessor :mount_point
+ # @return [String] mount options, separated by comma
+ attr_accessor :mount_options
+
# @return [Boolean] whether this volume should be created or skipped
attr_accessor :proposed
@@ -288,6 +291,7 @@
FEATURES = {
mount_point: :string,
+ mount_options: :string,
proposed: :boolean,
proposed_configurable: :boolean,
fs_types: :list,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yast2-storage-ng-4.4.20/test/y2storage/arch_test.rb
new/yast2-storage-ng-4.4.23/test/y2storage/arch_test.rb
--- old/yast2-storage-ng-4.4.20/test/y2storage/arch_test.rb 1970-01-01
01:00:00.000000000 +0100
+++ new/yast2-storage-ng-4.4.23/test/y2storage/arch_test.rb 2021-12-10
13:15:51.000000000 +0100
@@ -0,0 +1,54 @@
+#!/usr/bin/env rspec
+# Copyright (c) [2021] SUSE LLC
+#
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of version 2 of the GNU General Public License as published
+# by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, contact SUSE LLC.
+#
+# To contact SUSE LLC about this file by physical or electronic mail, you may
+# find current contact information at www.suse.com.
+
+require_relative "spec_helper"
+require "y2storage"
+
+describe Y2Storage::Arch do
+ subject = described_class
+
+ describe "#new" do
+ it "returns a Y2Storage::Arch object" do
+ expect(subject.new).to be_a Y2Storage::Arch
+ end
+ end
+
+ describe "#efiboot?" do
+ context "if /etc/install.inf::EFI is set to 1" do
+ before do
+ allow(Yast::Linuxrc).to
receive(:InstallInf).with("EFI").and_return("1")
+ end
+
+ it "returns true" do
+ expect(subject.new.efiboot?).to eq true
+ end
+ end
+
+ context "if /etc/install.inf::EFI is set to 0" do
+ before do
+ allow(Yast::Linuxrc).to
receive(:InstallInf).with("EFI").and_return("0")
+ end
+
+ it "returns false" do
+ expect(subject.new.efiboot?).to eq false
+ end
+ end
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.4.20/test/y2storage/proposal/devices_planner_test.rb
new/yast2-storage-ng-4.4.23/test/y2storage/proposal/devices_planner_test.rb
--- old/yast2-storage-ng-4.4.20/test/y2storage/proposal/devices_planner_test.rb
2021-12-03 13:42:04.000000000 +0100
+++ new/yast2-storage-ng-4.4.23/test/y2storage/proposal/devices_planner_test.rb
2021-12-10 13:15:51.000000000 +0100
@@ -57,6 +57,7 @@
{
"proposed" => proposed,
"mount_point" => mount_point,
+ "mount_options" => mount_options,
"fs_type" => fs_type,
"desired_size" => desired_size.to_s,
"min_size" => min_size.to_s,
@@ -74,6 +75,8 @@
let(:mount_point) { "/" }
+ let(:mount_options) { nil }
+
let(:fs_type) { :ext3 }
let(:desired_size) { 10.GiB }
@@ -128,6 +131,30 @@
expect(planned_devices).to
include(an_object_having_attributes(mount_point: mount_point))
end
+ context "and the <volume> entry contains empty <mount_options>" do
+ let(:mount_options) { "" }
+
+ it "plans a device with empty mount options" do
+ expect(planned_device.fstab_options).to eq([])
+ end
+ end
+
+ context "and the <volume> entry contains <mount_options>" do
+ let(:mount_options) { "ro,defaults" }
+
+ it "plans a device with the indicated mount options" do
+ expect(planned_device.fstab_options).to eq(["ro", "defaults"])
+ end
+ end
+
+ context "and the <volume> entry does not contain <mount_options>" do
+ let(:mount_options) { nil }
+
+ it "plans a device without (default) mount options" do
+ expect(planned_device.fstab_options).to be_nil
+ end
+ end
+
context "and it is proposing a partition-based setup" do
let(:lvm) { false }
@@ -401,6 +428,10 @@
end
context "when it is using adjust_by_ram" do
+ before do
+ allow(Yast::Linuxrc).to receive(:InstallInf)
+ end
+
let(:adjust_by_ram) { true }
let(:desired_size) { 1.GiB }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.4.20/test/y2storage/volume_specification_test.rb
new/yast2-storage-ng-4.4.23/test/y2storage/volume_specification_test.rb
--- old/yast2-storage-ng-4.4.20/test/y2storage/volume_specification_test.rb
2021-12-03 13:42:04.000000000 +0100
+++ new/yast2-storage-ng-4.4.23/test/y2storage/volume_specification_test.rb
2021-12-10 13:15:51.000000000 +0100
@@ -83,6 +83,7 @@
let(:volume_features) do
{
"mount_point" => mount_point,
+ "mount_options" => mount_options,
"proposed" => proposed,
"proposed_configurable" => proposed_configurable,
"desired_size" => desired_size,
@@ -103,6 +104,7 @@
end
let(:mount_point) { "/home" }
+ let(:mount_options) { "ro,defaults" }
let(:proposed) { true }
let(:proposed_configurable) { true }
let(:desired_size) { "5 GiB" }
@@ -122,6 +124,7 @@
it "creates an object with the indicated features" do
expect(subject.mount_point).to eq("/home")
+ expect(subject.mount_options).to eq("ro,defaults")
expect(subject.proposed).to eq(true)
expect(subject.proposed_configurable).to eq(true)
expect(subject.desired_size).to eq(5.GiB)