* Wed May 24 2023 Marcus Schäfer - Bump version: 9.24.60 → 9.24.61 * Tue May 23 2023 Isaac True - dracut: modules.d: 99kiwi-lib: add bash shebangs and dependency The scripts in the kiwi-lib module use bash-specific syntax like `function`, which causes the script to fail if another shell (like dash or busybox) is used to interpret the scripts. Specifically set the shebang to use bash as the shell interpreter and add bash as a dependency to the dracut module to fix this. This resolves the following errors which are printed at boot when busybox tries to interpret the scripts: /bin/dracut-pre-mount: 3: /lib/kiwi-filesystem-lib.sh: function: not found /bin/dracut-pre-mount: 15: /lib/kiwi-filesystem-lib.sh: Syntax error: \"}\" unexpected Signed-off-by: Isaac True * Mon May 22 2023 Jiri Srain - Do not depend on dnf for SUSE ALP * Tue May 16 2023 Marcus Schäfer - Added appx-util as WSL requires for Fedora/RHEL Make sure the kiwi-systemdeps-containers-wsl meta package pulls in the required tools for Fedora/RHEL when building WSL containers. This is a followup to #2286 * Tue May 16 2023 Marcus Schäfer - Add cpio to core systemdeps requires list * Sat May 06 2023 Marcus Schäfer - Bump version: 9.24.59 → 9.24.60 * Thu May 04 2023 Marcus Schäfer - Allow to create plain cpio archives Allow to create plain cpio archives to serve the idea of the mkosi initrd concept * Fri Apr 28 2023 Fabian Vogt - Fix restoration of grub2-install (bsc#1210948) It checked for grub2-install.orig in the host, not the buildroot. This meant that it left /usr/sbin/grub2-install as a noop. * Fri Apr 28 2023 David Cassany - Use cross arch macros to interpret uint64_t This commit adds inttypes.h to make use of PRIu64 style macros in order to properly translate uint64_t across different architectures. More specific this allows the code to compile for ix86. Signed-off-by: David Cassany * Mon Apr 24 2023 Marcus Schäfer - Delete score card Too flaky, broken most of the time and I\'m not sure how much value it adds to the project overall * Mon Apr 24 2023 Marcus Schäfer - Fix score card action * Mon Apr 24 2023 Marcus Schäfer - Update TW build tests plymouth-plugin-script must be explicitly added now * Mon Apr 24 2023 Marcus Schäfer - Revert \"Add zstd and xzio to grub image\" This reverts commit af8c702db0a60ed4abeba8686d4e8475c410c58d. The grub modules does not exist in all grub installations. A different implementation is required * Mon Apr 24 2023 Marcus Schäfer - Update TW integration tests change theme from bgrt to breeze. TW has deleted bgrt * Mon Apr 24 2023 Marcus Schäfer - Fixed writing URIs including ASCII encoding * Fri Apr 21 2023 Marcus Schäfer - Split container systemdeps in OCI and WSL * Thu Apr 20 2023 Marcus Schäfer - Update kiwi-systemdeps-containers requires list Do not strictly require fb-util-for-appx. In order to create WSL containers fb-util-for-appx is a requirement but usually users create OCI containers and WSL containers are still a niche case. Thus it\'s ok to reduce the requirement into a recommends. This Fixes #2284 * Thu Apr 20 2023 Marcus Schäfer - Encode remote URLs Special characters in a URL e.g the AATT sign needs to be encoded as part of a remote URL. * Thu Apr 13 2023 Marcus Schäfer - Bump version: 9.24.58 → 9.24.59 * Thu Apr 13 2023 Marcus Schäfer - Add zstd and xzio to grub image If kiwi builds its own grub image, make sure the compression algorithms zstd and xz are supported * Wed Apr 12 2023 David Cassany - Adding a comment to explain the s390 specific path Signed-off-by: David Cassany * Wed Apr 12 2023 David Cassany - Use parted only in s390 arch This commit ensures parted is only called in dracut-kiwi-lib for s390 arch. It also fixes the spec to only require parted for s390 builds. In addition parted requirement has been removed from dracut-kiwi-live package since parted is not used in any other dracut module beyond kiwi-lib. Signed-off-by: David Cassany * Tue Apr 04 2023 Jan Löser - Add potential shim binary for Ubuntu Looks like `shim *.efi` is gone in latest `shim-signed` package. The package now contains `shimx64.efi.signed.latest` and `shimx64.efi.signed.previous` binaries, let\'s take latest. shim-signed_1.40.9+15.7-0ubuntu1_amd64/usr/lib/shim/: total 4688 drwxr-xr-x. 3 root root 209 Jan 31 12:57 . drwxr-xr-x. 3 root root 18 Jan 31 12:57 .. - rw-r--r--. 1 root root 108 Jan 31 12:57 BOOTX64.CSV - rwxr-xr-x. 1 root root 1622 Jan 31 12:57 is-not-revoked drwxr-xr-x. 2 root root 25 Jan 31 12:57 mok - rw-r--r--. 1 root root 950891 Jan 31 12:57 shimx64.efi - rw-r--r--. 1 root root 962400 Jan 31 12:57 shimx64.efi.dualsigned - rw-r--r--. 1 root root 960472 Jan 31 12:57 shimx64.efi.signed.latest - rw-r--r--. 1 root root 955656 Jan 31 12:57 shimx64.efi.signed.previous - rw-r--r--. 1 root root 88296 Jan 27 20:09 fbx64.efi - rw-r--r--. 1 root root 860824 Jan 27 20:09 mmx64.efi shim-signed_1.40.7+15.4-0ubuntu9_amd64/usr/lib/shim/: total 3728 drwxr-xr-x. 3 root root 145 Aug 13 2021 . drwxr-xr-x. 3 root root 18 Aug 13 2021 .. - rw-r--r--. 1 root root 108 Aug 13 2021 BOOTX64.CSV - rw-r--r--. 1 root root 85672 Aug 13 2021 fbx64.efi - rw-r--r--. 1 root root 856232 Aug 13 2021 mmx64.efi drwxr-xr-x. 2 root root 25 Aug 13 2021 mok - rw-r--r--. 1 root root 947143 Aug 13 2021 shimx64.efi - rw-r--r--. 1 root root 957576 Aug 13 2021 shimx64.efi.dualsigned - rw-r--r--. 1 root root 955656 Aug 13 2021 shimx64.efi.signed * Mon Apr 03 2023 David Cassany - Expand DASD partition table with parted Signed-off-by: David Cassany * Thu Mar 30 2023 Marcus Schäfer - Fixed evaluation of custom start sector In case an alternative partition table start sector is configured, the check to effectively apply it should be based on the partition table type not on the firmware name * Thu Mar 30 2023 David Cassany - Add parted dependency for s390 Signed-off-by: David Cassany * Tue Mar 28 2023 Marcus Schäfer - Bump version: 9.24.57 → 9.24.58 * Mon Mar 27 2023 Marcus Schäfer - Build leap btrfs test without root as snapshot So far no btrfs integration test without root as snapshot existed * Sat Mar 25 2023 Marcus Schäfer - Support EFI boot from squashfs grub supports reading from squashfs. If no extra bootloader installation is required this allows to boot from a squashfs rootfs without extra boot partition. The prebuilt grub images usually does not contain the squash4 module which is the reason why kiwi creates the EFI module itself if the system is fully immutable. Please note; the grub configuration must be provided manually as part of the image description in this case because grub-mkconfig at the time it has to be called has no write permissions anymore. * Fri Mar 24 2023 Fabian Vogt - Fix /.snapshots mounting in the btrfs volume manager The /AATT/.snapshots subvolume was not mounted as /.snapshots in the root filesystem snapshot. This is now necessary for snapper to work. While at it, create 1/snapshot as plain subvolume, it does not make sense to snapshot AATT itself. * Thu Mar 16 2023 Marcus Schäfer - Add support for config-host-overlay.sh script * Thu Mar 16 2023 Marcus Schäfer - Fixed build of dracut-kiwi-verity The spec file was missing the package definition to actually create the dracut-kiwi-verity package. In addition the fixed setting to the C standard 17 caused build errors for me on distributions that uses C standard 11/12. * Wed Mar 15 2023 Marcus Schäfer - Add selinux integration test for Leap SUSE systems supports both, apparmor and selinux, whereas apparmor is the default. As selinux requires to create security labels during build time of an image, this integration test checks if the labeling works for SUSE based OS\'es. This Fixes #2244 * Tue Mar 14 2023 Marcus Schäfer - Allow custom template evaluation for install ISO So far only Live ISO images allowed for custom template usage * Tue Mar 14 2023 Marcus Schäfer - Fix Arch Linux Live ISO integration test Switch to grub for booting the ISO, for some reason isolinux refused to work and there is no priority to dig into the issue. This Fixes #2233 * Tue Mar 14 2023 Marcus Schäfer - Fix Arch Linux EFI install ISO integration test kiwi has code in bootloader/template/grub2.py which uses linuxefi/initrdefi commands according to the configured grub_platform. These commands does not exist on Arch and therefore the integration test provides its own ISO template. This Fixes #2232 * Tue Mar 14 2023 Marcus Schäfer - Add dracut-kiwi-verity dracut module package When building an image with an embedded verity hash via the embed_verity_metadata=\"true\" type attribute it is required to setup the device map at boot time accordingly. The dracut module in this commit provides the needed tooling as a POSIX C implementation which is able to read the kiwi embedded verityhash from the offset of the partition. Kudos goes to Isaac True Co-authored-by: Isaac True Signed-off-by: Isaac True * Mon Mar 13 2023 Joachim Gleissner - (Re-)add support for \'anymarkup\' < 0.5.0 Fall back to module \'anymarkup\' if \'anymarkup_core\' is not available. * Sat Mar 11 2023 Marcus Schäfer - Support UNIXNODE device names for overlayroot When no other persistent naming schema can be used to identify the device there should be the option to specify the kernel unix device node name * Fri Mar 10 2023 Joachim Gleissner - Use module anymarkup-core instead of anymarkup Use \'anymarkup-core\' directly instead of wrapper \'anymarkup\'. * Thu Mar 09 2023 Marcus Schäfer - Fix permissions of live ISO system files Make sure initrd and squashfs.img takes permissions o644 This Fixes #2246 * Wed Mar 08 2023 Marcus Schäfer - Update TW test-image-rpi-overlay build test It used rd.root.overlay.readonly but it meant rd.root.overlay.temporary * Wed Mar 08 2023 Marcus Schäfer - Fixed rd.root.overlay.readonly handling Fix the option implementation to actually do what it is supposed to do, boot the system in fll read-only mode. In addition a new parameter named rd.root.overlay.temporary has been introduced which allows to boot up in read-write mode but the write area is a tmpfs. Thus persistency only during runtime. Updated the documentation accordingly * Tue Mar 07 2023 Marcus Schäfer - Fixed tumbleweed build tests opie no longer in TW * Tue Mar 07 2023 Marcus Schäfer - Fixed tumbleweed/test-image-azure opie no longer in TW * Tue Mar 07 2023 Marcus Schäfer - Support PARTLABEL device names for overlayroot When using GPT a partlabel exists that can also be used as a device reference * Tue Mar 07 2023 Marcus Schäfer - Fixed kernel parameters for overlayroot setup The device selection for the read-only and read-write devices in an overlayroot setup was implicitly done in the kiwi-overlay dracut module by reading the root= information. This is a concept which barely works and should be refactored in a way that the root= information always points to the root device and that an eventually existing write location is explicitly provided via the existing rd.root.overlay.write parameter which is allowed to be overwritten for providing an alternative write location. Making this information consistent and explicit on the kernel commandline simplifies the dracut code to consume this information correctly. This Fixes #2251 * Sun Mar 05 2023 Marcus Schäfer - Fixed conditional options evaluation The former condition caused the end result list to be empty * Sat Feb 11 2023 Marcus Schäfer - Add support for creating delta containers Add new attribute delta_root=\"true|false\" which in combination with derived_from=\"OCI-base-image\" allows to create a delta root tree only containing the differences between the OCI-base-image and the actions taken by the kiwi prepare step. Based on the delta root tree the subsequent image creation process starts. Such an incomplete root tree is only useful under certain circumstances which is also the reason why the feature is only available to the oci and docker image types. * 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 * Mon Jan 02 2023 Marcus Schäfer - Pass along tmpdir to skopeo When using the --temp-dir parameter, it was not passed to the skopeo calls when building a container image with kiwi. * 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 * Thu Dec 22 2022 Robert Schweikert - Support new bootloadersettings section Allow to specify an optional element inside of the section. The information is used to specify custom arguments for the tools called in a bootloader setup procedure, e.g shim-install, grub-install or grub-mkconfig. kiwi does not judge on the given parameters and if the provided data is effectively used depends on the individual bootloader implementation. In this commit the data will be effectively handled if bootloader=\"grub2\" is configured. More precisely the custom additions to support SUSE\'s TPM model with grub2 can be configured as follows: This Fixes #2224 * 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