diff --git a/PKGBUILD b/PKGBUILD index 90aed71..029a336 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,28 +3,34 @@ 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.22 +pkgver=10.2.12 pkgrel=0 pkgdesc="KIWI - Appliance Builder Next Generation" url="https://github.com/SUSE/kiwi/tarball/master" license=('GPL3') -makedepends=(python-setuptools gcc shadow grep) +makedepends=(make gcc python-build python-docopt python-installer python-lxml python-poetry-core python-requests python-setuptools python-simplejson python-sphinx python-sphinx_rtd_theme python-wheel python-yaml shadow grep) provides=(kiwi-ng kiwi) source=("${pkgname}.tar.gz") changelog="${pkgname}.changes" -md5sums=('2e88d62046b49112f55ca259b41ebece') +md5sums=('db16017d9f5ffa00eb04895a7180058d') build() { + export LANG=C.UTF-8 + export LC_ALL=C.UTF-8 cd kiwi-${pkgver} - python setup.py build + # Temporarily switch things back to docopt + # FIXME: Drop this hack as soon as we can... + sed -e 's/docopt-ng.*/docopt = ">=0.6.2"/' -i pyproject.toml + make -C doc man + python3 -m build --no-isolation --wheel } package_python-kiwi(){ 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 + python3 -m installer --destdir "${pkgdir}/" dist/*.whl ln -sr "${pkgdir}/usr/bin/kiwi-ng" "${pkgdir}/usr/bin/kiwi" install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } diff --git a/kiwi-revert-bls-default-for-suse.patch b/kiwi-revert-bls-default-for-suse.patch new file mode 100644 index 0000000..4a5c403 --- /dev/null +++ b/kiwi-revert-bls-default-for-suse.patch @@ -0,0 +1,67 @@ +From b0d850842b0c8d4c98f0486f66ffd7c6e8f1a685 Mon Sep 17 00:00:00 2001 +From: Neal Gompa +Date: Thu, 2 May 2024 06:23:45 -0400 +Subject: [PATCH] Revert "kiwi/bootloader: restore backward compatibility for + grub2 with bls" + +For the time being, SUSE distributions cannot handle KIWI's default to use +BLS with GRUB2. Until they catch up, revert this. + +This reverts commit 155d969d7752d92c90c69044bdd69be70f0a1c24. +--- + kiwi/xml_state.py | 2 +- + test/unit/bootloader/config/grub2_test.py | 4 ---- + 2 files changed, 1 insertion(+), 5 deletions(-) + +diff --git a/kiwi/xml_state.py b/kiwi/xml_state.py +index eb39163cd..8c3fd45f3 100644 +--- a/kiwi/xml_state.py ++++ b/kiwi/xml_state.py +@@ -1009,7 +1009,7 @@ class XMLState: + bootloader = self.get_build_type_bootloader_section() + if bootloader: + return bootloader.get_bls() +- return True ++ return False + + def get_build_type_bootloader_console(self) -> List[str]: + """ +diff --git a/test/unit/bootloader/config/grub2_test.py b/test/unit/bootloader/config/grub2_test.py +index e9189a609..d81d76ec7 100644 +--- a/test/unit/bootloader/config/grub2_test.py ++++ b/test/unit/bootloader/config/grub2_test.py +@@ -600,7 +600,6 @@ class TestBootLoaderConfigGrub2: + 'GRUB_BACKGROUND': '/boot/grub2/themes/openSUSE/background.png', + 'GRUB_CMDLINE_LINUX_DEFAULT': '"some-cmdline"', + 'GRUB_DISTRIBUTOR': '"Bob"', +- 'GRUB_ENABLE_BLSCFG': 'true', + 'GRUB_ENABLE_CRYPTODISK': 'y', + 'GRUB_GFXMODE': '800x600', + 'GRUB_SERIAL_COMMAND': '"serial --speed=38400"', +@@ -643,7 +642,6 @@ class TestBootLoaderConfigGrub2: + call('GRUB_CMDLINE_LINUX', '"root=LABEL=some-label"'), + call('GRUB_DISABLE_LINUX_UUID', 'true'), + call('GRUB_DISTRIBUTOR', '"Bob"'), +- call('GRUB_ENABLE_BLSCFG', 'true'), + call('GRUB_ENABLE_CRYPTODISK', 'y'), + call('GRUB_ENABLE_LINUX_LABEL', 'true'), + call('GRUB_GFXMODE', '800x600'), +@@ -688,7 +686,6 @@ class TestBootLoaderConfigGrub2: + call('GRUB_DISABLE_LINUX_PARTUUID', 'false'), + call('GRUB_DISABLE_LINUX_UUID', 'true'), + call('GRUB_DISTRIBUTOR', '"Bob"'), +- call('GRUB_ENABLE_BLSCFG', 'true'), + call('GRUB_ENABLE_CRYPTODISK', 'y'), + call('GRUB_GFXMODE', '800x600'), + call( +@@ -732,7 +729,6 @@ class TestBootLoaderConfigGrub2: + call('GRUB_CMDLINE_LINUX_DEFAULT', '"abcd console=tty0"'), + call('GRUB_DISABLE_LINUX_UUID', 'true'), + call('GRUB_DISTRIBUTOR', '"Bob"'), +- call('GRUB_ENABLE_BLSCFG', 'true'), + call('GRUB_ENABLE_CRYPTODISK', 'y'), + call('GRUB_ENABLE_LINUX_LABEL', 'true'), + call('GRUB_GFXMODE', '800x600'), +-- +2.44.0 + diff --git a/python-kiwi.changes b/python-kiwi.changes index fe421c5..abc1237 100644 --- a/python-kiwi.changes +++ b/python-kiwi.changes @@ -1,5 +1,2207 @@ ------------------------------------------------------------------- -Mon Apr 22 10:49:09 CEST 2024 - Marcus Schäfer +Wed Feb 26 17:39:37 CET 2025 - Marcus Schäfer + +- Bump version: 10.2.11 → 10.2.12 + +------------------------------------------------------------------- +Wed Feb 26 16:17:40 CET 2025 - Marcus Schäfer + +- Fix profile env variable name regression + + In the effort of adapting to the latest snapper in Issue #2697 + we overlooked the after effect of a different variable name + in the profile environment with regards to $kiwi_btrfs_root_is_snapshot + and $kiwi_btrfs_root_is_snapper_snapshot. Image builds that + references the former variable name would be broken by the change. + This commit makes sure no regression is introduced by providing + both variants. This Fixes bsc#1237772 + +------------------------------------------------------------------- +Tue Feb 25 11:51:49 CET 2025 - Marcus Schäfer + +- Fix grub mkimage call for the ppc platform + + The list of modules used to create a grub platform image for + ppc was the same list as used for the x86 bios platform. + This commit fixes this and also cleans up the inconsistency + and misleading names used for creating platform specific + output. This Fixes #2738 + +------------------------------------------------------------------- +Sun Feb 16 17:41:04 CET 2025 - Marcus Schäfer + +- Bump version: 10.2.10 → 10.2.11 + +------------------------------------------------------------------- +Sun Feb 16 15:47:46 CET 2025 - Marcus Schäfer + +- Update box plugin documentation + + Add chapter about new container build feature. The + box plugin can now also run the build in containers + +------------------------------------------------------------------- +Tue Feb 11 18:29:44 CET 2025 - Marcus Schäfer + +- The ubuntu 20.04 github runner is closing down + + Make sure to move to another runner for workloads which + still uses ubuntu 20.04 + +------------------------------------------------------------------- +Sun Feb 09 20:16:13 CET 2025 - Marcus Schäfer + +- Bump version: 10.2.9 → 10.2.10 + +------------------------------------------------------------------- +Sun Feb 09 19:36:28 CET 2025 - Marcus Schäfer + +- Poetry build sdist timestamps set to epoch 0 + + Newer versions of poetry set the timestamp for all source + files to epoch 0. Such sources are not accepted by e.g + Debian FTP servers and in general I don't like when tools + changes their behavior just like that. This commit forces + an older version of poetry for the purpose of creating the + sdist tarball which then gets published on pypi. The + argumentation for reproducible builds by forcing source + files to a certain timestamp doesn't fly for me. I'm open + for any better solution though. This Fixes #2730 + +------------------------------------------------------------------- +Sat Feb 01 23:13:22 CET 2025 - Marcus Schäfer + +- Bump version: 10.2.8 → 10.2.9 + +------------------------------------------------------------------- +Thu Jan 30 23:55:51 CET 2025 - Marcus Schäfer + +- Classify missing chkstat as debug message + + chkstat is a distribution specific tool. If it is + present we use it, if not we don't but it's not worth + a warning. This Fixes #2711 + +------------------------------------------------------------------- +Thu Jan 30 22:50:28 CET 2025 - Marcus Schäfer + +- Allow to run setfiles multi threaded + + Use option -T0 for newer setfiles version. + This Fixes #2719 + +------------------------------------------------------------------- +Thu Jan 30 22:39:12 CET 2025 - Marcus Schäfer + +- Add rd.kiwi.dialog.timeout option + + Allow to configure the timeout value for dialogs displayed + by the kiwi dracut code. By default the timeout is set to + 60 seconds. With the special value "off" the dialog will + never timeout. This Fixes #2718 + +------------------------------------------------------------------- +Thu Jan 30 22:10:39 CET 2025 - Marcus Schäfer + +- Make sure copy actions does not drop context + + Use shutil.copy2 to copy files preserving their + attributes in the grub BootLoader space. + This Fixes #2709 + +------------------------------------------------------------------- +Thu Jan 30 21:26:00 CET 2025 - Marcus Schäfer + +- Improve unit test for archive target_dir + + Add a test case with absolute path in the target_dir + to make sure we never unpack the archive to the host + system. The actual issue was resolved together with + the implementation in #1953 and commit + 78238a993c966d1229cd2fc1f5923673a90de14d + This Fixes #2701 + +------------------------------------------------------------------- +Thu Jan 30 20:56:53 CET 2025 - Marcus Schäfer + +- Fixed profiled overlay imports + + When building an image for profile: SOME and providing + an overlay directory named SOME/... kiwi will sync the + contents of this overlay directory to the root tree. + However it took the toplevel name SOME/ into account + which is unwanted because only the sub data structure + should be synced into the new root tree. This + Fixes #2690 + +------------------------------------------------------------------- +Mon Jan 27 11:47:55 CET 2025 - Marcus Schäfer + +- Bump version: 10.2.7 → 10.2.8 + +------------------------------------------------------------------- +Mon Jan 27 11:46:48 CET 2025 - Ondrej Holecek + +- Use multipath child instead of parent device + + On multipath systems we need to find underlying child device + instead of using parent device. + This prevents listing all parent devices for a multipath device + +------------------------------------------------------------------- +Sat Jan 25 17:55:15 CET 2025 - Marcus Schäfer + +- Increase size for agama integration test build + + Agama needs more space to build now + +------------------------------------------------------------------- +Sat Jan 25 17:41:59 CET 2025 - Marcus Schäfer + +- Fixed agama integration test + + rubygem-byebug and rubygem-agama-yast seems to + no longer exist + +------------------------------------------------------------------- +Sat Jan 25 17:38:01 CET 2025 - Marcus Schäfer + +- Update TW integration tests + + Package nscd was dropped from TW + +------------------------------------------------------------------- +Wed Jan 22 10:38:09 CET 2025 - Marcus Schäfer + +- Fix documentation regarding URI styles + + In reference to commit 760a65558f9e2e91d3eaa3a2f9503ff596984b48 + the support for iso:// URI types was dropped some time ago. + However, the documentation was not properly updated. This + commit fixes it + +------------------------------------------------------------------- +Tue Jan 21 10:39:32 CET 2025 - Marcus Schäfer + +- Fix return value of grub helper methods + + The grub helper methods to find grub tools returns a + None value if the tool cannot be found. This None value + could be used later in a Command call where it will be + used in a join() command to log the resulting commandline. + This join() call then fails and raises an unhandled error + causing a stack trace in the application. This commit + fixes it + +------------------------------------------------------------------- +Mon Jan 20 17:54:08 CET 2025 - Marcus Schäfer + +- Added disk validation for duplicate installs + + Installing the same image to different storage disks on the + same machine creates device conflicts with unexpected side + effects. This commit adds a validation based on the PTUUID + of the disk image to check if another device on the system + has the same ID and if yes, does not allow to install the + image again including a message which device takes the same + identifier. This references bsc#1228741 + +------------------------------------------------------------------- +Mon Jan 20 09:13:22 CET 2025 - Marcus Schäfer + +- Fixed documentation for signing key attribute + + The source locator name for local files was incorrect + +------------------------------------------------------------------- +Sat Jan 18 17:58:02 CET 2025 - Marcus Schäfer + +- Bump version: 10.2.6 → 10.2.7 + +------------------------------------------------------------------- +Sat Jan 18 17:53:07 CET 2025 - Marcus Schäfer + +- Update documentation + + Added a new troubleshooting chapter as subsection to + the Build Host Constraints named Package Manager Behavior. + It serves the purpose to describe options for the customer + to change the default package manager behavior which + we from the kiwi side do not influence intentionally. + This is a followup change to bsc#1235448 + +------------------------------------------------------------------- +Tue Jan 14 10:52:43 CET 2025 - Marcus Schäfer + +- Drop still present tox artifacts + + There were still some left over tox files and the + documentation contribution chapter was also wrong at + several places + +------------------------------------------------------------------- +Mon Jan 13 14:45:55 CET 2025 - Marcus Schäfer + +- Add support for reading optional pkgmgr env file + + If there is a file .kiwi.package_manager.env in the root of + the image tree it will be read and put into the caller environment for + the selected package and repository manager. There are features + in e.g zypper which can only be used via env variables. + This Fixes bsc#1235448 + +------------------------------------------------------------------- +Mon Jan 13 10:18:49 CET 2025 - Marcus Schäfer + +- Auto convert unit test XML data to schema v8.3 + +------------------------------------------------------------------- +Mon Jan 13 09:45:32 CET 2025 - Marcus Schäfer + +- Rename btrfs_root_is_snapshot + + Rename btrfs_root_is_snapshot to btrfs_root_is_snapper_snapshot. + This happens in preparation for the changes suggested in #2697 + where we want to get rid of snapper specific btrfs code which + will be available in snapper natively soon. To make sure a btrfs + layout specific to snapper(and SUSE), the implicitly used attribute + named btrfs_root_is_snapshot now becomes explicit and its new + name will indicate that snapper sits behind it. Along with the + rename a XSLT stylesheet to automatically convert the old name + into the new name for schema v8.3 will be performed. + +------------------------------------------------------------------- +Mon Jan 13 09:25:29 CET 2025 - Marcus Schäfer + +- Bump version: 10.2.5 → 10.2.6 + +------------------------------------------------------------------- +Fri Jan 10 16:49:03 CET 2025 - Marcus Schäfer + +- Fixed donate button target + +------------------------------------------------------------------- +Wed Jan 08 21:51:57 CET 2025 - Marcus Schäfer + +- Added LUKS reencryption support + + Added rd.kiwi.oem.luks.reencrypt boot option consumed by the + kiwi-repart dracut module. For OEM LUKS2 encrypted disk images. + If set, reencrypts the disk prior an eventual resize and therefore + creates a new key pool and master key. The reencryption is advisable + if the image binary is not protected. With access to the image + binary it's possible to extract the luks header which then allows to + decrypt the data unless it was reencrypted. The reencryption process + only runs if the checksum of the luks header still matches the one + from the original disk image. Be aware that the reencryption will + ask for the passphrase if the image has been built with an initial + luks passphrase. + +------------------------------------------------------------------- +Wed Jan 08 09:51:06 CET 2025 - Marcus Schäfer + +- Fixed arm/tumbleweed/test-image-rpi + + No ruby required for this integration test build + +------------------------------------------------------------------- +Tue Jan 07 09:58:22 CET 2025 - Marcus Schäfer + +- Plain zipl loader needs boot partition + + If the rootfs is something zipl cannot read, we need an + extra boot partition using a supported filesystem + +------------------------------------------------------------------- +Tue Jan 07 09:44:06 CET 2025 - Marcus Schäfer + +- Fixed IBM-Cloud-Standard profile + + The test-image-MicroOS integration test builds an IBM-Cloud-Standard + profile as encrypted variant with a random key that is not protected + by an encrypted boot image. This doesn't make sense. Thus the + encryption setup for the IBM cloud standard build got removed. + Use the IBM-Cloud-Secure-Execution profile to test encrypted + secure linux builds + +------------------------------------------------------------------- +Tue Jan 07 09:18:55 CET 2025 - Marcus Schäfer + +- Fixed test-image-qcow-openstack + + rsh package was dropped from TW + +------------------------------------------------------------------- +Tue Dec 31 11:28:49 CET 2024 - Marcus Schäfer + +- Fix genprotimg for s390 builds + + A recent change on genprotimg now forbids to use --cert in + combination with --no-verify, even though this was allowed + before. + +------------------------------------------------------------------- +Fri Dec 20 12:57:29 CET 2024 - Marcus Schäfer + +- Fix documentation for repo, package gpg settings + + In contrast to the documentation, kiwi sets default values + for any gpg setting if not explicitly specified differently. + We want to avoid to inherit a behavior from how the distribution + packages the package manager. This commit fixes the documentation + to be in line with the implementation + +------------------------------------------------------------------- +Thu Dec 19 11:26:07 CET 2024 - Marcus Schäfer + +- Drop insecure and unsupported md5 digest + + Decommission the Checksum.md5() method and move all places + in code to sha256(). The md5 digest is considered insecure + and has also been removed from hashlib as a supported digest. + This Fixes #2696 + +------------------------------------------------------------------- +Thu Dec 19 10:48:43 CET 2024 - Marcus Schäfer + +- Fix config functions action + + The action failed on the setup of the runtime because the upgrade + of pip failed. + +------------------------------------------------------------------- +Thu Dec 19 10:35:24 CET 2024 - Marcus Schäfer + +- Bump version: 10.2.4 → 10.2.5 + +------------------------------------------------------------------- +Mon Dec 16 10:19:37 CET 2024 - Marcus Schäfer + +- Changed systemfiles provider + + Instead of providing a static list of filenames, provide a list + of package names. It is expected that the pilot of flake-pilot + resolves this list against the local package database to build + up the filelist for provisioning + +------------------------------------------------------------------- +Sat Dec 14 20:59:03 CET 2024 - Marcus Schäfer + +- Bump version: 10.2.3 → 10.2.4 + +------------------------------------------------------------------- +Wed Dec 11 20:40:19 CET 2024 - Marcus Schäfer + +- Update system files setup for containers + + The attribute provide_system_files creates a meta file in the + root tree named 'systemfiles'. The contents of this file were + produced by just a dump of the package database so far. For + a more generic use of this data some adaptions were needed. + First we allow to skip packages matching a pattern from being + part of the system files. Next we do not put ghost and doc + files into account. And last we handle library files in a different + file named 'systemfiles.libs' where we do not add symlink targets + if the target path is also part of the package. The consumer + of this information is flake-pilot which syncs that library system + files from the host via --copy-links. This allows a more generic + use with regards to versioned libraries e.g. libc + +------------------------------------------------------------------- +Tue Dec 10 19:14:52 CET 2024 - Neal Gompa + +- Drop /dev/pts from bind mount locations + + This has created havoc in the Fedora build environments by + fully unmounting /dev/pts and breaking the builders for + subsquent tasks. + + This is a partial revert of commit daf1323c5ded7e4e7783205f5e30457b40eb322f. + +------------------------------------------------------------------- +Sun Dec 08 20:35:42 CET 2024 - Marcus Schäfer + +- Don't take ghost files into account + + When creating the system files information do not + take ghost files and artifact files into account + +------------------------------------------------------------------- +Tue Dec 03 14:58:40 CET 2024 - Marcus Schäfer + +- Bump version: 10.2.2 → 10.2.3 + +------------------------------------------------------------------- +Tue Dec 03 14:56:47 CET 2024 - Marcus Schäfer + +- Update STYLEROOT to SUSE 2022 + +------------------------------------------------------------------- +Mon Dec 02 14:57:30 CET 2024 - Marcus Schäfer + +- Fix broken links in the documentation + +------------------------------------------------------------------- +Mon Dec 02 11:30:51 CET 2024 - Marcus Schäfer + +- Fix legacy_bios_mode detection + + The code in this method does not work correctly if the + firmware is set to 'bios'. In bios only mode the method + returned a false value which is incorrect as it should + return a true value in this case. Without this patch + ISO images will fail to boot because no loader gets + configured. + +------------------------------------------------------------------- +Mon Dec 02 09:48:50 CET 2024 - Marcus Schäfer + +- Added /dev/pts to bind mount locations + + During runtime several kernel filesystems are bind mounted into + the image root system such that programs expecting it can work. + /dev/pts was not needed so far but seems to be a good addition + to the list to make tools like sudo to work properly when called + e.g. from a config.sh script. This Fixes #2686 + +------------------------------------------------------------------- +Fri Nov 29 20:12:38 CET 2024 - Adam Williamson + +- xorriso: respect efiparttable and gpt_hybrid_mbr + + This should make the xorriso-based ISO build path respect the + 'efiparttable' and 'gpt_hybrid_mbr' settings when building a + UEFI-compatible image, making it write a GPT disk label by default + instead of an MBR (msdos) one. If it's building an image that is not + UEFI-compatible it will always write an MBR label, regardless of + this setting. + + If 'gpt_hybrid_mbr' is set, xorriso will write an Ubuntu-style + MBR/GPT hybrid partition table, where the MBR partition table + includes a partition with type 00 and the bootable flag, as well + as the partition with type ee required by the UEFI spec. This + mildly violates the UEFI spec but may make the image bootable on + native BIOS or CSM firmwares which refuse to boot from a disk with + no partition marked 'bootable' in the MBR. If 'gpt_hybrid_mbr' is + not set, xorriso will write a strictly UEFI-spec compliant label, + with just the 'protective MBR' required by the UEFI spec (no + bootable partition) and the correct GPT partition table. Note + this is somewhat different from what gpt_hybrid_mbr does for + disk images. + + Also, we now pass -compliance no_emul_toc when building ISOs, as + recommended by upstream in + https://lists.gnu.org/archive/html/bug-xorriso/2024-11/msg00012.html + This tool is generally always going to be building ISOs intended + for write-once use, not multi-session use (and which are rarely, + these days, written to physical discs at all anyway). + + Signed-off-by: Adam Williamson + +------------------------------------------------------------------- +Wed Nov 27 15:59:32 CET 2024 - Marcus Schäfer + +- Added provide/require system files for containers + + Added the attributes provide_system_files and require_system_files + to control the provider and requester of system files in + container image builds. systemfiles is a metadata file which + contains all files from the package database at call time. + It is used in flake-pilot to provision the systemfiles data + from the host into the container instance. One possible use + case for this data is a flake registration which uses a + base container that is derived from a runtime container but + all data from the runtime should be provisioned from the + host. Using this feature tightly couples the flake to the + host OS distribution and version. + +------------------------------------------------------------------- +Wed Nov 27 09:59:27 CET 2024 - Marcus Schäfer + +- Bump version: 10.2.1 → 10.2.2 + +------------------------------------------------------------------- +Wed Nov 27 09:49:05 CET 2024 - Marcus Schäfer + +- Fix scope issue + + Increase livetime of the the compressor instances + to the livetime of RootImportOCI. They create temporary + files which are referenced later and need to live longer + than the block they got created in + +------------------------------------------------------------------- +Tue Nov 26 13:14:19 CET 2024 - Marcus Schäfer + +- Bump version: 10.2.0 → 10.2.1 + +------------------------------------------------------------------- +Mon Nov 25 16:30:53 CET 2024 - Marcus Schäfer + +- Fixed use of fscreateoptions for iso type + + The information for fscreateoptions was not passed along to the + tooling if a custom filesystem attribute was specified. + This Fixes #2681 + +------------------------------------------------------------------- +Mon Nov 25 12:32:20 CET 2024 - Marcus Schäfer + +- Allow to derive from multiple containers + + Add support for multi inheritance to the derived_from attribute + In the order of a comma seperated list of docker source URI's + a base tree is created. This was possible only with one container + so far and Fixes #2680 as well as jira#OBS-354 + +------------------------------------------------------------------- +Thu Nov 21 11:52:53 CET 2024 - Marcus Schäfer + +- Bump version: 10.1.18 → 10.2.0 + +------------------------------------------------------------------- +Thu Nov 21 11:33:25 CET 2024 - Marcus Schäfer + +- Add selinux test build to TW + + Also update derived docker integration test to latest Leap + +------------------------------------------------------------------- +Wed Nov 20 02:14:58 CET 2024 - Neal Gompa + +- kiwi/schema: Fix allowed value type for ISO publisher and application ID + + According to the spec, this should be constrained to 128 characters + but also allow quite a few other special characters (as well as spaces). + We didn't allow spaces in application ID, but allowed too much for Publisher. + + Now we set up both correctly. + +------------------------------------------------------------------- +Sun Nov 17 23:25:35 CET 2024 - Marcus Schäfer + +- Fix setup of kiwi environment variables + + Some kiwi env vars are initialized with an empty value + and not overwritten if another value is provided. For + the selected variables an empty value setting is not + allowed because the schema also enforces the value to + be set at least once. In addition a helpful option + named --print-kiwi-env was added to the 'image info' + command which allows to print the environment variables + and their values. + +------------------------------------------------------------------- +Tue Nov 12 09:52:44 CET 2024 - Marcus Schäfer + +- Add random key support for LUKS encryption + + Allow to pass luks="random". In random mode use the + generated keyfile as the only key to decrypt. This is + only secure if the generated initrd also gets protected + e.g. through encryption like it is done with the secure + linux execution on zSystems + +------------------------------------------------------------------- +Thu Nov 07 08:43:03 CET 2024 - Marcus Schäfer + +- Added development group in pyproject setup + + generateDS and other tools are needed and were forgotten + to be added when we deleted the tox dependency + +------------------------------------------------------------------- +Wed Nov 06 10:13:01 CET 2024 - Marcus Schäfer + +- Added containers integration with OBS + + When building in the Open Build Service (OBS) there is no way + to create outgoing connections from the build workers. To allow + the section to fetch containers from the SUSE + registry we need to apply an OCI URI translation into a local + path. The actual OCI container image is expected to be provided + by the obs backend on the worker. Along with this commit also an + integration test named test-image-disk-containers is provided. + This Fixes jira#OBS-351 + +------------------------------------------------------------------- +Sun Nov 03 18:17:43 CET 2024 - Marcus Schäfer + +- Fix rendering of SUSE docs + + The SUSE documentation is produced through a conversion + of the ReST source into docbook. The name kiwi is reserved + in the index and needs to be referenced as kiwi-ng when + used as command. + +------------------------------------------------------------------- +Sun Nov 03 14:37:49 CET 2024 - Marcus Schäfer + +- Remove tox dependency + + tox was used as sort of a make target to run unit tests + and more in a python virtualenv. However, since we switched + everything to poetry it's no longer needed to let tox create + the python virtual environments. This commit moves the tox + targets into the Makefile and adapts the github workflow + files accordingly. In addition the scripts container based + tests were re-activated and fixed such that they succeed + again. + +------------------------------------------------------------------- +Fri Nov 01 13:31:20 CET 2024 - Marcus Schäfer + +- Fix make build target + + Move the actions done by the tox target into the + build target and call them there in a clean and easy + to spot sequence. There is no need to call tox to + prepare for the package submission, instead the + checks and poetry runs to prepare for the package + target should be called directly as part of the + build target. In the future we might get rid of + tox completely. + +------------------------------------------------------------------- +Fri Nov 01 13:08:12 CET 2024 - Marcus Schäfer + +- Bump version: 10.1.17 → 10.1.18 + +------------------------------------------------------------------- +Thu Oct 31 23:21:53 CET 2024 - Marcus Schäfer + +- Fixed zipl caller environment + + zipl gets confused with an active sysfs mount inside + the root tree at call time of zipl. This commit + umounts the /sys bind mount in the image tree prior + calling zipl + +------------------------------------------------------------------- +Thu Oct 31 17:46:31 CET 2024 - Marcus Schäfer + +- Fix s390 test-image-disk build + + Add missing kernel links used by suse tools + +------------------------------------------------------------------- +Thu Oct 31 10:01:54 CET 2024 - Marcus Schäfer + +- Bump version: 10.1.16 → 10.1.17 + +------------------------------------------------------------------- +Wed Oct 30 13:49:02 CET 2024 - Marcus Schäfer + +- Fix coloring of build_status.sh flags + + Depending on the place of the status flag the color + setup might fail. This commit fixes it + +------------------------------------------------------------------- +Wed Oct 30 10:24:38 CET 2024 - Marcus Schäfer + +- Add pytest-container as optional dependency + + The pyproject.toml listed pytest-container as dependency + but it is used only to run the container based integration + tests for the shell helper methods. For building the package + this dependency should not be pulled in + +------------------------------------------------------------------- +Fri Oct 25 10:58:52 CEST 2024 - Marcus Schäfer + +- Fix networking in erofs integration test + + The network setup was systemd-networkd based but + the provided network config was not for systemd + +------------------------------------------------------------------- +Wed Oct 23 12:21:32 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.15 → 10.1.16 + +------------------------------------------------------------------- +Wed Oct 23 10:23:36 CEST 2024 - Marcus Schäfer + +- Fix erofs requires in spec + + erofs-utils for SUSE only exists in Tumbleweed. The + former conditon would also add the requirement for ALP + and SLFO which is wrong. This commit fixes it + +------------------------------------------------------------------- +Tue Oct 22 10:53:25 CEST 2024 - Marcus Schäfer + +- Add vagrantconfig rule for vagrant format + + If the format="vagrant" attribute is set, a vagrantconfig + section becomes mandatory. This commit enforces this rule + on the schema. This Fixes #2666 + +------------------------------------------------------------------- +Mon Oct 21 15:01:08 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.14 → 10.1.15 + +------------------------------------------------------------------- +Thu Oct 17 21:01:46 CEST 2024 - Marcus Schäfer + +- Fixed sphinx_rtd_theme setup + + Delete obsolete display_version attribute + +------------------------------------------------------------------- +Thu Oct 17 20:58:08 CEST 2024 - Marcus Schäfer + +- Evaluate eficsm everywhere + + Fixed _supports_bios_modules() to take an eventually + provided eficsm setup into account. The grub config still + searches for i386 grub modules even if eficsm="false" + is set. + +------------------------------------------------------------------- +Thu Oct 17 20:53:40 CEST 2024 - Marcus Schäfer + +- Fixed debian bootstrap script calls + + Run scripts as commands with their native shebang and not + through bash. Not all debian package scripts uses bash, some + of them uses sh which can be a link to dash or other + interpreters. This Fixes #2660 + +------------------------------------------------------------------- +Thu Oct 17 18:30:36 CEST 2024 - Marcus Schäfer + +- Update TW integration tests + + The package x86info was dropped from TW + +------------------------------------------------------------------- +Wed Oct 16 16:50:19 CEST 2024 - Dan Čermák + +- Turn DiskFormat into an ordinary class + + - it does not need to be an abstract base class + - use f-strings where applicable instead of format() + - change return type of _custom_args_for_format from list to tuple + +------------------------------------------------------------------- +Tue Oct 15 00:28:58 CEST 2024 - Marcus Schäfer + +- Add new containers section + + Allow to specify references to OCI containers in the + image description like in the following example: + + + + + + During the kiwi process the containers are fetched into a + temporary location and a systemd service is configured to + one time load the containers into the local registry at + first boot of the system. This Fixes #2663 + +------------------------------------------------------------------- +Fri Oct 04 16:21:36 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.13 → 10.1.14 + +------------------------------------------------------------------- +Fri Oct 04 11:14:38 CEST 2024 - Marcus Schäfer + +- Revert "Install usrmerge for Debian integration test" + + This reverts commit 95ac861741f14c4f35611c16328384c18e53dcfb. + Solution needs to be provided in code + +------------------------------------------------------------------- +Fri Oct 04 10:10:10 CEST 2024 - Marcus Schäfer + +- Install usrmerge for Debian integration test + +------------------------------------------------------------------- +Mon Sep 30 12:10:52 CEST 2024 - Marcus Schäfer + +- Support older apt versions for bootstrap + + This Fixes #2660 + +------------------------------------------------------------------- +Fri Sep 27 14:38:04 CEST 2024 - Marcus Schäfer + +- Run package scripts in apt bootstrap phase + + The bootstrap procedure based on apt only runs a manual + collection of package scripts. This commit refactors the + code that unpacks the bootstrap packages to a python + implementation and adds a method to run the bootstrap + scripts from all packages resolved by apt. + +------------------------------------------------------------------- +Thu Sep 26 14:12:25 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.12 → 10.1.13 + +------------------------------------------------------------------- +Thu Sep 26 13:30:49 CEST 2024 - Marcus Schäfer + +- Fix bundle extension for vagrant type + + When bundling result files that uses a vagrant type, + kiwi creates them with the extension .vagrant.virtualbox.box + or .vagrant.libvirt.box. The bundler code renames them using + only the .box suffix which is too short as it is missing + the subformat information. This commit fixes it and keeps + this information in the result bundle file name. + This Fixes #2656 + +------------------------------------------------------------------- +Thu Sep 26 13:28:12 CEST 2024 - Marcus Schäfer + +- Use simple quotas (squota) for volumes + +------------------------------------------------------------------- +Wed Sep 25 10:31:51 CEST 2024 - Marcus Schäfer + +- Add quota attribute to volume section + + Allow to set quota per volume for the btrfs filesystem + This Fixes #2651 + +------------------------------------------------------------------- +Tue Sep 24 22:01:37 CEST 2024 - Alyssa Rosenzweig + +- Fix globbing with exclude with regex + + This fixes a collection of bugs when producing erofs images. + + On one hand, this ensures that an exclude of `/sys` doesn't accidentally + match `/lib/libsystemd.so`, only `/sys/whatever`. + + On the other hand, this ensures that `/dev/*` does match `/dev/vda` and + not just `/dev///////////`. + + This fixes libsystemd.so getting dropped in Kiwi-built FEX images. + + Signed-off-by: Alyssa Rosenzweig + +------------------------------------------------------------------- +Tue Sep 24 20:28:47 CEST 2024 - Alyssa Rosenzweig + +- Honour custom exclude for filesystem builds + + All other call sites honour the custom exclude file, it's just this one + that needs to be fixed. This unblocks use of Kiwi for generating FEX + rootfs. + + Closes: #2652 + Signed-off-by: Alyssa Rosenzweig + +------------------------------------------------------------------- +Mon Sep 23 10:05:12 CEST 2024 - Isaac True + +- test: storage: update clone_device tests with new block size + + Signed-off-by: Isaac True + +------------------------------------------------------------------- +Fri Sep 20 16:08:01 CEST 2024 - Isaac True + +- storage: clone_device: increase dd block size + + Increasing the block size used for dd reduces the time needed to clone a + device. + + Signed-off-by: Isaac True + +------------------------------------------------------------------- +Tue Sep 17 15:58:27 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.11 → 10.1.12 + +------------------------------------------------------------------- +Tue Sep 17 15:07:49 CEST 2024 - Marcus Schäfer + +- Add missing erofscompression validation + + In the filesystem builder I forgot to evaluate the + erofscompression attribute. This Fixes #2647 + +------------------------------------------------------------------- +Mon Sep 16 11:11:14 CEST 2024 - Marcus Schäfer + +- Include PI and comments in XSL stylesheets + + So far comments and processing instructions (PI) were + ignored when applying the XSL stylesheets. This commit + updates all stylesheets to take them into account + +------------------------------------------------------------------- +Fri Sep 13 16:33:19 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.10 → 10.1.11 + +------------------------------------------------------------------- +Fri Sep 13 10:42:38 CEST 2024 - Marcus Schäfer + +- doc: Add login information test build test images + +------------------------------------------------------------------- +Fri Sep 13 10:23:39 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.9 → 10.1.10 + +------------------------------------------------------------------- +Thu Sep 12 18:53:52 CEST 2024 - Michal Suchanek + +- bootloader: Fix up ppc64 bootinfo again + + To make the code look pretty extra newline is inserted at the start of + bootinfo file. This appears to break boot on Power9 PowerVM LPARs. + +------------------------------------------------------------------- +Thu Sep 12 17:29:29 CEST 2024 - Marcus Schäfer + +- Add support for erofs + + erofs is an alternative readonly filesystem that can be + used as alternative to squashfs. This Fixes #2633 + +------------------------------------------------------------------- +Thu Sep 12 10:57:33 CEST 2024 - Marcus Schäfer + +- Fixed enclave integration test + + The SELinux policy of Fedora Rawhide when running completely in + an initrd is not suitable to let the system boot up. Thus the + current solution is to boot in permissive mode. A better solution + for the future would probably be a selinux policy for enclaves + +------------------------------------------------------------------- +Wed Sep 11 14:15:07 CEST 2024 - Marcus Schäfer + +- limit eif_build requires to fedora >= 42 + +------------------------------------------------------------------- +Wed Sep 11 13:07:29 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.8 → 10.1.9 + +------------------------------------------------------------------- +Wed Sep 11 12:48:43 CEST 2024 - Marcus Schäfer + +- Added sshd to nitro-enclave integration test + +------------------------------------------------------------------- +Wed Sep 11 12:21:08 CEST 2024 - Marcus Schäfer + +- Fixed container sync options + + Do not exclude/filter any security/xattr capabilities. + +------------------------------------------------------------------- +Wed Sep 11 12:20:34 CEST 2024 - Marcus Schäfer + +- Update container integration test + + Add getcap to check on filesystem capabilities + +------------------------------------------------------------------- +Wed Sep 11 11:01:33 CEST 2024 - Marcus Schäfer + +- Add new build type provides for enclave + + Add a provides tag (read by the open buildservice) for the new + enclave builder. Also add a recommends to eif_builder in + the systemdeps-core meta package + +------------------------------------------------------------------- +Tue Sep 10 15:51:58 CEST 2024 - Marcus Schäfer + +- Update enclave documentation + + Fixup repo setup in the build documentation + +------------------------------------------------------------------- +Tue Sep 10 15:35:15 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.7 → 10.1.8 + +------------------------------------------------------------------- +Tue Sep 10 15:31:45 CEST 2024 - Marcus Schäfer + +- Fixed enclave documentation + + Path to the build test was not correct + +------------------------------------------------------------------- +Tue Sep 10 15:14:10 CEST 2024 - Marcus Schäfer + +- Update test-image-nitro-enclave package list + + Fixup package list to match Fedora rawhide + +------------------------------------------------------------------- +Tue Sep 10 15:06:32 CEST 2024 - Marcus Schäfer + +- Move test-image-nitro-enclave to rawhide + +------------------------------------------------------------------- +Tue Sep 10 10:20:10 CEST 2024 - Michal Suchanek + +- Fix ppc64 chrp bootinfo generation + +------------------------------------------------------------------- +Mon Sep 09 16:05:28 CEST 2024 - Marcus Schäfer + +- Fixed documentation header + + Fixed double H1 headers from the boxbuild tweaks chapter. + +------------------------------------------------------------------- +Mon Sep 09 15:32:14 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.6 → 10.1.7 + +------------------------------------------------------------------- +Mon Sep 09 15:26:15 CEST 2024 - Marcus Schäfer + +- Move EXEC log message to the right place + + The log information of the command execution was not printed + directly before the actual command invocation. There are other + actions after the log information (e.g Path.which) which itself + produce log information prior the real subprocess execution. + This is very misleading when reading the log file and fixed + in this commit. + +------------------------------------------------------------------- +Mon Sep 09 10:43:09 CEST 2024 - Marcus Schäfer + +- Add support for architectures in deb source file + + When apt resolves packages on a multiarch repo it can happen + that dependencies for packages from other architectures are + pulled into the solver process but are not provided by any + repository. To overcome this behavior the repository can + be setup to serve packages only for a specified architecture + or list of architectures. This is related to + OSInside/kiwi-descriptions#102 + +------------------------------------------------------------------- +Fri Sep 06 10:41:00 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.5 → 10.1.6 + +------------------------------------------------------------------- +Thu Sep 05 15:50:42 CEST 2024 - Kostiantyn Astakhov <16296930+kastakhov@users.noreply.github.com> + +- add allowExtraConfig and exportFlags to ovftool options + + Add allowExtraConfig and exportFlags to ovftool options + +------------------------------------------------------------------- +Thu Sep 05 14:42:30 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.4 → 10.1.5 + +------------------------------------------------------------------- +Wed Sep 04 16:54:55 CEST 2024 - Steffen Winterfeldt + +- create EFI/BOOT only if UEFI boot is intended + +------------------------------------------------------------------- +Wed Sep 04 16:52:21 CEST 2024 - Steffen Winterfeldt + +- Fix boot support for ISO media on ppc64 + + add CHRP boot support for ppc64 and add xorriso option to avoid + file name reduction to MS-DOS compatible 8.3 format + +------------------------------------------------------------------- +Tue Sep 03 10:11:52 CEST 2024 - Marcus Schäfer + +- Fix initrd permissions + + kiwi stored the initrd for ISO images as 600 which might + be too restrictive. This commit makes sure the initrd is + stored as 644 and Fixes bsc#1229257 + +------------------------------------------------------------------- +Tue Sep 03 09:08:45 CEST 2024 - Marcus Schäfer + +- Fixed ramdisk size setup + + For setting up the brd rd_size option kiwi creates + 99-brd.conf used at load time of the kernel brd driver. + The location for the conf file is set to /etc/modprobe.d/ + However, in newer versions the location has changed to + /usr/lib/modprobe.d/ and /etc/modprobe.d is no longer + expected to exist. This commit makes sure /etc/modprobe.d + is created if not present. + +------------------------------------------------------------------- +Tue Sep 03 08:31:43 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.3 → 10.1.4 + +------------------------------------------------------------------- +Mon Sep 02 16:08:51 CEST 2024 - kastakhov <16296930+kastakhov@users.noreply.github.com> + +- Add note about guestOS values for vmware ovftools. + +------------------------------------------------------------------- +Mon Sep 02 16:04:15 CEST 2024 - kastakhov <16296930+kastakhov@users.noreply.github.com> + +- Add note about guestOS values for vmware platform. + +------------------------------------------------------------------- +Mon Sep 02 11:45:10 CEST 2024 - Marcus Schäfer + +- Fixed resize of dos table type on s390 + + On s390, parted is used to detect the partition table type. + In contrast to blkid the name for DOS tables is reported + as 'msdos' and not 'dos' which impacts several conditions + in the kiwi initrd code which checks for 'dos'. This commit + fixes the get_partition_table_type() method to return a + consistent table name for DOS tables. This Fixes bsc#1228729 + +------------------------------------------------------------------- +Mon Sep 02 09:08:05 CEST 2024 - Marcus Schäfer + +- Revert "remove dependency on /usr/bin/python" + + This reverts commit 15b450188483b567ca10bb459bf50ed90e905bb7. + The change provided here entirely broke kiwi in OBS. With this + patch applied every image build in OBS fails with the following + message: 'line 1: /usr/sbin/kiwi: No such file or directory' + +------------------------------------------------------------------- +Mon Sep 02 07:45:26 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.2 → 10.1.3 + +------------------------------------------------------------------- +Sun Sep 01 16:26:29 CEST 2024 - Marcus Schäfer + +- Fix bundle extension for archive types + + When bundling result files that uses an archive type like + tbz or docker, kiwi creates them with the extension tar.xz/tar.gz + The bundler code only uses the extension from the last tuple + in a "." split which is wrong for "tar." filenames. This commit + adds an exception to the prefix rule for this output filenames + and Fixes #2628 + +------------------------------------------------------------------- +Sun Sep 01 15:53:29 CEST 2024 - Marcus Schäfer + +- Fix ImageSystem mount procedure + + The mount() method did not take custom partitions into account. + This commit fixes it. This Fixes #2619 + +------------------------------------------------------------------- +Tue Aug 27 11:35:17 CEST 2024 - Petr Gajdos + +- remove dependency on /usr/bin/python + +------------------------------------------------------------------- +Sun Aug 25 01:26:45 CEST 2024 - Neal Gompa + +- Add support for isomd5sum for tagging iso files + + The isomd5sum tool suite is used and available on all supported + distributions except SUSE distributions, and is necessary to produce + conformant ISOs for most Linux distributions. + + This change adds support for isomd5sum tool suite for kiwi, though + it does not extend the kiwi-live dracut module to use it. The upstream + dracut dmsquash-live module must be used instead. + + Co-authored-by: Dan Čermák + +------------------------------------------------------------------- +Sat Aug 24 13:13:18 CEST 2024 - Neal Gompa + +- kiwi/builder/live: Log the correct value for Application ID + + Since it is now possible to set a custom application ID, we want + to see this when it is being used for the image. + +------------------------------------------------------------------- +Sat Aug 24 13:05:52 CEST 2024 - Neal Gompa + +- kiwi/builder/live: Clean up leftover dracut configuration file + + The existence of this file breaks installers on live media that + sync the full filesystem to disk and are not aware of this configuration + before generating the target system initramfs. + +------------------------------------------------------------------- +Fri Aug 23 15:51:17 CEST 2024 - Neal Gompa + +- Allow string versions and test "word" versions + + There are descriptions out in the wild that use "non-numeric" versions + in their descriptions, particularly without separators for splitting. + + This change switches all of this to strings rather than assuming + numbers and gracefully handles the single word case. + +------------------------------------------------------------------- +Sat Aug 17 21:13:08 CEST 2024 - Holden R. Fried + +- Add documentation for boxbuild tweaks + +------------------------------------------------------------------- +Fri Aug 16 12:32:32 CEST 2024 - Marcus Schäfer + +- Fixed wrong log level on --logfile + + When using --logfile, the log generated there matches the + stdout log (which without --debug, does not include any debug info). + This is in contrast to the automatically generated one in the + output directory, which always does and also not following the + way how it is documented. This Fixes #2503 + +------------------------------------------------------------------- +Mon Aug 12 09:23:06 CEST 2024 - Marcus Schäfer + +- Fixed arch flag for namedCollection + + The arch flag in a namedCollection was not taken into account. + This commit fixes this and also makes sure the result information + is sorted and unique like we have it for the package lists. + This Fixes #2600 + +------------------------------------------------------------------- +Fri Aug 09 12:07:48 CEST 2024 - Marcus Schäfer + +- Fix handling of zipl.conf in plain zipl bootloader + + When using the plain zipl bootloader kiwi created a /etc/zipl.conf + file. However, this file was only useful during image build as it + points to a loop target device and geometry but does not represent + a proper config file to be used in the running system. In addition + the different distributors provides their own version and layout + of the zipl.conf to be used inside of the system and with their + respective tools. Thus this commit changes the way how kiwi operates + in a way that the zipl.conf used in the initial image only exists + during the image build process. An eventual present /etc/zipl.conf + will not be touched by kiwi. This Fixes #2597 + +------------------------------------------------------------------- +Thu Aug 08 15:55:18 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.1 → 10.1.2 + +------------------------------------------------------------------- +Thu Aug 08 15:15:32 CEST 2024 - Marcus Schäfer + +- Improve error reporting for remote deployment + + Add new method called show_log_and_quit which displays + the written error log file as a file box to the user + +------------------------------------------------------------------- +Thu Aug 08 15:14:18 CEST 2024 - Marcus Schäfer + +- Update test-image-orthos integration test + + Update the test such that you can also build it locally. + Change the remote installation target to be a ramdisk + for easy testing of remote deployments + +------------------------------------------------------------------- +Thu Aug 08 10:22:22 CEST 2024 - Marcus Schäfer + +- Setup default minimum volume size per filesystem + + The former method provided a static value but there are huge + differences for the minimum size requirement of a filesystem. + For example extX is fine with 30MB whereas XFS requires 300MB. + This commit adds a more dynamic default value based on the + used filesystem. + +------------------------------------------------------------------- +Wed Aug 07 18:30:13 CEST 2024 - Marcus Schäfer + +- Increase default volume size + + So far 30MB was set as default volume size which is by far + too small for a number of filesystems, e.g btrfs and also XFS. + This commit increases the default volume size such that all + modern filesystems builds if the default volume size is used. + +------------------------------------------------------------------- +Wed Aug 07 18:19:41 CEST 2024 - Marcus Schäfer + +- Update test-image-raid + + Apart from testing raid this integration test also tests + a certain LVM volume setup. The test has been updated + to use the btrfs filesystem because it has the most strict + size requirements. + +------------------------------------------------------------------- +Tue Aug 06 23:41:06 CEST 2024 - Dan Čermák + +- Use shutil.which for Path.which + +------------------------------------------------------------------- +Tue Aug 06 23:38:44 CEST 2024 - Dan Čermák + +- Drop Path.remove & Path.rename + + Both methods were only used in one place each and it makes much more sense to + use the pathlib builtin methods instead + +------------------------------------------------------------------- +Tue Aug 06 23:37:17 CEST 2024 - Dan Čermák + +- Replace Path.create implementation with pathlib builtin + +------------------------------------------------------------------- +Tue Aug 06 12:07:33 CEST 2024 - Marcus Schäfer + +- Bump version: 10.1.0 → 10.1.1 + +------------------------------------------------------------------- +Mon Aug 05 18:02:34 CEST 2024 - Marcus Schäfer + +- Mandatory package scripts for Debian bootstrap + + Make sure to run some mandatory package pre/post scripts + such that settings like /etc/passwd, a root user, etc.. + exists. This action can also be done in post_bootstrap.sh + but I think it's better to do this in the core code + +------------------------------------------------------------------- +Mon Aug 05 09:55:53 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.28 → 10.1.0 + +------------------------------------------------------------------- +Mon Aug 05 09:47:53 CEST 2024 - Marcus Schäfer + +- kiwi no longer uses debootstrap + + For building Debian based images we used debootstrap to + bootstrap an empty root until apt-get could be used to + complete the job. This has now changed such hat apt-get + is also used for bootstrapping a new system. The concept + and also potential alternatives to the way kiwi bootstraps + Debian based systems can be found here: + + * https://osinside.github.io/kiwi/working_with_images/build_without_debianbootstrap.html + + Due to the drop of debootstrap it might happen that + package lists of existing image descriptions needs to be + extended with packages that were formerly pulled in by + debootstrap but did not get properly pulled in with the + new apt based bootstrap. As reference please check out the + integration tests from here: + + * https://github.com/OSInside/kiwi/tree/main/build-tests/x86/ubuntu + * https://github.com/OSInside/kiwi/tree/main/build-tests/x86/debian + + Thanks + +------------------------------------------------------------------- +Mon Aug 05 09:47:12 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.27 → 10.0.28 + +------------------------------------------------------------------- +Sat Aug 03 14:13:07 CEST 2024 - Marcus Schäfer + +- Update documentation + + kiwi no longer uses debootstrap + +------------------------------------------------------------------- +Fri Aug 02 20:59:19 CEST 2024 - Marcus Schäfer + +- Fix test_process_result_bundle_as_rpm + +------------------------------------------------------------------- +Fri Aug 02 18:02:25 CEST 2024 - Marcus Schäfer + +- Fix Debian/Ubuntu integration tests + + Remove package hacks for debootstrap, explicitly add + required packages and or configurations. + +------------------------------------------------------------------- +Fri Aug 02 17:06:52 CEST 2024 - Marcus Schäfer + +- Drop types-pkg_resources + + Got removed from PyPI + +------------------------------------------------------------------- +Wed Jul 31 16:57:30 CEST 2024 - Marcus Schäfer + +- Fix test_process_result_bundle_as_rpm + + os.path.basename was called on a MagicMock object which + sometimes confused pytest + +------------------------------------------------------------------- +Wed Jul 31 15:22:06 CEST 2024 - Neal Gompa + +- CI: Add testing against Python 3.13 + + Python 3.13 is shipping in Fedora Linux for Fedora Linux 41, so we + should ensure kiwi is tested against it. The testing setup is + based on the latest development version of 3.13 as it is not + yet released. + +------------------------------------------------------------------- +Wed Jul 31 12:09:20 CEST 2024 - Marcus Schäfer + +- Fix kiwi-repart restrictions + + The kiwi repart dracut module reads a profile file and if it + does not exists it dies in the initrd. However, that profile + file is not mandatory for the main resize functionality. Thus + this commit turns this into a warning message. In addition + the module-setup for 90kiwi-repart makes sure to include + the required and optional profile files. + This Fixes bsc#1228118 + +------------------------------------------------------------------- +Tue Jul 30 18:16:54 CEST 2024 - Marcus Schäfer + +- Do not exclude the .profile env file by default + + kiwi's initrd modules read a .profile file which gets included + into the initrd produced at build time. To allow rebuild of a + host-only initrd from the booted system this information should + be present such that it is possible to re-use kiwi initrd code. + +------------------------------------------------------------------- +Tue Jul 30 12:50:54 CEST 2024 - Marcus Schäfer + +- Get rid of debootstrap + + Replace debootstrap with an apt-get based pre-download of + packages followed by a dpkg-deb extraction. + This Fixes #2599 + +------------------------------------------------------------------- +Tue Jul 30 09:45:37 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.26 → 10.0.27 + +------------------------------------------------------------------- +Tue Jul 30 08:16:41 CEST 2024 - Fabian Vogt + +- Fix dracut-interactive with systemd 256 + + With systemd 256, /usr (and thus also /bin/) is read-only in the initrd. + Move dracut-interactive and its .service into /run instead. + +------------------------------------------------------------------- +Sun Jul 21 19:20:23 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.25 → 10.0.26 + +------------------------------------------------------------------- +Fri Jul 19 09:49:01 CEST 2024 - Dmitri Popov + +- Revise scripts_testing.rst + +------------------------------------------------------------------- +Fri Jul 19 09:39:48 CEST 2024 - Dmitri Popov + +- Revise schema_extensions.rst + +------------------------------------------------------------------- +Wed Jul 17 15:58:23 CEST 2024 - Marcus Schäfer + +- Pass kernel cmdline to agama + + In the agama integration test make sure to pass along + the kernel boot parameters to allow controlling the + behavior of agama better + +------------------------------------------------------------------- +Mon Jul 15 15:48:52 CEST 2024 - Marcus Schäfer + +- Add directive to incorporate custom files + + Usually custom files are managed by placing them as overlay + files or archives. However, overlay files must be structured + inside of a root/ subdirectory and archive files are binary + data. It is therefore not straight forward to just reference + one or more files as source files to the image description + to be placed into the image. This commit adds a new + element which allows to do this. This Fixes #1953 + +------------------------------------------------------------------- +Sun Jul 14 11:17:33 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.24 → 10.0.25 + +------------------------------------------------------------------- +Fri Jul 12 12:58:24 CEST 2024 - Marcus Schäfer + +- Fix mocking of test_process_result_bundle_as_rpm + +------------------------------------------------------------------- +Fri Jul 12 12:43:23 CEST 2024 - Marcus Schäfer + +- Fixed logging behavior of Compress::get_format + + The get_format() method allows to check which compression format + a given input stream has. This is done by calling the supported + compression tools in a row and let them check if they can deal + with the provided data or not. As a result error messages are + logged for streams that some tool doesn't understand. However, + those error messages are no errors and only the result of the + checking. This information in the kiwi log file is confusing + and several users already complained when they see information + like: + + EXEC: Failed with stderr: /usr/bin/xz: ...: File format not recognized + + This commit changes how the compression tooling is called in a + way that no exception is raised (which leads to the above error message) + but the result returncode is used to decide on the success or + error of the respective compression tooling. + +------------------------------------------------------------------- +Fri Jul 12 10:18:24 CEST 2024 - Marcus Schäfer + +- Allow to set custom ISO Application ID + + Add new attribute to be set in + the ISO header main block. The application ID was used as identifier + in the legacy initrd code from former kiwi versions. Because of + this there is still the compat layer which sets an App ID as MBR + identifier string unless the new application_id overwrites it. + This Fixes #1810 + +------------------------------------------------------------------- +Fri Jul 12 09:43:09 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.23 → 10.0.24 + +------------------------------------------------------------------- +Thu Jul 11 16:47:22 CEST 2024 - Marcus Schäfer + +- Added integration test for SUSE agama installer + + This integration test builds a self-install ISO image which + drops the SUSE Agama installer into a ramdisk for performing + an interactive installation procedure to test Agama + +------------------------------------------------------------------- +Thu Jul 11 14:33:16 CEST 2024 - Marcus Schäfer + +- Add --set-type-attr and --set-release-version + + Allow to set/overwrite type section attributes via the cmdline. + Allow to set/add the release-version element via the cmdline. + This Fixes #2478 and Fixes #2588 + +------------------------------------------------------------------- +Wed Jul 10 16:58:57 CEST 2024 - Marcus Schäfer + +- Update integration test for eficsm + + Update the type of the Secure profile of the live image integration + test as well as the type of the simple-disk test to make use of the + eficsm="false" attribute to switch off CSM mode and test an EFI only + layout. + +------------------------------------------------------------------- +Wed Jul 10 16:32:30 CEST 2024 - Marcus Schäfer + +- Add new eficsm type attribute + + Allow to produce EFI/UEFI images without hybrid CSM + capabilities. This Fixes #2407 + +------------------------------------------------------------------- +Wed Jul 10 11:47:59 CEST 2024 - Dmitri Popov + +- kiwi_plugin_architecture.rst + +------------------------------------------------------------------- +Wed Jul 10 11:42:36 CEST 2024 - Dmitri Popov + +- Revise kiwi_from_python.rst + +------------------------------------------------------------------- +Wed Jul 10 11:26:45 CEST 2024 - Marcus Schäfer + +- Wait for loop device detach to complete + + Detaching a loop device via 'losetup -d' is an async operation. + Once the command returns the loop can still be associated with + the block special. Therefore this commit waits until the block + device got released or a timeout is hit. This Fixes #2580 + +------------------------------------------------------------------- +Tue Jul 09 09:40:49 CEST 2024 - Marcus Schäfer + +- Update requires for kiwi-systemdeps-disk-images + + On Tumbleweed several changes caused tools like strings + or the codepage for mtools to be missing in a standard + installation. For building disk images especially EFI + capable ones with vendor information kiwi needs the above + tool. This commit adds the packages providing them on + Tumbleweed to the meta systemdeps for disk images. + This Fixes #2585 + +------------------------------------------------------------------- +Mon Jul 08 09:17:49 CEST 2024 - Marcus Schäfer + +- Supplements are not understood by Debian/Ubuntu + +------------------------------------------------------------------- +Fri Jul 05 12:59:22 CEST 2024 - Marcus Schäfer + +- Add new builder for enclaves + + Add new EnclaveBuilder class which allows to build initrd-only + image types. The first enclave implementation covers aws-nitro + images produced via the eif_build tooling. + +------------------------------------------------------------------- +Thu Jul 04 16:16:44 CEST 2024 - Marcus Schäfer + +- Split out bash completion into a sub-package + + Per review of the SUSE packaging team we should split out + the bash completion into its own sub-package to give users + better control over the completion feature. + +------------------------------------------------------------------- +Thu Jul 04 12:57:58 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.22 → 10.0.23 + +------------------------------------------------------------------- +Thu Jul 04 11:32:56 CEST 2024 - Neal Gompa + +- package: Add fully qualified provides for python3-kiwi in spec + + On SUSE distributions, currently the expectation is that packages + built against the Python interpreter should have fully qualified + names in the form of pythonXY-. Additionally, all other + Linux distributions prefer something similar in the form of + pythonX.Y-. + + This ensures we have those names so that distribution dependency + generation works as expected. + +------------------------------------------------------------------- +Thu Jul 04 10:01:35 CEST 2024 - Marcus Schäfer + +- Add support for arch selector on volumes + + The optional attribute allows to create + the volume only if it matches the specified host architecture. + Multiple architecture names can be specified as comma separated + list. + +------------------------------------------------------------------- +Wed Jun 26 14:47:27 CEST 2024 - Marcus Schäfer + +- Add rd.kiwi.oem.force_resize boot option + + Forces the disk resize process on an OEM disk image. + If set, no sanity check for unpartitioned/free space + is performed and also an eventually configured + configuration from the image description + will not be taken into account. This Fixes bsc#1224389 + +------------------------------------------------------------------- +Tue Jun 25 14:25:03 CEST 2024 - Marcus Schäfer + +- Fixed leap integration tests + + For whatever reason procps is not longer pulled in by the + core dependencies. Thus we have to explicitly request it + +------------------------------------------------------------------- +Thu Jun 20 17:59:49 CEST 2024 - Marcus Schäfer + +- Fix potential race condition in loop detach + + The call to 'losetup -d' is in fact an async operation. Once + the command returns the loop can still be associated with the + former file because it gets lazy unbound and releases later. + Prior re-use of the same loop device it is therefore required + to wait until the kernel event queue is processed. + +------------------------------------------------------------------- +Wed Jun 19 11:07:52 CEST 2024 - Marcus Schäfer + +- Fixed repository include to image with dnf + + When specifying a repository element with imageinclude="true", + kiwi permanently adds the repo file inside of the image. + The distribution standard path is used to store the repo + file in this case. With dnf a package manager exists that is + primarily used on Fedora and RHEL systems. Thus the standard + path for the repo files is set to "/etc/yum.repos.d". + However, dnf can also be used for other rpm based distributions + e.g SUSE. On such a system the default path does not exist + or is different because another package manager is the + default. This commit makes sure that the expected path is + created prior adding any repo files. + +------------------------------------------------------------------- +Tue Jun 18 08:42:17 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.21 → 10.0.22 + +------------------------------------------------------------------- +Mon Jun 17 18:24:44 CEST 2024 - Marcus Schäfer + +- Fixed selinux labels for boot files + + When kiwi calls the bootloader config and installation modules + several files gets created as unlabeled_t because the labeling + happened earlier. This commit ensures that setfiles gets called + after BootLoaderConfig and/or BootLoaderInstall has done its + job. This Fixes #2568 + +------------------------------------------------------------------- +Mon Jun 17 09:26:29 CEST 2024 - Marcus Schäfer + +- Add bash to package requirements + + If there are script evaluations that does not specify + an interpreter, kiwi uses bash for it. The same applies + for sub-process invocations using shell pipelines. Thus + the bash shell is a required tool for kiwi under certain + circumstances. Further details in Issue #2567 + +------------------------------------------------------------------- +Wed Jun 12 13:45:15 CEST 2024 - Pavel Zhukov + +- test-image-live: add shadow package + + Fixes: + KiwiCommandError: chroot: stderr: /usr/bin/chroot: failed to run command ‘usermod’: No such file or directory + +------------------------------------------------------------------- +Tue Jun 11 14:37:01 CEST 2024 - Fabian Vogt + +- Fix displaying the image verification failure dialog + + Kiwi must wait for the previous dialog to finish before showing another + one as it's the same systemd service behind it. + +------------------------------------------------------------------- +Mon Jun 10 16:13:37 CEST 2024 - Marcus Schäfer + +- Allow to customize the path of the isoscan cowfile + + Added rd.live.cowfile.path option to specify the cowfile at + any path below the isoscan-loop-mount. This Fixes #2554 + +------------------------------------------------------------------- +Mon Jun 10 10:36:59 CEST 2024 - Marcus Schäfer + +- Better error handling on grub vendor dir lookup + + The strings command is used to lookup the in-efi binary encoded + vendor path. However, if the strings or bash command is not availabe + on the build host, the command silently failed and moved into the + standard (non vendored) EFI boot path. This can lead to a broken + boot for those distros and image targets which requires a vendor + directory and should lead to an error message instead of a + successful image build. This Fixes #2565 + +------------------------------------------------------------------- +Mon Jun 10 09:50:02 CEST 2024 - Marcus Schäfer + +- Fixed profile variable settings for preferences + + It's allowed to have multiple preferences sections. If those + sections provides the same value multiple times, e.g keytable, + the last one in the row will win. The setup of the variables + in .profile environment file for the preferences elements is + not following this rule and used the first section not the + last. This commit fixes the profile variables to match the + actual setup and Fixes #2560 + +------------------------------------------------------------------- +Thu Jun 06 14:24:07 CEST 2024 - Dmitri Popov + +- Revise users.rst + +------------------------------------------------------------------- +Thu Jun 06 13:57:29 CEST 2024 - Dmitri Popov + +- REvise systemdeps.rst + +------------------------------------------------------------------- +Thu Jun 06 13:42:57 CEST 2024 - Dmitri Popov + +- Revise shell_scripts.rst + +------------------------------------------------------------------- +Thu Jun 06 12:32:07 CEST 2024 - Marcus Schäfer + +- Add initrd boot option rd.kiwi.allow_plymouth + + By default kiwi stops plymouth if present and active in the + initrd. Setting rd.kiwi.allow_plymouth will keep plymouth + active in the initrd including all effects that might have + to the available consoles. This is related to bsc#1214824 + +------------------------------------------------------------------- +Thu Jun 06 12:12:45 CEST 2024 - Marcus Schäfer + +- Drop use of obsolete tool isconsole + + isconsole was provided with the dropped kiwi-tools package. + It was a simple C application that checked the capabilities + of the current console. In the context of fbiterm it was just + used to provide proper error messages which fbiterm on its + own did not show. As also fbiterm is on its way to become + obsolete and isconsole is already no longer present, it's ok + to just drop that extra check and therefore keep the fbiterm + mode functional if one manages to include fbiterm and its + fonts into the initrd + +------------------------------------------------------------------- +Tue Jun 04 11:13:01 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.20 → 10.0.21 + +------------------------------------------------------------------- +Mon Jun 03 21:30:46 CEST 2024 - Marcus Schäfer + +- Add missing write_meta_data method to BLS base + + The standard bootloader interface class provided a method + named write_meta_data which is expected to be implemented + in the specialized bootloader implementation. For BLS + bootloaders this method was missing in the BLS base class. + write_meta_data can provide additional cmdline options + for booting. If not covered some boot options might be + missing. This patch fixes it + +------------------------------------------------------------------- +Mon Jun 03 17:59:18 CEST 2024 - Marcus Schäfer + +- Fix TW integration test to build outside OBS + +------------------------------------------------------------------- +Mon Jun 03 17:46:52 CEST 2024 - Marcus Schäfer + +- Make sure BootLoaderConfig fixes are effective + + The BootLoaderConfigGrub2 class has methods to fix the grub-mkconfig + generated files. It does that by mounting the system and changing the + respective files after the mkconfig call. However, after the change + the class instance stays open in combination with BootLoaderInstallGrub2 + instance which itself under certain circumstances also mounts the + system to call grub-install. At the time grub-install is called it + cannot be guaranteed that all changes has been written unless an + explicit umount in the BootLoaderConfigGrub2 class instance happened. + This commit address the potential race condition. + +------------------------------------------------------------------- +Mon Jun 03 09:22:00 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.19 → 10.0.20 + +------------------------------------------------------------------- +Mon Jun 03 08:25:11 CEST 2024 - Marcus Schäfer + +- Update rawhide integration test + + Use new arch attribute for testing in the repository + element of the rawhide/test-image-live-disk integration + test. + +------------------------------------------------------------------- +Sat Jun 01 20:55:02 CEST 2024 - Marcus Schäfer + +- Add support for arch attr in repository element + + Allow to provide different repository sections per architecture + +------------------------------------------------------------------- +Fri May 31 12:38:04 CEST 2024 - Marcus Schäfer + +- Add --list-profiles to image info + + Allow to list available profiles from the processed image + description + +------------------------------------------------------------------- +Thu May 30 21:55:20 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.18 → 10.0.19 + +------------------------------------------------------------------- +Wed May 29 21:22:38 CEST 2024 - Neal Gompa + +- package: Always include patches and number all sources and patches + + This ensures that stuff is applied reliably and all sources and patches + are included as expected. + + Then the added kiwi-revert-bls-default-for-suse.patch is applied + conditionally for SUSE distributions. + +------------------------------------------------------------------- +Wed May 29 18:18:26 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.17 → 10.0.18 + +------------------------------------------------------------------- +Wed May 29 16:54:21 CEST 2024 - Alberto Planas + +- package: adjust openSUSE patch + +------------------------------------------------------------------- +Wed May 29 15:18:38 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.16 → 10.0.17 + +------------------------------------------------------------------- +Wed May 29 12:35:43 CEST 2024 - Marcus Schäfer + +- Fixed box plugin documentation + + The provided example was no longer correct according to + changes on the image description referenced in the example + +------------------------------------------------------------------- +Fri May 17 17:23:53 CEST 2024 - Marcus Schäfer + +- Add procps to Tumbleweed integration tests + +------------------------------------------------------------------- +Thu May 16 10:58:40 CEST 2024 - Marcus Schäfer + +- Add procps to Tumbleweed integration tests + +------------------------------------------------------------------- +Sun May 12 22:01:45 CEST 2024 - Marcus Schäfer + +- Fix sdist upstream tarball contents + + The .virtualenv.dev-requirements.txt file is referenced by tox.ini + but not put into the sdist tarball and therefore missing in the + pypi upstream data. + +------------------------------------------------------------------- +Fri May 10 12:10:23 CEST 2024 - Marcus Schäfer + +- Drop use of obsolete pkg_resources + + As documented in https://setuptools.pypa.io/en/latest/pkg_resources.html + the use of pkg_resources is obsolete and will cause issues. + So happened on Debian unstable. This Fixes #2548 + +------------------------------------------------------------------- +Thu May 09 18:35:42 CEST 2024 - Adam Williamson + +- RepositoryDnf5: correct defaults, set system_cachedir + + The "defaults" in `use_default_location` here are the dnf4 + defaults, not the dnf5 defaults, so let's update them. Also, for + dnf5, we need to set `system_cachedir` instead of `cachedir` - + see https://dnf5.readthedocs.io/en/latest/misc/caching.7.html , + `system_cachedir` is the cache location used when running as + root, `cachedir` is the cache location used when running as a + regular user. + + Signed-off-by: Adam Williamson + +------------------------------------------------------------------- +Wed May 08 15:46:17 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.15 → 10.0.16 + +------------------------------------------------------------------- +Wed May 08 15:44:10 CEST 2024 - Marcus Schäfer + +- poetry build doesn't like symlinks + + The sdist tarball produced by poetry build does not include + all files and skipped symlinks in test/data. This caused the + unit test run to fail if called from within that sources + +------------------------------------------------------------------- +Wed May 08 10:48:57 CEST 2024 - Marcus Schäfer + +- Fix spec file + + Require docopt-ng for Fedora 41+ + +------------------------------------------------------------------- +Tue May 07 16:18:28 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.14 → 10.0.15 + +------------------------------------------------------------------- +Tue May 07 11:29:18 CEST 2024 - Dmitri Popov + +- REview runtime_configuration.rst + +------------------------------------------------------------------- +Tue May 07 11:28:45 CEST 2024 - Dmitri Popov + +- Review repository_setup.rst + +------------------------------------------------------------------- +Thu May 02 16:27:14 CEST 2024 - Marcus Schäfer + +- Add support for stopsignal in containerconfig + + Allow to specify the stopsignal via the containerconfig + element as the following example shows + + + + SIGINT + + + + This Fixes #2543 + +------------------------------------------------------------------- +Thu May 02 16:08:35 CEST 2024 - Steffen Winterfeldt + +- Fix set_disk_password to be effective + + Since commit 8aa517eb7 it is necessary to call + _mount_device_and_volumes() prior making any modifications + to boot files. In addition handle potential errors + from the grub.cfg modification better. + +------------------------------------------------------------------- +Thu May 02 15:28:48 CEST 2024 - Marcus Schäfer + +- Update Makefile + + Make sure custom patches are part of the package sources + +------------------------------------------------------------------- +Thu May 02 15:24:20 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.13 → 10.0.14 + +------------------------------------------------------------------- +Thu May 02 12:42:27 CEST 2024 - Neal Gompa + +- doc: Document the bls option for the grub bootloader + +------------------------------------------------------------------- +Wed May 01 20:17:18 CEST 2024 - Neal Gompa + +- Temporarily revert grub-bls default to false for SUSE distributions + + For the time being, SUSE distributions cannot handle KIWI's default + to use BLS with GRUB2. Until they catch up, revert this for them only. + +------------------------------------------------------------------- +Wed May 01 20:06:02 CEST 2024 - Neal Gompa + +- kiwi/bootloader: restore backward compatibility for grub2 with bls + + The change to introduce the bls parameter broke backward compatibility + with all existing kiwi descriptions for distributions that default to BLS. + + This fixes that by allowing the unset state to be equivalent to enabling it. + + Fixes: 8a8190098cb30358459ba10a4db1ba6446eee8c2 + +------------------------------------------------------------------- +Tue Apr 30 14:25:56 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.12 → 10.0.13 + +------------------------------------------------------------------- +Mon Apr 29 17:33:43 CEST 2024 - Marcus Schäfer + +- Overwrite compression setting only if randomized + + When building an encrypted image, the bundler never compressed + the result. This overwrite from the runtime configuration and + the default compression setting actually only makes sense when + the image is randomized because only then a compression is + for sure useless. This Fixes #2540 + +------------------------------------------------------------------- +Mon Apr 29 16:08:47 CEST 2024 - Marcus Schäfer + +- Make sure lsblk output is sorted by dev name + + lsblk without the sorting option can provide the list + of devices in different order. This patch makes sure + lsblk sorts the output by the device name. + This Fixes bsc#1223374 + +------------------------------------------------------------------- +Fri Apr 26 17:11:45 CEST 2024 - Romain Geissler + +- Stop leaking plugins/{priorities,versionlock}.conf file with dnf4/5. + + This fixes the fedora issue + https://bugzilla.redhat.com/show_bug.cgi?id=2270364 + + Signed-off-by: Romain Geissler + +------------------------------------------------------------------- +Fri Apr 26 12:10:47 CEST 2024 - Marcus Schäfer + +- Fix luks_randomize setting + + Make sure the value passed for luks_randomize in the description + becomes effective. It was not possible to switch off luks_randomize + because any "not" value was turned into a true value. The actual + default should therefore only apply in case luks_randomize is + not specified at all which means only a None value will turn + into a true value for this setting. + +------------------------------------------------------------------- +Fri Apr 26 01:36:46 CEST 2024 - Adam Williamson + +- Fix package removal with dnf5 + + dnf5 does not implement `dnf autoremove ` as a synonym + for `--setopt=clean_requirements_on_remove=true remove ` + as dnf4 did. So, we should do it this way instead. + + Signed-off-by: Adam Williamson + +------------------------------------------------------------------- +Thu Apr 25 19:28:29 CEST 2024 - Alberto Planas + +- Add 'bls' parameter for the bootloader + +------------------------------------------------------------------- +Sat Apr 20 22:51:24 CEST 2024 - Iván Chavero + +- Fix efifatimagesize attribute type + + The efifatimagesize attribute type value is set to "oem" but the documentation says + that it is intended to be also used for creating ISO images. This causes a schema error + when this attribute is set on a profile with type "iso" and blocks changing the EFI + boot image size which is a problem if the image is bigger than 20M. This commit + allows to specify the attribute also for the "iso" type + +------------------------------------------------------------------- +Fri Apr 19 21:10:44 CEST 2024 - Marcus Schäfer - Add missing tool requires @@ -8,7 +2210,15 @@ Mon Apr 22 10:49:09 CEST 2024 - Marcus Schäfer related to bsc#1221790 ------------------------------------------------------------------- -Mon Apr 22 10:47:40 CEST 2024 - Marcus Schäfer +Fri Apr 19 17:48:43 CEST 2024 - Marcus Schäfer + +- Add vmdk format to test-image-bundle-format + + Allow to check if the bundle format rename is applied + in the new bundle reference checker code + +------------------------------------------------------------------- +Fri Apr 19 16:12:31 CEST 2024 - Marcus Schäfer - Fix file references in kiwi bundler result files @@ -29,6 +2239,189 @@ Fri Apr 19 15:38:02 CEST 2024 - Marcus Schäfer Like with qcow2 it's not expected that the format type gets compressed in the bundle +------------------------------------------------------------------- +Fri Apr 19 14:48:22 CEST 2024 - Alberto Planas + +- kiwi.rnc: define bls parameter for bootloader + +------------------------------------------------------------------- +Fri Apr 19 12:54:07 CEST 2024 - Marcus Schäfer + +- Keep runtime_checker_metadata.yml as module file + + It was a bad idea to install a mandatory source file outside + the module path. This prevents running kiwi from source + +------------------------------------------------------------------- +Fri Apr 19 12:33:04 CEST 2024 - Marcus Schäfer + +- Fixed Arch build + + Forgot to add install of runtime_checker_metadata.yml + +------------------------------------------------------------------- +Thu Apr 18 17:12:27 CEST 2024 - Marcus Schäfer + +- Update tumbleweed/test-image-disk integration test + +------------------------------------------------------------------- +Thu Apr 18 12:46:20 CEST 2024 - Marcus Schäfer + +- Handle XSLT errors better + + Make sure etree.XSLTApplyError is a known error in the kiwi + scope and raise an appropriate exception + +------------------------------------------------------------------- +Wed Apr 17 16:05:42 CEST 2024 - Dmitri Popov + +- Revise profiles.rst + +------------------------------------------------------------------- +Wed Apr 17 15:32:04 CEST 2024 - Dmitri Popov + +- Revise packages.rst + +------------------------------------------------------------------- +Wed Apr 17 15:09:39 CEST 2024 - Dmitri Popov + +- Revise customize_the_boot_process.rst + +------------------------------------------------------------------- +Wed Apr 17 12:28:35 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.11 → 10.0.12 + +------------------------------------------------------------------- +Mon Apr 15 18:49:53 CEST 2024 - Marcus Schäfer + +- Drop concept of volumes_mounted_initially + + The volume mount should be the same process no matter + if it happens for the first time or subsequently + +------------------------------------------------------------------- +Mon Apr 15 18:33:40 CEST 2024 - Marcus Schäfer + +- Fixed mountpoint to use for read-only property + + Make sure get_mountpoint() is used to retrieve the correct + mountpoint for the root entry point. Using the self.mountpoint + member is not always correct + +------------------------------------------------------------------- +Mon Apr 15 16:43:21 CEST 2024 - Marcus Schäfer + +- Prevent extra volume mount/umount on btrfs + + For setting up the read-only property an extra mount of the + btrfs sub-volumes was issued. However, all volumes are mounted + at that time. Thus it's not required to mount them again, resulting + in a busy state because of the auto-snapshot mounts which does + not get umounted and keeps a busy state until the lazy umount + kicks in. This Fixes #2529 + +------------------------------------------------------------------- +Fri Apr 12 10:39:31 CEST 2024 - Marcus Schäfer + +- Added IBM Secure Execution support on s390 + + IBM SEL(Secure Execution for Linux) is supported for s390 + KVM guests. SEL images used to start a confidential computing + protected guest contain an encrypted boot image which encapsulates + the kernel the initrd and the bootparams. The encrypted Image is + provided by the KVM/hypervisor to the Embedded zFirmware of the + system (the ultravisor device). The decryption keys are hardware + based and each system has an individual keypool unique to that + system. The root filesystem is LUKS encrypted with a random key + produced by kiwi at build time and kept inside of the initrd which + exists only inside of the encrypted boot image and the encrypted + rootfs to allow kernel updates. The commit to support secure + execution also comes with an integration test that provides + profiled image builds to target SUSE's LinuxONE as well + as IBM Cloud systems. + +------------------------------------------------------------------- +Tue Apr 09 14:13:08 CEST 2024 - Marcus Schäfer + +- Fix typo in documentation main page + + Superfluous format sequence + +------------------------------------------------------------------- +Mon Apr 08 12:12:19 CEST 2024 - Marcus Schäfer + +- Added another search path for signed EFI binaries + + Add /usr/lib/grub/*-efi-signed to search for shim signed EFI + binaries too. This Fixes #2525 + +------------------------------------------------------------------- +Mon Apr 08 09:56:12 CEST 2024 - Marcus Schäfer + +- Fixed runtime checks for dracut module packages + + Unfortunately the packaging of kiwi on Debian follows different + naming conventions for dracut module packages which causes + the runtime check to fail. This commit allows to check for + multiple package names and adds the variants used on Debian. + This Fixes #2524 + +------------------------------------------------------------------- +Thu Apr 04 17:17:42 CEST 2024 - Marcus Schäfer + +- Bump version: 10.0.10 → 10.0.11 + +------------------------------------------------------------------- +Wed Apr 03 14:09:00 CEST 2024 - Marcus Schäfer + +- Add schema upgrade opportunity for old schemas + + kiwi files using a schema version < 7.4 are no longer supported + by kiwi >= v10.x.x. Thus this commit provides the required + XSL stylesheets to upgrade older schemas to v74 such that they + can be consumed by the latest kiwi version. The needed xsltproc + instruction is placed on the main page of the documentation. + +------------------------------------------------------------------- +Wed Apr 03 13:42:07 CEST 2024 - Marcus Schäfer + +- Delete kiwi compat mode + + The compat mode allowed a kiwi v7 legacy argument translation + and is obsolete since a long time + +------------------------------------------------------------------- +Wed Apr 03 12:27:02 CEST 2024 - Marcus Schäfer + +- Make excludes in bootstrap effective for dnf + + Followup fix to really use the ignore information in the dnf + package manager implementation. This Fixes #2499 + +------------------------------------------------------------------- +Thu Mar 28 16:27:08 CET 2024 - Marcus Schäfer + +- Bump version: 10.0.9 → 10.0.10 + +------------------------------------------------------------------- +Wed Mar 27 17:44:16 CET 2024 - Marcus Schäfer + +- Bump version: 10.0.8 → 10.0.9 + +------------------------------------------------------------------- +Wed Mar 27 17:42:26 CET 2024 - Marcus Schäfer + +- Fix setup of discoverable partitions + + Make sure GUI is unique and typecode is set according to the + standard. This Fixes #2517 + +------------------------------------------------------------------- +Tue Mar 26 14:21:00 CET 2024 - Dmitri Popov + +- Revise customize_boot + ------------------------------------------------------------------- Mon Mar 25 12:26:24 CET 2024 - Marcus Schäfer @@ -48,15 +2441,62 @@ Mon Mar 25 12:26:24 CET 2024 - Marcus Schäfer the same label. This Fixes bsc#1213595 ------------------------------------------------------------------- -Tue Mar 19 09:33:17 CET 2024 - Marcus Schäfer +Sat Mar 23 14:15:28 CET 2024 - Marcus Schäfer -- Fixup unit test for clone_device - - Missing setup_method causes the test to fail with - newer versions of pytest +- Bump version: 10.0.7 → 10.0.8 ------------------------------------------------------------------- -Tue Mar 19 09:14:31 CET 2024 - Marcus Schäfer +Fri Mar 22 16:35:10 CET 2024 - Marcus Schäfer + +- Fix zipl setup for use with custom btrfs root vol + + In the setup case that btrfs is used for the system and + the root partition is on a custom named volume (not /), + this information was not passed to the zipl bootloader + instance and this caused the mounting of the overall + root system to fail. This commit fixes it + +------------------------------------------------------------------- +Fri Mar 22 10:33:04 CET 2024 - Marcus Schäfer + +- Allow ignore stanza in bootstrap + + So far the stanza was only effective when placed + as part of the type="image" packages section. This commit + allows to place it also to the type="bootstrap" packages. + This Fixes #2499 + +------------------------------------------------------------------- +Wed Mar 20 15:11:54 CET 2024 - Marcus Schäfer + +- Bump version: 10.0.6 → 10.0.7 + +------------------------------------------------------------------- +Tue Mar 19 17:09:39 CET 2024 - Marcus Schäfer + +- Add support for %v in bundle format + + Allow a placeholder for the entire version text as + provided by the section + +------------------------------------------------------------------- +Tue Mar 19 15:38:45 CET 2024 - Marcus Schäfer + +- Allow bundle format to be set on the commandline + + The bundle format is usually specified as part of the image + description in the bundle_format attribute. This commit also + allows to specify/overwrite the bundle format in the kiwi + result bundle command via the new --bundle-format option. + This Fixes #2509 + +------------------------------------------------------------------- +Tue Mar 19 08:48:09 CET 2024 - Marcus Schäfer + +- Bump version: 10.0.5 → 10.0.6 + +------------------------------------------------------------------- +Mon Mar 18 16:34:54 CET 2024 - Marcus Schäfer - Fixup cleanup of zipl templates @@ -64,6 +2504,319 @@ Tue Mar 19 09:14:31 CET 2024 - Marcus Schäfer and config file are not effective in the later system. This Fixes bsc#1221469 +------------------------------------------------------------------- +Thu Mar 14 11:39:03 CET 2024 - Dmitri Popov + +- Revise system_update.rst + +------------------------------------------------------------------- +Thu Mar 14 11:26:04 CET 2024 - Dmitri Popov + +- Revise system_prepare.rst + +------------------------------------------------------------------- +Wed Mar 13 15:39:33 CET 2024 - Dmitri Popov + +- Revise system_create.rst + +------------------------------------------------------------------- +Wed Mar 13 15:09:21 CET 2024 - Marcus Schäfer + +- Bump version: 10.0.4 → 10.0.5 + +------------------------------------------------------------------- +Wed Mar 13 08:41:02 CET 2024 - Marcus Schäfer + +- Followup fix for use of /boot/zipl + + The mounting of /boot/zipl is also only required if the + bootloader is set to grub2_s390x_emu + +------------------------------------------------------------------- +Wed Mar 13 08:35:17 CET 2024 - Marcus Schäfer + +- Update schema version in spec file + +------------------------------------------------------------------- +Tue Mar 12 16:23:40 CET 2024 - Marcus Schäfer + +- Drop rpm-dir from allowed repository type + + Using an arbitrary list of rpm packages as repository is a zypper + only feature, barely tested and from our pov not really needed + as a simple createrepo call turns any custom list of packages + into a clean rpm-md repo including metadata. This commit drops + rpm-dir from the list of allowed repository types and auto + converts those image descriptions which makes use of it. Please + note this does not prevent users from using flat package + directories with zypper, because the type argument in the + repository section is an optional attribute. In case there is + no type specification zypper auto-detects and handles the data + as it handles it. This Fixes #1926 + +------------------------------------------------------------------- +Tue Mar 12 15:36:20 CET 2024 - Dmitri Popov + +- Revise system_build.rst + +------------------------------------------------------------------- +Tue Mar 12 12:35:12 CET 2024 - Marcus Schäfer + +- Fixup use of /boot/zipl + + Only for the grub2_s390x_emu bootloader setup an optional boot + partition setup must be put to /boot/zipl rather than to /boot + +------------------------------------------------------------------- +Mon Mar 11 15:23:02 CET 2024 - Marcus Schäfer + +- Lookup distro provided BLS entries for zipl + + Check if there is already an entry file name produced by the + distribution logic/policy. If we can find an already present + entry name, prefer this name over the kiwi naming policy + +------------------------------------------------------------------- +Mon Mar 11 14:58:39 CET 2024 - Marcus Schäfer + +- Install audit in s390 rawhide integration test + +------------------------------------------------------------------- +Sun Mar 10 17:55:32 CET 2024 - Marcus Schäfer + +- Bump version: 10.0.3 → 10.0.4 + +------------------------------------------------------------------- +Sat Mar 09 14:52:13 CET 2024 - Marcus Schäfer + +- Delete invalid EPEL repo from rawhide tests + +------------------------------------------------------------------- +Fri Mar 08 16:31:12 CET 2024 - Marcus Schäfer + +- Fix s390 tools and grub requirement + + On Fedora/RHEL this is named s390utils and there is no grub2 + +------------------------------------------------------------------- +Fri Mar 08 16:16:03 CET 2024 - Marcus Schäfer + +- Added rawhide integration test + +------------------------------------------------------------------- +Fri Mar 08 16:02:01 CET 2024 - Dmitri Popov + +- Temp commit + +------------------------------------------------------------------- +Thu Mar 07 15:51:11 CET 2024 - Marcus Schäfer + +- Bump version: 10.0.2 → 10.0.3 + +------------------------------------------------------------------- +Thu Mar 07 10:41:01 CET 2024 - Dmitri Popov + +- Revise image_size, kiwi + +------------------------------------------------------------------- +Thu Mar 07 03:33:26 CET 2024 - Neal Gompa + +- Ensure we use a compatible docopt-ng version + + To ensure our trick to switch between docopt and docopt-ng works, + we need to have a higher minimum version for docopt-ng where + compatibility with the original docopt was restored. + +------------------------------------------------------------------- +Wed Mar 06 21:05:26 CET 2024 - Marcus Schäfer + +- Fixed delta_root build + + The support for delta_root allows to build a delta container + image from a given base container. Due to the refactoring of + the kiwi code base using context managers no explicit deletion + of instances happens anymore. This uncovered a weakness of + the delta root code at the level of the overlay mount. At + the time of the umount there are still active temporary + mount handlers which keeps the mountpoint busy. In order to + fix this properly also the PackageManager factory is now + a context manager and the Repository factory received a + cleanup method which is called when the PackageManager goes + out of scope. This refactoring also fixes the busy state + when building deltas + +------------------------------------------------------------------- +Wed Mar 06 10:42:14 CET 2024 - Marcus Schäfer + +- Bump version: 10.0.1 → 10.0.2 + +------------------------------------------------------------------- +Wed Mar 06 10:39:31 CET 2024 - Marcus Schäfer + +- Don't use poetry publish + + Publishing to pypi is done via pypa/gh-action-pypi-publish + and the respective auth token. Calling poetry publish does + not work because this is not authorized + +------------------------------------------------------------------- +Wed Mar 06 10:23:43 CET 2024 - Marcus Schäfer + +- Bump version: 10.0.0 → 10.0.1 + +------------------------------------------------------------------- +Wed Mar 06 10:19:09 CET 2024 - Marcus Schäfer + +- Drop ci-kiwi-9-compliant.yml + + Delete this action as it existed in the intermediate state + prior the new major version v10.x.x + +------------------------------------------------------------------- +Wed Mar 06 09:13:49 CET 2024 - Marcus Schäfer + +- Add tzdata to Debian tests + +------------------------------------------------------------------- +Wed Mar 06 09:08:29 CET 2024 - Marcus Schäfer + +- Fixed sync script for test-image-rpi on Ubuntu + +------------------------------------------------------------------- +Wed Mar 06 00:09:24 CET 2024 - Marcus Schäfer + +- Install language-pack-en for Ubuntu arm test + +------------------------------------------------------------------- +Tue Mar 05 23:58:35 CET 2024 - Marcus Schäfer + +- Install locales-all for Debian tests + +------------------------------------------------------------------- +Tue Mar 05 23:56:03 CET 2024 - Marcus Schäfer + +- Install language-pack-en for Debian tests + +------------------------------------------------------------------- +Tue Mar 05 23:46:04 CET 2024 - Marcus Schäfer + +- Fix repo setup for Ubuntu arm test + +------------------------------------------------------------------- +Tue Mar 05 23:38:20 CET 2024 - Marcus Schäfer + +- Install network stack for Debian test + +------------------------------------------------------------------- +Tue Mar 05 23:31:29 CET 2024 - Marcus Schäfer + +- Request util-linux explicitly for Ubuntu tests + +------------------------------------------------------------------- +Tue Mar 05 23:22:28 CET 2024 - Marcus Schäfer + +- Add usr-is-merged to package list for bootstrap + +------------------------------------------------------------------- +Tue Mar 05 23:15:42 CET 2024 - Marcus Schäfer + +- Install language-pack-en for Ubuntu tests + +------------------------------------------------------------------- +Tue Mar 05 22:50:31 CET 2024 - Marcus Schäfer + +- Move Ubuntu integration tests to Lunar + +------------------------------------------------------------------- +Tue Mar 05 22:19:56 CET 2024 - Marcus Schäfer + +- Update test-image-rpi for Ubuntu on arm + + Do not install kiwi as test application + +------------------------------------------------------------------- +Tue Mar 05 22:15:13 CET 2024 - Marcus Schäfer + +- Fix repo setup for Debian integration tests + + Staging repo must be first for higher prio + +------------------------------------------------------------------- +Tue Mar 05 22:07:44 CET 2024 - Marcus Schäfer + +- Update test-image-docker-derived + + Don't install kiwi as test application, use something + smaller, just vim + +------------------------------------------------------------------- +Tue Mar 05 22:04:15 CET 2024 - Marcus Schäfer + +- Move Debian build test from Buster to Bookworm + + Move from Debian 11 to Debian 12 for integration testing + +------------------------------------------------------------------- +Tue Mar 05 21:20:14 CET 2024 - Marcus Schäfer + +- Move Ubuntu integration tests from Jammy to Mantic + + Use Ubuntu 23.10 for the integration tests and move away from 22.04 + +------------------------------------------------------------------- +Tue Mar 05 21:12:47 CET 2024 - Neal Gompa + +- Switch to Poetry and use pyproject.toml definitions + + This allows kiwi to be built, developed, tested, and installed + through Poetry. This also raises the minimum Python version to 3.9. + +------------------------------------------------------------------- +Tue Mar 05 21:11:29 CET 2024 - Marcus Schäfer + +- Delete test-image-microdnf + + microdnf is dead and dnf5 took over + +------------------------------------------------------------------- +Tue Mar 05 21:09:46 CET 2024 - Marcus Schäfer + +- Delete test-image-live-disk-v8 + + CentOS-8 is EOL and dropped from upstream kiwi + +------------------------------------------------------------------- +Tue Mar 05 11:42:45 CET 2024 - Dmitri Popov + +- Revise image info + +------------------------------------------------------------------- +Mon Mar 04 11:36:33 CET 2024 - Marcus Schäfer + +- Add support for BLS zipl + + Add support for to support BLS + based zipl configuration. This Fixes #2481 + +------------------------------------------------------------------- +Fri Mar 01 12:08:25 CET 2024 - Dmitri Popov + +- Review Build WSL container + +------------------------------------------------------------------- +Fri Mar 01 11:45:11 CET 2024 - Dmitri Popov + +- Revise Build simple disk + +------------------------------------------------------------------- +Thu Feb 29 16:04:24 CET 2024 - Marcus Schäfer + +- Update v9 compliance action + + put the cherry-pick tests into an extra script and + provide a skip list of commits for manual checking + if needed + ------------------------------------------------------------------- Thu Feb 29 15:36:41 CET 2024 - Marcus Schäfer @@ -75,14 +2828,6 @@ Thu Feb 29 15:36:41 CET 2024 - Marcus Schäfer generator created unit file systemd-cryptsetup@... is used This Fixes bsc#1219009 -------------------------------------------------------------------- -Thu Feb 29 09:49:39 CET 2024 - Marcus Schäfer - -- Add changelog fix file for commit 31deb0 - - The commit used a wrong e-mail address which should not - land in the created changes file for the packaging - ------------------------------------------------------------------- Thu Feb 29 09:39:06 CET 2024 - Marcus Schäfer @@ -107,6 +2852,141 @@ Wed Feb 28 10:42:17 CET 2024 - Marcus Schäfer the default output console is set to: gfxterm and the default input console is set to: console. This Fixes bsc#1219074 +------------------------------------------------------------------- +Wed Feb 28 10:31:38 CET 2024 - Marcus Schäfer + +- Catch error condition more specific + + Only a KiwiCommandError is an exception we want to + catch and handle, everything else is a bug and should + not be masked + +------------------------------------------------------------------- +Tue Feb 27 21:06:19 CET 2024 - Marcus Schäfer + +- Add silent flag to CommandCapabilities + + an instance of CommandCapabilities allows to check for specific + options of a command. If the parsing of options has failed a + warning message is created by default. Under certain circumstances + like the check for the --help option of setfiles, such a warning + message can be misleading information in the build log file. + Therefore the new silent flag allows to suppress the warning + message and the flag is used for the capabilities of the + setfiles utility. This Fixes #2350 + +------------------------------------------------------------------- +Tue Feb 27 20:45:54 CET 2024 - Marcus Schäfer + +- Fix documentation preferlvm example + + The custom volumes example shows a faulty XML description. + This Fixes #2483 + +------------------------------------------------------------------- +Tue Feb 27 15:43:06 CET 2024 - Marcus Schäfer + +- Move SystemPrepare to context manager + + Change the SystemPrepare class to context manager. + All code using SystemPrepare was updated to the following + with statement: + + with SystemPrepare(...) as system_prepare: + system_prepare.some_member() + + This completes the refactoring from finalizers to + context managers and Fixes #2412 + +------------------------------------------------------------------- +Mon Feb 26 14:59:56 CET 2024 - Marcus Schäfer + +- Fallback to built-in partition UUID table + + If systemd-id128 is not found or failed use the kiwi built-in + table as defined by the UAPI group to assign the partition UUID + +------------------------------------------------------------------- +Mon Feb 26 12:12:35 CET 2024 - Marcus Schäfer + +- Move DiskFormat to context manager + + Change the DiskFormat Factory to be a context manager. + All code using DiskFormat was updated to the following + with statement: + + with DiskFormat(...).new as disk_format: + disk_format.some_member() + + This is related to Issue #2412 + +------------------------------------------------------------------- +Sat Feb 24 15:42:00 CET 2024 - Marcus Schäfer + +- Added requirement for xmltodict to spec + + Actually the real issue to this defect seems to live in the + anymarkup source code. It seems that the import of xmltodict + at the beginning of the core module is optional, but later on + when handling XML xmltodict seems to be mandatory, see here: + https://github.com/bkabrda/anymarkup-core/blob/08896a8215819edcc413e3f2588518046 + 9a4c2ed/anymarkup_core/__init__.py#L210-L229. Because this + issue can result in a "ImportError: Can't parse xml: xmltodict not installed" + turning kiwi into a bad exit condition I propose to add + this python requirement to the kiwi spec as a workaround and + try fixing the anymarkup packaging and module setup upstream + in addition. To my knowledge all relevant distributions + provides xmltodict + +------------------------------------------------------------------- +Sat Feb 24 15:37:22 CET 2024 - Marcus Schäfer + +- Fixed type hint for pinch_system method + + The PackageManager argument is allowed to be optional + +------------------------------------------------------------------- +Sat Feb 24 10:57:32 CET 2024 - Marcus Schäfer + +- Add support for discoverable partitions + + Set PARTUUID according to systemd-id128 if applicable + This Fixes #1385 + +------------------------------------------------------------------- +Thu Feb 22 16:17:28 CET 2024 - Marcus Schäfer + +- Move Repository to context manager + + Change the Repository Factory to be a context manager. + All code using Repository was updated to the following + with statement: + + with Repository(...).new as repo: + repo.some_member() + + This is related to Issue #2412 + +------------------------------------------------------------------- +Thu Feb 22 14:48:39 CET 2024 - Dmitri Popov + +- Build LiveISO review + +------------------------------------------------------------------- +Wed Feb 21 15:45:30 CET 2024 - Dmitri Popov + +- Buil KIS review + +------------------------------------------------------------------- +Wed Feb 21 15:22:39 CET 2024 - Dmitri Popov + +- Build expandable disk review + +------------------------------------------------------------------- +Wed Feb 21 11:52:22 CET 2024 - Dmitri Popov + +- Build container image review + ------------------------------------------------------------------- Wed Feb 21 10:21:48 CET 2024 - Marcus Schäfer @@ -123,6 +3003,77 @@ Wed Feb 21 10:21:48 CET 2024 - Marcus Schäfer This is related to bsc#1218095 +------------------------------------------------------------------- +Tue Feb 20 16:31:46 CET 2024 - Marcus Schäfer + +- Fixed implementation for oem-shutdown + + If specified oem-shutdown caused a reboot -f -p which is + a powerdown but not a graceful shutdown. This commit fixes + this by using systemctl halt for a clean shutdown. + This Fixes #2474 + +------------------------------------------------------------------- +Mon Feb 19 17:55:10 CET 2024 - Marcus Schäfer + +- Move VolumeManager to context manager + + Change the VolumeManager Factory to be a context manager. + All code using VolumeManager was updated to the following + with statement: + + with VolumeManager(...).new as volume_manager: + volume_manager.some_member() + + This is related to Issue #2412 + +------------------------------------------------------------------- +Mon Feb 19 16:33:24 CET 2024 - Dan Čermák <45594031+dcermak@users.noreply.github.com> + +- Refactor Command class + + Command.run() currently has a bit of a confusing behavior: if raise_on_error is + False and the executable is not found, then a weird CommandT is returned (return + code is -1 and stdout+stderr is None). This makes it possible to hanlde command + not found errors separately, but it makes that needlessly verbose. So instead, + let's just return None in *this* special case. + + That in turn uncovered, that in most cases when we set `raise_on_error=True`, we + actually want an error if the command is not present but no error if the command + fails to execute (e.g. because it returns -1 if you run `$cmd --version`). Hence we + introduce the flag `raise_on_command_not_found`, which causes an exception to + be raised if the command is not found. This makes it independent of the + `raise_on_error` flag. + + Additionally, we add a small optimization: if command starts with /, then we + assume it's a full path and we omit the call to which (and just check whether it + exists). + + Co-authored-by: Marcus Schäfer + +------------------------------------------------------------------- +Mon Feb 19 16:17:00 CET 2024 - Marcus Schäfer + +- Move ImageSystem to context manager + + Change the ImageSystem class to context manager. + All code using ImageSystem was updated to the following + with statement: + + with ImageSystem(...) as image_system: + image_system.some_member() + + This is related to Issue #2412 + +------------------------------------------------------------------- +Mon Feb 19 13:46:30 CET 2024 - Marcus Schäfer + +- Allow empty cherry-picks for compliance test + + If we cherry-pick from main to master the compliance check + will notice that a commit already exists. This is not an error + and we can allow to continue the picking via --allow-empty + ------------------------------------------------------------------- Mon Feb 19 12:05:45 CET 2024 - Marcus Schäfer @@ -132,6 +3083,13 @@ Mon Feb 19 12:05:45 CET 2024 - Marcus Schäfer read and act on e.g cmdline parameters. This is related to bsc#1218095 +------------------------------------------------------------------- +Sun Feb 18 22:15:30 CET 2024 - Alexandre Detiste + +- Use unittest.mock from core python everywhere + + mock was an independent module that has been merged into the Python standard library. + ------------------------------------------------------------------- Fri Feb 16 15:08:49 CET 2024 - David Cassany @@ -145,6 +3103,54 @@ Fri Feb 16 15:08:49 CET 2024 - David Cassany Signed-off-by: David Cassany +------------------------------------------------------------------- +Fri Feb 16 15:02:52 CET 2024 - Marcus Schäfer + +- Fixed MicroOS integration test + + temporarily disable ignition/combustion/growpart and use + kiwi's resize code for testing, oem-resize set to true + +------------------------------------------------------------------- +Thu Feb 15 10:08:01 CET 2024 - Marcus Schäfer + +- Fixed kis documentation + + The procedure to run qemu with a filesystem image as disk + was not quite correct. + +------------------------------------------------------------------- +Wed Feb 14 15:42:39 CET 2024 - Marcus Schäfer + +- Update documentation about partition clones + + Using the root_clone attribute comes with some requirements + and consequences. This commit documents them + +------------------------------------------------------------------- +Wed Feb 14 15:18:56 CET 2024 - Fabian Vogt + +- Improve documentation generation + + With Sphinx >= 6.0.0, jQuery is no longer included but the rtd theme's search + functionality needs it. The theme was changed to load sphinxcontrib-jquery + automatically with https://github.com/readthedocs/sphinx_rtd_theme/pull/1399, + but kiwi broke this fix by loading the theme in the wrong way. + Now that the theme is loaded properly, the search functionality also works + with newer versions of sphinx again and the version pinning can be lifted. + This Fixes: #2462 + +------------------------------------------------------------------- +Wed Feb 14 12:51:58 CET 2024 - Fabian Vogt + +- Allow specifying the filesystem for live image, also direct squashfs + + Allow specifying the filesystem for live image, also direct squashfs + + By setting it's now possible + to specify the filesystem used for live images. By using "squashfs", the + rootfs container is skipped entirely. + ------------------------------------------------------------------- Wed Feb 14 12:43:54 CET 2024 - Marcus Schäfer @@ -155,6 +3161,388 @@ Wed Feb 14 12:43:54 CET 2024 - Marcus Schäfer after the import of the standard /.profile file. This is related to bsc#1218095 +------------------------------------------------------------------- +Wed Feb 14 09:50:08 CET 2024 - Marcus Schäfer + +- Don't run ci-kiwi-9-compliant action on forks + +------------------------------------------------------------------- +Tue Feb 13 09:27:31 CET 2024 - Marcus Schäfer + +- Fix setup of UUID for btrfs + + When setting up the UUID for a btrfs filesystem via btrfstune + it could happen that the call becomes interactive asking + a question and give a recommendation. All this is unwanted + and can be forced via the -f switch. This Fixes #2456 + +------------------------------------------------------------------- +Mon Feb 12 15:49:13 CET 2024 - Marcus Schäfer + +- Move OCI to context manager + + Change the OCI Factory to be a context manager. + All code using OCI was updated to the following + with statement: + + with OCI(...).new as oci: + oci.some_member() + + This is related to Issue #2412 + +------------------------------------------------------------------- +Mon Feb 12 15:11:35 CET 2024 - Marcus Schäfer + +- Drop destructor from CommandProcess + + There is code that sends a SIGTERM to the process in case + there is no error code information. I believe in this case + sending SIGTERM will not kill the process (defunct) and I + also don't see in what good condition we would be entering + this state. + +------------------------------------------------------------------- +Mon Feb 12 13:04:29 CET 2024 - Marcus Schäfer + +- Fixed use of custom bootloader + + In case no bootloader implementation by kiwi should be + used, users can specify the bootloader="custom" attribute. + Instead of skipping the bootloader stage in the builders + it is better to consistently create an instance of bootloader + but raise if a method of the bootloader interface is called + for which the custom bootloader has no implementation. This + commit adds the consistency bits. + +------------------------------------------------------------------- +Mon Feb 12 10:37:21 CET 2024 - Marcus Schäfer + +- Fixed scope of BootLoaderConfig instance + + Due to the refactor of BootLoaderConfig into context managers + we had two instances of BootLoaderConfig. However, the first + instance holds data the second instance needs which caused an + issue. This commit makes sure there is one BootLoaderInstance + within the lifetime of required services + +------------------------------------------------------------------- +Mon Feb 12 10:36:48 CET 2024 - Marcus Schäfer + +- Allow integration test to build outside of obs too + +------------------------------------------------------------------- +Mon Feb 12 09:54:26 CET 2024 - Marcus Schäfer + +- Follow up fix for drop obsolete C tools from kiwi + + The spec file make call to build the C code was forgotten + to be deleted + +------------------------------------------------------------------- +Sun Feb 11 10:54:58 CET 2024 - Marcus Schäfer + +- Drop obsolete C tools from kiwi + + For building custom initrd images kiwi provided some + optional helper tools. All these C written tools are + old and outdated and either not useful anymore or + replaced by other tools that are part of the distribution + matrix we support. Thus with the move to the next + major release those can go away. This also include the + package kiwi-tools which was used to provide them + +------------------------------------------------------------------- +Wed Feb 07 10:36:34 CET 2024 - Marcus Schäfer + +- Update documentation + + Several examples still pointed to Leap 15.3 repos, but we are + at Leap 15.5. Thus this commit shifts towards Leap 15.5 + +------------------------------------------------------------------- +Mon Feb 05 15:36:48 CET 2024 - Marcus Schäfer + +- Remove destructor from BootLoaderInstallGrub2 + + With MountManager as context manager the BootLoaderInstallGrub2 + class doesn't need a destructor anymore. This is related + to Issue #2412 + +------------------------------------------------------------------- +Mon Feb 05 15:00:09 CET 2024 - Marcus Schäfer + +- Remove obsolete destructor from BootImageDracut + + With MountManager as context manager the BootImageDracut + class doesn't need a destructor anymore. This is + related to Issue #2412 + +------------------------------------------------------------------- +Mon Feb 05 09:21:33 CET 2024 - Marcus Schäfer + +- Move Raid Luks and Integrity to context manager + + Change the RaidDevice, LuksDevice and IntegrityDevice classes + to context manager: + + with RaidDevice(...) as raid: + raid.some_member() + + with LuksDevice(...) as luks: + luks.some_member() + + with IntegrityDevice(...) as integrity: + integrity.some_member() + + In the context of the disk builder an ExitStack is used to + handle the new context manager based classes + + This is related to Issue #2412 + +------------------------------------------------------------------- +Fri Feb 02 12:26:17 CET 2024 - Marcus Schäfer + +- Fix error message regarding ovftool + + For ova support kiwi still uses the proprietary ovftool + from VMware. The error message if the tool could not be + found was broken and the link to the VMware page was also + outdated. + +------------------------------------------------------------------- +Fri Feb 02 10:27:31 CET 2024 - Marcus Schäfer + +- Drop PDF build of the documentation + + The kiwi.pdf file as provided in the kiwi-man-pages package + was never really used by our users but comes with a huge + dependency chain to LaTex. We provide the documentation + online as well as converted to DocBook from where all other + formats could be derived. Thus there is no need for us to + produce an extra PDF document which is imho never consulted. + In addition to this change also the contributing chapter has + been reworked. Due to recent changes and drop of obsolete + components from kiwi as well as the effort to move the development + setup to poetry, there is only one non python tool needed + for the development of kiwi. The check for this tool has been + moved into the Makefile and all other checks formerly done + in the helper/install_devel_packages script were deleted. + +------------------------------------------------------------------- +Wed Jan 31 15:40:17 CET 2024 - Marcus Schäfer + +- Fix crypto LUKS integration test + + The integration test build also encrypts /boot which requires + grub to open the LUKS pool using cryptomount. grub does not support + the argonID salted password hashes. Thus the integration test + description configures pbkdf2 instead + +------------------------------------------------------------------- +Wed Jan 31 14:55:19 CET 2024 - Marcus Schäfer + +- Use ExitStack for MountManagers + +------------------------------------------------------------------- +Wed Jan 31 11:10:26 CET 2024 - Marcus Schäfer + +- Only pass appropriate bootloader arguments + + When constructing a BootLoaderConfig instance only pass + arguments appropriate to the selected bootloader. It does + not hurt but it is bad style and unnecessary data and + code points if e.g grub relevant information is passed + when we actually setup systemd-boot + +------------------------------------------------------------------- +Wed Jan 31 10:26:48 CET 2024 - Marcus Schäfer + +- Fix reading of os-release file + + If the /etc/os-release file contains comments or spaces + python's csv reader will throw an exception. Thus this + data must be ripped out prior reading + +------------------------------------------------------------------- +Tue Jan 30 17:36:28 CET 2024 - Marcus Schäfer + +- Allow to use Literal for all python versions + +------------------------------------------------------------------- +Tue Jan 30 17:14:21 CET 2024 - Marcus Schäfer + +- Better error message on module import + +------------------------------------------------------------------- +Tue Jan 30 11:48:26 CET 2024 - Marcus Schäfer + +- Move Disk to context manager + + Change the Disk class to be a context manager. + All code using Disk was updated to the following + with statement: + + with Disk(...) as disk: + disk.some_member() + + This is related to Issue #2412 + +------------------------------------------------------------------- +Fri Jan 26 21:36:49 CET 2024 - Marcus Schäfer + +- Fixed test-image-rpi for TW + + No need to pull in zypper plugin that does not resolve on TW + +------------------------------------------------------------------- +Fri Jan 26 15:19:26 CET 2024 - Marcus Schäfer + +- Update documentation + + drop documentation for isolinux in API and user docs + +------------------------------------------------------------------- +Fri Jan 26 11:35:07 CET 2024 - Dan Čermák + +- Fix invalid escape sequence + +------------------------------------------------------------------- +Fri Jan 26 11:34:56 CET 2024 - Dan Čermák + +- Add missing assert call to install_test + +------------------------------------------------------------------- +Fri Jan 26 11:34:27 CET 2024 - Dan Čermák + +- Correct type hint of mbrid parameter + +------------------------------------------------------------------- +Fri Jan 26 11:33:39 CET 2024 - Dan Čermák + +- Convert BootLoaderConfigBase into an abstract base class + +------------------------------------------------------------------- +Fri Jan 26 11:31:18 CET 2024 - Dan Čermák + +- Convert BootLoaderConfig to free function + + The class serves really no purpose except for creating another + namespace. This function now allows us to have more stricter type checking. + +------------------------------------------------------------------- +Fri Jan 26 09:18:44 CET 2024 - Marcus Schäfer + +- better function name + +------------------------------------------------------------------- +Mon Jan 22 17:22:15 CET 2024 - Marcus Schäfer + +- Drop support for syslinux/isolinux + + SYSLINUX has been abandoned for several years now, and it does not + even work with modern versions of the filesystems supported in kiwi. + This commit drops it and Fixes #2433 + +------------------------------------------------------------------- +Mon Jan 22 17:15:18 CET 2024 - Marcus Schäfer + +- Update build tests + + Delete use of syslinux/isolinux + +------------------------------------------------------------------- +Fri Jan 19 16:56:24 CET 2024 - Marcus Schäfer + +- Move BootLoaderConfig to context manager + + Change the BootLoaderConfig class to be a context manager. + All code using BootLoaderConfig was updated to the following + with statement: + + with BootLoaderConfig.new(...) as bootloader_config: + bootloader_config.some_member() + + This is related to Issue #2412 + +------------------------------------------------------------------- +Fri Jan 19 14:12:15 CET 2024 - Dan Čermák + +- [docs] make copyright year dynamic + +------------------------------------------------------------------- +Fri Jan 19 14:09:33 CET 2024 - Dan Čermák + +- Silence Shellcheck warning SC2004 + + It causes false positives in array expressions, + e.g. device_array[${device_index}] + + (see: https://www.shellcheck.net/wiki/SC2004) + +------------------------------------------------------------------- +Fri Jan 19 14:06:51 CET 2024 - Dan Čermák + +- Quote shell variables to prevent word splitting + + this fixes shellcheck warning SC2086 + https://www.shellcheck.net/wiki/SC2086 + +------------------------------------------------------------------- +Thu Jan 18 16:16:24 CET 2024 - Dan Čermák + +- Add type hints & doc to VolumeManagerBase & VolumeManagerBtrfs + + Also add additional tests for test coverage of typing edge cases + +------------------------------------------------------------------- +Thu Jan 18 14:37:08 CET 2024 - Dan Čermák + +- Correct invalid escape sequence + + \/ is not a valid escape sequence, it just needs to be forwarded to the shell + +------------------------------------------------------------------- +Thu Jan 18 11:08:55 CET 2024 - Dan Čermák + +- DiskBuilder: use ExitStack to unmount partitions + +------------------------------------------------------------------- +Thu Jan 18 11:05:54 CET 2024 - Dan Čermák + +- FileSystemBase & VolumeManagerBase: return a MountManager from sync_data + + This allows us to unmount the filesystems via the returned context manager + +------------------------------------------------------------------- +Thu Jan 18 11:04:33 CET 2024 - Dan Čermák + +- Don't catch all exceptions in MountManager.umount + +------------------------------------------------------------------- +Thu Jan 18 11:02:23 CET 2024 - Dan Čermák + +- Implement a context manager interface for MountManager + +------------------------------------------------------------------- +Wed Jan 17 21:53:33 CET 2024 - Marcus Schäfer + +- Update Debian distro for integration tests + + We require python >= 3.9 + +------------------------------------------------------------------- +Wed Jan 17 17:27:04 CET 2024 - Marcus Schäfer + +- Refactor disk builder for use with context manager + + In preparation to further context manager related changes + in VolumeManager, LuksDevice, RaidDevice and more the + disk builder code which uses these classes needs to be + refactored beforehand to allow switching to context + manager based cascading of the storage device classes. + This commit does the refactoring and is related to + Issue #2412 + ------------------------------------------------------------------- Tue Jan 16 15:50:45 CET 2024 - Marcus Schäfer @@ -177,22 +3565,146 @@ Tue Jan 16 10:37:16 CET 2024 - Neal Gompa anymore, so let's just use "linux"+"initrd" for everything now. ------------------------------------------------------------------- -Tue Jan 09 15:31:06 CET 2024 - Marcus Schäfer +Mon Jan 15 17:57:51 CET 2024 - Marcus Schäfer -- Disable workflow runs from master +- Don't create default entry for sd-boot loader.conf - The following github actions will be disabled from master - because they are expected to run from main: +------------------------------------------------------------------- +Mon Jan 15 16:44:22 CET 2024 - Marcus Schäfer - - ci-publish-pages.yml - - ci-publish-to-pypi.yml - - ci-update-build-tests.yml +- Type cleanup, no use of Any type in disk builder + + Use proper Union declaration for system variable and add + consistency layer into Filesystem/VolumeManager classes to + meet the type declaration as well as to simplify further + refactoring on these classes + +------------------------------------------------------------------- +Sat Jan 13 23:25:41 CET 2024 - Marcus Schäfer + +- Compat entry name for kernel-install in sd-boot + + systemd-boot tools like kernel-install expect a certain + entry naming policy. This commit adapts kiwi to adapt to + this policy. The name for the default entry is constructed + out of the ID information from /etc/os-release followed + by the name of the kernel as it is represented by the + directory name in /lib/modules/... This Fixes #2417 + +------------------------------------------------------------------- +Sat Jan 13 13:47:50 CET 2024 - Marcus Schäfer + +- Drop SLE integration tests + + The kiwi version for SLE is maintained in the git repos + * https://github.com/SUSE/kiwi_sle15 + * https://github.com/SUSE/kiwi_sle12 + and has its own set of QA integration tests in the internal + build service. + +------------------------------------------------------------------- +Fri Jan 12 16:58:19 CET 2024 - Marcus Schäfer + +- Apply different cherry-pick strategy + + cherry picking merge commits is not easily possible. Thus get + the list of commits and check if it can be applied in a series + +------------------------------------------------------------------- +Fri Jan 12 16:11:45 CET 2024 - Marcus Schäfer + +- Reduce XSL transformation list + + Minimum schema version to start with is v74 + This Fixes #2368 + +------------------------------------------------------------------- +Fri Jan 12 09:39:18 CET 2024 - Marcus Schäfer + +- Fixed custom ISO boot template + + The archlinux integration test used a custom iso boot + template which still contained the terminal_setup variable. + This commit fixed the template to use the new terminal_input + and terminal_output variables + +------------------------------------------------------------------- +Fri Jan 12 09:09:47 CET 2024 - Marcus Schäfer + +- Delete clicfs from documentation API + +------------------------------------------------------------------- +Thu Jan 11 19:14:48 CET 2024 - Marcus Schäfer + +- Move FileSystem to context manager + + Change the FileSystem class to be a context manager. All code using + FileSystem was updated to the following with statement: + + with FileSystem.new(...) as filesystem: + filesystem.some_member() + + This is related to Issue #2412 + +------------------------------------------------------------------- +Thu Jan 11 09:46:23 CET 2024 - Marcus Schäfer + +- Update unit test data to schema v8.0 + +------------------------------------------------------------------- +Thu Jan 11 09:30:07 CET 2024 - Marcus Schäfer + +- Update major schema version from 7.6 -> 8.0 + + With the switch to schema v8.x we allow for non compatible + changes in regards to the v7.x stream. Thus this commit also + deletes the support for clicfs from the schema + +------------------------------------------------------------------- +Thu Jan 11 09:23:52 CET 2024 - Marcus Schäfer + +- Drop clicfs support + + clicfs was a fuse userspace implementation of an overlay + filesystem. Since overlayfs became the default overlay filesystem + there is no reason for kiwi to keep the clicfs support + +------------------------------------------------------------------- +Wed Jan 10 12:10:47 CET 2024 - Dan Čermák + +- Use obsrepositories for the CentOS 9 image + + We were relying on the repos being parsed from the kiwi description but this can + cause problems and gives us less flexibility when it comes to fixing repository + setup issues. + + This fixes https://github.com/OSInside/kiwi/issues/2335 + +------------------------------------------------------------------- +Tue Jan 09 15:36:13 CET 2024 - Marcus Schäfer + +- Bump version: 9.25.22 → 10.0.0 + +------------------------------------------------------------------- +Tue Jan 09 15:35:22 CET 2024 - Marcus Schäfer + +- Move workflow runs to main branch + + Make sure all github actions runs from main ------------------------------------------------------------------- Tue Jan 09 15:19:30 CET 2024 - Marcus Schäfer - Bump version: 9.25.21 → 9.25.22 +------------------------------------------------------------------- +Tue Jan 09 13:19:57 CET 2024 - Marcus Schäfer + +- Add compliance action + + Check if the commits of a pull request can be cherry-picked to + the master, which is the kiwi v9.x.x code stream. + ------------------------------------------------------------------- Tue Jan 09 11:18:30 CET 2024 - Marcus Schäfer @@ -247,6 +3759,20 @@ Thu Jan 04 13:05:39 CET 2024 - Marcus Schäfer initialize method which provides the environment for all code running in the dracut module. This is related to jira#PED-7180 +------------------------------------------------------------------- +Sat Dec 30 14:49:15 CET 2023 - Marcus Schäfer + +- Move LoopDevice class to context manager + + Change the LoopDevice class to be a context manager. + All code using LoopDevice was updated to the following + with statement: + + with LoopDevice(...) as loop_provider: + loop_provider.some_member() + + This is related to Issue #2412 + ------------------------------------------------------------------- Fri Dec 29 20:23:17 CET 2023 - Neal Gompa diff --git a/python-kiwi.spec b/python-kiwi.spec index 78b69a1..53c58ea 100644 --- a/python-kiwi.spec +++ b/python-kiwi.spec @@ -19,16 +19,25 @@ # If they aren't provided by a system installed macro, define them %{!?_defaultdocdir: %global _defaultdocdir %{_datadir}/doc} + +%if 0%{?suse_version} && 0%{?suse_version} < 1600 +%global __python3 /usr/bin/python3.11 +%global python3_pkgversion 311 +%else %{!?__python3: %global __python3 /usr/bin/python3} +%{!?python3_pkgversion:%global python3_pkgversion 3} +%endif %if %{undefined python3_sitelib} %global python3_sitelib %(%{__python3} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") %endif -%if 0%{?el7} -%global python3_pkgversion 36 -%else -%{!?python3_pkgversion:%global python3_pkgversion 3} +%if %{undefined python3_version} +%global python3_version %(%{__python3} -Esc "import sys; sys.stdout.write('{0.major}.{0.minor}'.format(sys.version_info))") +%endif + +%if %{undefined python3_version_nodots} +%global python3_version_nodots %(%{__python3} -Esc "import sys; sys.stdout.write('{0.major}{0.minor}'.format(sys.version_info))") %endif %if 0%{?debian} || 0%{?ubuntu} @@ -43,8 +52,8 @@ %endif Name: python-kiwi -Version: 9.25.22 -Provides: kiwi-schema = 7.5 +Version: 10.2.12 +Provides: kiwi-schema = 8.1 Release: 0 Url: https://github.com/OSInside/kiwi Summary: KIWI - Appliance Builder Next Generation @@ -54,12 +63,12 @@ License: GPL-3.0-or-later Packager: Marcus Schaefer %endif Group: %{pygroup} -Source: %{name}.tar.gz +Source0: %{name}.tar.gz Source1: %{name}-rpmlintrc +# SUSE-specific patches (1001+) +## PATCH-FIX-OPENSUSE kiwi-revert-bls-default-for-suse.patch -- temporary until opensuse has bls +Patch1001: kiwi-revert-bls-default-for-suse.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: gcc -BuildRequires: python%{python3_pkgversion}-%{develsuffix} >= 3.6 -BuildRequires: python%{python3_pkgversion}-setuptools %if 0%{?fedora} || 0%{?suse_version} BuildRequires: fdupes %endif @@ -69,6 +78,36 @@ BuildRequires: shadow %if 0%{?debian} || 0%{?ubuntu} BuildRequires: passwd %endif +# Main build requirements +BuildRequires: gcc +BuildRequires: make +BuildRequires: python%{python3_pkgversion}-%{develsuffix} >= 3.9 +BuildRequires: python%{python3_pkgversion}-build +BuildRequires: python%{python3_pkgversion}-installer +BuildRequires: python%{python3_pkgversion}-poetry-core >= 1.2.0 +BuildRequires: python%{python3_pkgversion}-wheel +# doc build requirements +%if ! (0%{?fedora} >= 41 || 0%{?rhel} >= 10) +BuildRequires: python%{python3_pkgversion}-docopt >= 0.6.2 +%else +BuildRequires: python%{python3_pkgversion}-docopt-ng +%endif +BuildRequires: python%{python3_pkgversion}-lxml +BuildRequires: python%{python3_pkgversion}-requests +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-simplejson +%if 0%{?suse_version} +BuildRequires: python%{python3_pkgversion}-Sphinx +%else +BuildRequires: python%{python3_pkgversion}-sphinx +%endif +%if 0%{?debian} || 0%{?ubuntu} +BuildRequires: python%{python3_pkgversion}-sphinx-rtd-theme +BuildRequires: python%{python3_pkgversion}-yaml +%else +BuildRequires: python%{python3_pkgversion}-sphinx_rtd_theme +BuildRequires: python%{python3_pkgversion}-PyYAML +%endif %description The KIWI Image System provides an operating system image builder @@ -83,16 +122,18 @@ Obsoletes: kiwi-image-tbz-requires < %{version}-%{release} %if "%{_vendor}" != "debbuild" Provides: kiwi-image:tbz %endif +%if 0%{?fedora} >= 42 +Provides: kiwi-image:enclave +Requires: eif_build +%endif # tools conditionally used by kiwi %if 0%{?fedora} || 0%{?rhel} >= 8 Recommends: gnupg2 -Recommends: debootstrap +Recommends: apt Recommends: dpkg %endif %if 0%{?suse_version} Recommends: gpg2 -Recommends: debootstrap -Recommends: dpkg %if 0%{?suse_version} >= 1650 Recommends: dnf %endif @@ -119,12 +160,11 @@ Requires: zypper Provides: kiwi-packagemanager:zypper %endif %if 0%{?debian} || 0%{?ubuntu} -Requires: debootstrap +Requires: apt Requires: dpkg Requires: gnupg %endif # tools required by kiwi -Requires: kiwi-tools Requires: mtools Requires: rsync Requires: tar >= 1.2.7 @@ -186,9 +226,6 @@ Provides: kiwi-image:iso Requires: checkmedia %endif Requires: xorriso -%ifarch %{ix86} x86_64 -Requires: syslinux -%endif Requires: kiwi-systemdeps-core = %{version}-%{release} Requires: kiwi-systemdeps-filesystems = %{version}-%{release} Requires: kiwi-systemdeps-bootloaders = %{version}-%{release} @@ -212,9 +249,6 @@ Recommends: gfxboot Requires: grub2-efi-x64 %endif %endif -%if ! (0%{?debian} || 0%{?ubuntu}) -Requires: grub2 -%endif %ifarch %arm aarch64 %if 0%{?fedora} || 0%{?rhel} Requires: uboot-tools @@ -224,7 +258,14 @@ Requires: u-boot-tools %endif %endif %ifarch s390 s390x +%if 0%{?fedora} || 0%{?rhel} +Requires: s390utils +%else Requires: s390-tools +%if ! (0%{?debian} || 0%{?ubuntu}) +Requires: grub2 +%endif +%endif %endif Requires: kiwi-systemdeps-core = %{version}-%{release} @@ -250,10 +291,17 @@ Provides: kiwi-filesystem:ext3 Provides: kiwi-filesystem:ext4 Provides: kiwi-filesystem:squashfs Provides: kiwi-filesystem:xfs +%if ! (0%{?suse_version} && 0%{?suse_version} <= 1600) +Provides: kiwi-filesystem:erofs +Provides: kiwi-image:erofs +%endif %endif Requires: dosfstools Requires: e2fsprogs Requires: xfsprogs +%if ! (0%{?suse_version} && 0%{?suse_version} <= 1600) +Requires: erofs-utils +%endif %if 0%{?suse_version} Requires: btrfsprogs %else @@ -295,6 +343,10 @@ Provides: kiwi-image:vmx Requires: kiwi-systemdeps-filesystems = %{version}-%{release} Requires: kiwi-systemdeps-bootloaders = %{version}-%{release} Requires: kiwi-systemdeps-iso-media = %{version}-%{release} +%if 0%{?suse_version} >= 1650 +Requires: binutils +Requires: glibc-gconv-modules-extra +%endif %if 0%{?suse_version} Requires: gptfdisk %else @@ -359,30 +411,36 @@ leverage all functionality in KIWI. %package -n python%{python3_pkgversion}-kiwi Summary: KIWI - Appliance Builder Next Generation Group: %{pygroup} +%if "%{python3_pkgversion}" == "3" +%if 0%{?suse_version} +Provides: python%{python3_version_nodots}-kiwi = %{version}-%{release} +%else +Provides: python%{python3_version}-kiwi = %{version}-%{release} +%endif +%endif Obsoletes: python2-kiwi Conflicts: python2-kiwi Conflicts: kiwi-man-pages < %{version} Requires: screen Requires: file Requires: sed -Requires: python%{python3_pkgversion} >= 3.6 +Requires: bash +Requires: python%{python3_pkgversion} >= 3.9 %if 0%{?ubuntu} || 0%{?debian} Requires: python%{python3_pkgversion}-yaml -Requires: python%{python3_pkgversion}-typing-extensions %else Requires: python%{python3_pkgversion}-PyYAML %endif Requires: python%{python3_pkgversion}-simplejson +%if ! (0%{?fedora} >= 41 || 0%{?rhel} >= 10) Requires: python%{python3_pkgversion}-docopt +%else +Requires: python%{python3_pkgversion}-docopt-ng +%endif Requires: python%{python3_pkgversion}-lxml Requires: python%{python3_pkgversion}-requests Requires: python%{python3_pkgversion}-setuptools -%if 0%{?rhel} || 0%{?fedora} -Requires: (python%{python3_pkgversion}-typing-extensions if python%{python3_pkgversion} < 3.8) -%endif -%if 0%{?suse_version} -Requires: (python%{python3_pkgversion}-typing_extensions if python%{python3_pkgversion} < 3.8) -%endif +Requires: python%{python3_pkgversion}-xmltodict %if ! (0%{?rhel} && 0%{?rhel} < 8) Recommends: kiwi-man-pages %endif @@ -403,17 +461,6 @@ Python 3 library of the KIWI Image System. Provides an operating system image builder for Linux supported hardware platforms as well as for virtualization and cloud systems like Xen, KVM, VMware, EC2 and more. -%package -n kiwi-tools -Summary: KIWI - Collection of Boot Helper Tools -License: GPL-3.0-or-later -Group: %{sysgroup} - -%description -n kiwi-tools -This package contains a small set of helper tools used for the -kiwi created initial ramdisk which is used to control the very -first boot of an appliance. The tools are not meant to be used -outside of the scope of kiwi appliance building. - %if "%{_vendor}" != "debbuild" %ifarch %{ix86} x86_64 %package -n kiwi-pxeboot @@ -485,7 +532,11 @@ Requires: xz Requires: device-mapper %endif %ifarch s390 s390x +%if 0%{?fedora} || 0%{?rhel} +Requires: s390utils +%else Requires: s390-tools +%endif Requires: parted %endif License: GPL-3.0-or-later @@ -616,34 +667,65 @@ Group: %{sysgroup} %description -n kiwi-man-pages Provides manual pages to describe the kiwi commands +%package -n kiwi-bash-completion +Summary: Bash Completion for kiwi-ng +Requires: bash-completion +Requires: python%{python3_pkgversion}-kiwi = %{version} +%if ! (0%{?debian} || 0%{?ubuntu}) +Supplements: (%{name} and bash-completion) +%endif +BuildArch: noarch + +%description -n kiwi-bash-completion +Bash command line completion support for python-kiwi - completion +of subcommands, parameters and keywords for the kiwi-ng command. + %prep %setup -q -n kiwi-%{version} +%if 0%{?suse_version} +# Temporarily revert grub-bls default to false for SUSE distributions +%patch -P 1001 -p1 +%endif + +# Temporarily switch things back to docopt for everything but Fedora 41+ +# FIXME: Drop this hack as soon as we can... +%if ! (0%{?fedora} >= 41 || 0%{?rhel} >= 10) +sed -e 's/docopt-ng.*/docopt = ">=0.6.2"/' -i pyproject.toml +%endif + # Drop shebang for kiwi/xml_parse.py, as we don't intend to use it # as an independent script sed -e "s|#!/usr/bin/env python||" -i kiwi/xml_parse.py -%build -# Build C-Tools -make CFLAGS="${RPM_OPT_FLAGS}" tools +# Build documentation +make -C doc man + +# Build application wheel +%{__python3} -m build --no-isolation --wheel %install -# Install Python 3 version -python3 setup.py install --prefix=%{_prefix} --root=%{buildroot} %{?is_deb:--install-layout=deb} +# Install application +%{__python3} -m installer --destdir %{buildroot} %{?is_deb:--no-compile-bytecode} dist/*.whl -# Install C-Tools, man-pages, completion and kiwi default configuration -make buildroot=%{buildroot}/ install +%if 0%{?is_deb} +# Fix where files were installed +mv %{buildroot}%{_prefix}/local/* %{buildroot}%{_prefix} +mv %{buildroot}%{_prefix}/lib/python3* %{buildroot}%{_prefix}/lib/python3 +%endif + +# Install man-pages, completion and kiwi default configuration +make buildroot=%{buildroot}/ python=%{__python3} install # Install dracut modules -make buildroot=%{buildroot}/ install_dracut +make buildroot=%{buildroot}/ python=%{__python3} install_dracut -# Install documentation in PDF format -make buildroot=%{buildroot}/ docdir=%{_defaultdocdir}/ install_package_docs +# Install documentation README / LICENSE +make buildroot=%{buildroot}/ docdir=%{_defaultdocdir}/ python=%{__python3} install_package_docs # Create symlinks for correct binaries ln -sr %{buildroot}%{_bindir}/kiwi-ng %{buildroot}%{_bindir}/kiwi ln -sr %{buildroot}%{_bindir}/kiwi-ng %{buildroot}%{_bindir}/kiwi-ng-3 -ln -sr %{buildroot}%{_bindir}/kiwicompat %{buildroot}%{_bindir}/kiwicompat-3 %if "%{_vendor}" != "debbuild" # kiwi pxeboot directory structure to be packed in kiwi-pxeboot @@ -702,26 +784,22 @@ fi %files -n python%{python3_pkgversion}-kiwi %dir %{_defaultdocdir}/python-kiwi +%dir %{_usr}/share/kiwi %{_bindir}/kiwi %{_bindir}/kiwi-ng -%{_bindir}/kiwicompat %{_bindir}/kiwi-ng-3* -%{_bindir}/kiwicompat-3* %{python3_sitelib}/kiwi* -%{_usr}/share/bash-completion/completions/kiwi-ng +%{_usr}/share/kiwi/xsl_to_v74/ %{_defaultdocdir}/python-kiwi/LICENSE %{_defaultdocdir}/python-kiwi/README +%files -n kiwi-bash-completion +%{_usr}/share/bash-completion/completions/kiwi-ng + %files -n kiwi-man-pages -%{_defaultdocdir}/python-kiwi/kiwi.pdf %config %_sysconfdir/kiwi.yml %doc %{_mandir}/man8/* -%files -n kiwi-tools -%{_bindir}/dcounter -%{_bindir}/isconsole -%{_bindir}/utimer - %files -n dracut-kiwi-lib %{_usr}/lib/dracut/modules.d/99kiwi-lib diff --git a/python-kiwi.tar.gz b/python-kiwi.tar.gz index 00694d5..8088f5e 100644 --- a/python-kiwi.tar.gz +++ b/python-kiwi.tar.gz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:55aa1768ea5ff690a2b501fd0313b4e9d835fa118f5b944d371052ed1c98d105 -size 2299924 +oid sha256:af5616b257f0c0542b3944b55beaa8edf12a3936eb6f8b371f85a0ae39b1def1 +size 1056389