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 2025-01-31 16:01:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-storage-ng (Old)
and /work/SRC/openSUSE:Factory/.yast2-storage-ng.new.2316 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-storage-ng"
Fri Jan 31 16:01:56 2025 rev:169 rq:1241334 version:5.0.24
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-storage-ng/yast2-storage-ng.changes
2025-01-22 16:31:48.410664198 +0100
+++
/work/SRC/openSUSE:Factory/.yast2-storage-ng.new.2316/yast2-storage-ng.changes
2025-01-31 16:02:05.550298001 +0100
@@ -1,0 +2,6 @@
+Tue Jan 21 10:00:00 UTC 2025 - Stefan Schubert <[email protected]>
+
+- Reserve 1GiB boot partition for grub2-bls bootloader (jsc#PED-10703).
+- 5.0.24
+
+-------------------------------------------------------------------
Old:
----
yast2-storage-ng-5.0.23.tar.bz2
New:
----
yast2-storage-ng-5.0.24.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-storage-ng.spec ++++++
--- /var/tmp/diff_new_pack.wReoRS/_old 2025-01-31 16:02:05.990316114 +0100
+++ /var/tmp/diff_new_pack.wReoRS/_new 2025-01-31 16:02:05.990316114 +0100
@@ -17,7 +17,7 @@
Name: yast2-storage-ng
-Version: 5.0.23
+Version: 5.0.24
Release: 0
Summary: YaST2 - Storage Configuration
License: GPL-2.0-only OR GPL-3.0-only
++++++ yast2-storage-ng-5.0.23.tar.bz2 -> yast2-storage-ng-5.0.24.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yast2-storage-ng-5.0.23/doc/boot-requirements.md
new/yast2-storage-ng-5.0.24/doc/boot-requirements.md
--- old/yast2-storage-ng-5.0.23/doc/boot-requirements.md 2025-01-21
17:15:44.000000000 +0100
+++ new/yast2-storage-ng-5.0.24/doc/boot-requirements.md 2025-01-30
12:46:17.000000000 +0100
@@ -41,6 +41,18 @@
- **requires new partitions for /boot/efi and for /boot (Grub2
auto-config cannot handle LUKS2)**
- if there is already a suitable EFI partition in the boot disk
- **requires to reuse EFI and create a /boot partition (Grub2
auto-config cannot handle LUKS2)**
+- when proposing a new EFI partition
+ - and BLS installation is not explicitly disabled
+ - when aiming for the recommended size
+ - **requires /boot/efi to use FAT32**
+ - **requires /boot/efi to have exactly 1 GiB (enough
space for all BLS entries)**
+ - and BLS installation is explicitly disabled
+ - when aiming for the recommended size
+ - **does not enforce FAT32 or 16 for /boot/efi (FAT
size will be decided by mkfs.vfat)**
+ - **requires /boot/efi to be exactly 128 MiB large**
+ - when aiming for the minimal size
+ - **does not enforce FAT32 or 16 for /boot/efi (FAT
size will be decided by mkfs.vfat)**
+ - **requires /boot/efi to be exactly 128 MiB large**
## needed partitions in a PPC64 system
- in a non-PowerNV system (KVM/LPAR)
@@ -325,19 +337,24 @@
- **requires it to be a non-encrypted partition**
- when aiming for the recommended size
- **requires it to be at least 4 MiB (Grub2 stages 1+2,
needed Grub modules and extra space)**
- - **requires it to be at most 8 MiB (anything bigger
would mean wasting space)**
+ - **requires it to be at most 8 MiB (or optimal I/O
size, bsc#1192448) for firmware to load it**
- when aiming for the minimal size
- **requires it to be at least 2 MiB (Grub2 stages 1+2
and needed Grub modules)**
- - **requires it to be at most 8 MiB (anything bigger
would mean wasting space)**
+ - **requires it to be at most 8 MiB (or optimal I/O
size, bsc#1192448) for firmware to load it**
- when proposing a new EFI partition
- **requires /boot/efi to be on the boot disk**
- **requires /boot/efi to be a non-encrypted vfat partition**
- **requires /boot/efi to be close enough to the beginning of
disk**
- - when aiming for the recommended size
- - **requires /boot/efi to use FAT32**
- - **requires it to be at least 256 MiB (min size for
FAT32 in drives with 4-KiB-per-sector)**
- - **requires it to be at most 512 MiB (enough space for
several operating systems)**
- - when aiming for the minimal size
- - **does not enforce FAT32 or 16 for /boot/efi (FAT
size will be decided by mkfs.vfat)**
- - **requires it to be at least 128 MiB (MS Windows
requires 100 MiB for itself)**
- - **requires it to be at most 512 MiB (enough space for
several operating systems)**
+ - and BLS installation is not explicitly disabled
+ - when aiming for the recommended size
+ - **requires /boot/efi to use FAT32**
+ - **requires /boot/efi to have exactly 1 GiB
(enough space for all BLS entries)**
+ - and BLS installation is explicitly disabled
+ - when aiming for the recommended size
+ - **requires /boot/efi to use FAT32**
+ - **requires it to be at least 256 MiB (min
size for FAT32 in drives with 4-KiB-per-sector)**
+ - **requires it to be at most 512 MiB (enough
space for several operating systems)**
+ - when aiming for the minimal size
+ - **does not enforce FAT32 or 16 for /boot/efi
(FAT size will be decided by mkfs.vfat)**
+ - **requires it to be at least 128 MiB (MS
Windows requires 100 MiB for itself)**
+ - **requires it to be at most 512 MiB (enough
space for several operating systems)**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-5.0.23/package/yast2-storage-ng.changes
new/yast2-storage-ng-5.0.24/package/yast2-storage-ng.changes
--- old/yast2-storage-ng-5.0.23/package/yast2-storage-ng.changes
2025-01-21 17:15:44.000000000 +0100
+++ new/yast2-storage-ng-5.0.24/package/yast2-storage-ng.changes
2025-01-30 12:46:17.000000000 +0100
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Tue Jan 21 10:00:00 UTC 2025 - Stefan Schubert <[email protected]>
+
+- Reserve 1GiB boot partition for grub2-bls bootloader (jsc#PED-10703).
+- 5.0.24
+
+-------------------------------------------------------------------
Tue Jan 21 09:43:35 UTC 2025 - Ancor Gonzalez Sosa <[email protected]>
- Pervasive encryption: support for AES-CIPHER and EP11 and better
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-5.0.23/package/yast2-storage-ng.spec
new/yast2-storage-ng-5.0.24/package/yast2-storage-ng.spec
--- old/yast2-storage-ng-5.0.23/package/yast2-storage-ng.spec 2025-01-21
17:15:44.000000000 +0100
+++ new/yast2-storage-ng-5.0.24/package/yast2-storage-ng.spec 2025-01-30
12:46:17.000000000 +0100
@@ -16,7 +16,7 @@
#
Name: yast2-storage-ng
-Version: 5.0.23
+Version: 5.0.24
Release: 0
Summary: YaST2 - Storage Configuration
License: GPL-2.0-only OR GPL-3.0-only
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-5.0.23/src/lib/y2storage/boot_requirements_checker.rb
new/yast2-storage-ng-5.0.24/src/lib/y2storage/boot_requirements_checker.rb
--- old/yast2-storage-ng-5.0.23/src/lib/y2storage/boot_requirements_checker.rb
2025-01-21 17:15:44.000000000 +0100
+++ new/yast2-storage-ng-5.0.24/src/lib/y2storage/boot_requirements_checker.rb
2025-01-30 12:46:17.000000000 +0100
@@ -20,6 +20,9 @@
require "yast"
require "y2storage/boot_requirements_strategies"
require "y2storage/storage_manager"
+require "y2storage/storage_env"
+
+Yast.import "Arch"
module Y2Storage
#
@@ -137,7 +140,13 @@
# @return [BootRequirementsStrategies::Base]
def arch_strategy_class
if arch.efiboot?
- BootRequirementsStrategies::UEFI
+ if StorageEnv.instance.no_bls_bootloader ||
+ (!arch.x86? && !Yast::Arch.aarch64)
+ BootRequirementsStrategies::UEFI
+ else
+ # BLS is for x86_64 and aarch64 only
+ BootRequirementsStrategies::BLS
+ end
elsif arch.s390?
BootRequirementsStrategies::ZIPL
elsif arch.ppc?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-5.0.23/src/lib/y2storage/boot_requirements_strategies/bls.rb
new/yast2-storage-ng-5.0.24/src/lib/y2storage/boot_requirements_strategies/bls.rb
---
old/yast2-storage-ng-5.0.23/src/lib/y2storage/boot_requirements_strategies/bls.rb
1970-01-01 01:00:00.000000000 +0100
+++
new/yast2-storage-ng-5.0.24/src/lib/y2storage/boot_requirements_strategies/bls.rb
2025-01-30 12:46:17.000000000 +0100
@@ -0,0 +1,47 @@
+# Copyright (c) [2024] 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 "y2storage/boot_requirements_strategies/uefi"
+
+module Y2Storage
+ module BootRequirementsStrategies
+ # Strategy to calculate boot requirements in BLS/UEFI systems
+ class BLS < UEFI
+ def initialize(*args)
+ textdomain "storage"
+ super
+ end
+
+ protected
+
+ # @return [VolumeSpecification]
+ def efi_volume
+ if @efi_volume.nil?
+ @efi_volume = volume_specification_for("/boot/efi")
+ # BLS suggests 1GiB for boot partition
+ #
https://uapi-group.org/specifications/specs/boot_loader_specification/
+ @efi_volume.min_size = DiskSize.MiB(512)
+ @efi_volume.desired_size = DiskSize.GiB(1)
+ @efi_volume.max_size = DiskSize.GiB(1)
+ end
+ @efi_volume
+ end
+ end
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-5.0.23/src/lib/y2storage/boot_requirements_strategies.rb
new/yast2-storage-ng-5.0.24/src/lib/y2storage/boot_requirements_strategies.rb
---
old/yast2-storage-ng-5.0.23/src/lib/y2storage/boot_requirements_strategies.rb
2025-01-21 17:15:44.000000000 +0100
+++
new/yast2-storage-ng-5.0.24/src/lib/y2storage/boot_requirements_strategies.rb
2025-01-30 12:46:17.000000000 +0100
@@ -23,3 +23,4 @@
require "y2storage/boot_requirements_strategies/zipl"
require "y2storage/boot_requirements_strategies/nfs_root"
require "y2storage/boot_requirements_strategies/raspi"
+require "y2storage/boot_requirements_strategies/bls"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-5.0.23/src/lib/y2storage/storage_env.rb
new/yast2-storage-ng-5.0.24/src/lib/y2storage/storage_env.rb
--- old/yast2-storage-ng-5.0.23/src/lib/y2storage/storage_env.rb
2025-01-21 17:15:44.000000000 +0100
+++ new/yast2-storage-ng-5.0.24/src/lib/y2storage/storage_env.rb
2025-01-30 12:46:17.000000000 +0100
@@ -36,9 +36,11 @@
ENV_REUSE_LVM = "YAST_REUSE_LVM".freeze
+ ENV_NO_BLS_BOOT = "YAST_NO_BLS_BOOT".freeze
+
private_constant :ENV_MULTIPATH, :ENV_BIOS_RAID, :ENV_ACTIVATE_LUKS
private_constant :ENV_LIBSTORAGE_IGNORE_PROBE_ERRORS
- private_constant :ENV_REUSE_LVM
+ private_constant :ENV_REUSE_LVM, :ENV_NO_BLS_BOOT
def initialize
reset_cache
@@ -93,6 +95,13 @@
env_str_to_bool(value)
end
+ # Whether YaST should not use bls bootloaders
+ #
+ # @return [Boolean]
+ def no_bls_bootloader
+ active?(ENV_NO_BLS_BOOT)
+ end
+
# Whether errors during libstorage probing should be ignored.
#
# See bsc#1177332:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-5.0.23/test/support/boot_requirements_uefi.rb
new/yast2-storage-ng-5.0.24/test/support/boot_requirements_uefi.rb
--- old/yast2-storage-ng-5.0.23/test/support/boot_requirements_uefi.rb
2025-01-21 17:15:44.000000000 +0100
+++ new/yast2-storage-ng-5.0.24/test/support/boot_requirements_uefi.rb
2025-01-30 12:46:17.000000000 +0100
@@ -133,3 +133,13 @@
end
end
end
+
+RSpec.shared_context "BLS bootloader not disabled" do
+ context "and BLS installation is not explicitly disabled" do
+ before do
+ allow(Y2Storage::StorageEnv.instance).to
receive(:no_bls_bootloader).and_return(false)
+ end
+
+ include_examples "EFI partition for BLS bootloaders"
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-5.0.23/test/support/proposed_partitions_examples.rb
new/yast2-storage-ng-5.0.24/test/support/proposed_partitions_examples.rb
--- old/yast2-storage-ng-5.0.23/test/support/proposed_partitions_examples.rb
2025-01-21 17:15:44.000000000 +0100
+++ new/yast2-storage-ng-5.0.24/test/support/proposed_partitions_examples.rb
2025-01-30 12:46:17.000000000 +0100
@@ -148,6 +148,23 @@
end
end
+RSpec.shared_examples "EFI partition for BLS bootloaders" do
+ using Y2Storage::Refinements::SizeCasts
+
+ context "when aiming for the recommended size" do
+ let(:target) { :desired }
+
+ it "requires /boot/efi to use FAT32" do
+ expect(efi_part.mkfs_options).to include "-F32"
+ end
+
+ it "requires /boot/efi to have exactly 1 GiB (enough space for all BLS
entries)" do
+ expect(efi_part.min_size).to eq 1.GiB
+ expect(efi_part.max_size).to eq 1.GiB
+ end
+ end
+end
+
RSpec.shared_examples "minimalistic EFI partition" do
using Y2Storage::Refinements::SizeCasts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-5.0.23/test/y2storage/boot_requirements_checker_aarch64_test.rb
new/yast2-storage-ng-5.0.24/test/y2storage/boot_requirements_checker_aarch64_test.rb
---
old/yast2-storage-ng-5.0.23/test/y2storage/boot_requirements_checker_aarch64_test.rb
2025-01-21 17:15:44.000000000 +0100
+++
new/yast2-storage-ng-5.0.24/test/y2storage/boot_requirements_checker_aarch64_test.rb
2025-01-30 12:46:17.000000000 +0100
@@ -47,5 +47,19 @@
end
include_context "plain UEFI"
+
+ context "when proposing a new EFI partition" do
+ let(:efi_part) { find_vol("/boot/efi",
checker.needed_partitions(target)) }
+ let(:desired_efi_part) { find_vol("/boot/efi",
checker.needed_partitions(:desired)) }
+
+ include_examples "BLS bootloader not disabled"
+ context "and BLS installation is explicitly disabled" do
+ before do
+ allow(Y2Storage::StorageEnv.instance).to
receive(:no_bls_bootloader).and_return(true)
+ end
+
+ include_examples "minimalistic EFI partition"
+ end
+ end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-5.0.23/test/y2storage/boot_requirements_checker_x86_test.rb
new/yast2-storage-ng-5.0.24/test/y2storage/boot_requirements_checker_x86_test.rb
---
old/yast2-storage-ng-5.0.23/test/y2storage/boot_requirements_checker_x86_test.rb
2025-01-21 17:15:44.000000000 +0100
+++
new/yast2-storage-ng-5.0.24/test/y2storage/boot_requirements_checker_x86_test.rb
2025-01-30 12:46:17.000000000 +0100
@@ -297,7 +297,15 @@
let(:efi_partitions) { [] }
include_examples "proposed EFI partition basics"
- include_examples "flexible size EFI partition"
+ include_examples "BLS bootloader not disabled"
+
+ context "and BLS installation is explicitly disabled" do
+ before do
+ allow(Y2Storage::StorageEnv.instance).to
receive(:no_bls_bootloader).and_return(true)
+ end
+
+ include_examples "flexible size EFI partition"
+ end
end
end
end