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
