Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-kiwi for openSUSE:Factory 
checked in at 2023-10-17 20:22:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-kiwi (Old)
 and      /work/SRC/openSUSE:Factory/.python-kiwi.new.20540 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-kiwi"

Tue Oct 17 20:22:36 2023 rev:107 rq:1118210 version:9.25.17

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-kiwi/python-kiwi.changes  2023-08-16 
14:16:38.738793480 +0200
+++ /work/SRC/openSUSE:Factory/.python-kiwi.new.20540/python-kiwi.changes       
2023-10-17 20:22:43.354501962 +0200
@@ -1,0 +2,227 @@
+Tue Oct 17 09:30:49 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Bump version: 9.25.16 → 9.25.17
+
+-------------------------------------------------------------------
+Mon Oct 16 20:55:59 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Fixed argument processing of config.bootoptions
+
+  Instead of adding an extra space to make the subsequent reading
+  to work, use an awk script that does it without nasty workarounds
+
+-------------------------------------------------------------------
+Mon Oct 16 20:55:31 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Allow test-image-disk-ramdisk to be build locally
+
+-------------------------------------------------------------------
+Mon Oct 16 15:27:24 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Bump version: 9.25.15 → 9.25.16
+
+-------------------------------------------------------------------
+Mon Oct 16 15:26:25 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Fixed doc search field
+
+  The search in the documentation is broken with the rtd
+  schema and latest sphinx. Stick with sphinx 5.0.0 for the
+  moment which fixes the issue
+
+-------------------------------------------------------------------
+Mon Oct 16 14:16:45 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Bump version: 9.25.14 → 9.25.15
+
+-------------------------------------------------------------------
+Mon Oct 16 10:44:05 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Make codacy happy
+
+-------------------------------------------------------------------
+Mon Oct 16 09:23:42 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Support release version in signkey URLs
+
+  Using one of the $releasever/${releasever} variable placeholders
+  in an URL as part of a <signing key="..."/> element did not replace
+  the placeholder with the value of the <release-version> element.
+  This commit fixes this and also makes sure that the result list
+  for downloading signing keys is unique. This Fixes #2381
+
+-------------------------------------------------------------------
+Sun Oct 08 18:20:13 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Bump version: 9.25.13 → 9.25.14
+
+-------------------------------------------------------------------
+Sun Oct 08 18:19:47 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Update pypi release to trusted workflow
+
+-------------------------------------------------------------------
+Fri Sep 22 10:39:44 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Added unit test for testing grub prefix
+
+  Cover the condition if an extra boot partition is used
+
+-------------------------------------------------------------------
+Wed Sep 13 09:52:04 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Fix documentation for btrfs_set_default_volume
+
+  The behavior documentation regarding the fstab entry when
+  using the btrfs_set_default_volume attribute was wrong.
+  This commit fixes the docs to match the code. Related
+  to Issue #2366
+
+-------------------------------------------------------------------
+Wed Sep 13 08:30:06 CEST 2023 - Radoslav Kolev <[email protected]>
+
+- Fix typo in 'image results' doc section
+
+-------------------------------------------------------------------
+Wed Sep 13 02:03:30 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Fixed root entry in fstab for btrfs layout
+
+  A root (/) entry in fstab for btrfs is only required if no
+  default volume is configured. This commit adapts the code
+  path which adds an fstab entry for (/) to be effective only
+  if btrfs_set_default_volume is set to false.
+
+  Additionally, the documentation around btrfs_set_default_volume
+  was clarified to describe the behavior the switch triggers.
+
+  This Fixes #2366
+
+-------------------------------------------------------------------
+Wed Sep 13 02:01:04 CEST 2023 - David Cassany Viladomat <[email protected]>
+
+- Remove community repository from Arch images
+
+  Community repository is no longer needed for the test image. OBS does
+  not pull any package from this repository and in Arch linux there is not
+  the concept of empty repositories, so the build fails in an OBS context
+  if this repository is included within the build stack.
+
+  Signed-off-by: David Cassany <[email protected]>
+
+-------------------------------------------------------------------
+Thu Sep 07 15:39:24 CEST 2023 - Leif Liddy <[email protected]>
+
+- use / prefix when boot partition is used
+
+-------------------------------------------------------------------
+Fri Sep 01 03:17:08 CEST 2023 - Leif Liddy <[email protected]>
+
+- use os.path.join to create path
+
+  os.path.join to create the path for the early_boot.write functions
+  this will prevent paths from containing double slashes //
+
+-------------------------------------------------------------------
+Thu Aug 31 16:11:23 CEST 2023 - Neal Gompa <[email protected]>
+
+- PKGBUILD: Drop unused Python dependencies
+
+  We haven't used some of these dependencies in years...
+
+-------------------------------------------------------------------
+Sat Aug 26 16:59:34 CEST 2023 - Leif Liddy <[email protected]>
+
+- add info on none console type
+
+-------------------------------------------------------------------
+Fri Aug 25 09:14:20 CEST 2023 - Leif Liddy <[email protected]>
+
+- allow value of GRUB_TERMINAL to be empty
+
+  allow value of GRUB_TERMINAL to be empty. When setting grub_console="none"
+  this now leads to an empty setting of GRUB_TERMINAL in the /etc/default/grub
+  system configuration file. This Fixes #2261
+
+-------------------------------------------------------------------
+Thu Aug 24 09:33:45 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Bump version: 9.25.12 → 9.25.13
+
+-------------------------------------------------------------------
+Tue Aug 22 18:08:47 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Fixed mounting of subvolumes for data sync
+
+  The subvolumes must be mounted below the root of the
+  filesystem tree such that the sync mechanism correctly
+  shuffles the data to the correct volumes.
+  This Fixes #2356
+
+-------------------------------------------------------------------
+Tue Aug 22 09:41:58 CEST 2023 - Joerg Vehlow <[email protected]>
+
+- Make verity metadata always readonly
+
+  If a partition is verity protected, it can never be writable,
+  since verity is by-definition read-only.
+
+-------------------------------------------------------------------
+Wed Aug 16 00:06:13 CEST 2023 - Evan Goode <[email protected]>
+
+- Require DNF 5 in Fedora >= 41, not Fedora > 38
+
+  The switch to DNF 5 has been postponed to (likely) Fedora 41.
+
+-------------------------------------------------------------------
+Tue Aug 15 22:23:49 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Add kiwi_live_volid variable to profile
+
+  As part of the profile environment only the kiwi_install_volid
+  variable existed with the default value 'INSTALL'. This information
+  is correct when building an oem image with installiso set to
+  true. The resulting .install.iso image has the configured volid
+  or the mentioned default 'INSTALL'. However, when building a live
+  ISO image the default volid value is set to 'CDROM' but the profile
+  environment contains kiwi_install_volid which is misleading and
+  in case no volid is provided in the configuration file, the
+  default value would also be a wrong information. This commit cleans
+  up the mess and provides kiwi_install_volid for install ISO media
+  and kiwi_live_volid for Live ISO media with their respective
+  default values
+
+-------------------------------------------------------------------
+Tue Aug 15 12:33:19 CEST 2023 - Tom Schraitle 
<[email protected]>
+
+- Add some hints about KIWI extensions and dependencies for SLE (#2348)
+
+  SUSE Linux Enterprise Server (SLES) has KIWI as a package.
+  However, some KIWI plugins and their dependencies can
+  be unavailable.
+
+  This commit introduces a new section which deals with this
+  aspect.
+
+  Fixes bsc#1209302
+
+-------------------------------------------------------------------
+Fri Aug 11 15:04:56 CEST 2023 - Marcus Schäfer <[email protected]>
+
+- Package lockdev no longer exists on TW
+
+  Update TW based integration tests and delete the install
+  of the lockdev package
+
+-------------------------------------------------------------------
+Thu Aug 10 14:34:16 CEST 2023 - Tom Schraitle <[email protected]>
+
+- Update GitHub Actions "actions/*" part
+
+  Update to the latest versions:
+
+  * actions/checkout@v3
+  * action/setup-python@v4
+  * action/cache@v3
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-kiwi.spec ++++++
--- /var/tmp/diff_new_pack.ebfRmD/_old  2023-10-17 20:22:44.214532069 +0200
+++ /var/tmp/diff_new_pack.ebfRmD/_new  2023-10-17 20:22:44.218532208 +0200
@@ -43,7 +43,7 @@
 %endif
 
 Name:           python-kiwi
-Version:        9.25.12
+Version:        9.25.17
 Provides:       kiwi-schema = 7.5
 Release:        0
 Url:            https://github.com/OSInside/kiwi
@@ -102,7 +102,7 @@
 Provides:       kiwi-packagemanager:microdnf
 Requires:       microdnf
 %endif
-%if 0%{?fedora} >= 39
+%if 0%{?fedora} >= 41
 Requires:       dnf5
 Requires:       dnf5-plugins
 Provides:       kiwi-packagemanager:dnf5

++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.ebfRmD/_old  2023-10-17 20:22:44.246533188 +0200
+++ /var/tmp/diff_new_pack.ebfRmD/_new  2023-10-17 20:22:44.250533329 +0200
@@ -3,7 +3,7 @@
 
 pkgname=('python-kiwi' 'kiwi-man-pages' 'dracut-kiwi-lib' 
'dracut-kiwi-oem-repart' 'dracut-kiwi-oem-dump' 'dracut-kiwi-live' 
'dracut-kiwi-overlay')
 arch=(x86_64)
-pkgver=9.25.12
+pkgver=9.25.17
 pkgrel=0
 pkgdesc="KIWI - Appliance Builder Next Generation"
 url="https://github.com/SUSE/kiwi/tarball/master";
@@ -12,7 +12,7 @@
 provides=(kiwi-ng kiwi)
 source=("${pkgname}.tar.gz")
 changelog="${pkgname}.changes"
-md5sums=('6d2d1b9a5d67515fec29465d8f4365b3')
+md5sums=('89281997b74f517c6f39040fb421fab2')
 
 
 build() {
@@ -21,7 +21,7 @@
 }
 
 package_python-kiwi(){
-  depends=(python-docopt python-simplejson python-future python-lxml 
python-requests python-setuptools python-six python-pyxattr python-yaml grub 
qemu squashfs-tools gptfdisk pacman e2fsprogs xfsprogs btrfs-progs libisoburn 
lvm2 mtools parted multipath-tools rsync tar shadow screen kiwi-man-pages)
+  depends=(python-docopt python-simplejson python-lxml python-requests 
python-setuptools python-yaml grub qemu squashfs-tools gptfdisk pacman 
e2fsprogs xfsprogs btrfs-progs libisoburn lvm2 mtools parted multipath-tools 
rsync tar shadow screen kiwi-man-pages)
   optdepends=('gnupg: keyring creation for APT package manager')
   cd kiwi-${pkgver}
   python setup.py install --root="${pkgdir}/" --optimize=1 --skip-build

++++++ python-kiwi.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/.bumpversion.cfg 
new/kiwi-9.25.17/.bumpversion.cfg
--- old/kiwi-9.25.12/.bumpversion.cfg   2023-08-09 22:41:29.000000000 +0200
+++ new/kiwi-9.25.17/.bumpversion.cfg   2023-10-17 09:30:49.000000000 +0200
@@ -1,5 +1,5 @@
 [bumpversion]
-current_version = 9.25.12
+current_version = 9.25.17
 commit = True
 tag = True
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/.virtualenv.dev-requirements.txt 
new/kiwi-9.25.17/.virtualenv.dev-requirements.txt
--- old/kiwi-9.25.12/.virtualenv.dev-requirements.txt   2023-08-03 
12:40:51.000000000 +0200
+++ new/kiwi-9.25.17/.virtualenv.dev-requirements.txt   2023-10-16 
15:19:05.000000000 +0200
@@ -38,7 +38,7 @@
 generateDS==2.29.24
 
 # for building documentation
-sphinx>=5.0.0
+sphinx==5.0.0
 
 git+https://github.com/openSUSE/rstxml2docbook.git@feature/kiwi
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/PKG-INFO new/kiwi-9.25.17/PKG-INFO
--- old/kiwi-9.25.12/PKG-INFO   2023-08-09 22:44:25.000000000 +0200
+++ new/kiwi-9.25.17/PKG-INFO   2023-10-17 09:35:17.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: kiwi
-Version: 9.25.12
+Version: 9.25.17
 Summary: KIWI - Appliance Builder (next generation)
 Home-page: https://osinside.github.io/kiwi
 Author: Marcus Schaefer
Binary files old/kiwi-9.25.12/doc/build/latex/kiwi.pdf and 
new/kiwi-9.25.17/doc/build/latex/kiwi.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/doc/build/man/kiwi.8 
new/kiwi-9.25.17/doc/build/man/kiwi.8
--- old/kiwi-9.25.12/doc/build/man/kiwi.8       2023-08-09 22:44:23.000000000 
+0200
+++ new/kiwi-9.25.17/doc/build/man/kiwi.8       2023-10-17 09:35:13.000000000 
+0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "KIWI" "8" "Aug 09, 2023" "9.25.12" "KIWI NG"
+.TH "KIWI" "8" "Oct 17, 2023" "9.25.17" "KIWI NG"
 .SH NAME
 kiwi \- Creating Operating System Images
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/doc/build/man/kiwi::image::info.8 
new/kiwi-9.25.17/doc/build/man/kiwi::image::info.8
--- old/kiwi-9.25.12/doc/build/man/kiwi::image::info.8  2023-08-09 
22:44:23.000000000 +0200
+++ new/kiwi-9.25.17/doc/build/man/kiwi::image::info.8  2023-10-17 
09:35:13.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "KIWI::IMAGE::INFO" "8" "Aug 09, 2023" "9.25.12" "KIWI NG"
+.TH "KIWI::IMAGE::INFO" "8" "Oct 17, 2023" "9.25.17" "KIWI NG"
 .SH NAME
 kiwi::image::info \- Provide detailed information about an image description
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/doc/build/man/kiwi::image::resize.8 
new/kiwi-9.25.17/doc/build/man/kiwi::image::resize.8
--- old/kiwi-9.25.12/doc/build/man/kiwi::image::resize.8        2023-08-09 
22:44:23.000000000 +0200
+++ new/kiwi-9.25.17/doc/build/man/kiwi::image::resize.8        2023-10-17 
09:35:13.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "KIWI::IMAGE::RESIZE" "8" "Aug 09, 2023" "9.25.12" "KIWI NG"
+.TH "KIWI::IMAGE::RESIZE" "8" "Oct 17, 2023" "9.25.17" "KIWI NG"
 .SH NAME
 kiwi::image::resize \- Resize disk images to new geometry
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/doc/build/man/kiwi::result::bundle.8 
new/kiwi-9.25.17/doc/build/man/kiwi::result::bundle.8
--- old/kiwi-9.25.12/doc/build/man/kiwi::result::bundle.8       2023-08-09 
22:44:23.000000000 +0200
+++ new/kiwi-9.25.17/doc/build/man/kiwi::result::bundle.8       2023-10-17 
09:35:13.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "KIWI::RESULT::BUNDLE" "8" "Aug 09, 2023" "9.25.12" "KIWI NG"
+.TH "KIWI::RESULT::BUNDLE" "8" "Oct 17, 2023" "9.25.17" "KIWI NG"
 .SH NAME
 kiwi::result::bundle \- Bundle build results
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/doc/build/man/kiwi::result::list.8 
new/kiwi-9.25.17/doc/build/man/kiwi::result::list.8
--- old/kiwi-9.25.12/doc/build/man/kiwi::result::list.8 2023-08-09 
22:44:23.000000000 +0200
+++ new/kiwi-9.25.17/doc/build/man/kiwi::result::list.8 2023-10-17 
09:35:13.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "KIWI::RESULT::LIST" "8" "Aug 09, 2023" "9.25.12" "KIWI NG"
+.TH "KIWI::RESULT::LIST" "8" "Oct 17, 2023" "9.25.17" "KIWI NG"
 .SH NAME
 kiwi::result::list \- List build results
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/doc/build/man/kiwi::system::build.8 
new/kiwi-9.25.17/doc/build/man/kiwi::system::build.8
--- old/kiwi-9.25.12/doc/build/man/kiwi::system::build.8        2023-08-09 
22:44:23.000000000 +0200
+++ new/kiwi-9.25.17/doc/build/man/kiwi::system::build.8        2023-10-17 
09:35:13.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "KIWI::SYSTEM::BUILD" "8" "Aug 09, 2023" "9.25.12" "KIWI NG"
+.TH "KIWI::SYSTEM::BUILD" "8" "Oct 17, 2023" "9.25.17" "KIWI NG"
 .SH NAME
 kiwi::system::build \- Build image in combined prepare and create step
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/doc/build/man/kiwi::system::create.8 
new/kiwi-9.25.17/doc/build/man/kiwi::system::create.8
--- old/kiwi-9.25.12/doc/build/man/kiwi::system::create.8       2023-08-09 
22:44:23.000000000 +0200
+++ new/kiwi-9.25.17/doc/build/man/kiwi::system::create.8       2023-10-17 
09:35:13.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "KIWI::SYSTEM::CREATE" "8" "Aug 09, 2023" "9.25.12" "KIWI NG"
+.TH "KIWI::SYSTEM::CREATE" "8" "Oct 17, 2023" "9.25.17" "KIWI NG"
 .SH NAME
 kiwi::system::create \- Create image from prepared root system
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/doc/build/man/kiwi::system::prepare.8 
new/kiwi-9.25.17/doc/build/man/kiwi::system::prepare.8
--- old/kiwi-9.25.12/doc/build/man/kiwi::system::prepare.8      2023-08-09 
22:44:23.000000000 +0200
+++ new/kiwi-9.25.17/doc/build/man/kiwi::system::prepare.8      2023-10-17 
09:35:13.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "KIWI::SYSTEM::PREPARE" "8" "Aug 09, 2023" "9.25.12" "KIWI NG"
+.TH "KIWI::SYSTEM::PREPARE" "8" "Oct 17, 2023" "9.25.17" "KIWI NG"
 .SH NAME
 kiwi::system::prepare \- Prepare image root system
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/doc/build/man/kiwi::system::update.8 
new/kiwi-9.25.17/doc/build/man/kiwi::system::update.8
--- old/kiwi-9.25.12/doc/build/man/kiwi::system::update.8       2023-08-09 
22:44:23.000000000 +0200
+++ new/kiwi-9.25.17/doc/build/man/kiwi::system::update.8       2023-10-17 
09:35:13.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "KIWI::SYSTEM::UPDATE" "8" "Aug 09, 2023" "9.25.12" "KIWI NG"
+.TH "KIWI::SYSTEM::UPDATE" "8" "Oct 17, 2023" "9.25.17" "KIWI NG"
 .SH NAME
 kiwi::system::update \- Update/Upgrade image root system
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/doc/source/conf.py 
new/kiwi-9.25.17/doc/source/conf.py
--- old/kiwi-9.25.12/doc/source/conf.py 2023-08-09 22:41:29.000000000 +0200
+++ new/kiwi-9.25.17/doc/source/conf.py 2023-10-17 09:30:49.000000000 +0200
@@ -139,7 +139,7 @@
 # built documents.
 #
 # The short X.Y version.
-version = '9.25.12'
+version = '9.25.17'
 # The full version, including alpha/beta/rc tags.
 release = version
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi-9.25.12/doc/source/image_description/elements.rst 
new/kiwi-9.25.17/doc/source/image_description/elements.rst
--- old/kiwi-9.25.12/doc/source/image_description/elements.rst  2023-08-03 
12:31:11.000000000 +0200
+++ new/kiwi-9.25.17/doc/source/image_description/elements.rst  2023-09-19 
15:07:49.000000000 +0200
@@ -413,12 +413,21 @@
   the filesystem is `btrfs`. By default quotas are inactive.
 
 btrfs_set_default_volume="true|false":
-  Tell kiwi to explicitly make a volume the default volume
-  This can be either `/` or the root subvolume or the root
-  snapshot depending on the specified btrfs configuration
-  attributes. By default btrfs_set_default_volume is set to: true
-  If no default volume should be set, this attribute can be
-  used to turn it off
+  For oem disk images using the btrfs filesystem, requests to
+  set a default volume for the rootfs which is used when the
+  filesystem gets mounted. In case a `true` value is provided or
+  the attribute is not specified at all, kiwi will make a volume
+  the default volume. This can be either `/` or the configured
+  root subvolume or the configured root snapshot. Consequently the
+  entry created for the rootfs in the `/etc/fstab` file will not
+  contain any specific volume definition. In case a `false` value
+  is provided, kiwi will not set any default volume which also
+  means that the entry for the rootfs in the `/etc/fstab` file
+  requires a volume definition which is placed by kiwi as a
+  `subvol=` parameter in the respective fstab field entry. In
+  addition the parameter `rootflags=subvol=` is added to the
+  kernel commandline such that early initrd code has a chance
+  to know about the rootfs volume.
 
 btrfs_root_is_subvolume="true|false":
   Tell kiwi to create a root volume to host (/) inside.
@@ -1008,10 +1017,11 @@
 In addition to the mandatory name attribute, the following optional
 attributes are supported:
 
-console="console|gfxterm|serial":
+console="none|console|gfxterm|serial":
   Specifies the bootloader console. The attribute is available for the
-  grub and isolinux bootloader types. By default, a graphics console
-  setup is used.
+  grub and isolinux bootloader types. Specifying none here will
+  translate to setting console to an empty string. By default, the 
+  gfxterm (graphical terminal) option is used.
 
 grub_template="filename":
   Specifies a custom grub bootloader template file which will be used
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/doc/source/image_types_and_results.rst 
new/kiwi-9.25.17/doc/source/image_types_and_results.rst
--- old/kiwi-9.25.12/doc/source/image_types_and_results.rst     2022-12-20 
15:07:52.000000000 +0100
+++ new/kiwi-9.25.17/doc/source/image_types_and_results.rst     2023-09-13 
12:16:33.000000000 +0200
@@ -124,7 +124,7 @@
   An image representing an expandable disk image. {kiwi} can also produce an
   installation ISO for this disk image by setting `installiso="true"` in
   the :ref:`\<preferences\>\<type\><sec.preferences>`) section or a tarball
-  including the artifacts for a network deployment by setting 
`installiso="true"`.
+  including the artifacts for a network deployment by setting 
`installpxe="true"`.
   For further details see :ref:`expandable_disk`. The results for `oem`
   can be:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/doc/source/index.rst 
new/kiwi-9.25.17/doc/source/index.rst
--- old/kiwi-9.25.12/doc/source/index.rst       2023-08-03 12:31:11.000000000 
+0200
+++ new/kiwi-9.25.17/doc/source/index.rst       2023-10-16 15:22:44.000000000 
+0200
@@ -1,7 +1,7 @@
 .. kiwi documentation master file
 
-Building Linux System Appliances with {kiwi-product} |version|
-==============================================================================
+Building Linux System Appliances
+================================
 
 .. note::
    This documentation covers {kiwi-product} |version|- the command line
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/doc/source/installation.rst 
new/kiwi-9.25.17/doc/source/installation.rst
--- old/kiwi-9.25.12/doc/source/installation.rst        2022-12-20 
15:07:52.000000000 +0100
+++ new/kiwi-9.25.17/doc/source/installation.rst        2023-09-13 
12:16:33.000000000 +0200
@@ -94,6 +94,32 @@
 
      $ sudo dnf install kiwi-cli
 
+
+
+Installation for SUSE Linux Enterprise
+--------------------------------------
+
+{kiwi} is available and supported for SUSE Linux Enterprise (SLE).
+The recommended and supported way is to install {kiwi} by using zypper.
+
+However, if you rely on some plugins for {kiwi}, either the plugin
+itself or any dependencies might not be available for your service pack.
+
+If you want to proceed anyway, keep these things in mind:
+
+* Plugins that are not provided by SLE are not supported.
+* You probably need to install dependencies via :command:`pip`.
+  The :command:`pip` command installs these dependencies from PyPI
+  (the Python Package Index).
+  However, this approach will not update the RPM database.
+* Depending on your security concerns, installing Python packages
+  outside the secured SLE installation may not be desirable.
+* Python packages installed from PyPI won't contain any SUSE
+  customizations.
+* Depending on your extension and its dependencies, you might even need
+  a more recent Python version.
+
+
 .. _example-descriptions:
 
 Example Appliance Descriptions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi-9.25.12/dracut/modules.d/90kiwi-dump/kiwi-ramdisk-deployment-generator.sh
 
new/kiwi-9.25.17/dracut/modules.d/90kiwi-dump/kiwi-ramdisk-deployment-generator.sh
--- 
old/kiwi-9.25.12/dracut/modules.d/90kiwi-dump/kiwi-ramdisk-deployment-generator.sh
  2022-12-20 15:07:52.000000000 +0100
+++ 
new/kiwi-9.25.17/dracut/modules.d/90kiwi-dump/kiwi-ramdisk-deployment-generator.sh
  2023-10-17 09:30:45.000000000 +0200
@@ -26,16 +26,12 @@
 
 [ -e /config.bootoptions ] || exit 1
 
-# Add a space to /config.bootoptions to make sure the
-# following token based read captures all entries
-echo -n ' ' >> /config.bootoptions
-
 root_uuid=$(
-    while read -r -d ' ' opt; do echo "${opt}";done < /config.bootoptions |\
+    awk '{ for(i=1; i <= NF; i++) {print $i } }' /config.bootoptions |\
     grep root= | cut -f2- -d=
 )
 
-[ -z "${root_uuid}" ] && exit 1
+[ -z "${root_uuid}" ] && exit 2
 
 {
     echo "[Unit]"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/kiwi/bootloader/config/grub2.py 
new/kiwi-9.25.17/kiwi/bootloader/config/grub2.py
--- old/kiwi-9.25.12/kiwi/bootloader/config/grub2.py    2023-08-09 
22:41:29.000000000 +0200
+++ new/kiwi-9.25.17/kiwi/bootloader/config/grub2.py    2023-09-22 
16:02:01.000000000 +0200
@@ -100,11 +100,16 @@
         if self.custom_args and 'config_options' in self.custom_args:
             self.config_options = self.custom_args['config_options']
 
-        self.terminal = self.xml_state.get_build_type_bootloader_console() \
-            or 'gfxterm'
+        self.terminal = self.xml_state.get_build_type_bootloader_console()
+        if self.terminal is None:
+            self.terminal = 'gfxterm'
+        else:
+            self.terminal = self.terminal.replace('none', '').lstrip()
+
         self.gfxmode = self.get_gfxmode('grub2')
         self.theme = self.get_boot_theme()
         self.timeout = self.get_boot_timeout_seconds()
+        self.bootpartition = self.xml_state.build_type.get_bootpartition()
         self.timeout_style = \
             self.xml_state.get_build_type_bootloader_timeout_style()
         self.displayname = self.xml_state.xml_data.get_displayname()
@@ -980,7 +985,7 @@
                 '-O', Defaults.get_efi_module_directory_name(self.arch),
                 '-o', root_efi_image,
                 '-c', root_efi_path + 'earlyboot.cfg',
-                '-p', self.get_boot_path() + '/' + self.boot_directory_name,
+                '-p', os.path.join(self.get_boot_path(), 
self.boot_directory_name),
                 '-d', module_path.replace(self.root_dir, '')
             ] + module_list
         )
@@ -1093,15 +1098,14 @@
                 'search --fs-uuid --set=root {0}{1}'.format(uuid, os.linesep)
             )
             early_boot.write(
-                'set prefix=($root){0}/{1}{2}'.format(
-                    self.get_boot_path(), self.boot_directory_name, os.linesep
+                'set prefix=($root){0}{1}'.format(
+                    os.path.join(self.get_boot_path(), 
self.boot_directory_name), os.linesep
                 )
             )
             early_boot.write(
-                '{0} ($root){1}/{2}/grub.cfg{3}'.format(
-                    self.grub_load, self.get_boot_path(),
-                    self.boot_directory_name, os.linesep
-                )
+                '{0} ($root){1}/grub.cfg{2}'.format(self.grub_load, 
os.path.join(
+                    self.get_boot_path(), self.boot_directory_name
+                ), os.linesep)
             )
 
     def _create_early_boot_script_for_mbrid_search(self, filename, mbrid):
@@ -1456,11 +1460,18 @@
         for menu_entry_file in glob.iglob(loader_entries_pattern):
             with open(menu_entry_file) as grub_menu_entry_file:
                 menu_entry = grub_menu_entry_file.read()
-                menu_entry = re.sub(
-                    r'(linux|initrd) .*(/boot.*)',
-                    r'\1 \2',
-                    menu_entry
-                )
+                if self.bootpartition:
+                    menu_entry = re.sub(
+                        r'(linux|initrd) .*/boot(.*)',
+                        r'\1 \2',
+                        menu_entry
+                    )
+                else:
+                    menu_entry = re.sub(
+                        r'(linux|initrd) .*(/boot.*)',
+                        r'\1 \2',
+                        menu_entry
+                    )
             with open(menu_entry_file, 'w') as grub_menu_entry_file:
                 grub_menu_entry_file.write(menu_entry)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/kiwi/builder/disk.py 
new/kiwi-9.25.17/kiwi/builder/disk.py
--- old/kiwi-9.25.12/kiwi/builder/disk.py       2023-08-03 12:31:11.000000000 
+0200
+++ new/kiwi-9.25.17/kiwi/builder/disk.py       2023-09-13 12:16:33.000000000 
+0200
@@ -148,8 +148,8 @@
         self.target_removable = xml_state.build_type.get_target_removable()
         self.root_filesystem_is_multipath = \
             xml_state.get_oemconfig_oem_multipath_scan()
-        self.btrfs_set_default_volume = \
-            xml_state.build_type.get_btrfs_set_default_volume()
+        self.btrfs_default_volume_requested = \
+            xml_state.btrfs_default_volume_requested()
         self.oem_systemsize = xml_state.get_oemconfig_oem_systemsize()
         self.oem_resize = xml_state.get_oemconfig_oem_resize()
         self.disk_resize_requested = \
@@ -422,8 +422,8 @@
                 'root_is_subvolume':
                     self.xml_state.build_type.
                     get_btrfs_root_is_subvolume(),
-                'set_default_volume':
-                    self.btrfs_set_default_volume,
+                'btrfs_default_volume_requested':
+                    self.btrfs_default_volume_requested,
                 'quota_groups':
                     self.xml_state.build_type.get_btrfs_quota_groups(),
                 'resize_on_boot':
@@ -1125,7 +1125,8 @@
             custom_root_mount_args += ['ro']
             fs_check_interval = '0 0'
 
-        if self.volume_manager_name and self.volume_manager_name == 'btrfs':
+        if self.volume_manager_name and self.volume_manager_name == 'btrfs' \
+           and not self.btrfs_default_volume_requested:
             root_volume_name = system.get_root_volume_name()
             if root_volume_name != '/':
                 custom_root_mount_args += [
@@ -1259,7 +1260,7 @@
                 boot_options.append('rd.auto')
             if self.volume_manager_name \
                and self.volume_manager_name == 'btrfs' \
-               and self.btrfs_set_default_volume is False \
+               and not self.btrfs_default_volume_requested \
                and system.get_root_volume_name() != '/':
                 boot_options.append(
                     f'rootflags=subvol={system.get_root_volume_name()}'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/kiwi/schema/kiwi.rnc 
new/kiwi-9.25.17/kiwi/schema/kiwi.rnc
--- old/kiwi-9.25.12/kiwi/schema/kiwi.rnc       2023-08-03 12:31:11.000000000 
+0200
+++ new/kiwi-9.25.17/kiwi/schema/kiwi.rnc       2023-09-13 12:16:33.000000000 
+0200
@@ -37,7 +37,7 @@
 groups-list = xsd:token {pattern = "[a-zA-Z0-9_\-\.:]+(,[a-zA-Z0-9_\-\.:]+)*"}
 arch-name = xsd:token {pattern = 
"(x86_64|i586|i686|ix86|aarch64|arm64|armv5el|armv5tel|armv6hl|armv6l|armv7hl|armv7l|ppc|ppc64|ppc64le|s390|s390x|riscv64)(,(x86_64|i586|i686|ix86|aarch64|arm64|armv5el|armv5tel|armv6hl|armv6l|armv7hl|armv7l|ppc|ppc64|ppc64le|s390|s390x|riscv64))*"}
 portnum-type = xsd:token {pattern = "(\d+|\d+/(udp|tcp))"}
-grub_console = xsd:token {pattern = "(console|gfxterm|serial)( 
(console|gfxterm|serial))*"}
+grub_console = xsd:token {pattern = "(none|console|gfxterm|serial)( 
(console|gfxterm|serial))*"}
 fs_attributes = xsd:token {pattern = 
"(no-copy-on-write|synchronous-updates)(,(no-copy-on-write|synchronous-updates))*"}
 package-version-type =  xsd:token {pattern = 
"(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(\.(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){3}"}
 simple-uri-type = xsd:token {pattern = "(file:|https:|http:|ftp:).*"}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/kiwi/schema/kiwi.rng 
new/kiwi-9.25.17/kiwi/schema/kiwi.rng
--- old/kiwi-9.25.12/kiwi/schema/kiwi.rng       2023-08-03 12:31:11.000000000 
+0200
+++ new/kiwi-9.25.17/kiwi/schema/kiwi.rng       2023-09-13 12:16:33.000000000 
+0200
@@ -88,7 +88,7 @@
   </define>
   <define name="grub_console">
     <data type="token">
-      <param name="pattern">(console|gfxterm|serial)( 
(console|gfxterm|serial))*</param>
+      <param name="pattern">(none|console|gfxterm|serial)( 
(console|gfxterm|serial))*</param>
     </data>
   </define>
   <define name="fs_attributes">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/kiwi/system/profile.py 
new/kiwi-9.25.17/kiwi/system/profile.py
--- old/kiwi-9.25.12/kiwi/system/profile.py     2023-08-03 12:31:11.000000000 
+0200
+++ new/kiwi-9.25.17/kiwi/system/profile.py     2023-09-13 12:16:33.000000000 
+0200
@@ -184,10 +184,14 @@
         # kiwi_install_volid
         if self.xml_state.is_xen_server():
             self.dot_profile['kiwi_xendomain'] = 'dom0'
-        if self.xml_state.get_build_type_name() in ['oem', 'iso']:
+        if self.xml_state.get_build_type_name() == 'oem':
             install_volid = self.xml_state.build_type.get_volid() or \
                 Defaults.get_install_volume_id()
             self.dot_profile['kiwi_install_volid'] = install_volid
+        if self.xml_state.get_build_type_name() == 'iso':
+            live_iso_volid = self.xml_state.build_type.get_volid() or \
+                Defaults.get_volume_id()
+            self.dot_profile['kiwi_live_volid'] = live_iso_volid
 
     def _strip_to_profile(self):
         # kiwi_strip_delete
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/kiwi/utils/veritysetup.py 
new/kiwi-9.25.17/kiwi/utils/veritysetup.py
--- old/kiwi-9.25.12/kiwi/utils/veritysetup.py  2022-12-20 15:07:52.000000000 
+0100
+++ new/kiwi-9.25.17/kiwi/utils/veritysetup.py  2023-09-13 12:16:33.000000000 
+0200
@@ -173,7 +173,7 @@
         |header_string|0xFF|dm_verity_credentials|0xFF|0x0|
 
         header_string:
-            '{version} {fstype} {ro|rw} verity'
+            '{version} {fstype} ro verity'
 
         dm_verity_credentials:
             '{hash_type} {data_blksize} {hash_blksize}
@@ -186,10 +186,8 @@
         metadata_format_version = defaults.DM_METADATA_FORMAT_VERSION
         filesystem = self.get_block_storage_filesystem()
         if filesystem and self.verity_dict:
-            filesystem_mode = 'ro' if filesystem == 'squashfs' else 'rw'
-
-            header_string = '{0} {1} {2} verity'.format(
-                metadata_format_version, filesystem, filesystem_mode
+            header_string = '{0} {1} ro verity'.format(
+                metadata_format_version, filesystem
             )
 
             hash_start_block = int(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/kiwi/version.py 
new/kiwi-9.25.17/kiwi/version.py
--- old/kiwi-9.25.12/kiwi/version.py    2023-08-09 22:39:20.000000000 +0200
+++ new/kiwi-9.25.17/kiwi/version.py    2023-10-17 09:30:49.000000000 +0200
@@ -18,5 +18,5 @@
 """
 Global version information used in kiwi and the package
 """
-__version__ = '9.25.12'
-__githash__ = 'fa0b516b918823e50e5d2ee421e17665c3aca510'
+__version__ = '9.25.17'
+__githash__ = '232b691374d8e713012113bef37632f404e209ed'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/kiwi/volume_manager/btrfs.py 
new/kiwi-9.25.17/kiwi/volume_manager/btrfs.py
--- old/kiwi-9.25.12/kiwi/volume_manager/btrfs.py       2023-08-03 
12:31:11.000000000 +0200
+++ new/kiwi-9.25.17/kiwi/volume_manager/btrfs.py       2023-09-13 
12:16:33.000000000 +0200
@@ -67,8 +67,8 @@
             self.custom_args['root_label'] = 'ROOT'
         if 'root_is_snapshot' not in self.custom_args:
             self.custom_args['root_is_snapshot'] = False
-        if 'set_default_volume' not in self.custom_args:
-            self.custom_args['set_default_volume'] = True
+        if 'btrfs_default_volume_requested' not in self.custom_args:
+            self.custom_args['btrfs_default_volume_requested'] = True
         if 'root_is_readonly_snapshot' not in self.custom_args:
             self.custom_args['root_is_readonly_snapshot'] = False
         if 'root_is_subvolume' not in self.custom_args:
@@ -229,6 +229,7 @@
                 )
 
                 volume_mountpoint = toplevel
+                root_is_snapshot = self.custom_args['root_is_snapshot']
 
                 attributes = {
                     'parent': volume.parent or '',
@@ -239,7 +240,7 @@
                     ).lstrip(os.sep),
                     'subvol_name': volume.name
                 }
-                if self.custom_args['root_is_snapshot']:
+                if root_is_snapshot:
                     volume_mountpoint = self.mountpoint + \
                         f'/{self.root_volume_name}/.snapshots/1/snapshot/'
                     attributes = {
@@ -255,7 +256,13 @@
                     device=self.device,
                     attributes=attributes,
                     mountpoint=os.path.normpath(
-                        volume_mountpoint + os.sep + volume.realpath
+                        os.sep.join(
+                            [
+                                volume_mountpoint,
+                                self.root_volume_name if not root_is_snapshot 
else '',
+                                volume.realpath
+                            ]
+                        )
                     )
                 )
                 self.subvol_mount_list.append(
@@ -481,7 +488,7 @@
                 volume_id = id_search.group(1)
                 volume_path = id_search.group(2)
                 if volume_path == default_volume:
-                    if self.custom_args['set_default_volume'] is not False:
+                    if self.custom_args['btrfs_default_volume_requested']:
                         Command.run(
                             [
                                 'btrfs', 'subvolume', 'set-default',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/kiwi/xml_parse.py 
new/kiwi-9.25.17/kiwi/xml_parse.py
--- old/kiwi-9.25.12/kiwi/xml_parse.py  2023-08-03 12:31:11.000000000 +0200
+++ new/kiwi-9.25.17/kiwi/xml_parse.py  2023-09-13 12:16:33.000000000 +0200
@@ -100,7 +100,7 @@
 try:
     from generatedssuper import GeneratedsSuper
 except ImportError as exp:
-    
+
     class GeneratedsSuper(object):
         tzoff_pattern = re_.compile(r'(\+|-)((0\d|1[0-3]):[0-5]\d|14:00)$')
         class _FixedOffsetTZ(datetime_.tzinfo):
@@ -426,7 +426,7 @@
             return self.__dict__ == other.__dict__
         def __ne__(self, other):
             return not self.__eq__(other)
-    
+
     def getSubclassFromModule_(module, class_):
         '''Get the subclass of a class from a specific module.'''
         name = class_.__name__ + 'Sub'
@@ -5606,7 +5606,7 @@
             if not self.gds_validate_simple_patterns(
                     self.validate_grub_console_patterns_, value):
                 warnings_.warn('Value "%s" does not match xsd pattern 
restrictions: %s' % (value.encode('utf-8'), 
self.validate_grub_console_patterns_, ))
-    validate_grub_console_patterns_ = [['^(console|gfxterm|serial)( 
(console|gfxterm|serial))*$']]
+    validate_grub_console_patterns_ = [['^(none|console|gfxterm|serial)( 
(console|gfxterm|serial))*$']]
     def hasContent_(self):
         if (
             self.bootloadersettings is not None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/kiwi/xml_state.py 
new/kiwi-9.25.17/kiwi/xml_state.py
--- old/kiwi-9.25.12/kiwi/xml_state.py  2023-08-03 12:31:11.000000000 +0200
+++ new/kiwi-9.25.17/kiwi/xml_state.py  2023-10-16 14:16:39.000000000 +0200
@@ -168,6 +168,18 @@
         """
         return self.build_type.get_image()
 
+    def btrfs_default_volume_requested(self) -> bool:
+        """
+        Check if setting a default volume for btrfs is requested
+        """
+        if self.build_type.get_btrfs_set_default_volume() is False:
+            # Setting a default volume is explicitly switched off
+            return False
+        else:
+            # In any other case (True | None) a default volume
+            # is wanted and will be set
+            return True
+
     def get_image_version(self) -> str:
         """
         Image version from preferences section.
@@ -1900,9 +1912,22 @@
         Get list of signing keys specified on the repositories
         """
         key_file_list: List[str] = []
+        release_version = self.get_release_version()
+        release_vars = [
+            '$releasever',
+            '${releasever}'
+        ]
         for repository in self.get_repository_sections() or []:
             for signing in repository.get_source().get_signing() or []:
-                key_file_list.append(Uri(signing.get_key()).translate())
+                normalized_key_url = Uri(signing.get_key()).translate()
+                if release_version:
+                    for release_var in release_vars:
+                        if release_var in normalized_key_url:
+                            normalized_key_url = normalized_key_url.replace(
+                                release_var, release_version
+                            )
+                if normalized_key_url not in key_file_list:
+                    key_file_list.append(normalized_key_url)
         return key_file_list
 
     def set_repository(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/kiwi.egg-info/PKG-INFO 
new/kiwi-9.25.17/kiwi.egg-info/PKG-INFO
--- old/kiwi-9.25.12/kiwi.egg-info/PKG-INFO     2023-08-09 22:44:25.000000000 
+0200
+++ new/kiwi-9.25.17/kiwi.egg-info/PKG-INFO     2023-10-17 09:35:16.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: kiwi
-Version: 9.25.12
+Version: 9.25.17
 Summary: KIWI - Appliance Builder (next generation)
 Home-page: https://osinside.github.io/kiwi
 Author: Marcus Schaefer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/kiwi.egg-info/SOURCES.txt 
new/kiwi-9.25.17/kiwi.egg-info/SOURCES.txt
--- old/kiwi-9.25.12/kiwi.egg-info/SOURCES.txt  2023-08-09 22:44:25.000000000 
+0200
+++ new/kiwi-9.25.17/kiwi.egg-info/SOURCES.txt  2023-10-17 09:35:16.000000000 
+0200
@@ -447,6 +447,7 @@
 test/data/example_disk_size_volume_config.xml
 test/data/example_disk_size_volume_too_small_config.xml
 test/data/example_dot_profile_config.xml
+test/data/example_dot_profile_live_config.xml
 test/data/example_include_config.xml
 test/data/example_include_config_from_description_dir.xml
 test/data/example_include_config_missing_reference.xml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/package/python-kiwi-pkgbuild-template 
new/kiwi-9.25.17/package/python-kiwi-pkgbuild-template
--- old/kiwi-9.25.12/package/python-kiwi-pkgbuild-template      2022-12-20 
15:07:52.000000000 +0100
+++ new/kiwi-9.25.17/package/python-kiwi-pkgbuild-template      2023-09-13 
12:16:33.000000000 +0200
@@ -21,7 +21,7 @@
 }
 
 package_python-kiwi(){
-  depends=(python-docopt python-simplejson python-future python-lxml 
python-requests python-setuptools python-six python-pyxattr python-yaml grub 
qemu squashfs-tools gptfdisk pacman e2fsprogs xfsprogs btrfs-progs libisoburn 
lvm2 mtools parted multipath-tools rsync tar shadow screen kiwi-man-pages)
+  depends=(python-docopt python-simplejson python-lxml python-requests 
python-setuptools python-yaml grub qemu squashfs-tools gptfdisk pacman 
e2fsprogs xfsprogs btrfs-progs libisoburn lvm2 mtools parted multipath-tools 
rsync tar shadow screen kiwi-man-pages)
   optdepends=('gnupg: keyring creation for APT package manager')
   cd kiwi-${pkgver}
   python setup.py install --root="${pkgdir}/" --optimize=1 --skip-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/package/python-kiwi-spec-template 
new/kiwi-9.25.17/package/python-kiwi-spec-template
--- old/kiwi-9.25.12/package/python-kiwi-spec-template  2023-08-03 
12:31:11.000000000 +0200
+++ new/kiwi-9.25.17/package/python-kiwi-spec-template  2023-09-13 
12:16:33.000000000 +0200
@@ -102,7 +102,7 @@
 Provides:       kiwi-packagemanager:microdnf
 Requires:       microdnf
 %endif
-%if 0%{?fedora} >= 39
+%if 0%{?fedora} >= 41
 Requires:       dnf5
 Requires:       dnf5-plugins
 Provides:       kiwi-packagemanager:dnf5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/test/data/description/config.xml 
new/kiwi-9.25.17/test/data/description/config.xml
--- old/kiwi-9.25.12/test/data/description/config.xml   2023-08-03 
12:31:11.000000000 +0200
+++ new/kiwi-9.25.17/test/data/description/config.xml   2023-10-16 
14:16:39.000000000 +0200
@@ -184,6 +184,8 @@
     <repository priority="42" sourcetype="baseurl">
         <source path="iso:///image/CDs/dvd.iso">
             <signing key="file:key_a"/>
+            <signing 
key="file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-$releasever-primary"/>
+            <signing 
key="file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-${releasever}-primary"/>
         </source>
     </repository>
     <repository type="rpm-md" imageinclude="true" customize="script">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi-9.25.12/test/data/description.buildservice/appliance.kiwi 
new/kiwi-9.25.17/test/data/description.buildservice/appliance.kiwi
--- old/kiwi-9.25.12/test/data/description.buildservice/appliance.kiwi  
2023-08-03 12:31:11.000000000 +0200
+++ new/kiwi-9.25.17/test/data/description.buildservice/appliance.kiwi  
2023-10-16 14:16:39.000000000 +0200
@@ -184,6 +184,8 @@
     <repository priority="42" sourcetype="baseurl">
         <source path="iso:///image/CDs/dvd.iso">
             <signing key="file:key_a"/>
+            <signing 
key="file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-$releasever-primary"/>
+            <signing 
key="file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-${releasever}-primary"/>
         </source>
     </repository>
     <repository type="rpm-md" imageinclude="true" customize="script">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/test/data/example_config.xml 
new/kiwi-9.25.17/test/data/example_config.xml
--- old/kiwi-9.25.12/test/data/example_config.xml       2023-08-03 
12:31:11.000000000 +0200
+++ new/kiwi-9.25.17/test/data/example_config.xml       2023-10-16 
14:16:39.000000000 +0200
@@ -184,6 +184,8 @@
     <repository priority="42" sourcetype="baseurl">
         <source path="iso:///image/CDs/dvd.iso">
             <signing key="file:key_a"/>
+            <signing 
key="file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-$releasever-primary"/>
+            <signing 
key="file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-${releasever}-primary"/>
         </source>
     </repository>
     <repository type="rpm-md" imageinclude="true" customize="script">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi-9.25.12/test/data/example_dot_profile_live_config.xml 
new/kiwi-9.25.17/test/data/example_dot_profile_live_config.xml
--- old/kiwi-9.25.12/test/data/example_dot_profile_live_config.xml      
1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi-9.25.17/test/data/example_dot_profile_live_config.xml      
2023-09-13 12:16:33.000000000 +0200
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<image schemaversion="7.6" name="LiveImage" displayname="Live">
+    <description type="system">
+        <author>Marcus Schäfer</author>
+        <contact>[email protected]</contact>
+        <specification>
+            Test dot profile env for Live images
+        </specification>
+    </description>
+    <preferences>
+        <version>1.1.0</version>
+        <packagemanager>zypper</packagemanager>
+        <locale>en_US</locale>
+        <keytable>us.map.gz</keytable>
+        <timezone>Europe/Berlin</timezone>
+        <type image="iso" flags="overlay" firmware="bios" 
kernelcmdline="console=ttyS0" hybridpersistent_filesystem="ext4" 
hybridpersistent="true" mediacheck="true"/>
+    </preferences>
+    <users>
+        <user groups="root" password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" 
home="/root" name="root"/>
+    </users>
+    <repository>
+        <source path="obsrepositories:/"/>
+    </repository>
+    <packages type="image">
+        <package name="patterns-openSUSE-base"/>
+    </packages>
+    <packages type="bootstrap">
+        <package name="udev"/>
+        <package name="filesystem"/>
+        <package name="glibc-locale"/>
+    </packages>
+</image>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/test/data/root-dir/image/config.xml 
new/kiwi-9.25.17/test/data/root-dir/image/config.xml
--- old/kiwi-9.25.12/test/data/root-dir/image/config.xml        2023-08-03 
12:31:11.000000000 +0200
+++ new/kiwi-9.25.17/test/data/root-dir/image/config.xml        2023-10-16 
14:16:39.000000000 +0200
@@ -184,6 +184,8 @@
     <repository priority="42" sourcetype="baseurl">
         <source path="iso:///image/CDs/dvd.iso">
             <signing key="file:key_a"/>
+            <signing 
key="file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-$releasever-primary"/>
+            <signing 
key="file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-${releasever}-primary"/>
         </source>
     </repository>
     <repository type="rpm-md" imageinclude="true" customize="script">
Binary files old/kiwi-9.25.12/test/unit/.coverage and 
new/kiwi-9.25.17/test/unit/.coverage differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi-9.25.12/test/unit/bootloader/config/grub2_test.py 
new/kiwi-9.25.17/test/unit/bootloader/config/grub2_test.py
--- old/kiwi-9.25.12/test/unit/bootloader/config/grub2_test.py  2023-08-09 
22:41:29.000000000 +0200
+++ new/kiwi-9.25.17/test/unit/bootloader/config/grub2_test.py  2023-09-22 
16:02:01.000000000 +0200
@@ -1022,6 +1022,20 @@
             assert 'initrd /boot/initrd' in \
                 
file_handle_menu.write.call_args_list[1][0][0].split(os.linesep)
 
+            self.bootloader.bootpartition = True
+            file_handle_menu.reset_mock()
+
+            self.bootloader.setup_disk_image_config(
+                boot_options={
+                    'root_device': 'rootdev', 'boot_device': 'bootdev'
+                }
+            )
+
+            assert 'linux /vmlinuz' in \
+                
file_handle_menu.write.call_args_list[1][0][0].split(os.linesep)
+            assert 'initrd /initrd' in \
+                
file_handle_menu.write.call_args_list[1][0][0].split(os.linesep)
+
     @patch.object(BootLoaderConfigGrub2, '_mount_system')
     @patch.object(BootLoaderConfigGrub2, '_copy_grub_config_to_efi_path')
     @patch('kiwi.bootloader.config.grub2.Command.run')
@@ -1279,8 +1293,8 @@
                 call('cryptomount -u 0815\n'),
                 call('set root="cryptouuid/0815"\n'),
                 call('search --fs-uuid --set=root 0815\n'),
-                call('set prefix=($root)//grub2\n'),
-                call('source ($root)//grub2/grub.cfg\n')
+                call('set prefix=($root)/grub2\n'),
+                call('source ($root)/grub2/grub.cfg\n')
             ]
         assert mock_command.call_args_list == [
             call(
@@ -1295,7 +1309,7 @@
                     '-O', 'x86_64-efi',
                     '-o', '/boot/efi/EFI/BOOT/bootx64.efi',
                     '-c', '/boot/efi/EFI/BOOT/earlyboot.cfg',
-                    '-p', '//grub2',
+                    '-p', '/grub2',
                     '-d', '/usr/share/grub2/x86_64-efi',
                     'ext2', 'iso9660', 'linux', 'echo', 'configfile',
                     'search_label', 'search_fs_file', 'search',
@@ -1338,8 +1352,8 @@
                 call('cryptomount -u 0815\n'),
                 call('set root="cryptouuid/0815"\n'),
                 call('search --fs-uuid --set=root 0815\n'),
-                call('set prefix=($root)//grub2\n'),
-                call('source ($root)//grub2/grub.cfg\n')
+                call('set prefix=($root)/grub2\n'),
+                call('source ($root)/grub2/grub.cfg\n')
             ]
             mock_open.assert_called_once_with(
                 'root_dir/boot/efi/EFI/BOOT/grub.cfg', 'w'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/test/unit/builder/disk_test.py 
new/kiwi-9.25.17/test/unit/builder/disk_test.py
--- old/kiwi-9.25.12/test/unit/builder/disk_test.py     2023-08-03 
12:31:11.000000000 +0200
+++ new/kiwi-9.25.17/test/unit/builder/disk_test.py     2023-09-13 
12:16:33.000000000 +0200
@@ -1224,7 +1224,7 @@
         filesystem = Mock()
         mock_fs.return_value = filesystem
         self.disk_builder.volume_manager_name = 'btrfs'
-        self.disk_builder.btrfs_set_default_volume = False
+        self.disk_builder.btrfs_default_volume_requested = False
 
         with patch('builtins.open'):
             self.disk_builder.create_disk()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/test/unit/system/profile_test.py 
new/kiwi-9.25.17/test/unit/system/profile_test.py
--- old/kiwi-9.25.12/test/unit/system/profile_test.py   2022-12-20 
15:07:52.000000000 +0100
+++ new/kiwi-9.25.17/test/unit/system/profile_test.py   2023-09-13 
12:16:33.000000000 +0200
@@ -15,12 +15,67 @@
         self.profile = Profile(
             XMLState(description.load())
         )
+        live_description = XMLDescription(
+            '../data/example_dot_profile_live_config.xml'
+        )
+        self.live_profile = Profile(
+            XMLState(live_description.load())
+        )
 
     def setup_method(self, cls):
         self.setup()
 
     @patch('kiwi.path.Path.which')
-    def test_create(self, mock_which):
+    def test_create_live(self, mock_which):
+        mock_which.return_value = 'cp'
+        self.live_profile.create(self.profile_file)
+        os.remove(self.profile_file)
+        assert self.live_profile.dot_profile == {
+            'kiwi_iname': 'LiveImage',
+            'kiwi_displayname': 'Live',
+            'kiwi_profiles': '',
+            'kiwi_delete': '',
+            'kiwi_type': 'iso',
+            'kiwi_compressed': None,
+            'kiwi_boot_timeout': None,
+            'kiwi_wwid_wait_timeout': None,
+            'kiwi_hybridpersistent': True,
+            'kiwi_hybridpersistent_filesystem': 'ext4',
+            'kiwi_initrd_system': 'dracut',
+            'kiwi_ramonly': None,
+            'kiwi_target_blocksize': None,
+            'kiwi_target_removable': None,
+            'kiwi_cmdline': 'console=ttyS0',
+            'kiwi_firmware': 'bios',
+            'kiwi_bootloader': 'grub2',
+            'kiwi_bootloader_console': None,
+            'kiwi_btrfs_root_is_snapshot': None,
+            'kiwi_gpt_hybrid_mbr': None,
+            'kiwi_devicepersistency': None,
+            'kiwi_installboot': None,
+            'kiwi_bootkernel': None,
+            'kiwi_fsmountoptions': None,
+            'kiwi_bootprofile': None,
+            'kiwi_vga': None,
+            'kiwi_startsector': 2048,
+            'kiwi_luks_empty_passphrase': False,
+            'kiwi_live_volid': 'CDROM',
+            'kiwi_iversion': '1.1.0',
+            'kiwi_showlicense': None,
+            'kiwi_keytable': 'us.map.gz',
+            'kiwi_timezone': 'Europe/Berlin',
+            'kiwi_language': 'en_US',
+            'kiwi_splash_theme': None,
+            'kiwi_loader_theme': None,
+            'kiwi_strip_delete': '',
+            'kiwi_strip_tools': '',
+            'kiwi_strip_libs': '',
+            'kiwi_drivers': '',
+            'kiwi_rootpartuuid': None
+        }
+
+    @patch('kiwi.path.Path.which')
+    def test_create_oem(self, mock_which):
         mock_which.return_value = 'cp'
         self.profile.create(self.profile_file)
         os.remove(self.profile_file)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/test/unit/utils/veritysetup_test.py 
new/kiwi-9.25.17/test/unit/utils/veritysetup_test.py
--- old/kiwi-9.25.12/test/unit/utils/veritysetup_test.py        2022-12-20 
15:07:52.000000000 +0100
+++ new/kiwi-9.25.17/test/unit/utils/veritysetup_test.py        2023-09-13 
12:16:33.000000000 +0200
@@ -162,7 +162,7 @@
             file_handle = mock_open.return_value.__enter__.return_value
             self.veritysetup.create_verity_verification_metadata()
         assert file_handle.write.call_args_list == [
-            call(b'1 ext4 rw verity'),
+            call(b'1 ext4 ro verity'),
             call(b'\xff'),
             call(b'1 4096 4096 10 1 sha256 e2728628377... fb074d1db50...'),
             call(b'\xff'),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.25.12/test/unit/xml_state_test.py 
new/kiwi-9.25.17/test/unit/xml_state_test.py
--- old/kiwi-9.25.12/test/unit/xml_state_test.py        2023-08-03 
12:31:11.000000000 +0200
+++ new/kiwi-9.25.17/test/unit/xml_state_test.py        2023-10-16 
14:16:39.000000000 +0200
@@ -1078,9 +1078,12 @@
 
     @patch('kiwi.system.uri.os.path.abspath')
     def test_get_repositories_signing_keys(self, mock_root_path):
-        mock_root_path.side_effect = lambda x: f'/some/path/{x}'
+        mock_root_path.side_effect = lambda x: f'(mock_abspath){x}'
         assert self.state.get_repositories_signing_keys() == [
-            '/some/path/key_a', '/some/path/key_b'
+            '(mock_abspath)key_a',
+            '(mock_abspath)/usr/share/distribution-gpg-keys/'
+            'fedora/RPM-GPG-KEY-fedora-15.3-primary',
+            '(mock_abspath)key_b'
         ]
 
     def test_this_path_resolver(self):
@@ -1140,3 +1143,14 @@
     def test_get_btrfs_root_is_subvolume(self):
         assert self.state.build_type.get_btrfs_root_is_subvolume() is \
             None
+
+    @patch('kiwi.xml_parse.type_.get_btrfs_set_default_volume')
+    def test_btrfs_default_volume_requested(
+        self, mock_get_btrfs_set_default_volume
+    ):
+        mock_get_btrfs_set_default_volume.return_value = True
+        assert self.state.btrfs_default_volume_requested() is True
+        mock_get_btrfs_set_default_volume.return_value = False
+        assert self.state.btrfs_default_volume_requested() is False
+        mock_get_btrfs_set_default_volume.return_value = None
+        assert self.state.btrfs_default_volume_requested() is True

Reply via email to