|
|
|
|
Changelog for dracut-kiwi-overlay-10.0.21-1.0.2.1.sr20240605.x86_64.rpm :
* Tue Jun 04 2024 Marcus Schäfer - Bump version: 10.0.20 → 10.0.21 * Mon Jun 03 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 2024 Marcus Schäfer - Fix TW integration test to build outside OBS * Mon Jun 03 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 2024 Marcus Schäfer - Bump version: 10.0.19 → 10.0.20 * Mon Jun 03 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 2024 Marcus Schäfer - Add support for arch attr in repository element Allow to provide different repository sections per architecture * Fri May 31 2024 Marcus Schäfer - Add --list-profiles to image info Allow to list available profiles from the processed image description * Thu May 30 2024 Marcus Schäfer - Bump version: 10.0.18 → 10.0.19 * Wed May 29 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 2024 Marcus Schäfer - Bump version: 10.0.17 → 10.0.18 * Wed May 29 2024 Alberto Planas - package: adjust openSUSE patch * Wed May 29 2024 Marcus Schäfer - Bump version: 10.0.16 → 10.0.17 * Wed May 29 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 2024 Marcus Schäfer - Add procps to Tumbleweed integration tests * Thu May 16 2024 Marcus Schäfer - Add procps to Tumbleweed integration tests * Sun May 12 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 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 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 2024 Marcus Schäfer - Bump version: 10.0.15 → 10.0.16 * Wed May 08 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 2024 Marcus Schäfer - Fix spec file Require docopt-ng for Fedora 41+ * Tue May 07 2024 Marcus Schäfer - Bump version: 10.0.14 → 10.0.15 * Thu May 02 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 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 2024 Marcus Schäfer - Update Makefile Make sure custom patches are part of the package sources * Thu May 02 2024 Marcus Schäfer - Bump version: 10.0.13 → 10.0.14 * Thu May 02 2024 Neal Gompa - doc: Document the bls option for the grub bootloader * Wed May 01 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 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 2024 Marcus Schäfer - Bump version: 10.0.12 → 10.0.13 * Mon Apr 29 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 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 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 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 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 2024 Alberto Planas - Add \'bls\' parameter for the bootloader * Sat Apr 20 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 2024 Marcus Schäfer - Add missing tool requires Latest changes on the bundler used sed and file which were not required by the spec. This is related to bsc#1221790 * Fri Apr 19 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 2024 Marcus Schäfer - Fix file references in kiwi bundler result files When using a custom bundle_format the kiwi result bundler renames the output files to match the bundle_format. However, if there are output files that references other output files, for example the vmware binary (.vmdk) in the guest config file (.vmx) then this renaming breaks those result files. This patch adds a reference file check for all non binary output files if they contain a reference to another output file and updates the data accordingly. This Fixes bsc#1221790 * Fri Apr 19 2024 Marcus Schäfer - Don\'t compress vmdk images Like with qcow2 it\'s not expected that the format type gets compressed in the bundle * Fri Apr 19 2024 Alberto Planas - kiwi.rnc: define bls parameter for bootloader * Fri Apr 19 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 2024 Marcus Schäfer - Fixed Arch build Forgot to add install of runtime_checker_metadata.yml * Thu Apr 18 2024 Marcus Schäfer - Update tumbleweed/test-image-disk integration test * Thu Apr 18 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 2024 Marcus Schäfer - Bump version: 10.0.11 → 10.0.12 * Mon Apr 15 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 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 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 * Tue Apr 09 2024 Marcus Schäfer - Fix typo in documentation main page Superfluous format sequence * Mon Apr 08 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 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 2024 Marcus Schäfer - Bump version: 10.0.10 → 10.0.11 * Wed Apr 03 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 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 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 2024 Marcus Schäfer - Bump version: 10.0.9 → 10.0.10 * Wed Mar 27 2024 Marcus Schäfer - Bump version: 10.0.8 → 10.0.9 * Wed Mar 27 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 * Mon Mar 25 2024 Marcus Schäfer - Live ISO Wait for udev events after repart Make sure to wait for the event queue to become empty after the creation of the write partition. When kiwi calls the code to create the write partition this emits new udev events. It\'s important to wait for the event queue to become empty to avoid a potential regression on the use of the device nodes. In the processing of the events it can happen that a device gets removed and re-added. If we don\'t want for udev to process the entire queue it can happen that the wrong block device is used. This wrong selection is only possible because the way how hybrid ISOs are designed exposes both, the disk and the partition for the root device with the same label. This Fixes bsc#1213595 * Sat Mar 23 2024 Marcus Schäfer - Bump version: 10.0.7 → 10.0.8 * Fri Mar 22 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 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 2024 Marcus Schäfer - Bump version: 10.0.6 → 10.0.7 * Tue Mar 19 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 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 2024 Marcus Schäfer - Bump version: 10.0.5 → 10.0.6 * Mon Mar 18 2024 Marcus Schäfer - Fixup cleanup of zipl templates Make sure temporary modifications to the zipl template and config file are not effective in the later system. This Fixes bsc#1221469 * Thu Mar 14 2024 Dmitri Popov - Revise system_update.rst * Thu Mar 14 2024 Dmitri Popov - Revise system_prepare.rst * Wed Mar 13 2024 Dmitri Popov - Revise system_create.rst * Wed Mar 13 2024 Marcus Schäfer - Bump version: 10.0.4 → 10.0.5 * Wed Mar 13 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 2024 Marcus Schäfer - Update schema version in spec file * Tue Mar 12 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 2024 Dmitri Popov - Revise system_build.rst * Tue Mar 12 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 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 2024 Marcus Schäfer - Install audit in s390 rawhide integration test * Sun Mar 10 2024 Marcus Schäfer - Bump version: 10.0.3 → 10.0.4 * Sat Mar 09 2024 Marcus Schäfer - Delete invalid EPEL repo from rawhide tests * Fri Mar 08 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 2024 Marcus Schäfer - Added rawhide integration test * Fri Mar 08 2024 Dmitri Popov - Temp commit * Thu Mar 07 2024 Marcus Schäfer - Bump version: 10.0.2 → 10.0.3 * Thu Mar 07 2024 Dmitri Popov - Revise image_size, kiwi * Thu Mar 07 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 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 2024 Marcus Schäfer - Bump version: 10.0.1 → 10.0.2 * Wed Mar 06 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 2024 Marcus Schäfer - Bump version: 10.0.0 → 10.0.1 * Wed Mar 06 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 2024 Marcus Schäfer - Add tzdata to Debian tests * Wed Mar 06 2024 Marcus Schäfer - Fixed sync script for test-image-rpi on Ubuntu * Wed Mar 06 2024 Marcus Schäfer - Install language-pack-en for Ubuntu arm test * Wed Mar 06 2024 Marcus Schäfer - Install locales-all for Debian tests * Wed Mar 06 2024 Marcus Schäfer - Install language-pack-en for Debian tests * Wed Mar 06 2024 Marcus Schäfer - Fix repo setup for Ubuntu arm test * Wed Mar 06 2024 Marcus Schäfer - Install network stack for Debian test * Wed Mar 06 2024 Marcus Schäfer - Request util-linux explicitly for Ubuntu tests * Wed Mar 06 2024 Marcus Schäfer - Add usr-is-merged to package list for bootstrap * Wed Mar 06 2024 Marcus Schäfer - Install language-pack-en for Ubuntu tests * Tue Mar 05 2024 Marcus Schäfer - Move Ubuntu integration tests to Lunar * Tue Mar 05 2024 Marcus Schäfer - Update test-image-rpi for Ubuntu on arm Do not install kiwi as test application * Tue Mar 05 2024 Marcus Schäfer - Fix repo setup for Debian integration tests Staging repo must be first for higher prio * Tue Mar 05 2024 Marcus Schäfer - Update test-image-docker-derived Don\'t install kiwi as test application, use something smaller, just vim * Tue Mar 05 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 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 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 2024 Marcus Schäfer - Delete test-image-microdnf microdnf is dead and dnf5 took over * Tue Mar 05 2024 Marcus Schäfer - Delete test-image-live-disk-v8 CentOS-8 is EOL and dropped from upstream kiwi * Tue Mar 05 2024 Dmitri Popov - Revise image info * Mon Mar 04 2024 Marcus Schäfer - Add support for BLS zipl Add support for to support BLS based zipl configuration. This Fixes #2481 * Fri Mar 01 2024 Dmitri Popov - Review Build WSL container * Fri Mar 01 2024 Dmitri Popov - Revise Build simple disk * Thu Feb 29 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 2024 Marcus Schäfer - Fix activation of luks pool in the initrd kiwi called systemd-cryptsetup directly which does not take the settings available in /etc/crypttab into account. This commit changes the activation procedure in a way that the generator created unit file systemd-cryptsetupAATT... is used This Fixes bsc#1219009 * Thu Feb 29 2024 Marcus Schäfer - Apply changelog fixes by glob Does not require Makefile changes when maintaining branches * Wed Feb 28 2024 Marcus Schäfer - Add changelog fix file for commit deb6ca The commit used a wrong e-mail address which should not land in the created changes file for the packaging * Wed Feb 28 2024 Marcus Schäfer - Set default output console to gfxterm for grub If no console setting is done in the image description for grub the default output console is set to: gfxterm and the default input console is set to: console. This Fixes bsc#1219074 * Wed Feb 28 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 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 2024 Marcus Schäfer - Fix documentation preferlvm example The custom volumes example shows a faulty XML description. This Fixes #2483 * Tue Feb 27 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 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 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 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 2024 Marcus Schäfer - Fixed type hint for pinch_system method The PackageManager argument is allowed to be optional * Sat Feb 24 2024 Marcus Schäfer - Add support for discoverable partitions Set PARTUUID according to systemd-id128 if applicable This Fixes #1385 * Thu Feb 22 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 2024 Dmitri Popov - Build LiveISO review * Wed Feb 21 2024 Dmitri Popov - Buil KIS review * Wed Feb 21 2024 Dmitri Popov - Build expandable disk review * Wed Feb 21 2024 Dmitri Popov - Build container image review * Wed Feb 21 2024 Marcus Schäfer - Allow terminal emulation setup from the cmdline Using rd.kiwi.term will export the TERM variable into the initrd environment. In case the default value for the terminal emulation is not appropriate rd.kiwi.term can be used to overwrite the default. The environment is also passed to the systemd unit which calls dialog based programs in kiwi dracut code, such that the TERM setting will be effective there too. For example: rd.kiwi.term=vt100 This is related to bsc#1218095 * Tue Feb 20 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 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 2024 Dan Čermák <45594031+dcermakAATTusers.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 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 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 2024 Marcus Schäfer - Followup fix for .profile.extra Allow to source .profile.extra such that it is possible to read and act on e.g cmdline parameters. This is related to bsc#1218095 * Sun Feb 18 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 2024 David Cassany - Include partprobe in initrd for s390 This commit includes partprobe, in addition to parted, on s390 based systems. Otherwise partx is used and apparently it does not properly support s390. Fixes bsc#1219798 Signed-off-by: David Cassany * Fri Feb 16 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 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 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 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 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 2024 Marcus Schäfer - Add support for reading .profile.extra in initrd If there is the file /.profile.extra available in the initrd, kiwi will import this additional environment file after the import of the standard /.profile file. This is related to bsc#1218095 * Wed Feb 14 2024 Marcus Schäfer - Don\'t run ci-kiwi-9-compliant action on forks * Tue Feb 13 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 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 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 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 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 2024 Marcus Schäfer - Allow integration test to build outside of obs too * Mon Feb 12 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 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 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 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 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 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 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 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 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 2024 Marcus Schäfer - Use ExitStack for MountManagers * Wed Jan 31 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 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 2024 Marcus Schäfer - Allow to use Literal for all python versions * Tue Jan 30 2024 Marcus Schäfer - Better error message on module import * Tue Jan 30 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 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 2024 Marcus Schäfer - Update documentation drop documentation for isolinux in API and user docs * Fri Jan 26 2024 Dan Čermák - Fix invalid escape sequence * Fri Jan 26 2024 Dan Čermák - Add missing assert call to install_test * Fri Jan 26 2024 Dan Čermák - Correct type hint of mbrid parameter * Fri Jan 26 2024 Dan Čermák - Convert BootLoaderConfigBase into an abstract base class * Fri Jan 26 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 2024 Marcus Schäfer - better function name * Mon Jan 22 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 2024 Marcus Schäfer - Update build tests Delete use of syslinux/isolinux * Fri Jan 19 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 2024 Dan Čermák - [docs] make copyright year dynamic * Fri Jan 19 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 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 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 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 2024 Dan Čermák - DiskBuilder: use ExitStack to unmount partitions * Thu Jan 18 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 2024 Dan Čermák - Don\'t catch all exceptions in MountManager.umount * Thu Jan 18 2024 Dan Čermák - Implement a context manager interface for MountManager * Wed Jan 17 2024 Marcus Schäfer - Update Debian distro for integration tests We require python >= 3.9 * Wed Jan 17 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 2024 Marcus Schäfer - Follow up fix for drop of hybrid boot snippets The following is left over code from the drop of the hybrid boot templates. * Tue Jan 16 2024 Neal Gompa - Drop hybrid boot snippets from the GRUB 2 configuration template Sometime between GRUB 2.04 and GRUB 2.06, it became no longer necessary to use \"linuxefi\"+\"initrdefi\" for UEFI boot. The standard \"linux\"+\"initrd\" stanzas work for both legacy BIOS boot and modern UEFI boot. Some distributions no longer support \"linuxefi\"+\"initrdefi\" at all anymore, so let\'s just use \"linux\"+\"initrd\" for everything now. * Mon Jan 15 2024 Marcus Schäfer - Don\'t create default entry for sd-boot loader.conf * Mon Jan 15 2024 Marcus Schäfer - 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 * Sun Jan 14 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 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 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 2024 Marcus Schäfer - Reduce XSL transformation list Minimum schema version to start with is v74 This Fixes #2368 * Fri Jan 12 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 2024 Marcus Schäfer - Delete clicfs from documentation API * Thu Jan 11 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 2024 Marcus Schäfer - Update unit test data to schema v8.0 * Thu Jan 11 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 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 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 2024 Marcus Schäfer - Bump version: 9.25.22 → 10.0.0 * Tue Jan 09 2024 Marcus Schäfer - Move workflow runs to main branch Make sure all github actions runs from main * Tue Jan 09 2024 Marcus Schäfer - Bump version: 9.25.21 → 9.25.22 * Tue Jan 09 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 2024 Marcus Schäfer - Fixed regression in GRUB_SERIAL_COMMAND setup The condition to write the serial line setup was broken. This commit fixes it. Related to Issue #2419 * Mon Jan 08 2024 Marcus Schäfer - Fixed grub terminal setup The grub terminal setup is divided into the setting for the output and the input console. For both settings different parameters exists. So far kiwi did not differentiate between the two parts of the console setup and that could lead to a wrong setting if only one value is provided in kiwi\'s console= attribute which lead to the grub setting, GRUB_TERMINAL=value. If value is set to e.g gfxterm grub takes this for both input and output and it\'s obviously wrong for the input. To make this less error prune the kiwi code changes with this commit to set GRUB_TERMINAL_INPUT and GRUB_TERMINAL_OUTPUT rather than GRUB_TERMINAL and also runs sanity checks on the provided values if they are applicable. The information for setting up the console in the schema stays untouched though. That\'s because it\'s used for all bootloaders and also because grub supports multiple values for the console in/out setting in one GRUB_TERMINAL variable even though kiwi does no longer use it. To make this clear for the users also the documentation for the console attribute setup has been updated. If we want to wish two distinct attributes for input and output console settings a schema change and also differentiation between bootloaders is needed and that I only see for the kiwi-10 branch if at all. This Fixes #2419 * Thu Jan 04 2024 Marcus Schäfer - Fix tox.ini python 3.12 unit target did not specify a 3.12 interpreter * Thu Jan 04 2024 Marcus Schäfer - Fix overwrite of kiwi_oemunattended In case rd.kiwi.oem.installdevice is set, there is an overwrite of the kiwi_oemunattended setting. However the variable was set in local scope of a function and therefore the change was not effective in other methods which also evaluates this variable. This commit fixes it such that the overwrite happens in the early initialize method which provides the environment for all code running in the dracut module. This is related to jira#PED-7180 * Sat Dec 30 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 2023 Neal Gompa - Ensure setfiles is detected inside the image-root We do not actually use setfiles from the host, we use it from the image root we create for the image build. Thus, we should look in the image root instead of on the host system. This prevents us from incorrectly detecting that setfiles is not available for setting SELinux contexts. Fixes: https://github.com/OSInside/kiwi/issues/2414 Fixes: 2a22901ddd11ae23b6724b5e1aaa4261f219ccb6 * Thu Dec 28 2023 Dan Čermák - Use xdist on the CI to speed up the test runs * Thu Dec 28 2023 Dan Čermák - Add unit test job using python 3.12 * Thu Dec 28 2023 Dan Čermák - Only run the job for this python environment * Thu Dec 28 2023 Dan Čermák - [ci] Switch runner to ubuntu-latest * Thu Dec 28 2023 Dan Čermák - Add missing raw string identifier infront of regexes * Tue Dec 26 2023 Jianhua Lu - Allow target_blocksize to be available for kis image * Sun Dec 17 2023 Marcus Schäfer - Bump version: 9.25.20 → 9.25.21 * Sun Dec 17 2023 Marcus Schäfer - Cleanup tox targets Align tox targets with github workflows and fix targets not associated with a specific python version to use the python3 version installed on the host * Sun Dec 17 2023 Marcus Schäfer - Bump version: 9.25.19 → 9.25.20 * Sun Dec 17 2023 Marcus Schäfer - Fixed unit tests for parallel invokation * Fri Dec 15 2023 Marcus Schäfer - Make sure selinux policy is effectively applied setup_selinux_file_contexts is now called after the config.sh script. This makes sure that eventual policy related changes done in the optional config.sh are covered by a late setfiles call. In addition setup_selinux_file_contexts is called again at the end of any chroot based script hook. So we assume that any optional script target can change the system in a way that a new setfiles call might be required. It can happen that setfiles is called more often than required but as we cannot know what custom scripts does, it\'s better to call it more often compared to not often enough. This Fixes bsc#1210604 * Thu Dec 14 2023 Marcus Schäfer - Decrease image size for encrypted integration test Encrypted images do not compress well, therefore the size should be smaller such that we don\'t produce monsters * Thu Dec 14 2023 Marcus Schäfer - Use ext4 for rawhide integration test * Thu Dec 14 2023 Marcus Schäfer - Fixed typo in error message * Wed Dec 13 2023 Neal Gompa - package: Drop unused xorriso dep on dracut-kiwi-live subpackage We do not actually use xorriso anywhere inside of the dracut module, nor do we pull in any utilities from the xorriso package into the generated initramfs anyway. Fixes: https://github.com/OSInside/kiwi/issues/2404 * Mon Dec 11 2023 Marcus Schäfer - Set kpartx as default mapper tool for s390 Some time ago we moved the default partition mapper from kpartx to partx to reduce a package dependencies. However, on the s390 architecture partx does not work proplerly on e.g DASD devices. Thus the default mapper tool for this architecture will change to kpartx with this PR * Fri Dec 08 2023 Marcus Schäfer - Update test-image-MicroOS Incorporate latest changes from upstream MicroOS and also add an encrypted profile build for testing | |