* 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 * Fri Mar 11 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 - 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. * 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 * Sat Jan 29 2022 Marcus Schäfer - Followup fix for force deleting debian packages The force uninstall deletes pre scripts prior removal because if they fail the package will not be removed. For a force uninstall we consider this ok. However, the deletion of the scripts did not happen in the image root. This patch fixes it * Wed Jan 26 2022 Marcus Schäfer - Followup fix for force deleting debian packages Pass --force-depends to allow uninstall even if the dependency checker complains * Tue Jan 25 2022 Marcus Schäfer - Fix use of xattrs for container sync when syncing data for containers only a subset of xattr attributes can be applied. This Fixes #2009 * Tue Jan 25 2022 Marcus Schäfer - Bump version: 9.24.18 → 9.24.19 * Tue Jan 25 2022 Neal Gompa - Ensure SELinux labels are set based on the policy When running kiwi from a filesystem tree that has custom labels applied (such as when using kiwi from within a container on an SELinux-enabled host), the filesystem labeling doesn\'t correctly apply on some files and folders with a warning about the location being customized by the administrator. This causes all kinds of strange results with the built images and makes them unbootable. To resolve this, tell setfiles to forcibly set files and folders with the default context from the installed policy. * Tue Jan 25 2022 Fabian Vogt - Extend and update documentation about /etc/machine-id setup * Tue Jan 25 2022 Fabian Vogt - Fix ordered list in shell_scripts.rst Ordered lists must be indented by three spaces, otherwise the numbering breaks. * Mon Jan 24 2022 Marcus Schäfer - Bump version: 9.24.17 → 9.24.18 * Mon Jan 24 2022 David Cassany - Fix ramdisk deployments from PXE This commit fixes PXE deployments on ramdisk. In such cases the former fix from df4e62a4 is not sufficient as there is no `root=` parameter within the kernel cmd line and hence this logic is never executed. Signed-off-by: David Cassany * Fri Jan 21 2022 David Cassany - Update outdated PKGBUILD for Arch Linux Signed-off-by: David Cassany * Fri Jan 21 2022 Marcus Schäfer - Fixed unit test race condition * Fri Jan 21 2022 Marcus Schäfer - Fixed grub loader/entries setup If called in non standard environments like an OBS worker the grub tooling does not work correctly and produces invalid results. For these cases kiwi provides a collection of fix_ methods to change the produced results. This commit covers the invalid path in loader/entries/ *.conf files pointing to the kernel and the initrd as they exist in the image-root directory. This results for example in settings like: linux /usr/src/packages/KIWI-oem/build/image-root/boot/vmlinuz-5.14.0-43.el9.x86_64 when it should be: linux /boot/vmlinuz-5.14.0-43.el9.x86_64 This Fixes #2038 * Fri Jan 21 2022 Fabian Vogt - Set /.snapshots subvolume to mode 0700 (bsc#1194992) Avoid that users other than root can enter or even change the content. This is what snapper does as well. * Fri Jan 21 2022 Marcus Schäfer - Fixed build_status helper output issue Starting with CentOS stream 9 integration tests a new layer in the project that builds it was added. This changed the osc results output and messed up the build_status helper output a bit. This commit fixes it * Thu Jan 20 2022 Marcus Schäfer - Fix the uninstall(force) on Debian based dists Packages marked for uninstall via failed to become removed for several reasons. The way this was done in kiwi did not work because dpkg needs to be called differently and with some nasty pre-processing in order to allow for force deletion. In force mode we also allow to remove packages marked as essential. In gracefull uninstall mode this commit makes sure the environment is prepared and does not fail for false-positive reasons. * Wed Jan 19 2022 Marcus Schäfer - Added mail map Added information about my private e-mail being the successor for the work done when I was an employee of SUSE * Tue Jan 18 2022 Marcus Schäfer - Allow calling podman within chroot Added helper functions and env preparation code to allow calling podman from within a chroot. This allows to run podman from e.g config.sh and also inside of OBS workers * Tue Jan 18 2022 Marcus Schäfer - Fix requirements for kiwi-systemdeps-filesystems Extend btrfs condition applying for EL8 to apply for EL9 too * Fri Jan 14 2022 Marcus Schäfer - Bump version: 9.24.16 → 9.24.17 * Fri Jan 14 2022 Marcus Schäfer - Fixed image builds without kernel If an image is build without a kernel kiwi fails due to some code paths expecting the presence of kernel modules and or kernel binaries. This commit fixes this and allows creating an image without installing a kernel. * Fri Jan 14 2022 Marcus Schäfer - Added CentOS Stream 9 integration tests * Thu Jan 13 2022 Fabian Vogt - Allow \"uninitialized\" as content of /etc/machine-id According to machine-id(5), an empty file does not signal that this is the first boot of the system. Instead, the file needs to be missing or contain the string \"uninitialized\". A missing file does not work if the filesystem is initially mounted read-only, so allow \"uninitialized\" as well, instead of truncating it. Improve the documentation of the method, e.g. dracut is not involved. * Thu Jan 13 2022 Fabian Vogt - Fix booting GRUB submenu entries with hybrid images (linux/linuxefi) Variables assigned with \"set\" are not visible in submenus for some reason. Export $linux and $initrd, so that they also work in submenu entries. Fixes bsc#1192523 * Thu Jan 13 2022 Fabian Vogt - Don\'t copy GRUB modules for EFI with secure boot enabled When booting grub.efi with secure boot enabled, modules can\'t be loaded and thus the grub.efi image needs to be complete. Save some space in live images by not copying them into the ISO filesystem. Fixes part of #1750 * Thu Jan 13 2022 Fabian Vogt - Don\'t include the ESP in the ISO9660 partition as well (#1750) Previously the image for the ESP was created inside the source directory for the ISO9660 filesystem, so it ended up there as well as a separate partition. Fix that by creating it as a temporary file instead. * Thu Jan 13 2022 Marcus Schäfer - Automate build-tests OBS service refresh This commit provides a new github action which sends API requests to the OBS api to refresh the source services for the integration tests on the OBS server side. This Fixes #1980 * Wed Jan 12 2022 Marcus Schäfer - Added docker integration test for Ubuntu * Wed Jan 12 2022 Marcus Schäfer - Update ubuntu integration test to Hirsute(21.04) * Tue Jan 11 2022 Marcus Schäfer - Bump version: 9.24.15 → 9.24.16 * Sun Jan 09 2022 Marcus Schäfer - Fixed regression in compression detection The change from 282529de8f612dee32d54ee868c2365dcd829220 Introduced a bad regression. The assumption was made that the xz tool could be used to detect if a file is compressed or not. However, this requires the file to be locally present. In the scope of the method call is_compressed() and within a remote deployment e.g PXE this is not the case. Therefore the former way to \"detect\" the compression according to the .xz postfix of the source filename was restored. In addition the function name was changed to is_xz_compressed() because that\'s what the method can do and not more. This Fixes #2015 * Fri Jan 07 2022 Marcus Schäfer - Added debug option --debug-run-scripts-in-screen Instead of running scripts in screen if the --debug switch is set, we allow to explicitly switch on this behavior via a new option. This Fixes #2010 * Fri Jan 07 2022 Marcus Schäfer - Change packages target for bootincludes Packages marked with bootinclude=\"true\" will be added to the referenced kiwi boot image description if the initrd_system is set to \"kiwi\" instead of \"dracut\". The package marked was primarily added to the type=\"image\" section and got only added to the type=\"bootstrap\" section if no image type section existed. However, it has turned out that this approach has the disadvantage that packages which must be installed as part of the bootstraping (e.g certificates) cannot be handled. This commit changes the behavior of the bootinclude to include the package always to the type=\"bootstrap\" section. * Fri Jan 07 2022 Marcus Schäfer - Add GitHub workflow badges * Fri Jan 07 2022 Marcus Schäfer - Fixed Codacy Badge * Sun Jan 02 2022 Marcus Schäfer - Allow firmware=\"custom\" setting The firmware attribute in kiwi is used to indicate for which boot firmware the image should be build. Specifying the target firmware is helpful to create for example the correct disk layout. If no firmware is specified KIWI decides for a default according to the image architecture. This selection is not 100% accurate and as we don\'t know the later target system. Especially for embedded devices the correct disk layout and other settings can be board specific and KIWI\'s default settings regarding the firmware could be invalid. For compatibility reasons we cannot switch off the default selection case and therefore a new attribute value \"custom\" is introduced with this commit. If set KIWI does not select any firmware and consequently all settings caused by a firmware setup will be skipped. On the other hand this means all needed settings for the target to boot and not done by KIWI needs to be specified explicitly and as needed. * Sun Jan 02 2022 Neal Gompa - Add util-linux dep for -systemdeps-disk-images subpackage Without this dependency, kiwi fails to work properly in minimal image build environments, like in a mock chroot where util-linux is not installed. * Fri Dec 17 2021 Tanja Roth - index.rst: fix headline * third try: apply diff by schaefi * Fri Dec 17 2021 Tanja Roth - index.rst: fix headline * removed lonely bracket * added more lines to fix syntax * Thu Dec 16 2021 Tanja Roth - index.rst: Change title (bsc#1189294#c2) * \'KIWI NG 9: KIWI NG Documentation\' -> \'Building Linux System Appliances with KIWI Next Generation (KIWI NG ) * suggested in bsc#1189294#c2 for more clarity * change has been discussed with and approved by main author (Marcus S.) * Thu Dec 16 2021 Rüdiger Oertel - support compressed modules in other formats when cleaning up the firmware directory for unused files * Thu Dec 16 2021 Marcus Schäfer - Bump version: 9.24.14 → 9.24.15 * Wed Dec 15 2021 Marcus Schäfer - Update documentation Rework troubleshooting chapter and add an article about app security subsystems like selinux and their potential influence on building images. Also update the quickstart with a reference to the troublshooting chapter. This Fixes #1891 * Wed Dec 08 2021 Marcus Schäfer - Added support for collection modules In CentOS Stream 8 and Red Hat Enterprise Linux 8, there are Application Streams that are offered in the form of modules (using Fedora Modularity technology). To build images that use this content KIWI needs to support to enable/disable various modules. This commit allows to configure collection modules in a new element as shown below This Fixes Issue #1999 * Mon Dec 06 2021 Marcus Schäfer - Bump version: 9.24.13 → 9.24.14 * Sun Dec 05 2021 Marcus Schäfer - Disable intersphinx intersphinx is a doc extension which links to the documentation of objects in other projects whenever Sphinx encounters a cross-reference that has no matching target in the current documentation set, it looks for targets in the documentation sets configured in the intersphinx_mapping. However, the kiwi docs do not use this feature thus it can be disabled. * Tue Nov 30 2021 David Cassany - Compress container images in builder class This commit changes the stage at which container images are compressed to match the criteria applied to other image types. Instead of compressing the image in OCI devoted classes now it is happening in builder class by setting Result instance properties. Fixes #1996 Signed-off-by: David Cassany * Mon Nov 29 2021 Marcus Schäfer - Revert \"Fixed MicroOS build test\" This reverts commit 52c38f9ec22aef484efaf0a570dc78eea529deec. The TW people moved to an older version of libsnapper, no idea what these guys are doing * Mon Nov 29 2021 John Paul Adrian Glaubitz - kiwi-repart: Fix spelling error in source code comment * Mon Nov 29 2021 John Paul Adrian Glaubitz - Fix multiple minor spelling errors in documentation * Mon Nov 29 2021 Marcus Schäfer - Added support for setting up release version Currently the release version is not set or set to \'0\' for package managers which requires a value to operate. However, in order to support leveraging the same description across different releases it is important to have the opportunity to specify a setting for the release version. This commit adds a new optional attribute to the preferences section which allows to specify a custom value which serves as the release version: TEXT If not specified the default setting as before applies. Please note the release version information is currently used in dnf and microdnf package managers only. It might happen that it gets applied to the other package manager backends as well. This will happen on demand though. Related to Issue #1918. This Fixes #1927 * Mon Nov 29 2021 Marcus Schäfer - Bump version: 9.24.12 → 9.24.13 * Mon Nov 29 2021 Marcus Schäfer - Add global --kiwi-file option When building with kiwi a search on the kiwi main config file is made inside of the given --description directory. The search looks up for the file config.xml or *.kiwi. So far there was no opportunity to specify another name. This commit adds an option in the global area named: - -kiwi-file name which will make kiwi to lookup this file inside of the given --description directory and fail if it does not exist. This Fixes #1973 * Mon Nov 29 2021 Marcus Schäfer - Added type hints for CliTask class * Fri Nov 26 2021 Marcus Schäfer - Bump version: 9.24.11 → 9.24.12 * Thu Nov 25 2021 Marcus Schäfer - Use realpath to resolve this:// location * Thu Nov 25 2021 Marcus Schäfer - Support this:// resource locator for includes Allow include references like the following example: * Thu Nov 25 2021 Marcus Schäfer - Allow repo path relative to the image description This commit adds a new URI type called this://... The this:// part will be resolved into the absolute path to the image description. A source path like the following: is resolved to This change provides the requested opportunity to reference repos provided as part of the image description and Fixes #1964 * Thu Nov 25 2021 Marcus Schäfer - Care for different snapper template locations snapper recently changed their config template location from etc/ to usr/. This commit handles the two locations and Fixes bsc#1192940 * Thu Nov 25 2021 Marcus Schäfer - Prevent warning message on resize exception On systems which are configured to run the oem resize at every boot (default case) kiwi checks how much space is free and if that fits the constraints configured as part of the image description. If the constraints are not met a warning message is displayed and the boot continuous without any resize action happening. This warning message however, always appears after the first boot when the resize had happened and no rest space on disk is present unless the disk geometry would have changed. The situation of the reboot of the system without any disk geometry change is the standard case and happens way more often than the reboot with a disk geometry change. Therefore the warning message displayed is not actually a real warning and most often considered as an issue when there is none. To relax this situation, this commit only shows the warning message if the detected free space on disk is greater than 2M, which is the condition under which we assume an intentional (user made) disk geometry change. This Fixes #1958 * Wed Nov 24 2021 Marcus Schäfer - Bump version: 9.24.10 → 9.24.11 * Wed Nov 24 2021 Justin <47017732+TheMisanthropicHumanistAATTusers.noreply.github.com>- Fix Source Install Disk Detection in get_disk_list (#1982) Fix Source Install Disk Detection in get_disk_list The original check doesn\'t always work because PARTITIONS get labels, NOT disks. If you install with a Flash Drive and deploy to a machine with an NVMe drive, the Flash Drive is listed first because SCSIs are shown first by lsblk (At least they were in our scenario). When we run blkid \"[Install Flash Drive Disk]\" -s LABEL -o value in this scenario, we get nothing returned so this conditional evaluates incorrectly. We should get the ${kiwi_install_volid} Partition Block Name, and search for whether ${disk_device} is contained within it as the Disk Device that corresponds to the Install Partition. * Tue Nov 23 2021 Marcus Schäfer - Do not force dracut into a compression setting So far we called dracut with --xz which forces the initrd to be xz compressed. There are other compression formats used by the distributions and they might differe from xz. The selection for a compression tool is done by a dist configuration in dracut.conf.d which is provided by the distributions as they see fit. For us this means not forcing dracut into a specific compression setting allows to make use of the distro provided setting and also allows to change/override this setting by an overlay file. This Fixes bsc#1192975 * Tue Nov 23 2021 Marcus Schäfer - Bump version: 9.24.9 → 9.24.10 * Tue Nov 23 2021 Marcus Schäfer - Added documentation about sharing backends The kiwi boxbuild plugin supports several sharing backends. Details about them and eventual pre-setup steps prior use are mentioned in this document * Tue Nov 23 2021 Marcus Schäfer - Fixed MicroOS build test snapper default config has moved from /etc to /usr/share * Mon Nov 22 2021 Marcus Schäfer - Bump version: 9.24.8 → 9.24.9 * Mon Nov 22 2021 Marcus Schäfer - Bump version: 9.24.7 → 9.24.8 * Mon Nov 22 2021 Marcus Schäfer - Added support for reading metalink in info module For resolver operations through libsolv the \'kiwi image info\' module exists. So far it could not read the repos from metalink repo definitions. This Fixes #1890 * Fri Nov 19 2021 David Cassany - Force key attribute from signing element to be treated as a URI Signed-off-by: David Cassany * Thu Nov 18 2021 David Cassany - Pass signing keys from the XML to the repositories This commits makes sure signing keys are passed to repositories setup in build task. Signed-off-by: David Cassany * Thu Nov 18 2021 Marcus Schäfer - Move static sle15 integration test to git * Tue Nov 16 2021 Marcus Schäfer - Bump version: 9.24.6 → 9.24.7 * Mon Nov 15 2021 Marcus Schäfer - Fixed raid integration test using extra boot part Due to changes in the distribution the tests needs some adaptions. The kernel as provided now by TW uses symlinks from boot to /usr/lib/modules/... to point to the kernel binary. Of course this breaks for any system that uses /boot on another partition. Those image tests which were testing this aspect needs fixing. * Mon Nov 15 2021 Dan Čermák - Make sure fedora-release is installed on Rawhide Follow up to #1957 and #1962: The Fedora build tests were using the generic release package and not fedora-release. This issue has been partially fixed in #1962, but we forgot to port the fix to the rawhide images as well. This commit adds the missing package to the Rawhide images as well. * Sat Nov 13 2021 Marcus Schäfer - Bump version: 9.24.5 → 9.24.6 * Fri Nov 12 2021 Marcus Schäfer - Followup fix for debootstrap called only once A recent change skipped calling debootstrap if the allow-existing-root flag was passed in combination with apt as the package manager. However this is not enough. If you say allow-existing-root but the existing root is empty or not valid to continue with chroot and apt the debootstrap phase should not be skipped. This commit checks if apt works in the chroot such that we can assume debootstrap has done its job and can be skipped * Fri Nov 12 2021 Marcus Schäfer - Allow to set sign keyfile in repository elements This commit adds a new and optional child element to the repository/source element as shown in the following example: The collection of all keyfiles from all repositories will be added to the keyring as used by the selected package manager. Signing keys specified on the commandline and signing keys specified in the image description will be combined. This Fixes #1883 * Fri Nov 12 2021 Marcus Schäfer - Bump version: 9.24.4 → 9.24.5 * Fri Nov 12 2021 Marcus Schäfer - Fixed include processing This commit fixes several issue connected with the use of the directive: First and foremost the XSLT chain was broken in a way that the include XSLT in combination with the PrettyPrinter XSLT were called not in the chain of stylesheets but together. This results in XML descriptions which duplicated the content and went invalid Another change is, when the include XSLT is called in the chain. This commit moves it to become the very first processing instruction such that the included data is part of all subsequent XSLT stylesheets. This also allows to use older schema versions in included XML data and they get automatically converted through the chain of XSLT stylesheets. Last change is the evaluation of the from= attribute value. This value is now interpreted as an URI. Currently only local URIs are supported. The reason to do this is because XSLT when processing a document resolves relative paths according to the file path of the master document. As kiwi does not change the original content that path with will be a /var/tmp location if one of the XSLT stylesheets were used. The documentation for this change was updated as well * Thu Nov 11 2021 Marcus Schäfer - Bump version: 9.24.3 → 9.24.4 * Thu Nov 11 2021 Marcus Schäfer - Added type hints and annotations for iso_tools * Thu Nov 11 2021 Marcus Schäfer - Drop support for cdrtools Tools like mkisofs, genisoimage and friends are all unmaintained and have found their substitute in xorriso for quite some time. This commit deletes the code from kiwi which supported creation of ISO images using the obsolete cdrtools collection. In addition all hack code associated with these tools like mbr insertion via isohybrid and things like that got dropped as well. This Fixes #1908 * Thu Nov 11 2021 kyr - Drop usage of `factor` from coreutils utils/checksum: drop factor calls For portability we don\'t need to call linux coreutils\' factor, instead we use pure python prime number generation implementation. Signed-off-by: Kyr Shatskyy * Thu Nov 11 2021 Matt Coleman - Add support for custom GRUB templates This allows the user to specify a template file to customize the bootloader menu. This only applies to oem and iso image types: other image types use the grub mkconfig toolchain. This resolves Issue #1970 Co-authored-by: Marcus Schäfer * Tue Nov 09 2021 Dan Čermák - Only trigger functions workflow on certain paths * Tue Nov 09 2021 Dan Čermák - Re-enable functions integration tests once again * Tue Nov 09 2021 Kyr Shatskyy - config/functions: make baseQuoteFile use extended regex It is more universal to use extended regex, because they can be used on wider range of platforms, for example, same regex works equally on bsd sed and linux distributions. Signed-off-by: Kyr Shatskyy * Mon Nov 08 2021 Marcus Schäfer - Added python 3.9, 3.10 to test workflow * Mon Nov 08 2021 Kyr Shatskyy - utils/temporary: rename dir parameter to path To avoid conflicts with python standard `dir` function and for better matching purpose, the Temporary class constructor parameter it is the best to rename from dir to path. Signed-off-by: Kyr Shatskyy * Mon Nov 08 2021 Kyr Shatskyy - utils/temporary: the --temp-dir does not work Using of --temp-dir argument does not make an effect, because optional \'dir\' parameter defaults to the global TEMP_DIR value before it\'s changed. This patch address this issue. Signed-off-by: Kyr Shatskyy * Wed Nov 03 2021 Marcus Schäfer - Bump version: 9.24.2 → 9.24.3 * Wed Nov 03 2021 Marcus Schäfer - Fixed s390 SLE15 integration test added blog package to solve packages added by file provides which are not resolved by obs * Wed Nov 03 2021 Marcus Schäfer - Fixed s390 integration test using extra boot part Due to changes in the distribution the tests needs some adaptions. The kernel as provided now by TW uses symlinks from boot to /usr/lib/modules/... to point to the kernel binary. Of course this breaks for any system that uses /boot on another partition. Those image tests which were testing this aspect needs fixing. * Wed Nov 03 2021 Marcus Schäfer - Added partition sizes to disk size math Make sure partition sizes are used for the calculation of the entire disk size to fit the size constraints of the image disk * Tue Nov 02 2021 Marcus Schäfer - Revert \"Cleanup xattr requirement\" This reverts commit 6754b3f9e270a6cb710355605c46b0bade4de29c. It has turned out that SLE15 still uses the other xattr module :/ * Tue Nov 02 2021 Marcus Schäfer - Added integration test Test the combination of custom partitions and volumes * Fri Oct 29 2021 Marcus Schäfer - Make sure fedora-release is installed Fedora based integration tests should install the fedora-release package. If no release package is specified the generic-release package is choosen which is unexpected. This Fixes #1957 * Wed Oct 27 2021 Marcus Schäfer - Make sure debootstrap is called only once When building debian based images the bootstrap phase is done by calling debootstrap. If kiwi is called on an already existing root tree via --allow-existing-root this will make debootstrap to fail in any case. This is because for debootstrap it\'s an error condition if there is already data in the root. However, for kiwi and the explicitly requested re-use of the root tree this is not an error. Thus this commit skips the bootstrap by debootstrap and directly continues with the image phase. * Wed Oct 27 2021 Marcus Schäfer - Cleanup xattr requirement There is no version of suse we support that provides the old xattr module. Thus the requirement can be set in a clean way to pyxattr and the setup.py trickery can be deleted * Mon Oct 25 2021 Marcus Schäfer - Disable config functions testing It happens too often that the failure on running the container causes failed results which are not actually failures. I have hope that #1944 stabilize this * Fri Oct 22 2021 Marcus Schäfer - Bump version: 9.24.1 → 9.24.2 * Fri Oct 22 2021 Marcus Schäfer - Fixed nasty bug in ramdisk generator The ramdisk unit generator reads the config.bootoptions file and extracts the root_uuid from it. This is done with a very simple shell read using a space as separator. However the last element is never read by that code. As long as there was yet another kernel cmdline option after the root= option this bug was not an issue. But as soon as the root= option is last in the list it will not be read and the generator exits prior creating the sysroot.mount target. This commit fixes it in a way that it makes sure there is always a space at the end of the config.bootoptions file * Thu Oct 21 2021 Marcus Schäfer - Support custom partitions In addition to the volume volume management settings also allow to setup low level table entries like in the following example: * Thu Oct 21 2021 Marcus Schäfer - Added integration build test for bundle_format * Wed Oct 20 2021 Marcus Schäfer - Added lsof to kiwi-systemdeps-core * Tue Oct 19 2021 Marcus Schäfer - Add support for custom result bundle naming Allow to specify a bundle_format per which is used at the time of the result bundle creation to create image output names matching the provided pattern. This Fixes #1943 * Tue Oct 19 2021 Marcus Schäfer - Added missing python-simplejson to pkgbuild Added missing python-simplejson requirement to the archlinux pkgbuild package template * Tue Oct 19 2021 Marcus Schäfer - Raise exception on umount issue Up to now kiwi tried to umount a resource it has mounted for some time and if it was not possible due to a busy state the process continued. In any of these situations it was not possible to free up the nested resources and it could also happen that the image build result got corrupted because there is still data that can be consumed but shouldn\'t be there anymore. The change here makes kiwi to stop the process and raise with an error also including the information that there are now resources still active but busy on the host and a manual cleanup is unfortunately needed. This Fixes #1914 * Mon Oct 18 2021 Marcus Schäfer - Added SystemOverlayRoot profile Test kiwi\'s overlayroot mode without initrd * Mon Oct 18 2021 Marcus Schäfer - Update test for image without initrd and loader The systemd-remount-fs.service expects devices to be present in their UUID representation. When booting without an initrd there is no udev and the root= device must be provided with the kernel exposed unix device name. In addition there is no UUID device representation for virtio devices which are used together with the small kvmsmall kernel of this example. Since booting of this appliance is done via: $ kvm --kernel (kernel-kvmsmall) \\ - drive file=kiwi-test-image-embedded.raw,if=virtio \\ - append \"root=/dev/vda1 console=ttyS0 rw\" The kernel rootfs is mounted in rw mode anyway. Thus the systemd remount service is not useful in this case and switched off * Fri Oct 15 2021 Marcus Schäfer - Bump version: 9.24.0 → 9.24.1 * Thu Oct 14 2021 Marcus Schäfer - Make sure embedded test exposes the kernel * Thu Oct 14 2021 Marcus Schäfer - Fixed use of LUKS encrypted images with empty pass For initial provisioning of LUKS encrypted disk images an empty passphrase key is handy to avoid interaction in the deployment process. However, the dracut kiwi modules were lacking the information that the luks keyfile could be an empty passphrase key which must not be opened with the potential risk to get prompted for input. This commit introduces a new profile environment variable evaluated by the dracut kiwi lib code to open the LUKS pool and allows to distinguish the situation on key files with or without a passphrase * Thu Oct 14 2021 Marcus Schäfer - Fixed type annotations for LuksDevice class * Wed Oct 13 2021 Marcus Schäfer - Fixed repo setup for test-image-embedded Use obsrepositories * Wed Oct 13 2021 Marcus Schäfer - Added a build test for no-initrd / no-bootloader It\'s allowed to configure an image building without an initrd and/or bootloader setup. These are settings mostly used in the embedded world and this build test makes sure images of that kind can be build * Wed Oct 13 2021 Marcus Schäfer - Add support for portable result data (#1949) In addition to the serialized Result instance kiwi.result file this commit also creates a portable version of this information in kiwi.result.json. Only the information that can be expressed as json document is part of the portable version. This is related to Issue #1918 * Thu Oct 07 2021 Marcus Schäfer - Added documentation for kiwi stackbuild plugin Restructure the documentation to put all plugin documentation under its own category. Add a chapter about the stackbuild plugin, it\'s concepts and use cases. This Fixes #1907 * Thu Oct 07 2021 Marcus Schäfer - Bump version: 9.23.63 → 9.24.0 * Thu Oct 07 2021 Marcus Schäfer - Add support for toplevel include directive(s) On the toplevel of an image description you can now specify include directive(s) like in the following example ... ... At the place of their occurrence the include statement will be replaced with the contents of the given filename. The implementation is based on a XSLT stylesheet and applies very early in the process. The stylesheet reads the contents of the given file as XML document(). Thus only valid XML documents gets accepted by this include concept. This Fixes #1929 and is related to Issue #1918 * Wed Oct 06 2021 Dan Čermák - Switch to pytest_container instead of custom conftest * Wed Oct 06 2021 Marcus Schäfer - Bump version: 9.23.62 → 9.23.63 * Wed Oct 06 2021 Marcus Schäfer - Fixed error reporting for stateful description Errors due to missing or no type definitions were reported provding the internal object reference of the XML parse result. This is useless information for users and needs to be done better. This commit fixes the error message to avoid showing object references and includes information about the applied profiles used for this XML state. * Wed Oct 06 2021 Marcus Schäfer - Fixed legacy PXE documentation The documentation for building a legacy pxe image was not using the profiles (Flat or Compressed) as the actual image description for this example requires it. This Fixes #1923 * Wed Oct 06 2021 Marcus Schäfer - Added mdadm to requires for systemdeps When building raid based images the buildhost needs mdadm. In addition rework the place to require disk based tools. Most of them were added to the filesystem systemdeps but belong to the disk systemdeps * Wed Oct 06 2021 Marcus Schäfer - Fixed creation of loopback config If an extra boot partition is in use the creation of the config file for the loopback boot feature was using the wrong path. This commit fixes it and also introduces integration checks which builds in this condition * Tue Oct 05 2021 Marcus Schäfer - Fixed GRUB_CMDLINE_LINUX_DEFAULT setup regression The value for GRUB_CMDLINE_LINUX_DEFAULT should only be changed if custom kernelcmdline values are provided. In case there are none kiwi should not change this value. The test to check for this condition is based on the result cmdline reduced by the root setting. However the default cmdline setting in kiwi appends \'rw\' in addition to the root device information. This means the default kernelcmdline is never empty and therefore the grub setting GRUB_CMDLINE_LINUX_DEFAULT=\"rw\" is always set. This commit fixes the conditional change by making sure the default cmdline only consists out of the root device information. This Fixes #1650 * Tue Oct 05 2021 Marcus Schäfer - Allow logfile option to log on stdout The option setting \'--logfile stdout\' is now a special form and logs the messages usually written to a file to stdout instead. This is handy if all messages of the build are requested but the --debug switch is not because it does more than that, e.g calling scripts through debug\'able screen sessions * Tue Oct 05 2021 Marcus Schäfer - Allow test-image-luks to be build locally too In suse there are many programs replaced by the busybox alternative and also preferred by the package manager. However there are also packages like the kernel in suse which wants gawk and not busybox-gawk. In kiwi to build images there are two installation phases, the bootstrap phase which installs mandatory packages to allow chroot operations and the image phase which installs the rest of the requested packages as chroot operation. In this two pass step the package manager is called twice to resolve dependencies and that causes the issue with the preferred busybox packages which gets pulled in in the first phase. To prevent this there are only two options: 1. Explicitly list the non busybox packages in the bootstrap phase 2. Prevent the image phase and put all packages to the bootstrap phase such there is only one package manager call for dependency resolution This commit implementes option 1. because having all packages in the bootstrap phase means that the host packagemanager resolves and if the host packagemanager is somehow not compatible with the image target this leads to other weird issues which are not obvious and hard to debug. * Thu Sep 23 2021 Marcus Schäfer - Bump version: 9.23.61 → 9.23.62 * Thu Sep 23 2021 Marcus Schäfer - Fixed script calls when running in obs kiwi is called with --debug in obs which triggers the scripts to be called through screen. However the obs caller is not associated with a terminal thus it fails. This commit creates an exception for debug mode when running in obs