* Fri Feb 10 2023 Marcus Schäfer - Bump version: 9.24.56 → 9.24.57 * Sat Jan 28 2023 Marcus Schäfer - Allow squashfscompression for plain squashfs The schematron rule to limit the squashfscompression attribute to certain image types did not allow it for a plain squashfs filesystem build. This commit fixes that limitation. This Fixes #2241 * Wed Jan 18 2023 David Cassany - Use rsync defaults to sync the initrd root-tree This commits makes use of rsync default options to sync the root-tree of the boot image for custom initrds. Fixes bsc#1207128 where it was noted hardlinks were not preserved inside the initrd. Signed-off-by: David Cassany * Tue Jan 17 2023 Marcus Schäfer - Fixed wrong test assertions Former versions of pytest did ignore invalid assertions. Now they are reported as an error and show the mistakes of the past * Tue Jan 17 2023 Marcus Schäfer - Added 90-brd.conf for test-image-disk-ramdisk By default the brd ramdisk module is no longer added to the initrd. For ramdisk deployments this is required though. This Fixes #2230 * Sun Jan 15 2023 Marcus Schäfer - Delete CentOS v7 build tests CentOS v7 is EOL for kiwi image build tests * Thu Jan 05 2023 Marcus Schäfer - Allow to specify fixed size for the root partition So far the last partition (typically root) in the partition table takes all the rest space of the partition table in the image file. At deployment/boot time users had several options to let that partition grow to a custom size. However, during build time of the image it was not possible to specify a specific fixed size for the root partition as we don\'t wanted to produce gaps of unpartitioned space in the image file. It has turned out that there is hardware available which requires a partition to be an exact multiple of some blocksize. As kiwi supports size constraints for all other partitions but not for root this commit now allows for it. The oem-systemsize element is now also taken into account at build time of the image if the oem-resize which would do that at deployment/boot time is switched off like the following example shows: ```xml 2048false ``` This Fixes #2203 * Wed Jan 04 2023 Marcus Schäfer - Delete ppc:fedora from testing report * Wed Jan 04 2023 Marcus Schäfer - Remove Fedora PPC build test from index The integration test unfortunately never got tested anywhere is outdated and I have no PPC hardware here to run any tests. Let\'s add a real test if there is demand for it * Wed Jan 04 2023 Marcus Schäfer - Added kiwi-settings for Fedora arm build tests * Thu Dec 22 2022 Marcus Schäfer - Allow fat16/fat32 as filesystem in partitions The partitions element allows to specify the filesystem for the individual partition. In the schema fat16 and fat32 were missing * Tue Dec 20 2022 Marcus Schäfer - Stick with tox v3.28.0 for unit testing tox >= 3.0.15 together with virtualenv >= 20.17.1 raises strange incompatibilities and prevents the unit test run because tox calls virtualenv in a wrong way leading to strange error messages like: - -- usage: virtualenv ... virtualenv: error: argument dest: destination \'{check,devel,packagedoc,doc,doc_gh_pages,doc_suse,doc_man,scripts,}: /home/runner/work/kiwi/kiwi/.tox/3\ /home/runner/work/kiwi/kiwi/.tox/3.8\' must not contain the path separator (:) as this would break the activation scripts - -- All this doesn\'t make sense to me at all and worked without any issues before. * Tue Dec 20 2022 Marcus Schäfer - Bump version: 9.24.55 → 9.24.56 * Tue Dec 20 2022 Marcus Schäfer - Fix gh-pages publish * Sun Dec 18 2022 Marcus Schäfer - Fixed systemd boot integration test for rawhide systemd-boot was splitted in preparation for secure boot. The unsigned version of the EFI binary is used in the test so far * Sun Dec 18 2022 Marcus Schäfer - Added device mapper setting for s390 on TW Use kpartx as partx fails * Sun Dec 18 2022 Marcus Schäfer - Added device mapper setting for s390 Use kpartx as partx fails * Sun Dec 18 2022 Marcus Schäfer - Bump version: 9.24.54 → 9.24.55 * Wed Dec 14 2022 Marcus Schäfer - Allow to pass credentials as file reference * Tue Dec 13 2022 Marcus Schäfer - Fixed handling of container archive compression In kiwi we support handling of the container archive compression via a runtime configuration setting of the following form, eg in /etc/kiwi.yml ```yaml container: [#] Specify compression for container images [#] Possible values are true, false, xz or none. - compress: true ``` However, this setting was only taken into account in the kiwi bundler. Meaning if the user calls \'kiwi result bundle ...\' after the container image has been created the result bundler will take the compression setting into account. From my perspective this behavior is misleading and also prevents users from creating compressed container archives without a subsequent result bundler call. Therefore this commit moves the place to handle the compression setting into the container classes. The bundler code for containers will no longer operate on it and just takes what it gets, which can be either compressed or not. The default setting was \"No compression\" and this was not changed. This Fixes #2217 * Tue Dec 13 2022 Marcus Schäfer - Add type hints for OCI and APPX classes * Sun Dec 11 2022 Marcus Schäfer - Bump version: 9.24.53 → 9.24.54 * Sun Dec 11 2022 Marcus Schäfer - Fix publish to pypi bind gh-action module to v1 release * Sun Dec 11 2022 Marcus Schäfer - Bump version: 9.24.52 → 9.24.53 * Sat Dec 10 2022 Marcus Schäfer - Use ubuntu-20.04 as github hosted runner It seems on ubuntu-latest no python 3.6 is available anymore * Sat Dec 10 2022 Marcus Schäfer - Allow external commands in tox targets * Fri Dec 09 2022 Marcus Schäfer - Fix unit test run for BLS spec base class Do not really call blkid as used in get_boot_cmdline * Fri Dec 09 2022 Marcus Schäfer - Fixed typo in documentation Capitalize at the start of a sentence. This Fixes #2216 * Fri Dec 02 2022 Marcus Schäfer - Fix unit tests to run in parallel Setting sys.argv and global variables impacts tests such that they cannot run in parallel. The little footprint of excluding the --config global args test from the coverage is beneficial to allow parallel test runs * Fri Dec 02 2022 Marcus Schäfer - Don\'t show secret parts of an URI Using URIs of the form uri://user:passAATTlocation should not be logged or printed including its credential data * Fri Dec 02 2022 Marcus Schäfer - Don\'t use split on potential None value * Thu Dec 01 2022 Marcus Schäfer - Allow to select partition mapper tool The recent change from kpartx to partx caused some appliance builds to break depending on their configuration. I spotted issues when building disks with veritysetup or integritysetup root devices. There are also issues with grub-install on other architectures e.g s390. It seems partx cannot be used as a drop in replacement and so I suggest to make this a runtime configuration option with partx as the new default but also allow for the old method * Thu Dec 01 2022 Marcus Schäfer - Bump version: 9.24.51 → 9.24.52 * Wed Nov 30 2022 Marcus Schäfer - Fix status indicator in helper/build_status.sh colored output only worked for toplevel results * Wed Nov 30 2022 Neal Gompa - Eliminate redundant partx calls for cleaning up loop devices partx can clean up all partition loops associated with a loop device when deleting the main loop device. Apparently, sometimes it goes and does this even when only deleting the partition loop, so to avoid this problem, we will just eliminate the redundant call. Fixes: 8f2b8fda82a37d7a7ebbf8a6557870cc63b0ae91 * Wed Nov 30 2022 Marcus Schäfer - Support repo URI\'s with credentials on cmdline Specifying a repository as part of the image description allows for credentials via the username and password attributes. Howver, repositories can also be specified on the commandline via the --set-repo / --add-repo options. The options on the commandline did not allow to specify credentials so far. This commit adds the commandline options --set-repo-credentials and --add-repo-credentials to support them * Wed Nov 30 2022 Marcus Schäfer - Update test-image-vagrant virtualbox-guest-x11 seems to be deleted from TW * Wed Nov 30 2022 Marcus Schäfer - Fixed test-image-custom-partitions The test was done prior kiwi added the partitions element and demonstrates how to influence the partition table via scripts. These scripts uses kpartx and the device mapper. Due to the recent change from kpartx to partx the scripts must be adapted * Tue Nov 29 2022 Marcus Schäfer - Bump version: 9.24.50 → 9.24.51 * Tue Nov 29 2022 Marcus Schäfer - Added code style batch to landing page * Tue Nov 29 2022 Marcus Schäfer - Delete obsolete gitlab pipeline status flag Delete obsolete gitlab pipeline status from the project landing page. We do no longer use gitlab since they added that quota thing for their CI system * Tue Nov 29 2022 Marcus Schäfer - Bump version: 9.24.49 → 9.24.50 * Tue Nov 29 2022 Neal Gompa - Swap from DM kpartx to util-linux partx for creating loop devices The device-mapper (DM) based loop devices that kiwi has historically generated creates issues when trying to run kiwi in confined build environments. The DM tools prefer to have a tighter coupling between userspace and kernel interfaces, and we cannot necessarily guarantee that in the variety of build environments that kiwi can be run in. In particular, Koji uses either nspawn containers or chroots through Mock to run kiwi and that is where this fails. However, we do not need to use DM for this purpose when util-linux provides a perfectly serviceable alternative. This commit changes kiwi\'s loop device setup to use partx(8) from util-linux instead. As long as the appliance image being created doesn\'t use a disk scheme that requires DM, it becomes entirely possible to produce an image without needing DM at runtime at all. * Tue Nov 29 2022 Marcus Schäfer - Added systemd_boot integration test for Rawhide * Mon Nov 21 2022 Marcus Schäfer - Increase btrfs size of orthos integration test * Mon Nov 14 2022 Marcus Schäfer - Increase scope of kernel lookup So far kiwi was looking up kernels only on /boot. Including other bootloaders it\'s no longer required that the kernel packages of the distributions provides the kernel in /boot Thus kiwi\'s lookup needs to be extended to other places which is done by this commit. * Sat Nov 12 2022 Marcus Schäfer - Add GRUB_DEFAULT=saved if not set If there is no GRUB_DEFAULT setting in etc/default/grub we add GRUB_DEFAULT=saved as the default setting. This Fixes #2198 * Sat Nov 12 2022 Marcus Schäfer - Disable gitlab CI pipeline Unfortunately gitlab decided to allow only eligible projects to use their CI pipeline. Being a member for years seems not to count in this change process. Therefore this commit disables the tests we run on gitlab and I will come up with a simple github action for the parts that we don\'t want to loose. * Fri Nov 11 2022 Marcus Schäfer - Added integration test for systemd_boot The test build is based on the Tumbleweed distribution and provides a simple non-secure-boot systemd-boot virtual disk image * Tue Nov 08 2022 Marcus Schäfer - no_implicit_optional = False * Thu Nov 03 2022 Marcus Schäfer - Added --loglevel option specify logging level as number. Details about the available log levels can be found at: https://docs.python.org/3/library/logging.html#logging-levels Setting a log level causes all message >= level to be displayed. * Wed Nov 02 2022 Marcus Schäfer - Consolidate and cleanup logging Make sure all loggers; stream handlers, file and socket handler uses the same logging format. Also make sure that there is only one place for setLogLevel when kiwi is used as application * Sat Oct 29 2022 Marcus Schäfer - Added support for --logsocket Like with --logfile this commit adds support for using an existing Unix Domain Socket for logging. It\'s required that there is a listener on the given socket otherwise kiwi exits with an appropriate error message from the socket layer. A simple listener could look like the following: ```python sock_file = \'/tmp/log_socket\' buffer = 1024 if os.path.exists(sock_file): os.unlink(sock_file) sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.bind(sock_file) sock.listen(1) while True: connection, client_address = sock.accept() try: while True: data = connection.recv(buffer) if not data: break print(data.decode()) finally: connection.close() ``` With the listener in place kiwi can be called as follows: kiwi-ng --logsocket /tmp/log_socket ... * Sat Oct 22 2022 Marcus Schäfer - Bump version: 9.24.48 → 9.24.49 * Sat Oct 22 2022 Marcus Schäfer - Fixed test-image-vagrant virtualbox-guest-tools obsoletes virtualbox-guest-x11 * Fri Oct 21 2022 Marcus Schäfer - ignore the type check on the Result class With an update of mypy the bound TypeVar is no longer allowed. In newer versions of python we could use the \"Self\" type or import annotations from the future module. Unfortunately in older python versions which we still support (3.6) there is no non intrusive change which allows us to handle that type annotation. Thus this commit ignores the return type spec for Result.load() for the moment. * Wed Oct 12 2022 Igor Raits - Stop copying /dev files statically into the OCI container In containers (nspawn) where part of the /dev filesystem is bind-mounted from outside system, kiwi fails to do the rsync (in creation of the nodes). There is no reason to actually copy whole tree inside so let\'s just not do it (as it does not seem to be needed at all). * Tue Oct 11 2022 Dirk Müller - List riscv64 as a valid architecture in the schemas This is needed so that architecture filters on riscv64 specifics can be defined. * Wed Sep 14 2022 Marcus Schäfer - Support DM integrity legacy options Add a new attribute integrity_legacy_hmac=\"true|false\" which allows to use old flawed HMAC calculation (does not protect superblock). Add a new attribute integrity_legacy_padding=\"true|false\" which allows to use inefficient legacy padding. Do not use these attributes until compatibility with a specific old kernel is required! * Wed Aug 31 2022 Jan Macku - ci(lint): Add Shell linter - Differential Shellcheck * Wed Aug 31 2022 Marcus Schäfer - Limit repo alias names to be a safe POSIX name Characters like spaces or other symbols used in repo alias names can cause the package manager to fail setting up the repo. Thus this patch changes the schema to only allow for safe POSIX names matching: {pattern = \"[a-zA-Z0-9_\\-\\.]+\"}. This Fixes #2170 * Thu Aug 25 2022 Marcus Schäfer - Increase space for test-image-embedded test Add more space to test profile: SystemFeatures * Thu Aug 25 2022 Marcus Schäfer - Increase efifatimage size for legacy build test * Tue Aug 23 2022 Marcus Schäfer - Bump version: 9.24.47 → 9.24.48 * Sun Aug 21 2022 Laszlo Gombos - Return failure if overlay is not supported * Wed Aug 10 2022 Marcus Schäfer - Bump version: 9.24.46 → 9.24.47 * Wed Aug 10 2022 Marcus Schäfer - Revert \"EFI Filesystem must be Fat32 formatted\" Using fat32 causes failed boots on e.g AWS EC2 arm. This must be solved differently with an attribute to configure it. This reverts commit b8641bdc6825423f8c65b55c8d0870b38874a566. * Tue Aug 09 2022 Marcus Schäfer - Bump version: 9.24.45 → 9.24.46 * Tue Aug 09 2022 Marcus Schäfer - Support URIs with credentials in solver plugin check if the URI string contains credentials and extract/trim them from the uri object. The urlparse class does not recognize this information as a valid URI and throws an exception * Tue Aug 09 2022 Marcus Schäfer - Fixed kexec options setup in kiwi-dump-reboot The dracut module 99kiwi-dump-reboot creates an options list for kexec. Under certain conditions the options list can contain multiple spaces which leads to an error when calling kexec. This commit makes sure to trim white spaces. This Fixes #2178 * Sun Aug 07 2022 Marcus Schäfer - Fixed test-image-disk-legacy Increase size of embedded EFI fat image needed for EFI bootable install ISO. Due to the increased size of the custom kiwi initrd the default size for the FAT image is too small * Sat Aug 06 2022 Marcus Schäfer - Support custom size for embedded EFI FAT image For ISO images (live and install) the EFI boot requires an embedded FAT image. As of now a fixed size of 20M was used which leads to a problem if the EFI image or the initrd or the kernel is bigger than 20M. With the new attribute: efifatimagesize=\"nonNegativeInteger\" we can now set a different value for the FAT image. Please note the value must be aligned to the also customizable efipartsize value which allows to configure the size of the EFI partition * Fri Aug 05 2022 Marcus Schäfer - Fixed linter complaints after flake update flake now complains about E275 missing whitespace after keyword for the way \'del\' is used. This commit fixes it * Thu Aug 04 2022 J Mixer - Added a NOTE: section to explain the finer points of adding tools to a dracut hook. * Sat Jul 30 2022 Marcus Schäfer - Fixup btrfs based legacy kiwi initrd test * Thu Jul 21 2022 gmoro - Fix mocking of grub2-install (fix #2124) /bin/true was being used from the host machine instead of the chroot * Thu Jul 21 2022 David Cassany - Fix race condition in runtime_config_test This commit instead of setting the global variable of the runtime config file patches it. This is relevant if running unit tests in parallel, where global variables are shared if not patched. Signed-off-by: David Cassany * Tue Jul 12 2022 Marcus Schäfer - EFI Filesystem must be Fat32 formatted Given the documentation from Microsoft the EFI partition must be a fat32 format. fat16 is still supported but unexpected. This Fixes #2141 * Tue Jul 12 2022 Marcus Schäfer - Fixed typo in overview page prevent word duplication. This Fixes #2016 * Tue Jul 12 2022 Marcus Schäfer - Bump version: 9.24.44 → 9.24.45 * Thu Jul 07 2022 Marcus Schäfer - Umount device before cloning In case a clone should be created from a partition we need to make sure to umount the device after sync and prior cloning. Otherwise the clone operation is not safe because the rsynced data might still be in memory and not synced out to the block device. * Wed Jul 06 2022 Marcus Schäfer - Fixed custom disk start sector setup The attribute disk_start_sector allows to specify a custom start sector for the first partition of the disk. On GPT tables everything works nicely, on DOS tables the used tools fdisk/sfdisk are not able to manage the start/end values of subsequent partitions if the first partition doesn\'t start with the tooling default. This patch allows to set the start sector after the partition table has been created * Sat Jul 02 2022 Marcus Schäfer - Fixed CentOS-8 repo setup * Fri Jun 24 2022 Marcus Schäfer - Bump version: 9.24.43 → 9.24.44 * Thu Jun 23 2022 Marcus Schäfer - Make sure to rebuild rpm database For rpm based distributions make sure to call rpm --rebuilddb unconditionally prior using rpm with the chroot. This Fixes #2165 * Wed Jun 22 2022 Neal Gompa - github: Refresh issue template to cover more operating scenarios KIWI is often used for cross-distribution image builds, so we should ask for that information when appropriate. Additionally, clarify \"OBS\" as \"Open Build Service\" to disambiguate. Finally, add a line about Koji since Koji can run kiwi to build images now. * Wed Jun 22 2022 Marcus Schäfer - Fixed unit tests * Tue Jun 21 2022 Igor Raits - Forcefully disable versionlock plugin in DNF [ INFO ]: 09:39:08 | Uninstalling system packages (chroot) [ INFO ]: 09:39:08 | Using package manager backend: dnf [ INFO ]: 09:39:08 | --> package: linux-firmware [ INFO ]: 09:39:08 | Uninstall system packages (chroot) [ DEBUG ]: 09:39:08 | EXEC: [chroot /tmp/myimage8/build/image-root dnf --config /kiwi_v708wllp -y --releasever=8 autoremove linux-firmware] [ INFO ]: Processing: [########################################] 100% [ ERROR ]: 09:39:08 | KiwiPackagesDeletePhaseFailed: System package deletion failed: Package deletion failed: Error: Locklist not set The versionlock plugin does not bring any benefit anyways as we completely override plugin configs. Also refactor configparser related stuff a bit. Signed-off-by: Igor Raits * Mon Jun 20 2022 Marcus Schäfer - Support squashfs in custom partitions When using squashfs in a custom partitions setup like the following: The build fails because the filesystem needs to be created using the create_on_file() API and not the create_on_device() API. In addition the size estimation is bogus when using squashfs and cannot be pre-calculated because we only know how much space the filesystem really needs after mksquashfs as worked on the data and the compression. Thus this commit also relaxes the required size check in case of squashfs. Last but not least a squashfs filesystem does not provide label or UUID and can only be referenced by the PARTUUID it gets dumped on or by the native unix device node. As the unix node is a loop during build time of the image and meaningless this commit also forces by-partuuid mapping in fstab when mounting the squashfs based device. * Thu Jun 16 2022 Marcus Schäfer - Fixed use of CommandCapabilities The class allows to check for data produced on stdout and stderr. However, programs reporting data on stderr usually fails with an exit code != 0. If the command is not called with raise_on_error=False it will never be possible to catch information from stderr. As we don\'t know if programs returns a failed exit code even on their e.g --usage message we should always pass the no raise option to make this more useful * Wed Jun 15 2022 David Cassany - Fix volume mount path and adapt unit tests Signed-off-by: David Cassany * Tue Jun 14 2022 Marcus Schäfer - Handle older versions of setfiles correctly In older versions of setfiles we need a two pass setup First set the policy, second apply the security context. This commit checks in the usage message of setfiles which invocation syntax is required * Tue Jun 14 2022 Marcus Schäfer - Bump version: 9.24.42 → 9.24.43 * Tue Jun 14 2022 Marcus Schäfer - Fixed error handling for setfiles policy lookup Errors from os.scandir were not catched. In addition the path to run scandir was not properly created * Tue Jun 14 2022 Ludwig Nussel - Mount /sys also for disks.sh /sys is needed to be able to run dracut in disks.sh * Mon Jun 13 2022 Ludwig Nussel - Fix btrfs volume mounting If the second argument of os.path.join is an absolute directory, the result would be that directory. The intention is to produce a subdirectory of the mountpoint though. So pass a relative path. Without the fix, kiwi would try to e.g mount the /var subvolume of the image over the /var of the host, screwing everthing up of course :-) * Mon Jun 13 2022 Marcus Schäfer - Prefer file based syscall in kexec when possible Use file based syscall in kexec if available. This is needed to support boot on an secure boot enabled system and is in general more reliable to boot into the system on real hardware platforms * Mon Jun 13 2022 Marcus Schäfer - Bump version: 9.24.41 → 9.24.42 * Thu Jun 09 2022 Marcus Schäfer - Bump version: 9.24.40 → 9.24.41 * Wed Jun 08 2022 Marcus Schäfer - Fix helper method to detect dracut outfile format The method _get_boot_image_output_file_format_from_dracut_code is used in kiwi to match parts of the dracut code for the used output file format. Beginning with dracut-056 the code part checked has changed syntactically such that the match did no longer work. This commit increases the scope of the match and replace pattern and Fixes #2149 * Wed Jun 08 2022 Marcus Schäfer - Fixed handling of signing_keys in cmdline options When passing signing_keys with the --add-repo|--set-repo commandline options the delimiter to separate the single key information is a colon(:). However, this is stupid when kiwi expects the signing key to be references as an URI format like file://... Therefore this patch changes the delimiter from colon(:) to semicolon(;) * Wed Jun 08 2022 Marcus Schäfer - Correct setfiles relabeling This change was inspired by a change done on Fedora\'s livecd-tools from here: livecd-tools/livecd-tools#236. The patch corrects issues with the setfiles SELinux relabel command. The issues become apparent when the host and guest policies differ. Thus it becomes required to explicitly set the policy to decouple from eventual unwanted host settings. * Wed Jun 01 2022 Marcus Schäfer - Bump version: 9.24.39 → 9.24.40 * Wed Jun 01 2022 Carlos Bederián - Setup SELinux on every system prepare / build (#2148) Setup SELinux on every system prepare / build such that all image types benefit from it not only the disk (oem) type * Sun May 29 2022 Marcus Schäfer - Install all of QEMU to Ubuntu arm integration test * Sun May 29 2022 Marcus Schäfer - rename user to ubuntu for Ubuntu integration test * Sun May 29 2022 Marcus Schäfer - Bump version: 9.24.38 → 9.24.39 * Sun May 29 2022 Marcus Schäfer - Move to sphinx>=5.0.0 * Sun May 29 2022 Marcus Schäfer - Bump version: 9.24.37 → 9.24.38 * Sun May 29 2022 Marcus Schäfer - Fixed sphinx extlinks rendering In Sphinx v5 warning will be treated as errors. This results in the following warning to be an error: extlinks: Sphinx-6.0 will require a caption string to contain exactly one \'%s\' and all other \'%\' need to be escaped as \'%%\'. This commit applies the required quoting * Sun May 29 2022 Marcus Schäfer - Bump version: 9.24.36 → 9.24.37 * Sat May 28 2022 Marcus Schäfer - Added example aarch64 integration test for Ubuntu Created a RaspberryPI image description for Ubuntu(jammy) as integration test for building aarch64 images and added it to the integration test matrix * Mon May 23 2022 Marcus Schäfer - Added --target-arch for image info Allow cross arch dependency solving * Fri May 20 2022 Marcus Schäfer - update docs * Fri May 20 2022 Marcus Schäfer - Add support for group id in users setting Allow to specify the group id in the groups list a user should belong to. The group id can be placed as part of the group name separated by a colon like in the following example: Please note kiwi checks if the provided group already exists and only creates a group if it is not already present in the system. As default groups are usually provided by the OS itself including its preferred group id, you will intentionally not be able to overwrite group id for existing groups. This Fixes #2064 * Thu May 19 2022 Marcus Schäfer - Bump version: 9.24.35 → 9.24.36 * Tue May 17 2022 Robert Schweikert - Subformats should also not be compressed when encryption is enabled (#2138) Subformats should also not be compressed when encryption is enabled This is a follow on change to bdba953. When the filesystem is encrypted the resulting image should not be compressed. Also explain why we ignore the compression seeting in the user configuration for encrypted images. * Mon May 16 2022 Marcus Schäfer - Add support for prebuilt bootstrap package for apt When using the apt packagemanager kiwi required the use of debootstrap to create the initial rootfs. This works as long as there is always a main distribution repository available which follows the structure of the official debian mirrors. However if such a main distribution is not present or an alternative layout like e.g OBS repos is used, debootstrap will refuse to work. To allow for an alternative and without the dependency to debootstrap kiwi supports using a prebuilt bootstrap package providing the mini rootfs to serve as the bootstrap result. As all other package managers properly supports installation into an empty new root, this feature was only added when using the apt packagemanager * Sun May 08 2022 Marcus Schäfer - Bump version: 9.24.34 → 9.24.35 * Sat May 07 2022 Marcus Schäfer - Allow more repo params to be set on the cmdline The repository parameters for signing keys, the component list the main distribution name for debian repositories and also the repository_gpgcheck could not be set via the commandline options --add-repo and/or --set-repo. This commit adds support for them and also updates the manual page accordingly * Sat May 07 2022 Marcus Schäfer - Update ubuntu integration tests Build them against latest release (jammy). This Fixes #2128 * Sat May 07 2022 Marcus Schäfer - Bump version: 9.24.33 → 9.24.34 * Thu May 05 2022 Marcus Schäfer - Follow up fix for isolinux-config isolinux-config is called to update the search path inside of the isolinux binary. isolinux/syslinux is exclusive to the ix86 architecture and to BIOS firmware. Therefore the condition to actually call it should reflect this. * Thu May 05 2022 Marcus Schäfer - Bump version: 9.24.32 → 9.24.33 * Thu May 05 2022 Marcus Schäfer - Fixed runtime check Fixed check_dracut_module_for_disk_overlay_in_package_list. The check complains if the dracut-kiwi-overlay module is not installed but overlay support was requested. This is correct but should only be done if the selected initrd system is dracut. * Wed May 04 2022 ozboss <32305849+ozbossAATTusers.noreply.github.com>- Add option to set LUKS type to luks1 (#2126) Add option to set LUKS type to luks1 So far the LUKS type could be set to luks and luks2. However, what luks version the value \'luks\' evaluates to depends on how the distributor has packaged luks. Thus it\'s possible that \'luks\' is either luks1 or luks2. To also have the opportunity to explicitly specify luks1 this commit adds the opportunity in the schema. * Wed May 04 2022 Marcus Schäfer - Update devel packages helper Added trang as needed when working on the schema * Fri Apr 29 2022 Marcus Schäfer - Add support for dm integrity with secret key Allow to protect the opening of the integrity data map and journal through a keyfile. For setting the key file two new optional type attributes were added: * integrity_keyfile * integrity_metadata_key_description The key file format must be correct according to the selected integrity algorithm. As of now the kiwi default hmac-sha256 algorithm is used with the selected keyfile The optional integrity_metadata_key_description attribute allows to specify a custom description of an integrity key as it is expected to be present in the kernel keyring. The information is placed in the integrity metadata block. If not specified kiwi creates a key argument string instead which is based on the given integrity_keyfile filename. The format of this key argument is: :BASENAME_OF_integrity_keyfile_WITHOUT_FILE_EXTENSION * Thu Apr 28 2022 Marcus Schäfer - Update get_disksize_mbytes to support clones When using partition clones the pre-calculation of the disk size needs to take this into account. * Wed Apr 27 2022 Marcus Schäfer - Fixed UUID setup for XFS Make sure the log got replayed prior generating a new UUID * Tue Apr 26 2022 Marcus Schäfer - Fixed scope of setup_isolinux_boot_path There is a method called setup_isolinux_boot_path which is encoded in the Iso class. The method allows to change the boot path in the isolinux binary and makes sense when the bootloader is selected to be isolinux. However, the method was called in the scope of the FileSystemIsoFs class which responsibility is to create an ISO filesystem. The creation of an ISO filesystem has no direct connection to a bootloader. Thus calling this method in the scope of the FileSystemIsoFs implementation is wrong and can lead to unexpected side effects. This commit moves the call of the method to the places where isolinux as a bootloader can still be used. This Fixes #2117 * Tue Apr 26 2022 Dan Čermák - Correct the URL to the dracut home page This fixes https://github.com/OSInside/kiwi/issues/2097 * Tue Apr 26 2022 Dan Čermák - Change the custom vagrant config file to 00-vagrant.conf If it is called 99-vagrant.conf, then anything \"before\" that, like 50-redhat.conf takes precedence and overrides our custom settings. * Tue Apr 26 2022 Dan Čermák - Add Leap 15.4, SLE 15 SP4 & CentOS Stream 9 to the scripts tests * Mon Apr 25 2022 Marcus Schäfer - Bump version: 9.24.31 → 9.24.32 * Mon Apr 11 2022 Marcus Schäfer - Add support for standalone dm integrity There is support in kiwi to use dm_integrity in combination with the LUKS header and dm_crypt. However there is also the use case to setup dm_integrity in standalone mode. This commit allows to create the dm_integrity layer outside of LUKS using /etc/integritytab to activate the map through a systemd generator if systemd is used. Regarding systemd it\'s required to use a version of system which provides: system-generators/systemd-integritysetup-generator. If this generator does not exist in the distribution it will also be missing in the dracut generated initrd and the boot will not be able to succeed. It\'s mentioned here because even newer distributions might be missing the generator Along with the implementation there are two new optional attributes in the section: standalone_integrity=\"true|false\" embed_integrity_metadata=\"true|false\" standalone_integrity activates/deactivates the dm_integrity map on top of the root filesystem. Similar to the veritysetup support there is the opportunity to create an embedded magic metadata block at the end of the device containing the root filesystem via embed_integrity_metadata * Sun Apr 10 2022 Marcus Schäfer - Update per codacy smell * Sun Apr 10 2022 Marcus Schäfer - Add support for part clones to the Disk interface The Disk class provides methods to create partition(s) and map names according to its scope and independent of the actual partition tools. For example: create_root_partition(). This commit adds an additional optional clone parameter to all methods for which we want to allow partition clones * Sun Apr 10 2022 Marcus Schäfer - Be less strict in boot link to itself As part of the grub setup a link named \'boot\' inside of /boot is created pointing to itself \'boot -> .\'. The reason is to allow the bootloader config to find its files referenced as /boot/something independently if /boot is placed into an extra partition. However if an extra boot partition is used and a filesystem which does not support symlinks, e.g fat, that symlink creation should not lead to an error in the image build process as it is considered an optional safe link and not a mandatory pre-requisite * Thu Apr 07 2022 Marcus Schäfer - Fixed TW arm rpi integration test Explicitly add ruby to the package list * Wed Apr 06 2022 Marcus Schäfer - Bump version: 9.24.30 → 9.24.31 * Wed Apr 06 2022 Robert Schweikert - Fix LABEL detection (#2112) When only \"root=\" is specified on the kernel command line the match is located in the first group. Loop through the groups upon mtach to find what we are looking for. * Tue Apr 05 2022 Robert Schweikert - Preserve LABEL setting (#2108) Preserve the LABEL= setting when the grub config file is re-generated. the GRUB_ENABLE_LINUX_LABEL setting does not exists upstream and not in any SUSE distribution. Set the grub setting such that LABEL is preserved on SUSE distros. (bsc#1197616) * Tue Apr 05 2022 Marcus Schäfer - Fix test_setup_default_grub_empty_kernelcmdline The unit test exists to check that GRUB_CMDLINE_LINUX_DEFAULT is not set depending on the provided cmdline. The test exists for reasons explained in Issue #1650 * Fri Apr 01 2022 Fabian Vogt - Don\'t compress .appx containers (#2106) The container is actually inside and already compressed. * Fri Apr 01 2022 Marcus Schäfer - Added new CloneDevice class Added CloneDevice class to the storage interface. The class allows to create clone(s) from a given source block device into a list of target block devices. The target block devices are clones of the source but prevents device naming conflicts for unique identifiers like the UUID. This is requires to still allow to boot from images containing device clones and needs to be handled by tools that might work on top of the cloned devices. * Thu Mar 31 2022 Marcus Schäfer - Improve readability of shell commands The way the lsblk pipeline is constructed is improved to become easier to read by this commit * Thu Mar 31 2022 Marcus Schäfer - Added set_uuid() method to FileSystem API Allow to set a custom UUID not only at creation time of a filesystem but also at a later point in time in an already existing filesystem * Tue Mar 29 2022 David Cassany - Ensure BootloaderConfig resources are cleaned first This commit wraps the manual BootloaderConfig instance cleanup in disk builder into a try/finally scope. This way if KIWI is aborted or fails within this scope the BootloaderConfig is cleaned up first. Signed-off-by: David Cassany * Tue Mar 29 2022 Marcus Schäfer - Fixed overlay root dracut module make sure there is always only one selection for the readonly root partition * Tue Mar 29 2022 Marcus Schäfer - Update LUKS integration test for TW Use cipher options to make cryptomount work again * Tue Mar 29 2022 Marcus Schäfer - Set LUKS(v1) for TW encryption integration test In Tumbleweed LUKS2 became the default but the grub cryptomount tool is not able to work with the v2 LUKS header. Thus the test explicitly builds against the former luks version for now * Tue Mar 29 2022 Marcus Schäfer - Set LUKS2 for TW luks encryption integration test In Tumbleweed LUKS2 became the default also for grub and cryptomount, which requires to create a LUKS2 header in the dm_crypt layer * Tue Mar 29 2022 Marcus Schäfer - Bump version: 9.24.29 → 9.24.30 * Mon Mar 28 2022 Tim Serong - Add ensure_empty_tmpdirs option for OCI containers (bsc#1197783) Since #1759 was merged, the contents of /run/ and /tmp/ are excluded from built images. This causes problems for some containers, notably Ceph when deployed in a Rook/k8s environment, which needs to have certain directories present inside /run/. This commit adds the ability to return to the previous behaviour and *not * empty those temporary directories, if you specify . Fixes: https://github.com/OSInside/kiwi/issues/2093 Signed-off-by: Tim Serong * Fri Mar 25 2022 Marcus Schäfer - Fixed parsing of veritysetup output veritysetup uses tabs to align values. The way kiwi parsed the values did not strip out the tabs and later on keeps them in the verification metadata block. The unit test did not catch this because the mock output used for veritysetup did not contain tabs. This commit fixes the test to catch this condition and also fixes the code to handle all space characters (tabs, space, newlines) in a safe way * Thu Mar 24 2022 Marcus Schäfer - Update contents of store_credentials result file The method added information about the PARTUUID as useful information. However, PARTUUID\'s are not supported by all partition tables. The Linux generated artificial values from the disk identifier are not wanted in this scope. As the information is not mandatory it\'s better to not provide it at all and avoid confusion to users. * Thu Mar 24 2022 Marcus Schäfer - Make blkid call more robust Do not raise of blkid is not able to read the requested ID. It is expected that the methods of the BlockID class either returns a value or none but do not raise and cause the complete process to terminate * Thu Mar 24 2022 Marcus Schäfer - Added embed_verity_metadata attribute Specifies to write a binary block at the end of the partition serving the root filesystem, containing information for dm_verity verification and to construct the device map * Thu Mar 24 2022 Marcus Schäfer - Added create_verification_metadata method Along with creating a filesystem including device mapper features like dm_verity (see verity_blocks) or dm_crypt/dm_integrity (see luks) there is always the question where to store the metadata information required to setup the device map. This can include information about blocksizes, offset addresses and more. The create_verification_metadata() method allows to write a signed custom data block of a documented format at the end of the given block special which stores this type of information such that tools at boot time gets the opportunity to read this information. In this commit only information connected to the dm_verity feature activated via the verity_blocks attribute will be part of the verification block. With future changes other data might be added * Wed Mar 23 2022 Marcus Schäfer - Added runtime check for by-partuuid use Added check_partuuid_persistency_type_used_with_mbr(). Not every partition table type supports UUIDs. We don\'t want to make use of the artifical values created by Linux if the partition table doesn\'t support it natively * Wed Mar 23 2022 Marcus Schäfer - Support partuuid and label mounts in dracut module The 90kiwi-overlay dracut module was not able to parse the device link if done with PARTUUID or LABEL * Wed Mar 23 2022 Marcus Schäfer - Added integration test for by-partuuid The test hooks into the existing test-image-embedded integration test for leap. As I plan to extend the tests specific to features actually only useful for special embedded images, I thought this would be the right place to start * Mon Mar 21 2022 Marcus Schäfer - validate luksformat options validate options against the cryptsetup help info in a runtime check * Mon Mar 21 2022 Marcus Schäfer - Handle LUKS type in its own attribute * Sun Mar 20 2022 Marcus Schäfer - Fixed attribute description The overlayroot_verity_blocks attribute description contained outdated information * Sat Mar 19 2022 Marcus Schäfer - Add support for verity setup on standard rootfs So far the verity support was only available with the overlayroot layout and the read-only squashfs root. This commit adds a new attribute: verity_blocks=\"number|all\" which allows to create the verity setup also on the standard root partition In addition to the change it was needed to extend the Filesystem API with an additional optional paramter to allow setup of the filesystem UUID. Having the opportunity to set the UUID at filesystem creation is generally useful and with regards to this particular change it became also required * Fri Mar 18 2022 Neal Gompa - Allow Btrfs and XFS as options for the boot partition filesystem We already do this implicitly when we do not define this attribute and request a boot partition, so let us explicitly offer these as options too. * Fri Mar 18 2022 Marcus Schäfer - Fix grub defaults for PARTUUID use Make sure to set GRUB_DISABLE_LINUX_PARTUUID to false when using by-partuuid * Thu Mar 17 2022 Marcus Schäfer - Allow luks format options Added new luksformat element which allows to pass along options to the luksFormat call. This allows users to switch between LUKS and LUKS2 via e.g It also allows to pass along a set of options only available to LUKS2, e.g In addition to the new attribute the existing luks attribute can also be specified to read credentials from a keyfile by using the file:// source locator, e.g This Fixes #1898 * Sat Mar 12 2022 Marcus Schäfer - Fixed funny build_status.sh bug If the name of the repository starts with an \'F\' like in Fedora, the \'F\' is turned into a red escape sequence because it is assumed to be a failed status indicator :) The path here is probably also dumb as it just assumes there is a space after the status indicator. Well the complete script is not really a good one, but still helpful * Sat Mar 12 2022 Marcus Schäfer - Update Fedora arm integration test Move test to Fedora 34 * Sat Mar 12 2022 Marcus Schäfer - Added container build test for Fedora Fedora systems uses buildah to create containers. There is no integration test for kiwi which tests building containers with buildah. This commit adds a build test to cover this path. Related to Issue #2020 * Fri Mar 11 2022 Marcus Schäfer - Fixed test-image-docker-derived for leap The test still used the additionaltags attribute with the latest schema (v7.5) which fails to validate because the attribute was moved to additionalnames * Thu Mar 10 2022 Marcus Schäfer - Bump version: 9.24.28 → 9.24.29 * Thu Mar 10 2022 Marcus Schäfer - Don\'t bind mount /run during build time In commit #9512318 a new bind mount of /run into the root tree during build time was introduced. The bind mount was done because in my tests running podman from config.sh it did not work without /run bind mounted. However, it turned out that I was wrong because along with the provided methods to prepare cgroups and a custom runtime configuration method; setupContainerRuntime() it is not needed to have /run bind mounted. Thus this commit deletes the bind mount of /run and therefore Fixes #2067 * Thu Mar 10 2022 Marcus Schäfer - Fix github action running obs service refresh The curl command to send the POST request for running the obs remote service uses the --fail-with-body option. Unfortunately the ubuntu-latest container used to run the action comes with a curl version that does not support the option. Thus this commit removes the use of the option * Wed Mar 09 2022 Marcus Schäfer - Move scope of veritysetup veritysetup was called as part of the disk builder. However, the veritysetup should be a responsibility of the classes which implements the sync_data method. This allows to use the creation of a verity hash format right after sync as a feature to these classes and in a broader scope. In addition to that change the VeritySetup::format method now returns the metadata from the format call and stores it as debug information to the log file. A concept to persistently store the verification metadata as part of the partition(s) will be a next step. * Wed Mar 09 2022 Dan Čermák <45594031+dcermakAATTusers.noreply.github.com>- Style changes in container docs Reformulate the container building guide a bit * Wed Mar 09 2022 Marcus Schäfer - Add support for custom size in filesystem classes Allow to create filesystems with an optional size parameter. If no size is provided the filesystem gets as big as the device which is the default and unchanged behavior. In addition a size counting from the beginning (>0) as well as a size counting from the end (<=0) can be provided. * Wed Mar 09 2022 David Cassany - Update schema docs Signed-off-by: David Cassany * Tue Mar 08 2022 Marcus Schäfer - Provide schema version v7.5 in spec * Tue Mar 08 2022 Marcus Schäfer - Update descriptions to schema v7.5 * Sun Mar 06 2022 Marcus Schäfer - Support mount by PARTUUID In addition to by-label and by-uuid also support mounting by PARTUUID. Please note kiwi also makes sure that the grub generated config file uses the root=PARTUUID= notation and it\'s not clear if grub-mkconfig will persist making use of it. Nevertheless there are also systems which uses different methods to boot and it makes sense to support partuuid mappings as well * Sun Mar 06 2022 Marcus Schäfer - Add support for partition cloning Support creating block level clones of certain partitions used in the image. Clones can be created from the root, boot and any partition listed in the element. * Sun Mar 06 2022 Marcus Schäfer - Update cron for security scorecard Run weekly on Saturdays * Fri Mar 04 2022 Marcus Schäfer - Add support for extended layout to msdos table This commit adds the following new type attribute If set it specifies to make use of logical partitions inside of an extended one. Effective only on type configurations which uses the msdos table type, it will cause the fourth partition to be an extended partition and all following partitions will be placed as logical partitions inside of that extended partition. This setting is useful if more than 4 partitions needs to be created in an msdos table. In addition to the support for extended/logical partitions the the attributes \'mountpoint\' and \'filesystem\' in the section becomes optional. This also allows to place partitions as placeholders not mounted into the system * Fri Mar 04 2022 Marcus Schäfer - Added type hints for partitioner interface * Fri Mar 04 2022 Marcus Schäfer - Bump version: 9.24.27 → 9.24.28 * Thu Mar 03 2022 Marcus Schäfer - Fixed unconditional grub2 package requirement The grub2 package does not exist on all distributions as a name provider independent of the architecture. On for example Debian and Ubuntu the packages are handled differently and grub2 is only provided on supported architectures. Thus the spec file should set the grub2 requirement only if the distribution provides it in any case * Wed Mar 02 2022 Marcus Schäfer - Bump version: 9.24.26 → 9.24.27 * Tue Mar 01 2022 Marcus Schäfer - Added overlayroot_verity_blocks attribute Setting this attribute to a number or \'all\' in an overlayroot configuration will create a dm verity hash from the number of given blocks (or all) placed at the end of the squashfs compressed read-only root filesystem. For later verification of the device, and without further image description settings, the credentials information produced by veritysetup from the cryptsetup tools, is created as a file in /boot/overlayroot.verity and is stored as such into the image by default. * Tue Mar 01 2022 Marcus Schäfer - Fixed disk.sh caller environment The documentation explains the disk.sh script to be called from inside of the image root as it exists on the block layer. The disk.sh script is therefore also called after the sync of the unpacked image root tree to the block layer. The implementation however, was only partially calling disk.sh from such an environment. In fact the environment was only the mountpoint of the root partition but this is not the complete system regarding layouts that uses extra partitions and/or volumes. This commit introduces the use of the new class ImageSystem and calls disk.sh in the way it was designed and documented. * Tue Mar 01 2022 Marcus Schäfer - Added ImageSystem class The class responsibility is to provide access to the image root system from the block layer of the image scope * Tue Mar 01 2022 Marcus Schäfer - Prevent superfluous filesystem creation In case of an overlayroot setup and the request for no extra write partition, it is not needed to create a filesystem for the write space which never gets synced to the image * Sat Feb 26 2022 Marcus Schäfer - Bump version: 9.24.25 → 9.24.26 * Sat Feb 26 2022 Marcus Schäfer - Fixed destructor test on oci_tools/buildah_test.py Calling del() from teardown breaks when the method is called through teardown_method * Sat Feb 26 2022 Marcus Schäfer - Bump version: 9.24.24 → 9.24.25 * Sat Feb 26 2022 Marcus Schäfer - Support nose and xunit style tests The modifications in this commit allows the unit tests to run on both, pytest 6.x (nose test layout) and the new pytest 7.x (xunit test layout). This Fixes #2072 in a much nicer way. Thanks much to AATTsmarlowucf * Fri Feb 25 2022 Marcus Schäfer - Update unit test to work in obs Some unit tests fails if they run in an obs environment. This is because the implementation checks the runtime envoironment and behaves differently if the system is an obs worker. The unit tests has to explicitly set this condition right for the test * Fri Feb 25 2022 Marcus Schäfer - Revert \"Unit test adaptions to pytest v7\" This reverts commit 0dc2e803e0e8059c54a0ea23960245286675c86c. The pytest interface from version v6 to v7 has received changes which requires the tests to be adapted to work for either the old or the new interface. As there are still many distributions which uses v6 as the standard we decided to revert back the adaptions done to support v7 and create a version requirement to v6 in .virtualenv.dev-requirements.txt This Fixes #2072 * Wed Feb 23 2022 Marcus Schäfer - Added overlayroot_readonly_partsize attribute Specifies the size in MB of the partition which stores the squashfs compressed read-only root filesystem in an overlayroot setup. This Fixes #2068 * Wed Feb 23 2022 Marcus Schäfer - Update to scorecard CI 1.0.4 * Tue Feb 22 2022 Marcus Schäfer - Added debootstrap log info to exception message In case debootstrap fails there is more detailed information in a logfile written by debootstrap itself. This commit changes the exception information to contain this log information if present. Related to Issue #1800 * Sun Feb 20 2022 Marcus Schäfer - Bump version: 9.24.23 → 9.24.24 * Sun Feb 20 2022 Marcus Schäfer - Added overlayroot_write_partition attribute For the oem type only, allows to specify if the extra read-write partition in an overlayroot setup should be created or not. By default the partition is created and the kiwi-overlay dracut module also expect it to be present. However, the overlayroot feature can also be used without an initrd and under certain circumstances it is handy to configure if the partition table should contain the read-write partition or not. * Sat Feb 19 2022 Matt Coleman - Use DEB822-formatted .sources files instead .list files for APT * Tue Feb 15 2022 David Cassany - Support additional names for docker containers Docker containers used to support the attribute `additionaltags` which was used to provide multiple tags for the same image. Since only tags were supported this commit renames the attribute to `additionalnames` and now supports tags and names witht he following syntax: * \':\' -> adds a full docker image reference including name and tag * \':\' -> adds an additional tag while reusing the former name * \'\' -> adds an additional name while reusing the former tag Fixes #2045 Signed-off-by: David Cassany * Mon Feb 14 2022 Marcus Schäfer - Follow up fix on force deleting debs Also remove eventual post scripting prior force removal of deb packages. Similar inconsistencies as with the pre scripts can occur on force removal. We want the operation to be successful in force mode even if that means to leave a dirty state. * Sat Feb 12 2022 Marcus Schäfer - Add support for pre_disk_sync.sh script The optional pre_disk_sync.sh script is executed for the disk image type oem only and runs right before the synchronisation of the root tree into the disk image loop file. The script hook can be used to change content of the root tree as a last action before the sync to the disk image is performed. This is useful for example to delete components from the system which were needed before or cannot be modified afterwards when syncing into a read-only filesystem. * Thu Feb 10 2022 Marcus Schäfer - Create ci-scorecards-analysis.yml Create security health metrics score card * Tue Feb 08 2022 Marcus Schäfer - Fixup inplace podman storage and container conf Newer versions of podman requires runroot and graphroot to be explicitly set in storage.conf. Newer versions of podman no longer reads the engine.cgroups setting on containers.conf and prints a \'Failed to decode the keys [\\\"engine.cgroups\\\"]\' warning message This commit fixes storage.conf and containers.conf written by kiwi if the setupContainerRuntime method is used in scripts. * Tue Feb 08 2022 David Cassany - Make use of container name in OCI images Fixes #2050 Signed-off-by: David Cassany * Mon Feb 07 2022 Marcus Schäfer - Bump version: 9.24.22 → 9.24.23 * Mon Feb 07 2022 Marcus Schäfer - Fixed name of secret variable The ci-update-build-tests action used a wrong variable name which does not exist in the github secrets. This commit fixes it and uses the correct variable name * Mon Feb 07 2022 Marcus Schäfer - Bump version: 9.24.21 → 9.24.22 * Mon Feb 07 2022 Marcus Schäfer - Revert \"Revert \"Fixed MicroOS build test\"\" This reverts commit 8c4464b8ff2af2642439ce92e1e2be497f2b0f4d. snapper default config has moved from /etc to /usr/share now hopefully for the last time * Mon Feb 07 2022 Marcus Schäfer - Fixed unit tests The pytest interface setup() method call has changed in a way that an additional parameter is passed to the method which leads to a python error at invocation time if the setup method does not define it. * Mon Feb 07 2022 Neal Gompa - build-tests: Update CentOS 8 test appliance to CentOS Stream 8 CentOS Linux 8 is now EOL, so switch over to CentOS Stream 8. * Sat Feb 05 2022 Marcus Schäfer - Added API for BLS and systemd-boot support Bootloaders implementing the Boot Loader Spec (BLS) are not directly compatible with the original Bootloader Class design in kiwi. Because of that an interface class which translates the original API into calls following BLS was added. This allows us to keep the implementations in the Builder classes and the public BootLoader interface untouched. In addition to the BLS API an implementation to support the systemd-boot loader is part of this commit too. An example type definition to use systemd-boot with an EFI disk image type looks like the following: The implementation uses bootctl and kernel-install tools provided from systemd and expects a proper integration of systemd-boot by the distribution maintainers This Fixes #1935 * Fri Feb 04 2022 Marcus Schäfer - Fixed handling of oem reboot settings There are oem settings called oem-reboot, oem-reboot-interactive as well as oem-shutdown and oem-shutdown-interactive. When used the information is passed along to the profile but not evaluated by any initrd code. I don\'t know where on the way we lost the code that actually works with these settings but this commit makes them effective. This Fixes #2056 * Thu Feb 03 2022 Dirk Müller - treat armv8l as armv7hl openSUSE switched from armv7hl buildworkers to aarch64 in 32bit mode which identifies itself as \"armv8l\" in uname -m. * Tue Feb 01 2022 Marcus Schäfer - Bump version: 9.24.20 → 9.24.21 * Mon Jan 31 2022 Marcus Schäfer - Fixed UUID used in grub early boot script In case the system is luks encrypted the UUID of the root partition was used in the grub early boot script. However, this condition is only correct if in addition to the luks encryption the boot area is on crypto too. If boot is not on crypto the UUID must be the boot partition and not root. Only if root AND boot is on crypto the kiwi created early boot script includes the grub cryptomount calls. * Sat Jan 29 2022 Marcus Schäfer - Bump version: 9.24.19 → 9.24.20