SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 
Changelog for python3-kiwi-9.24.57-1.2.i586.rpm :

* 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 2048 false ``` This Fixes #2203
* Wed Jan 04 2023 Marcus Schäfer - Delete ppc:fedora from testing report
* Wed Jan 04 2023 Marcus Schäfer - Remove Fedora PPC build test from index The integration test unfortunately never got tested anywhere is outdated and I have no PPC hardware here to run any tests. Let\'s add a real test if there is demand for it
* Wed Jan 04 2023 Marcus Schäfer - Added kiwi-settings for Fedora arm build tests
* Thu Dec 22 2022 Marcus Schäfer - Allow fat16/fat32 as filesystem in partitions The partitions element allows to specify the filesystem for the individual partition. In the schema fat16 and fat32 were missing
* Tue Dec 20 2022 Marcus Schäfer - Stick with tox v3.28.0 for unit testing tox >= 3.0.15 together with virtualenv >= 20.17.1 raises strange incompatibilities and prevents the unit test run because tox calls virtualenv in a wrong way leading to strange error messages like: - -- usage: virtualenv ... virtualenv: error: argument dest: destination \'{check,devel,packagedoc,doc,doc_gh_pages,doc_suse,doc_man,scripts,}: /home/runner/work/kiwi/kiwi/.tox/3\
/home/runner/work/kiwi/kiwi/.tox/3.8\' must not contain the path separator (:) as this would break the activation scripts - -- All this doesn\'t make sense to me at all and worked without any issues before.
* Tue Dec 20 2022 Marcus Schäfer - Bump version: 9.24.55 → 9.24.56
* Tue Dec 20 2022 Marcus Schäfer - Fix gh-pages publish
* Sun Dec 18 2022 Marcus Schäfer - Fixed systemd boot integration test for rawhide systemd-boot was splitted in preparation for secure boot. The unsigned version of the EFI binary is used in the test so far
* Sun Dec 18 2022 Marcus Schäfer - Added device mapper setting for s390 on TW Use kpartx as partx fails
* Sun Dec 18 2022 Marcus Schäfer - Added device mapper setting for s390 Use kpartx as partx fails
* Sun Dec 18 2022 Marcus Schäfer - Bump version: 9.24.54 → 9.24.55
* Wed Dec 14 2022 Marcus Schäfer - Allow to pass credentials as file reference
* Tue Dec 13 2022 Marcus Schäfer - Fixed handling of container archive compression In kiwi we support handling of the container archive compression via a runtime configuration setting of the following form, eg in /etc/kiwi.yml ```yaml container: [#] Specify compression for container images [#] Possible values are true, false, xz or none. - compress: true ``` However, this setting was only taken into account in the kiwi bundler. Meaning if the user calls \'kiwi result bundle ...\' after the container image has been created the result bundler will take the compression setting into account. From my perspective this behavior is misleading and also prevents users from creating compressed container archives without a subsequent result bundler call. Therefore this commit moves the place to handle the compression setting into the container classes. The bundler code for containers will no longer operate on it and just takes what it gets, which can be either compressed or not. The default setting was \"No compression\" and this was not changed. This Fixes #2217
* Tue Dec 13 2022 Marcus Schäfer - Add type hints for OCI and APPX classes
* Sun Dec 11 2022 Marcus Schäfer - Bump version: 9.24.53 → 9.24.54
* Sun Dec 11 2022 Marcus Schäfer - Fix publish to pypi bind gh-action module to v1 release
* Sun Dec 11 2022 Marcus Schäfer - Bump version: 9.24.52 → 9.24.53
* Sat Dec 10 2022 Marcus Schäfer - Use ubuntu-20.04 as github hosted runner It seems on ubuntu-latest no python 3.6 is available anymore
* Sat Dec 10 2022 Marcus Schäfer - Allow external commands in tox targets
* Fri Dec 09 2022 Marcus Schäfer - Fix unit test run for BLS spec base class Do not really call blkid as used in get_boot_cmdline
* Fri Dec 09 2022 Marcus Schäfer - Fixed typo in documentation Capitalize at the start of a sentence. This Fixes #2216
* Fri Dec 02 2022 Marcus Schäfer - Fix unit tests to run in parallel Setting sys.argv and global variables impacts tests such that they cannot run in parallel. The little footprint of excluding the --config global args test from the coverage is beneficial to allow parallel test runs
* Fri Dec 02 2022 Marcus Schäfer - Don\'t show secret parts of an URI Using URIs of the form uri://user:passAATTlocation should not be logged or printed including its credential data
* Fri Dec 02 2022 Marcus Schäfer - Don\'t use split on potential None value
* Thu Dec 01 2022 Marcus Schäfer - Allow to select partition mapper tool The recent change from kpartx to partx caused some appliance builds to break depending on their configuration. I spotted issues when building disks with veritysetup or integritysetup root devices. There are also issues with grub-install on other architectures e.g s390. It seems partx cannot be used as a drop in replacement and so I suggest to make this a runtime configuration option with partx as the new default but also allow for the old method
* Thu Dec 01 2022 Marcus Schäfer - Bump version: 9.24.51 → 9.24.52
* Wed Nov 30 2022 Marcus Schäfer - Fix status indicator in helper/build_status.sh colored output only worked for toplevel results
* Wed Nov 30 2022 Neal Gompa - Eliminate redundant partx calls for cleaning up loop devices partx can clean up all partition loops associated with a loop device when deleting the main loop device. Apparently, sometimes it goes and does this even when only deleting the partition loop, so to avoid this problem, we will just eliminate the redundant call. Fixes: 8f2b8fda82a37d7a7ebbf8a6557870cc63b0ae91
* Wed Nov 30 2022 Marcus Schäfer - Support repo URI\'s with credentials on cmdline Specifying a repository as part of the image description allows for credentials via the username and password attributes. Howver, repositories can also be specified on the commandline via the --set-repo / --add-repo options. The options on the commandline did not allow to specify credentials so far. This commit adds the commandline options --set-repo-credentials and --add-repo-credentials to support them
* Wed Nov 30 2022 Marcus Schäfer - Update test-image-vagrant virtualbox-guest-x11 seems to be deleted from TW
* Wed Nov 30 2022 Marcus Schäfer - Fixed test-image-custom-partitions The test was done prior kiwi added the partitions element and demonstrates how to influence the partition table via scripts. These scripts uses kpartx and the device mapper. Due to the recent change from kpartx to partx the scripts must be adapted
* Tue Nov 29 2022 Marcus Schäfer - Bump version: 9.24.50 → 9.24.51
* Tue Nov 29 2022 Marcus Schäfer - Added code style batch to landing page
* Tue Nov 29 2022 Marcus Schäfer - Delete obsolete gitlab pipeline status flag Delete obsolete gitlab pipeline status from the project landing page. We do no longer use gitlab since they added that quota thing for their CI system
* Tue Nov 29 2022 Marcus Schäfer - Bump version: 9.24.49 → 9.24.50
* Tue Nov 29 2022 Neal Gompa - Swap from DM kpartx to util-linux partx for creating loop devices The device-mapper (DM) based loop devices that kiwi has historically generated creates issues when trying to run kiwi in confined build environments. The DM tools prefer to have a tighter coupling between userspace and kernel interfaces, and we cannot necessarily guarantee that in the variety of build environments that kiwi can be run in. In particular, Koji uses either nspawn containers or chroots through Mock to run kiwi and that is where this fails. However, we do not need to use DM for this purpose when util-linux provides a perfectly serviceable alternative. This commit changes kiwi\'s loop device setup to use partx(8) from util-linux instead. As long as the appliance image being created doesn\'t use a disk scheme that requires DM, it becomes entirely possible to produce an image without needing DM at runtime at all.
* Tue Nov 29 2022 Marcus Schäfer - Added systemd_boot integration test for Rawhide
* Mon Nov 21 2022 Marcus Schäfer - Increase btrfs size of orthos integration test
* Mon Nov 14 2022 Marcus Schäfer - Increase scope of kernel lookup So far kiwi was looking up kernels only on /boot. Including other bootloaders it\'s no longer required that the kernel packages of the distributions provides the kernel in /boot Thus kiwi\'s lookup needs to be extended to other places which is done by this commit.
* Sat Nov 12 2022 Marcus Schäfer - Add GRUB_DEFAULT=saved if not set If there is no GRUB_DEFAULT setting in etc/default/grub we add GRUB_DEFAULT=saved as the default setting. This Fixes #2198
* Sat Nov 12 2022 Marcus Schäfer - Disable gitlab CI pipeline Unfortunately gitlab decided to allow only eligible projects to use their CI pipeline. Being a member for years seems not to count in this change process. Therefore this commit disables the tests we run on gitlab and I will come up with a simple github action for the parts that we don\'t want to loose.
* Fri Nov 11 2022 Marcus Schäfer - Added integration test for systemd_boot The test build is based on the Tumbleweed distribution and provides a simple non-secure-boot systemd-boot virtual disk image
* Tue Nov 08 2022 Marcus Schäfer - no_implicit_optional = False
* Thu Nov 03 2022 Marcus Schäfer - Added --loglevel option specify logging level as number. Details about the available log levels can be found at: https://docs.python.org/3/library/logging.html#logging-levels Setting a log level causes all message >= level to be displayed.
* Wed Nov 02 2022 Marcus Schäfer - Consolidate and cleanup logging Make sure all loggers; stream handlers, file and socket handler uses the same logging format. Also make sure that there is only one place for setLogLevel when kiwi is used as application
* Sat Oct 29 2022 Marcus Schäfer - Added support for --logsocket Like with --logfile this commit adds support for using an existing Unix Domain Socket for logging. It\'s required that there is a listener on the given socket otherwise kiwi exits with an appropriate error message from the socket layer. A simple listener could look like the following: ```python sock_file = \'/tmp/log_socket\' buffer = 1024 if os.path.exists(sock_file): os.unlink(sock_file) sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.bind(sock_file) sock.listen(1) while True: connection, client_address = sock.accept() try: while True: data = connection.recv(buffer) if not data: break print(data.decode()) finally: connection.close() ``` With the listener in place kiwi can be called as follows: kiwi-ng --logsocket /tmp/log_socket ...
* Sat Oct 22 2022 Marcus Schäfer - Bump version: 9.24.48 → 9.24.49
* Sat Oct 22 2022 Marcus Schäfer - Fixed test-image-vagrant virtualbox-guest-tools obsoletes virtualbox-guest-x11
* Fri Oct 21 2022 Marcus Schäfer - ignore the type check on the Result class With an update of mypy the bound TypeVar is no longer allowed. In newer versions of python we could use the \"Self\" type or import annotations from the future module. Unfortunately in older python versions which we still support (3.6) there is no non intrusive change which allows us to handle that type annotation. Thus this commit ignores the return type spec for Result.load() for the moment.
* Wed Oct 12 2022 Igor Raits - Stop copying /dev files statically into the OCI container In containers (nspawn) where part of the /dev filesystem is bind-mounted from outside system, kiwi fails to do the rsync (in creation of the nodes). There is no reason to actually copy whole tree inside so let\'s just not do it (as it does not seem to be needed at all).
* Tue Oct 11 2022 Dirk Müller - List riscv64 as a valid architecture in the schemas This is needed so that architecture filters on riscv64 specifics can be defined.
* Wed Sep 14 2022 Marcus Schäfer - Support DM integrity legacy options Add a new attribute integrity_legacy_hmac=\"true|false\" which allows to use old flawed HMAC calculation (does not protect superblock). Add a new attribute integrity_legacy_padding=\"true|false\" which allows to use inefficient legacy padding. Do not use these attributes until compatibility with a specific old kernel is required!
* Wed Aug 31 2022 Jan Macku - ci(lint): Add Shell linter - Differential Shellcheck
* Wed Aug 31 2022 Marcus Schäfer - Limit repo alias names to be a safe POSIX name Characters like spaces or other symbols used in repo alias names can cause the package manager to fail setting up the repo. Thus this patch changes the schema to only allow for safe POSIX names matching: {pattern = \"[a-zA-Z0-9_\\-\\.]+\"}. This Fixes #2170
* Thu Aug 25 2022 Marcus Schäfer - Increase space for test-image-embedded test Add more space to test profile: SystemFeatures
* Thu Aug 25 2022 Marcus Schäfer - Increase efifatimage size for legacy build test
* Tue Aug 23 2022 Marcus Schäfer - Bump version: 9.24.47 → 9.24.48
* Sun Aug 21 2022 Laszlo Gombos - Return failure if overlay is not supported
* Wed Aug 10 2022 Marcus Schäfer - Bump version: 9.24.46 → 9.24.47
* Wed Aug 10 2022 Marcus Schäfer - Revert \"EFI Filesystem must be Fat32 formatted\" Using fat32 causes failed boots on e.g AWS EC2 arm. This must be solved differently with an attribute to configure it. This reverts commit b8641bdc6825423f8c65b55c8d0870b38874a566.
* Tue Aug 09 2022 Marcus Schäfer - Bump version: 9.24.45 → 9.24.46
* Tue Aug 09 2022 Marcus Schäfer - Support URIs with credentials in solver plugin check if the URI string contains credentials and extract/trim them from the uri object. The urlparse class does not recognize this information as a valid URI and throws an exception
* Tue Aug 09 2022 Marcus Schäfer - Fixed kexec options setup in kiwi-dump-reboot The dracut module 99kiwi-dump-reboot creates an options list for kexec. Under certain conditions the options list can contain multiple spaces which leads to an error when calling kexec. This commit makes sure to trim white spaces. This Fixes #2178
* Sun Aug 07 2022 Marcus Schäfer - Fixed test-image-disk-legacy Increase size of embedded EFI fat image needed for EFI bootable install ISO. Due to the increased size of the custom kiwi initrd the default size for the FAT image is too small
* Sat Aug 06 2022 Marcus Schäfer - Support custom size for embedded EFI FAT image For ISO images (live and install) the EFI boot requires an embedded FAT image. As of now a fixed size of 20M was used which leads to a problem if the EFI image or the initrd or the kernel is bigger than 20M. With the new attribute: efifatimagesize=\"nonNegativeInteger\" we can now set a different value for the FAT image. Please note the value must be aligned to the also customizable efipartsize value which allows to configure the size of the EFI partition
* Fri Aug 05 2022 Marcus Schäfer - Fixed linter complaints after flake update flake now complains about E275 missing whitespace after keyword for the way \'del\' is used. This commit fixes it
* Thu Aug 04 2022 J Mixer - Added a NOTE: section to explain the finer points of adding tools to a dracut hook.
* Sat Jul 30 2022 Marcus Schäfer - Fixup btrfs based legacy kiwi initrd test
* Thu Jul 21 2022 gmoro - Fix mocking of grub2-install (fix #2124) /bin/true was being used from the host machine instead of the chroot
* Thu Jul 21 2022 David Cassany - Fix race condition in runtime_config_test This commit instead of setting the global variable of the runtime config file patches it. This is relevant if running unit tests in parallel, where global variables are shared if not patched. Signed-off-by: David Cassany
* Tue Jul 12 2022 Marcus Schäfer - EFI Filesystem must be Fat32 formatted Given the documentation from Microsoft the EFI partition must be a fat32 format. fat16 is still supported but unexpected. This Fixes #2141
* Tue Jul 12 2022 Marcus Schäfer - Fixed typo in overview page prevent word duplication. This Fixes #2016
* Tue Jul 12 2022 Marcus Schäfer - Bump version: 9.24.44 → 9.24.45
* Thu Jul 07 2022 Marcus Schäfer - Umount device before cloning In case a clone should be created from a partition we need to make sure to umount the device after sync and prior cloning. Otherwise the clone operation is not safe because the rsynced data might still be in memory and not synced out to the block device.
* Wed Jul 06 2022 Marcus Schäfer - Fixed custom disk start sector setup The attribute disk_start_sector allows to specify a custom start sector for the first partition of the disk. On GPT tables everything works nicely, on DOS tables the used tools fdisk/sfdisk are not able to manage the start/end values of subsequent partitions if the first partition doesn\'t start with the tooling default. This patch allows to set the start sector after the partition table has been created
* Sat Jul 02 2022 Marcus Schäfer - Fixed CentOS-8 repo setup
* Fri Jun 24 2022 Marcus Schäfer - Bump version: 9.24.43 → 9.24.44
* Thu Jun 23 2022 Marcus Schäfer - Make sure to rebuild rpm database For rpm based distributions make sure to call rpm --rebuilddb unconditionally prior using rpm with the chroot. This Fixes #2165
* Wed Jun 22 2022 Neal Gompa - github: Refresh issue template to cover more operating scenarios KIWI is often used for cross-distribution image builds, so we should ask for that information when appropriate. Additionally, clarify \"OBS\" as \"Open Build Service\" to disambiguate. Finally, add a line about Koji since Koji can run kiwi to build images now.
* Wed Jun 22 2022 Marcus Schäfer - Fixed unit tests
* Tue Jun 21 2022 Igor Raits - Forcefully disable versionlock plugin in DNF [ INFO ]: 09:39:08 | Uninstalling system packages (chroot) [ INFO ]: 09:39:08 | Using package manager backend: dnf [ INFO ]: 09:39:08 | --> package: linux-firmware [ INFO ]: 09:39:08 | Uninstall system packages (chroot) [ DEBUG ]: 09:39:08 | EXEC: [chroot /tmp/myimage8/build/image-root dnf --config /kiwi_v708wllp -y --releasever=8 autoremove linux-firmware] [ INFO ]: Processing: [########################################] 100% [ ERROR ]: 09:39:08 | KiwiPackagesDeletePhaseFailed: System package deletion failed: Package deletion failed: Error: Locklist not set The versionlock plugin does not bring any benefit anyways as we completely override plugin configs. Also refactor configparser related stuff a bit. Signed-off-by: Igor Raits
* Mon Jun 20 2022 Marcus Schäfer - Support squashfs in custom partitions When using squashfs in a custom partitions setup like the following: The build fails because the filesystem needs to be created using the create_on_file() API and not the create_on_device() API. In addition the size estimation is bogus when using squashfs and cannot be pre-calculated because we only know how much space the filesystem really needs after mksquashfs as worked on the data and the compression. Thus this commit also relaxes the required size check in case of squashfs. Last but not least a squashfs filesystem does not provide label or UUID and can only be referenced by the PARTUUID it gets dumped on or by the native unix device node. As the unix node is a loop during build time of the image and meaningless this commit also forces by-partuuid mapping in fstab when mounting the squashfs based device.
* Thu Jun 16 2022 Marcus Schäfer - Fixed use of CommandCapabilities The class allows to check for data produced on stdout and stderr. However, programs reporting data on stderr usually fails with an exit code != 0. If the command is not called with raise_on_error=False it will never be possible to catch information from stderr. As we don\'t know if programs returns a failed exit code even on their e.g --usage message we should always pass the no raise option to make this more useful
* Wed Jun 15 2022 David Cassany - Fix volume mount path and adapt unit tests Signed-off-by: David Cassany
* Tue Jun 14 2022 Marcus Schäfer - Handle older versions of setfiles correctly In older versions of setfiles we need a two pass setup First set the policy, second apply the security context. This commit checks in the usage message of setfiles which invocation syntax is required
* Tue Jun 14 2022 Marcus Schäfer - Bump version: 9.24.42 → 9.24.43
* Tue Jun 14 2022 Marcus Schäfer - Fixed error handling for setfiles policy lookup Errors from os.scandir were not catched. In addition the path to run scandir was not properly created
* Tue Jun 14 2022 Ludwig Nussel - Mount /sys also for disks.sh /sys is needed to be able to run dracut in disks.sh
* Mon Jun 13 2022 Ludwig Nussel - Fix btrfs volume mounting If the second argument of os.path.join is an absolute directory, the result would be that directory. The intention is to produce a subdirectory of the mountpoint though. So pass a relative path. Without the fix, kiwi would try to e.g mount the /var subvolume of the image over the /var of the host, screwing everthing up of course :-)
* Mon Jun 13 2022 Marcus Schäfer - Prefer file based syscall in kexec when possible Use file based syscall in kexec if available. This is needed to support boot on an secure boot enabled system and is in general more reliable to boot into the system on real hardware platforms
* Mon Jun 13 2022 Marcus Schäfer - Bump version: 9.24.41 → 9.24.42
* Thu Jun 09 2022 Marcus Schäfer - Bump version: 9.24.40 → 9.24.41
* Wed Jun 08 2022 Marcus Schäfer - Fix helper method to detect dracut outfile format The method _get_boot_image_output_file_format_from_dracut_code is used in kiwi to match parts of the dracut code for the used output file format. Beginning with dracut-056 the code part checked has changed syntactically such that the match did no longer work. This commit increases the scope of the match and replace pattern and Fixes #2149
* Wed Jun 08 2022 Marcus Schäfer - Fixed handling of signing_keys in cmdline options When passing signing_keys with the --add-repo|--set-repo commandline options the delimiter to separate the single key information is a colon(:). However, this is stupid when kiwi expects the signing key to be references as an URI format like file://... Therefore this patch changes the delimiter from colon(:) to semicolon(;)
* Wed Jun 08 2022 Marcus Schäfer - Correct setfiles relabeling This change was inspired by a change done on Fedora\'s livecd-tools from here: livecd-tools/livecd-tools#236. The patch corrects issues with the setfiles SELinux relabel command. The issues become apparent when the host and guest policies differ. Thus it becomes required to explicitly set the policy to decouple from eventual unwanted host settings.
* Wed Jun 01 2022 Marcus Schäfer - Bump version: 9.24.39 → 9.24.40
* Wed Jun 01 2022 Carlos Bederián - Setup SELinux on every system prepare / build (#2148) Setup SELinux on every system prepare / build such that all image types benefit from it not only the disk (oem) type
* Sun May 29 2022 Marcus Schäfer - Install all of QEMU to Ubuntu arm integration test
* Sun May 29 2022 Marcus Schäfer - rename user to ubuntu for Ubuntu integration test
* Sun May 29 2022 Marcus Schäfer - Bump version: 9.24.38 → 9.24.39
* Sun May 29 2022 Marcus Schäfer - Move to sphinx>=5.0.0
* Sun May 29 2022 Marcus Schäfer - Bump version: 9.24.37 → 9.24.38
* Sun May 29 2022 Marcus Schäfer - Fixed sphinx extlinks rendering In Sphinx v5 warning will be treated as errors. This results in the following warning to be an error: extlinks: Sphinx-6.0 will require a caption string to contain exactly one \'%s\' and all other \'%\' need to be escaped as \'%%\'. This commit applies the required quoting
* Sun May 29 2022 Marcus Schäfer - Bump version: 9.24.36 → 9.24.37
* Sat May 28 2022 Marcus Schäfer - Added example aarch64 integration test for Ubuntu Created a RaspberryPI image description for Ubuntu(jammy) as integration test for building aarch64 images and added it to the integration test matrix
* Mon May 23 2022 Marcus Schäfer - Added --target-arch for image info Allow cross arch dependency solving
* Fri May 20 2022 Marcus Schäfer - update docs
* Fri May 20 2022 Marcus Schäfer - Add support for group id in users setting Allow to specify the group id in the groups list a user should belong to. The group id can be placed as part of the group name separated by a colon like in the following example: Please note kiwi checks if the provided group already exists and only creates a group if it is not already present in the system. As default groups are usually provided by the OS itself including its preferred group id, you will intentionally not be able to overwrite group id for existing groups. This Fixes #2064
* Thu May 19 2022 Marcus Schäfer - Bump version: 9.24.35 → 9.24.36
* Tue May 17 2022 Robert Schweikert - Subformats should also not be compressed when encryption is enabled (#2138) Subformats should also not be compressed when encryption is enabled This is a follow on change to bdba953. When the filesystem is encrypted the resulting image should not be compressed. Also explain why we ignore the compression seeting in the user configuration for encrypted images.
* Mon May 16 2022 Marcus Schäfer - Add support for prebuilt bootstrap package for apt When using the apt packagemanager kiwi required the use of debootstrap to create the initial rootfs. This works as long as there is always a main distribution repository available which follows the structure of the official debian mirrors. However if such a main distribution is not present or an alternative layout like e.g OBS repos is used, debootstrap will refuse to work. To allow for an alternative and without the dependency to debootstrap kiwi supports using a prebuilt bootstrap package providing the mini rootfs to serve as the bootstrap result. As all other package managers properly supports installation into an empty new root, this feature was only added when using the apt packagemanager
* Sun May 08 2022 Marcus Schäfer - Bump version: 9.24.34 → 9.24.35
* Sat May 07 2022 Marcus Schäfer - Allow more repo params to be set on the cmdline The repository parameters for signing keys, the component list the main distribution name for debian repositories and also the repository_gpgcheck could not be set via the commandline options --add-repo and/or --set-repo. This commit adds support for them and also updates the manual page accordingly
* Sat May 07 2022 Marcus Schäfer - Update ubuntu integration tests Build them against latest release (jammy). This Fixes #2128
* Sat May 07 2022 Marcus Schäfer - Bump version: 9.24.33 → 9.24.34
* Thu May 05 2022 Marcus Schäfer - Follow up fix for isolinux-config isolinux-config is called to update the search path inside of the isolinux binary. isolinux/syslinux is exclusive to the ix86 architecture and to BIOS firmware. Therefore the condition to actually call it should reflect this.
* Thu May 05 2022 Marcus Schäfer - Bump version: 9.24.32 → 9.24.33
* Thu May 05 2022 Marcus Schäfer - Fixed runtime check Fixed check_dracut_module_for_disk_overlay_in_package_list. The check complains if the dracut-kiwi-overlay module is not installed but overlay support was requested. This is correct but should only be done if the selected initrd system is dracut.
* Wed May 04 2022 ozboss <32305849+ozbossAATTusers.noreply.github.com>- Add option to set LUKS type to luks1 (#2126) Add option to set LUKS type to luks1 So far the LUKS type could be set to luks and luks2. However, what luks version the value \'luks\' evaluates to depends on how the distributor has packaged luks. Thus it\'s possible that \'luks\' is either luks1 or luks2. To also have the opportunity to explicitly specify luks1 this commit adds the opportunity in the schema.
* Wed May 04 2022 Marcus Schäfer - Update devel packages helper Added trang as needed when working on the schema
* Fri Apr 29 2022 Marcus Schäfer - Add support for dm integrity with secret key Allow to protect the opening of the integrity data map and journal through a keyfile. For setting the key file two new optional type attributes were added:
* integrity_keyfile
* integrity_metadata_key_description The key file format must be correct according to the selected integrity algorithm. As of now the kiwi default hmac-sha256 algorithm is used with the selected keyfile The optional integrity_metadata_key_description attribute allows to specify a custom description of an integrity key as it is expected to be present in the kernel keyring. The information is placed in the integrity metadata block. If not specified kiwi creates a key argument string instead which is based on the given integrity_keyfile filename. The format of this key argument is: :BASENAME_OF_integrity_keyfile_WITHOUT_FILE_EXTENSION
* Thu Apr 28 2022 Marcus Schäfer - Update get_disksize_mbytes to support clones When using partition clones the pre-calculation of the disk size needs to take this into account.
* Wed Apr 27 2022 Marcus Schäfer - Fixed UUID setup for XFS Make sure the log got replayed prior generating a new UUID
* Tue Apr 26 2022 Marcus Schäfer - Fixed scope of setup_isolinux_boot_path There is a method called setup_isolinux_boot_path which is encoded in the Iso class. The method allows to change the boot path in the isolinux binary and makes sense when the bootloader is selected to be isolinux. However, the method was called in the scope of the FileSystemIsoFs class which responsibility is to create an ISO filesystem. The creation of an ISO filesystem has no direct connection to a bootloader. Thus calling this method in the scope of the FileSystemIsoFs implementation is wrong and can lead to unexpected side effects. This commit moves the call of the method to the places where isolinux as a bootloader can still be used. This Fixes #2117
* Tue Apr 26 2022 Dan Čermák - Correct the URL to the dracut home page This fixes https://github.com/OSInside/kiwi/issues/2097
* Tue Apr 26 2022 Dan Čermák - Change the custom vagrant config file to 00-vagrant.conf If it is called 99-vagrant.conf, then anything \"before\" that, like 50-redhat.conf takes precedence and overrides our custom settings.
* Tue Apr 26 2022 Dan Čermák - Add Leap 15.4, SLE 15 SP4 & CentOS Stream 9 to the scripts tests
* Mon Apr 25 2022 Marcus Schäfer - Bump version: 9.24.31 → 9.24.32
* Mon Apr 11 2022 Marcus Schäfer - Add support for standalone dm integrity There is support in kiwi to use dm_integrity in combination with the LUKS header and dm_crypt. However there is also the use case to setup dm_integrity in standalone mode. This commit allows to create the dm_integrity layer outside of LUKS using /etc/integritytab to activate the map through a systemd generator if systemd is used. Regarding systemd it\'s required to use a version of system which provides: system-generators/systemd-integritysetup-generator. If this generator does not exist in the distribution it will also be missing in the dracut generated initrd and the boot will not be able to succeed. It\'s mentioned here because even newer distributions might be missing the generator Along with the implementation there are two new optional attributes in the section: standalone_integrity=\"true|false\" embed_integrity_metadata=\"true|false\" standalone_integrity activates/deactivates the dm_integrity map on top of the root filesystem. Similar to the veritysetup support there is the opportunity to create an embedded magic metadata block at the end of the device containing the root filesystem via embed_integrity_metadata
* Sun Apr 10 2022 Marcus Schäfer - Update per codacy smell
* Sun Apr 10 2022 Marcus Schäfer - Add support for part clones to the Disk interface The Disk class provides methods to create partition(s) and map names according to its scope and independent of the actual partition tools. For example: create_root_partition(). This commit adds an additional optional clone parameter to all methods for which we want to allow partition clones
* Sun Apr 10 2022 Marcus Schäfer - Be less strict in boot link to itself As part of the grub setup a link named \'boot\' inside of /boot is created pointing to itself \'boot -> .\'. The reason is to allow the bootloader config to find its files referenced as /boot/something independently if /boot is placed into an extra partition. However if an extra boot partition is used and a filesystem which does not support symlinks, e.g fat, that symlink creation should not lead to an error in the image build process as it is considered an optional safe link and not a mandatory pre-requisite
* Thu Apr 07 2022 Marcus Schäfer - Fixed TW arm rpi integration test Explicitly add ruby to the package list
* Wed Apr 06 2022 Marcus Schäfer - Bump version: 9.24.30 → 9.24.31
* Wed Apr 06 2022 Robert Schweikert - Fix LABEL detection (#2112) When only \"root=\" is specified on the kernel command line the match is located in the first group. Loop through the groups upon mtach to find what we are looking for.
* Tue Apr 05 2022 Robert Schweikert - Preserve LABEL setting (#2108) Preserve the LABEL= setting when the grub config file is re-generated. the GRUB_ENABLE_LINUX_LABEL setting does not exists upstream and not in any SUSE distribution. Set the grub setting such that LABEL is preserved on SUSE distros. (bsc#1197616)
* Tue Apr 05 2022 Marcus Schäfer - Fix test_setup_default_grub_empty_kernelcmdline The unit test exists to check that GRUB_CMDLINE_LINUX_DEFAULT is not set depending on the provided cmdline. The test exists for reasons explained in Issue #1650
* Fri Apr 01 2022 Fabian Vogt - Don\'t compress .appx containers (#2106) The container is actually inside and already compressed.
* Fri Apr 01 2022 Marcus Schäfer - Added new CloneDevice class Added CloneDevice class to the storage interface. The class allows to create clone(s) from a given source block device into a list of target block devices. The target block devices are clones of the source but prevents device naming conflicts for unique identifiers like the UUID. This is requires to still allow to boot from images containing device clones and needs to be handled by tools that might work on top of the cloned devices.
* Thu Mar 31 2022 Marcus Schäfer - Improve readability of shell commands The way the lsblk pipeline is constructed is improved to become easier to read by this commit
* Thu Mar 31 2022 Marcus Schäfer - Added set_uuid() method to FileSystem API Allow to set a custom UUID not only at creation time of a filesystem but also at a later point in time in an already existing filesystem
* Tue Mar 29 2022 David Cassany - Ensure BootloaderConfig resources are cleaned first This commit wraps the manual BootloaderConfig instance cleanup in disk builder into a try/finally scope. This way if KIWI is aborted or fails within this scope the BootloaderConfig is cleaned up first. Signed-off-by: David Cassany
* Tue Mar 29 2022 Marcus Schäfer - Fixed overlay root dracut module make sure there is always only one selection for the readonly root partition
* Tue Mar 29 2022 Marcus Schäfer - Update LUKS integration test for TW Use cipher options to make cryptomount work again
* Tue Mar 29 2022 Marcus Schäfer - Set LUKS(v1) for TW encryption integration test In Tumbleweed LUKS2 became the default but the grub cryptomount tool is not able to work with the v2 LUKS header. Thus the test explicitly builds against the former luks version for now
* Tue Mar 29 2022 Marcus Schäfer - Set LUKS2 for TW luks encryption integration test In Tumbleweed LUKS2 became the default also for grub and cryptomount, which requires to create a LUKS2 header in the dm_crypt layer
* Tue Mar 29 2022 Marcus Schäfer - Bump version: 9.24.29 → 9.24.30
* Mon Mar 28 2022 Tim Serong - Add ensure_empty_tmpdirs option for OCI containers (bsc#1197783) Since #1759 was merged, the contents of /run/ and /tmp/ are excluded from built images. This causes problems for some containers, notably Ceph when deployed in a Rook/k8s environment, which needs to have certain directories present inside /run/. This commit adds the ability to return to the previous behaviour and
*not
* empty those temporary directories, if you specify . Fixes: https://github.com/OSInside/kiwi/issues/2093 Signed-off-by: Tim Serong
* Fri Mar 25 2022 Marcus Schäfer - Fixed parsing of veritysetup output veritysetup uses tabs to align values. The way kiwi parsed the values did not strip out the tabs and later on keeps them in the verification metadata block. The unit test did not catch this because the mock output used for veritysetup did not contain tabs. This commit fixes the test to catch this condition and also fixes the code to handle all space characters (tabs, space, newlines) in a safe way
* Thu Mar 24 2022 Marcus Schäfer - Update contents of store_credentials result file The method added information about the PARTUUID as useful information. However, PARTUUID\'s are not supported by all partition tables. The Linux generated artificial values from the disk identifier are not wanted in this scope. As the information is not mandatory it\'s better to not provide it at all and avoid confusion to users.
* Thu Mar 24 2022 Marcus Schäfer - Make blkid call more robust Do not raise of blkid is not able to read the requested ID. It is expected that the methods of the BlockID class either returns a value or none but do not raise and cause the complete process to terminate
* Thu Mar 24 2022 Marcus Schäfer - Added embed_verity_metadata attribute Specifies to write a binary block at the end of the partition serving the root filesystem, containing information for dm_verity verification and to construct the device map
* Thu Mar 24 2022 Marcus Schäfer - Added create_verification_metadata method Along with creating a filesystem including device mapper features like dm_verity (see verity_blocks) or dm_crypt/dm_integrity (see luks) there is always the question where to store the metadata information required to setup the device map. This can include information about blocksizes, offset addresses and more. The create_verification_metadata() method allows to write a signed custom data block of a documented format at the end of the given block special which stores this type of information such that tools at boot time gets the opportunity to read this information. In this commit only information connected to the dm_verity feature activated via the verity_blocks attribute will be part of the verification block. With future changes other data might be added
* Wed Mar 23 2022 Marcus Schäfer - Added runtime check for by-partuuid use Added check_partuuid_persistency_type_used_with_mbr(). Not every partition table type supports UUIDs. We don\'t want to make use of the artifical values created by Linux if the partition table doesn\'t support it natively
* Wed Mar 23 2022 Marcus Schäfer - Support partuuid and label mounts in dracut module The 90kiwi-overlay dracut module was not able to parse the device link if done with PARTUUID or LABEL
* Wed Mar 23 2022 Marcus Schäfer - Added integration test for by-partuuid The test hooks into the existing test-image-embedded integration test for leap. As I plan to extend the tests specific to features actually only useful for special embedded images, I thought this would be the right place to start
* Mon Mar 21 2022 Marcus Schäfer - validate luksformat options validate options against the cryptsetup help info in a runtime check
* Mon Mar 21 2022 Marcus Schäfer - Handle LUKS type in its own attribute
* Sun Mar 20 2022 Marcus Schäfer - Fixed attribute description The overlayroot_verity_blocks attribute description contained outdated information
* Sat Mar 19 2022 Marcus Schäfer - Add support for verity setup on standard rootfs So far the verity support was only available with the overlayroot layout and the read-only squashfs root. This commit adds a new attribute: verity_blocks=\"number|all\" which allows to create the verity setup also on the standard root partition In addition to the change it was needed to extend the Filesystem API with an additional optional paramter to allow setup of the filesystem UUID. Having the opportunity to set the UUID at filesystem creation is generally useful and with regards to this particular change it became also required
* Fri Mar 18 2022 Neal Gompa - Allow Btrfs and XFS as options for the boot partition filesystem We already do this implicitly when we do not define this attribute and request a boot partition, so let us explicitly offer these as options too.
* Fri Mar 18 2022 Marcus Schäfer - Fix grub defaults for PARTUUID use Make sure to set GRUB_DISABLE_LINUX_PARTUUID to false when using by-partuuid
* Thu Mar 17 2022 Marcus Schäfer - Allow luks format options Added new luksformat element which allows to pass along options to the luksFormat call. This allows users to switch between LUKS and LUKS2 via e.g It also allows to pass along a set of options only available to LUKS2, e.g In addition to the new attribute the existing luks attribute can also be specified to read credentials from a keyfile by using the file:// source locator, e.g This Fixes #1898
* Sat Mar 12 2022 Marcus Schäfer - Fixed funny build_status.sh bug If the name of the repository starts with an \'F\' like in Fedora, the \'F\' is turned into a red escape sequence because it is assumed to be a failed status indicator :) The path here is probably also dumb as it just assumes there is a space after the status indicator. Well the complete script is not really a good one, but still helpful
* Sat Mar 12 2022 Marcus Schäfer - Update Fedora arm integration test Move test to Fedora 34
* Sat Mar 12 2022 Marcus Schäfer - Added container build test for Fedora Fedora systems uses buildah to create containers. There is no integration test for kiwi which tests building containers with buildah. This commit adds a build test to cover this path. Related to Issue #2020
* Fri Mar 11 2022 Marcus Schäfer - Fixed test-image-docker-derived for leap The test still used the additionaltags attribute with the latest schema (v7.5) which fails to validate because the attribute was moved to additionalnames
* Thu Mar 10 2022 Marcus Schäfer - Bump version: 9.24.28 → 9.24.29
* Thu Mar 10 2022 Marcus Schäfer - Don\'t bind mount /run during build time In commit #9512318 a new bind mount of /run into the root tree during build time was introduced. The bind mount was done because in my tests running podman from config.sh it did not work without /run bind mounted. However, it turned out that I was wrong because along with the provided methods to prepare cgroups and a custom runtime configuration method; setupContainerRuntime() it is not needed to have /run bind mounted. Thus this commit deletes the bind mount of /run and therefore Fixes #2067
* Thu Mar 10 2022 Marcus Schäfer - Fix github action running obs service refresh The curl command to send the POST request for running the obs remote service uses the --fail-with-body option. Unfortunately the ubuntu-latest container used to run the action comes with a curl version that does not support the option. Thus this commit removes the use of the option
* Wed Mar 09 2022 Marcus Schäfer - Move scope of veritysetup veritysetup was called as part of the disk builder. However, the veritysetup should be a responsibility of the classes which implements the sync_data method. This allows to use the creation of a verity hash format right after sync as a feature to these classes and in a broader scope. In addition to that change the VeritySetup::format method now returns the metadata from the format call and stores it as debug information to the log file. A concept to persistently store the verification metadata as part of the partition(s) will be a next step.
* Wed Mar 09 2022 Dan Čermák <45594031+dcermakAATTusers.noreply.github.com>- Style changes in container docs Reformulate the container building guide a bit
* Wed Mar 09 2022 Marcus Schäfer - Add support for custom size in filesystem classes Allow to create filesystems with an optional size parameter. If no size is provided the filesystem gets as big as the device which is the default and unchanged behavior. In addition a size counting from the beginning (>0) as well as a size counting from the end (<=0) can be provided.
* Wed Mar 09 2022 David Cassany - Update schema docs Signed-off-by: David Cassany
* Tue Mar 08 2022 Marcus Schäfer - Provide schema version v7.5 in spec
* Tue Mar 08 2022 Marcus Schäfer - Update descriptions to schema v7.5
* Sun Mar 06 2022 Marcus Schäfer - Support mount by PARTUUID In addition to by-label and by-uuid also support mounting by PARTUUID. Please note kiwi also makes sure that the grub generated config file uses the root=PARTUUID= notation and it\'s not clear if grub-mkconfig will persist making use of it. Nevertheless there are also systems which uses different methods to boot and it makes sense to support partuuid mappings as well
* Sun Mar 06 2022 Marcus Schäfer - Add support for partition cloning Support creating block level clones of certain partitions used in the image. Clones can be created from the root, boot and any partition listed in the element.
* Sun Mar 06 2022 Marcus Schäfer - Update cron for security scorecard Run weekly on Saturdays
* Fri Mar 04 2022 Marcus Schäfer - Add support for extended layout to msdos table This commit adds the following new type attribute If set it specifies to make use of logical partitions inside of an extended one. Effective only on type configurations which uses the msdos table type, it will cause the fourth partition to be an extended partition and all following partitions will be placed as logical partitions inside of that extended partition. This setting is useful if more than 4 partitions needs to be created in an msdos table. In addition to the support for extended/logical partitions the the attributes \'mountpoint\' and \'filesystem\' in the section becomes optional. This also allows to place partitions as placeholders not mounted into the system
* Fri Mar 04 2022 Marcus Schäfer - Added type hints for partitioner interface
* Fri Mar 04 2022 Marcus Schäfer - Bump version: 9.24.27 → 9.24.28
* Thu Mar 03 2022 Marcus Schäfer - Fixed unconditional grub2 package requirement The grub2 package does not exist on all distributions as a name provider independent of the architecture. On for example Debian and Ubuntu the packages are handled differently and grub2 is only provided on supported architectures. Thus the spec file should set the grub2 requirement only if the distribution provides it in any case
* Wed Mar 02 2022 Marcus Schäfer - Bump version: 9.24.26 → 9.24.27
* Tue Mar 01 2022 Marcus Schäfer - Added overlayroot_verity_blocks attribute Setting this attribute to a number or \'all\' in an overlayroot configuration will create a dm verity hash from the number of given blocks (or all) placed at the end of the squashfs compressed read-only root filesystem. For later verification of the device, and without further image description settings, the credentials information produced by veritysetup from the cryptsetup tools, is created as a file in /boot/overlayroot.verity and is stored as such into the image by default.
* Tue Mar 01 2022 Marcus Schäfer - Fixed disk.sh caller environment The documentation explains the disk.sh script to be called from inside of the image root as it exists on the block layer. The disk.sh script is therefore also called after the sync of the unpacked image root tree to the block layer. The implementation however, was only partially calling disk.sh from such an environment. In fact the environment was only the mountpoint of the root partition but this is not the complete system regarding layouts that uses extra partitions and/or volumes. This commit introduces the use of the new class ImageSystem and calls disk.sh in the way it was designed and documented.
* Tue Mar 01 2022 Marcus Schäfer - Added ImageSystem class The class responsibility is to provide access to the image root system from the block layer of the image scope
* Tue Mar 01 2022 Marcus Schäfer - Prevent superfluous filesystem creation In case of an overlayroot setup and the request for no extra write partition, it is not needed to create a filesystem for the write space which never gets synced to the image
* Sat Feb 26 2022 Marcus Schäfer - Bump version: 9.24.25 → 9.24.26
* Sat Feb 26 2022 Marcus Schäfer - Fixed destructor test on oci_tools/buildah_test.py Calling del() from teardown breaks when the method is called through teardown_method
* Sat Feb 26 2022 Marcus Schäfer - Bump version: 9.24.24 → 9.24.25
* Sat Feb 26 2022 Marcus Schäfer - Support nose and xunit style tests The modifications in this commit allows the unit tests to run on both, pytest 6.x (nose test layout) and the new pytest 7.x (xunit test layout). This Fixes #2072 in a much nicer way. Thanks much to AATTsmarlowucf
* Fri Feb 25 2022 Marcus Schäfer - Update unit test to work in obs Some unit tests fails if they run in an obs environment. This is because the implementation checks the runtime envoironment and behaves differently if the system is an obs worker. The unit tests has to explicitly set this condition right for the test
* Fri Feb 25 2022 Marcus Schäfer - Revert \"Unit test adaptions to pytest v7\" This reverts commit 0dc2e803e0e8059c54a0ea23960245286675c86c. The pytest interface from version v6 to v7 has received changes which requires the tests to be adapted to work for either the old or the new interface. As there are still many distributions which uses v6 as the standard we decided to revert back the adaptions done to support v7 and create a version requirement to v6 in .virtualenv.dev-requirements.txt This Fixes #2072
* Wed Feb 23 2022 Marcus Schäfer - Added overlayroot_readonly_partsize attribute Specifies the size in MB of the partition which stores the squashfs compressed read-only root filesystem in an overlayroot setup. This Fixes #2068
* Wed Feb 23 2022 Marcus Schäfer - Update to scorecard CI 1.0.4
* Tue Feb 22 2022 Marcus Schäfer - Added debootstrap log info to exception message In case debootstrap fails there is more detailed information in a logfile written by debootstrap itself. This commit changes the exception information to contain this log information if present. Related to Issue #1800
* Sun Feb 20 2022 Marcus Schäfer - Bump version: 9.24.23 → 9.24.24
* Sun Feb 20 2022 Marcus Schäfer - Added overlayroot_write_partition attribute For the oem type only, allows to specify if the extra read-write partition in an overlayroot setup should be created or not. By default the partition is created and the kiwi-overlay dracut module also expect it to be present. However, the overlayroot feature can also be used without an initrd and under certain circumstances it is handy to configure if the partition table should contain the read-write partition or not.
* Sat Feb 19 2022 Matt Coleman - Use DEB822-formatted .sources files instead .list files for APT
* Tue Feb 15 2022 David Cassany - Support additional names for docker containers Docker containers used to support the attribute `additionaltags` which was used to provide multiple tags for the same image. Since only tags were supported this commit renames the attribute to `additionalnames` and now supports tags and names witht he following syntax:
* \':\' -> adds a full docker image reference including name and tag
* \':\' -> adds an additional tag while reusing the former name
* \'\' -> adds an additional name while reusing the former tag Fixes #2045 Signed-off-by: David Cassany
* Mon Feb 14 2022 Marcus Schäfer - Follow up fix on force deleting debs Also remove eventual post scripting prior force removal of deb packages. Similar inconsistencies as with the pre scripts can occur on force removal. We want the operation to be successful in force mode even if that means to leave a dirty state.
* Sat Feb 12 2022 Marcus Schäfer - Add support for pre_disk_sync.sh script The optional pre_disk_sync.sh script is executed for the disk image type oem only and runs right before the synchronisation of the root tree into the disk image loop file. The script hook can be used to change content of the root tree as a last action before the sync to the disk image is performed. This is useful for example to delete components from the system which were needed before or cannot be modified afterwards when syncing into a read-only filesystem.
* Thu Feb 10 2022 Marcus Schäfer - Create ci-scorecards-analysis.yml Create security health metrics score card
* Tue Feb 08 2022 Marcus Schäfer - Fixup inplace podman storage and container conf Newer versions of podman requires runroot and graphroot to be explicitly set in storage.conf. Newer versions of podman no longer reads the engine.cgroups setting on containers.conf and prints a \'Failed to decode the keys [\\\"engine.cgroups\\\"]\' warning message This commit fixes storage.conf and containers.conf written by kiwi if the setupContainerRuntime method is used in scripts.
* Tue Feb 08 2022 David Cassany - Make use of container name in OCI images Fixes #2050 Signed-off-by: David Cassany
* Mon Feb 07 2022 Marcus Schäfer - Bump version: 9.24.22 → 9.24.23
* Mon Feb 07 2022 Marcus Schäfer - Fixed name of secret variable The ci-update-build-tests action used a wrong variable name which does not exist in the github secrets. This commit fixes it and uses the correct variable name
* Mon Feb 07 2022 Marcus Schäfer - Bump version: 9.24.21 → 9.24.22
* Mon Feb 07 2022 Marcus Schäfer - Revert \"Revert \"Fixed MicroOS build test\"\" This reverts commit 8c4464b8ff2af2642439ce92e1e2be497f2b0f4d. snapper default config has moved from /etc to /usr/share now hopefully for the last time
* Mon Feb 07 2022 Marcus Schäfer - Fixed unit tests The pytest interface setup() method call has changed in a way that an additional parameter is passed to the method which leads to a python error at invocation time if the setup method does not define it.
* Mon Feb 07 2022 Neal Gompa - build-tests: Update CentOS 8 test appliance to CentOS Stream 8 CentOS Linux 8 is now EOL, so switch over to CentOS Stream 8.
* Sat Feb 05 2022 Marcus Schäfer - Added API for BLS and systemd-boot support Bootloaders implementing the Boot Loader Spec (BLS) are not directly compatible with the original Bootloader Class design in kiwi. Because of that an interface class which translates the original API into calls following BLS was added. This allows us to keep the implementations in the Builder classes and the public BootLoader interface untouched. In addition to the BLS API an implementation to support the systemd-boot loader is part of this commit too. An example type definition to use systemd-boot with an EFI disk image type looks like the following: The implementation uses bootctl and kernel-install tools provided from systemd and expects a proper integration of systemd-boot by the distribution maintainers This Fixes #1935
* Fri Feb 04 2022 Marcus Schäfer - Fixed handling of oem reboot settings There are oem settings called oem-reboot, oem-reboot-interactive as well as oem-shutdown and oem-shutdown-interactive. When used the information is passed along to the profile but not evaluated by any initrd code. I don\'t know where on the way we lost the code that actually works with these settings but this commit makes them effective. This Fixes #2056
* Thu Feb 03 2022 Dirk Müller - treat armv8l as armv7hl openSUSE switched from armv7hl buildworkers to aarch64 in 32bit mode which identifies itself as \"armv8l\" in uname -m.
* Tue Feb 01 2022 Marcus Schäfer - Bump version: 9.24.20 → 9.24.21
* Mon Jan 31 2022 Marcus Schäfer - Fixed UUID used in grub early boot script In case the system is luks encrypted the UUID of the root partition was used in the grub early boot script. However, this condition is only correct if in addition to the luks encryption the boot area is on crypto too. If boot is not on crypto the UUID must be the boot partition and not root. Only if root AND boot is on crypto the kiwi created early boot script includes the grub cryptomount calls.
* Sat Jan 29 2022 Marcus Schäfer - Bump version: 9.24.19 → 9.24.20
* 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.
* Fri Nov 12 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
* Sun Nov 07 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
* Tue Oct 12 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
* Thu Sep 23 2021 Marcus Schäfer - Bump version: 9.23.60 → 9.23.61
* Thu Sep 23 2021 Luis González Fernández - Fix secure boot for ubuntu based images This patch fixes #1911 and makes secure boot images to work again in Ubuntu 20.04 Co-authored-by: Luis Ladislao Gonzalez Fernandez
* Wed Sep 22 2021 Marcus Schäfer - Run scripts via a screen session in debug mode When creating a custom script it usually takes some iterations of try and testing until a final stable state is reached. To support developers with this task kiwi calls scripts associated with a screen session. The connection to screen is only done if kiwi is called with the --debug option.
* Tue Sep 21 2021 Marcus Schäfer - Delete obsolete release stage from gitlab Now done as github action
* Tue Sep 21 2021 Marcus Schäfer - Bump version: 9.23.59 → 9.23.60
* Tue Sep 21 2021 Marcus Schäfer - Fixed pypi tox release target Only needs the creation of the sdist tarball
* Tue Sep 21 2021 Marcus Schäfer - Bump version: 9.23.58 → 9.23.59
* Tue Sep 21 2021 Marcus Schäfer - Moved pages and pypi publish to github actions Moved gh-pages doc update and pypi upload from gitlab to github actions
* Tue Sep 21 2021 Marcus Schäfer - Fixed RNC schema definition From the compact form of the schema the RNG schema is created. The latest changes to support the target_dir attribute in the section were added wrong to the compact form of the schema
* Fri Sep 17 2021 Marcus Schäfer - Fixed Tumbleweed integration tests 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 Sep 15 2021 Marcus Schäfer - Bump version: 9.23.57 → 9.23.58
* Wed Sep 15 2021 Marcus Schäfer - Fixed MANIFEST Make sure all test data is included into the source tarball not only a recursive inclusion of a portion of it. This is needed to run tests at build time from the pypi provided source tarball
* Wed Sep 15 2021 Marcus Schäfer - Bump version: 9.23.56 → 9.23.57
* Tue Sep 14 2021 Marcus Schäfer - Fixed python manifest Deleted no longer existing doc source from manifest and add the full set of documentation sources
* Fri Sep 10 2021 Marcus Schäfer - Bump version: 9.23.55 → 9.23.56
* Fri Sep 10 2021 Marcus Schäfer - Only wipe bundle dir when required The given result bundle dir must only be wiped if the request to turn the result files into an rpm was given. Only in this case the given bundle dir must start empty
* Fri Sep 10 2021 Marcus Schäfer - Fixed uninstall handling via dnf, microdnf, zypper The above package managers supports uninstall instructions like \'iwl
*\'. In kiwi there was code checking via rpm if the packages given to uninstall actually exists. That code does not work if the given package to uninstall is an instruction that matches a pattern. Therefore if we use the uninstall section in the kiwi image description, just pass the provided information to the package manager and don\'t try to be clever in kiwi itself.
* Thu Sep 09 2021 Marcus Schäfer - Allow to set --logfile for result namespace Setting a logfile for e.g \'kiwi-ng result bundle ...\' is useful and should be possible
* Thu Sep 09 2021 Marcus Schäfer - Bump version: 9.23.54 → 9.23.55
* Wed Sep 08 2021 Marcus Schäfer - Added support for building rpm package from bundle With the new option --package-as-rpm it is possible to call the kiwi result bundler such that the image build results gets packaged into an rpm. I think this is a handy feature to transport image builds via repositories
* Wed Sep 08 2021 Marcus Schäfer - Fixed MicroOS integration test With ignition/combustion in place it\'s not allowed to use tmp as a subvolume
* Tue Sep 07 2021 Marcus Schäfer - Bump version: 9.23.53 → 9.23.54
* Mon Sep 06 2021 Marcus Schäfer - Fixed condition for GRUB_DISABLE_LINUX_UUID=\"true\" The grub config parameter GRUB_DISABLE_LINUX_UUID must only be set if the device persistence setting is not UUID. However, in kiwi UUID device names are the default and doesn\'t have to be expressed explicitly. Therefore the condition to check for different than \'by-uuid\' is wrong for the default case were no device persistence setting exists. This results in a wrong grub option to be set. This commit fixes it in a way to disable UUID device names in grub if the only other device persistency setting in kiwi named: \'by-label\' is explicitly configured. This Fixes #1842
* Mon Sep 06 2021 Marcus Schäfer - Added force_trailing_slash argument to sync_data A speciality of the rsync tool is that it behaves differently if the given source_dir ends with a \'/\' or not. If it ends with a slash the data structure below will be synced to the target_dir. If it does not end with a slash the source_dir and its contents are synced to the target_dir. For example: source └── some_data 1. $ rsync -a source target target └── source └── some_data 2. $ rsync -a source/ target target └── some_data The parameter force_trailing_slash in the DataSync::sync_data method can be used to make sure rsync behaves like shown in the second case. This Fixes #1786
* Mon Sep 06 2021 Marcus Schäfer - Added type hints for DataSync class
* Fri Sep 03 2021 Marcus Schäfer - Bump version: 9.23.52 → 9.23.53
* Thu Sep 02 2021 Marcus Schäfer - Add missing bootloader tests Merging #1850 exposed the missing bootloader tests. This reminds me to move the gitlab driven unit tests to github actions because for forked repos the gitlab tests does not run but github actions tests would run
* Tue Aug 31 2021 Robert Schneider <48757730+data-intelligence-robotAATTusers.noreply.github.com>- Fix logging of ISO publisher
* Tue Aug 31 2021 Mexit - Improving text formatting
* Mon Aug 30 2021 Mexit - Added documentation for grub2 loopback ISO images
* Fri Aug 27 2021 Marcus Schäfer - Bump version: 9.23.51 → 9.23.52
* Fri Aug 27 2021 Marcus Schäfer - Fixed pep E711 code smell comparison to None should be \'if cond is not None:\'
* Fri Aug 27 2021 Marcus Schäfer - Bump version: 9.23.50 → 9.23.51
* Fri Aug 27 2021 Robert Schweikert - No compression with encryption When an image is setup to use encryption the resulting image appears as a random stream of bytes and cannot be compressed. Simply skip the compression in this case.
* Thu Aug 26 2021 Marcus Schäfer - Fix typo in schema documentation ciper -> cipher. Fix originally done by Robert Schweikert and moved to the right place, see Issue #1906 for details
* Thu Aug 12 2021 Jesus Bermudez Velazquez - Allow target dir for archive - Add the option to specify a target directory to unpack the archive - Update doc for target dir attribute This Fixes #1794
* Tue Aug 10 2021 Marcus Schäfer - Log deprecation errors to stderr Make sure information about deprecated shell methods logs their information to stderr. This will cause the error message to be exposed to the user and not only in the log file
* Tue Aug 10 2021 Marcus Schäfer - Fixed TW build test Explicitly added packages that causes conflicts due to the busybox alternatives
* Tue Aug 10 2021 Marcus Schäfer - Bump version: 9.23.49 → 9.23.50
* Thu Aug 05 2021 Marcus Schäfer - Added support for repo customization script repo files allows for several customization options which could not be set by kiwi through the current repository schema. As the options used do not follow any standard and are not compatible between package managers and distributions the only generic way to handle this is through a script which is invoked with the repo file as parameter for each file created to describe a repo for the selected package manager. This allows users to update/change the repo file content on their individual needs. In the kiwi description the path to the custom script can be specified as follows This Fixes #1896
* Fri Jul 30 2021 Marcus Schäfer - Bump version: 9.23.48 → 9.23.49
* Thu Jul 29 2021 Marcus Schäfer - Fixed fstab entry for swap on LVM If an LVM setup is used together with a swapspace the swap is created as a volume in the volume group. The required fstab entry to activate swap was not using the LVM exposed device but the UUID of the low level block layer. This low level device is not created by udev because LVM takes over precedence in this case.
* Sat Jul 24 2021 Marcus Schäfer - Bump version: 9.23.47 → 9.23.48
* Sat Jul 24 2021 Marcus Schäfer - Fixed LVM get_volumes Due to the change on the temporary directory yet another error in the volume manager classes for LVM got exposed.
* Sat Jul 24 2021 Marcus Schäfer - Bump version: 9.23.46 → 9.23.47
* Sat Jul 24 2021 Marcus Schäfer - Fixed LVM/btrfs volume based image builds Due to the change on the temporary directory an error in the volume manager classes for LVM and btrfs was exposed. There was code which uses a sub-part of the volume mount point directory which is a tempdir based directory name. The sub-part was choosen by an index based path split which worked for /tmp but no longer for /var/tmp. With tempdir now being also a commandline option this code has to become more robust.
* Fri Jul 23 2021 Marcus Schäfer - Bump version: 9.23.45 → 9.23.46
* Thu Jul 22 2021 Marcus Schäfer - Do not expose the delete feature in Temporary We do not want to expose the ability to create temporary data that doesn\'t get auto deleted at the end of its scope
* Thu Jul 22 2021 Marcus Schäfer - Refactor recovery archive creation The creation of the recovery archive was based on a tempfile which then gets moved to the final target file. This is bad because if causes the tempfile cleanup to raise an exception unless you specify delete=False. Creating a tempfile with delete=False however, negates the reason for creating self managed temporary data. Thus this code was refactored to create the recovery archive file at its final destination from the beginning on
* Wed Jul 21 2021 Marcus Schäfer - Moving temp data handling to its own namespace Moving use of mkdtemp, NamedTemporaryFile and TemporaryDirectory into its own class called Temporary: By default all temporary data is created below /var/tmp but can be changed via the global commandline option --temp-dir. This Fixes #1870
* Wed Jul 21 2021 Marcus Schäfer - Bump version: 9.23.44 → 9.23.45
* Tue Jul 20 2021 Marcus Schäfer - Handle UnicodeDecode errors more gracefully If the Codec.decode() method cannot encode the given data to utf-8 an Encoding exception is raised which causes kiwi to raise a KiwiDecodingError. That way to handle the error causes an image build to fail. However, this sort of error for example happens if the .changes file of a package contains invalid characters. From a user perspective this cannot be fixed and you cannot build the image because of a stupid character error in a .changes file outside your control. Because of this reason this commit handles the decode error case differently and applies the \'replace\' strategy on error. The characters in questions gets replaced and the rest of the data which can be decoded is returned.
* Mon Jul 19 2021 Marcus Schäfer - Install mypy library stubs for mock
* Wed Jul 14 2021 Marcus Schäfer - Added documentation for oem-skip-verify element
* Wed Jul 14 2021 Marcus Schäfer - Increase size of efi fat image For ISO images an embedded efi fat image is needed to boot. As consequence of adding the mok manager it can happen that the size of the efi fat image is too small. With this commit the size is increased to prevent an out of space issue
* Wed Jul 14 2021 Marcus Schäfer - Bump version: 9.23.43 → 9.23.44
* Wed Jul 07 2021 Dan Čermák - Add tests for baseVagrantSetup
* Wed Jul 07 2021 Dan Čermák - Set the directory permissions of /home/vagrant/.ssh to 0700 in baseVagrantSetup
* Wed Jul 07 2021 Dan Čermák - Don\'t modify main sshd_config file via baseVagrantSetup In Tumbleweed we switched from shipping sshd\'s config file in /etc to /usr/etc, but baseVagrantSetup was not respecting that. So instead of modifying the main config file, we instead create a custom file in /etc/ssh/sshd_config.d/ with our custom setting which is much more robust accross distributions. However, if /etc/ssh/sshd_config.d/ does not exist, then we fall back to adding our settings to /etc/ssh/sshd_config.
* Tue Jul 06 2021 Marcus Schäfer - Fixed LUKS keyfile permission bits LUKS keyfile should use 0600 file permission flags
* Tue Jul 06 2021 Marcus Schäfer - Fixed secure boot fallback setup Make sure MokManager gets copied. The name and location of the mok manager is distribution specific in the same way as the shim loader. Thus we need to apply a similar concept for looking it up. This Fixes bsc#1187515
* Tue Jul 06 2021 Marcus Schäfer - Improve live image integration test Build one live image for Standard EFI+BIOS boot and another variant that support SecureBoot+BIOS boot
* Mon Jul 05 2021 Marcus Schäfer - Fixed grub cmdline setup with custom root If the kiwi kernelcmdline attribute contains root=... information it is extracted from being written to GRUB_CMDLINE_LINUX_DEFAULT. However, the regexp to extract the root=... information was broken and deleted more elements of the cmdline information than just the root device information. This commit fixes the regexp to only delete the root=... information taking into account that every kernel parameter is delimited by \'\\s\' This Fixes #1875
* Mon Jul 05 2021 Marcus Schäfer - Bump version: 9.23.42 → 9.23.43
* Mon Jul 05 2021 Dan Čermák - Re-add suseImportBuildKey suseImportBuildKey is not required during the image build as kiwi imports the correct keys by itself. However, the created images lack the repository signing keys and any `zypper` commands will thus fail. This fixes https://github.com/OSInside/kiwi/issues/1876
* Fri Jul 02 2021 Marcus Schäfer - Bump version: 9.23.41 → 9.23.42
* Thu Jul 01 2021 Marcus Schäfer - Fixed fedora integration test builds Maintain the repos in the obs prj config which prevents the weird \"nothing provides kernel-obs-build\" error
* Wed Jun 30 2021 Marcus Schäfer - Bump version: 9.23.40 → 9.23.41
* Wed Jun 30 2021 Dan Čermák - Remove util-linux-systemd & util-linux Requires from dracut-kiwi-overlay These dependencies are pulled in via dracut-kiwi-lib.
* Wed Jun 30 2021 Dan Čermák - Add missing util-linux-systemd Requires to dracut-kiwi-[live,libs]
* Wed Jun 30 2021 Marcus Schäfer - Fixed test-image-orthos integration test The test was missing btrfs_root_is_snapshot which is required when using btrfs on tumbleweed.
* Tue Jun 29 2021 Marcus Schäfer - Fixed test-image-disk-legacy integration test The test did not set a device filter for ramdisk devices but activates unattended mode. In this mode the first device in the list is taken and this is a ramdisk device which is by default too small to be used for the installation. Thus the install usually fails. This commit sets the device filter for ramdisk devices such that only associated disk devices can be used for the install process, which is the purpose of this test. This is related to Issue OSInside/kiwi-functional-tests#8
* Tue Jun 29 2021 Marcus Schäfer - Bump version: 9.23.39 → 9.23.40
* Tue Jun 29 2021 Marcus Schäfer - Mount dev and proc filesystems prior dracut In newer versions of dracut /dev and /proc must be mounted for dracut to work correctly. If not present the resulting initrd is incomplete. This Fixes #1867
* Mon Jun 28 2021 Neal Gompa - Use namespaced files in /var/tmp for large temporary files Previously, kiwi created staging image files as plain temporary files in /tmp, which causes issues on operating systems where /tmp is tmpfs. Notably, image builds would fail with \"no space left on the device\" because the tmpfs was not big enough for everything to exist there. To fix this, we change to use /var/tmp, and additionally add a prefix for our temporary files so that the user knows which ones kiwi created. Fixes: https://github.com/OSInside/kiwi/issues/1866
* Fri Jun 25 2021 Tom Schraitle - Use latest stylesheet in STYLEROOT Use \"suse2021-ns\" instead of \"suse2013-ns\" due to new branding.
* Wed Jun 23 2021 Dan Čermák - Add missing util-linux-systemd dependency to dracut-kiwi-overlay The script kiwi-overlay-root.sh requires lsblk which is provided by util-linux-systemd. If that package is missing in the final image, then booting an overlayroot image hangs with: dracut-pre-mount[480]: //lib/dracut/hooks/pre-mount/30-kiwi-overlay-root.sh: line 46: lsblk: command not found
* Tue Jun 22 2021 Marcus Schäfer - Start moving CI test from gitlab to actions Moving the linter and unit tests to github workflows and out of the gitlab CI system has the advantage that pull request from forked repos will run the tests. In the long run I think we should move away completely from gitlab CI and use github actions as this will reduce the number of external services used in the kiwi project. This commit starts with the most simple parts: unit and type tests, doc rendering and code style
* Mon Jun 21 2021 Marcus Schäfer - Make sure chat link points to Element not Riot Riot has changed to Element. The index page on kiwi still uses the old location. This updates the information how to use the Matrix channel and the kiwi room name. This Fixes #1854
* Mon Jun 21 2021 Marcus Schäfer - Bump version: 9.23.38 → 9.23.39
* Mon Jun 21 2021 Dan Čermák <45594031+dcermakAATTusers.noreply.github.com>- Functions integration tests (#1851) Add integration tests for functions.sh Implement a container based test system to run shell code for testing. The concept utilizes pytest-testinfra and runs a container per test. The nested container in a container feature is supported by the github actions workflow. Thus the integration of this testing concept runs in the github actions CI rather than on gitlab
* Mon Jun 21 2021 Marcus Schäfer - Don\'t shell out for calling dnf refactor the dnf call to install packages and groups in one call. This allows to prevent calling dnf through a shell. For installing of a package group the group ID name is expected. This Fixes #1856
* Mon Jun 21 2021 Robert Schweikert - - Improve the error message if the config file cannot be parsed.
* Mon Jun 21 2021 Marcus Schäfer - Do not shell out for calling microdnf. In fact it can be counter productive if the shell evaluates eventually existing package name/instruction patterns. This is related to Issue #1856
* Mon Jun 21 2021 Marcus Schäfer - Prevent calling pacman through a shell There is no reason to shell out for calling pacman. In fact it can be counter productive if the shell evaluates eventually existing package name/instruction patterns. This is related to Issue #1856
* Sat Jun 19 2021 Marcus Schäfer - Make sure mypy stubs will be installed
* Thu Jun 17 2021 Mexit - Update grub2.py
* Thu Jun 17 2021 Mexit - Code improvement
* Thu Jun 17 2021 Mexit - Code improvement
* Wed Jun 16 2021 Mexit - Allow the ISO to be booted from grub directly
* Wed Jun 16 2021 Marcus Schäfer - Allow creation of LUKS system with empty key To support cloud platforms better we should allow the creation of an initial(insecure) LUKS encrypted image with an empty passphrase/keyfile. This Fixes bsc#1187461 and bsc#1187460
* Fri Jun 11 2021 Marcus Schäfer - Bump version: 9.23.37 → 9.23.38
* Thu Jun 10 2021 Marcus Schäfer - Fixed cleanup of temporary directory In the custom kiwi initrd build process a temporary directory holding a copy of the initrd root tree is created. That data got never cleaned up. This commit uses a TemporaryDirectory object from the tempfile module to make sure it gets deleted once the execution scope is done. This Fixes #1837
* Mon Jun 07 2021 Marcus Schäfer - Bump version: 9.23.36 → 9.23.37
* Mon Jun 07 2021 Marcus Schäfer - Delete deprecated shell functions from docs suseActivateDefaultServices suseSetupProductInformation suseImportBuildKey suseConfig baseCleanMount baseSetupUserPermissions baseGetPackagesForDeletion baseGetProfilesUsed baseStripMans baseStripDocs baseStripInfos Rpm
* Sun Jun 06 2021 Marcus Schäfer - Fixed creating grub bios module If no prebuilt grub bios module was found, kiwi creates one. In this case kiwi searches for the grub modules and runs the grub mkimage tool. The search for the modules for the bios module used the host system (/) grub and that fails if the host has packaged grub differently than the image target. This fix moves the lookup into the image root directory which is the correct place to lookup the grub data
* Sat Jun 05 2021 Marcus Schäfer - Bump version: 9.23.35 → 9.23.36
* Sat Jun 05 2021 Marcus Schäfer - Fixed building with custom kiwi initrd setup The change from allowing to build with initrd_system=\"none\" broke the build for initrd_system=\"kiwi\". This commit fixes the regression
* Sat Jun 05 2021 Marcus Schäfer - Use zypper --gpg-auto-import-keys option When building an image against self managed repos the auto import of the repo gpg key makes sense to me
* Sat Jun 05 2021 Marcus Schäfer - Cleanup integration tests from obsolete methods Cleanup config.sh scripts calling obsolete helper methods
* Sat Jun 05 2021 Marcus Schäfer - Cleanup integration tests from obsolete methods Cleanup config.sh scripts calling obsolete helper methods
* Sat Jun 05 2021 Marcus Schäfer - Bump version: 9.23.34 → 9.23.35
* Fri Jun 04 2021 gnuninu - Corrected preferences timezone code tag
* Tue Jun 01 2021 Marcus Schäfer - Refactor config functions code Reorganize the code into more readable areas like methods present as helpers, methods for customers, methods which are distribution specific and also methods that are deprecated and give a good reason why they are deprecated when they get called. This is related to Issue #1828
* Mon May 31 2021 Marcus Schäfer - Revert \"Switch test-image-live-disk to Fedora 33\" This reverts commit f80549474c4baa120e6e228bacc7b4a075265753.
* Mon May 31 2021 Marcus Schäfer - Switch test-image-live-disk to Fedora 33
* Fri May 28 2021 Marcus Schäfer - Fixed codacy code smells
* Fri May 28 2021 Marcus Schäfer - Add strong typing for the following API methods kiwi/boot/image/base.py kiwi/boot/image/builtin_kiwi.py kiwi/boot/image/dracut.py This references issue #1644
* Thu May 27 2021 Marcus Schäfer - Added support for skipping initrd creation Embedded systems and other customer use cases sometimes doesn\'t require an initrd. So far the initrd creation was a mandatory step in the process. With this commit it\'s possible to configure and therefore skip the creation and setup of an initrd. Using this feature comes with a price. Without an initrd the task of mounting the specified root=DEVICE_SPEC now becomes a task of the kernel. If the kernel doesn\'t have the required filesystem driver compiled in or the mount process of the device is not just a simple mount action, the boot of such an appliance will fail
* Thu May 27 2021 Dan Čermák - Remove grep and find from suseSetupProduct
* Thu May 27 2021 Joachim Gleissner - config/functions.sh: Avoid non-zero exit status In baseStripDocs and baseStripFirmware avoid non-zero exit status of grep. This allows the functions to be used in a script that sets the exit-on-error flag.
* Fri May 21 2021 Marcus Schäfer - Bump version: 9.23.33 → 9.23.34
* Fri May 21 2021 Marcus Schäfer - Make sure we use sphinx >= 4.0.2
* Fri May 21 2021 Marcus Schäfer - Revert \"Revert \"Fix installation of man pages\"\" This reverts commit db7410f3c5b7b101ec0974cc24de0400c491f065.
* Fri May 21 2021 Marcus Schäfer - Revert \"Make sure man pages are part of the sdist tarball\" This reverts commit 3bf80506c4bbe381b66febdd38df93e65103ffb6.
* Fri May 21 2021 Marcus Schäfer - Bump version: 9.23.32 → 9.23.33
* Fri May 21 2021 Marcus Schäfer - Make sure man pages are part of the sdist tarball Due to the move of man pages in sphinx the MANIFEST.in has to be updated to provide the man pages in the sdist tarball
* Fri May 21 2021 Marcus Schäfer - Revert \"Fix installation of man pages\" This reverts commit 286b26b5b6598285bf6eb26a1f5c9200c925b529.
* Fri May 21 2021 Marcus Schäfer - Fixed missing shebang in config.sh The ubuntu integration test config.sh script was missing the shebang to let the script code run through bash
* Fri May 21 2021 Neal Gompa - Fix installation of man pages The generated source archive on PyPI has the man page files in ./doc/build/man instead of ./doc/build/man/8. Adjust the Makefile to use the correct path to install the man pages.
* Fri May 21 2021 Marcus Schäfer - Bump version: 9.23.31 → 9.23.32
* Thu May 20 2021 David Cassany - Do not return default stdout if it is no raising on failure This commit prevents the use of a default stdout and stderr in case return code reports errors and it is not raising an exception. If we are not raising an exception there is no specific need to artificially append some stdout and stderr default message, we just behave as if there was no error.
* Thu May 20 2021 Marcus Schäfer - Update Ubuntu integration test for system settings In Debian based distributions the kiwi built in way to setup locale, keyboard and timezone via systemd tools does not work because not(yet) provided by the distribution. This commit adds a reference implementation in the Ubuntu integration test to demonstrate how the settings given in the kiwi image description needs to be handled to make them effective in the later image. This Fixes #1787
* Thu May 20 2021 Marcus Schäfer - Add log information on grub search There is a method in kiwi which searches for grub files. As grub is packaged differently within the distributions a dynamic lookup is needed. However, the result and where kiwi looked it up was not part of the log file. In terms of issues like the one from Issue #1754 it would be very handy to know about this information. Thus this commit adds debug information to the log file regarding what grub files are searched and where and if found
* Thu May 20 2021 Marcus Schäfer - Fixed coday complains
* Thu May 20 2021 Marcus Schäfer - Make dracut version check more robust The check_dracut_module_versions_compatible_to_kiwi() runtime check calls the package manager from the host and reads the package database from the image root. Doing this requires the package database in the image to be compatible with the package manager on the host. However this cannot be guarenteed and it is more robust to chroot into the image root and call the package manager from there. However, this change also comes with the cost that it\'s required to have a package manager available in the image root tree. Therefore along with the chroot based call, eventual exceptions from the call are now catched and leads to a debug message in the log file but will not lead the runtime check to fail. I consider the cases without a package database inside of the image to be less critical than the incompatibility issue between the host tooling and the package database in the image. This Fixes bsc#1185937
* Tue May 18 2021 Marcus Schäfer - Bump version: 9.23.30 → 9.23.31
* Tue May 18 2021 Marcus Schäfer - Stop plymouth also for progress dialogs
* Mon May 17 2021 Marcus Schäfer - Prevent explicit man page compression The manual pages are compressed by the packager tooling. There is no need to do this ourselves
* Mon May 17 2021 Marcus Schäfer - Bump version: 9.23.29 → 9.23.30
* Mon May 17 2021 Marcus Schäfer - Increase integration tests boot timeout Increase integration tests timeout from 2sec to 10sec
* Mon May 17 2021 Marcus Schäfer - Update integration tests to be non interactive Some integration tests allows for interactive dialogs on the bootloader menu or in the installation process. As we plan to use these tests for automated functional testing there should be no interaction whenever possible. This Fixes #1811
* Mon May 17 2021 Marcus Schäfer - Update kiwi installation documentation The installation chapter contained information about the manual install of package keys. That information is suspect to be always outdated because these keys changes. Instead of describing the manual install of the package key the docs moved to use the auto-import feature of the package manager. As the instructions were also rpm specific but we also support install via other package mangers the complete chapter was a bit reworked and should be more straight forward now. This Fixes #1799
* Mon May 17 2021 Marcus Schäfer - Update documentation qemu calls We use the kiwi integration tests as base for the documentation example images now. The integration tests are all configured to set the console to serial. Thus the docs should explain the qemu call for test runs using the -serial stdio option to make sure the console information is displayed to the user
* Sun May 16 2021 Marcus Schäfer - Update and fix documentation The documentation had a broken link to the buildservice tests for suse. Since we changed this into leap and tumbleweed the subproject link to :suse became invalid. In addition to the fix the macro setup and build instructions were moved to use the kiwi integration tests as example appliance descriptions. The user experience in building the integration test images should be better because we only release kiwi if those appliances build successfully. This Fixes #1812
* Sun May 16 2021 Marcus Schäfer - Fixed package build The new version of sphinx puts manual pages into doc/build/man/8 when it was doc/build/man before. This breaks the Makefile target to install the documentation. This commit updates the Makefile to follow the change.
* Wed May 12 2021 Marcus Schäfer - Fix dnf arch setting
* Wed May 12 2021 Marcus Schäfer - Update shim path lookup Distributions like Fedora has changed the EFI binaries location to be shim.efi in /boot/efi/EFI/ in order to support multiarch setup for UEFI. This change requires the lookup in KIWI to be more global matching. This Fixes #1806
* Wed May 12 2021 Marcus Schäfer - Move integration test for Fedora to v34
* Wed May 12 2021 Marcus Schäfer - Fixed live network setup to be generic In dracut the network setup comes with different models providing a different set of functions. The ifup method as used in the live iso dracut module is only available with the network-legacy mode and fails with network-wicked. This commit uses a dracut conf file in /etc/cmdline.d which uses the dracut network interface parameters instead of calling module specific methods. This Fixes #1802
* Wed May 12 2021 Marcus Schäfer - Fixed setup of repository architecture Unfortunately the architecture reported by uname is not necessarily the same name as used in the repository metadata. Therefore it was not a good idea to set the architecture and manage the name via a mapping table. It also has turned out that repo arch names are distro specific which causes more complexity on an eventual mapping table. In the end this commit changes the way how the repository architecture is setup in a way that we only set the architecture if a name was explicitly specified such that the user keeps full control over it without any mapping magic included This Fixes bsc#1185287
* Fri May 07 2021 Marcus Schäfer - Bump version: 9.23.28 → 9.23.29
* Mon May 03 2021 Marcus Schäfer - Bump version: 9.23.27 → 9.23.28
* Fri Apr 30 2021 David Cassany - Upgrade tests accoring to #1805 This commit is a follow up of #1805 which missed to update the related unit test.
* Fri Apr 30 2021 David Cassany - Make installation media unattended This commit configures install media of several tests to run unattended installation. This is done to facilitate the logic of functional tests.
* Wed Apr 28 2021 Marcus Schäfer - Fixed unit tests for parallel invocation With the change to allow the platform architecture to be set application global, the unit tests might fail if tests run in parallel and using different mock architectures for the test. Thus test that runs depending on a platform name needs to set the name in the test
* Wed Apr 28 2021 Marcus Schäfer - Update Debian integration test for UEFI testing Updated the Virtual disk profile to make use of the EFI secure boot feature.
* Tue Apr 27 2021 Jeff Kowalczyk - Fix WSL appx filemap relative paths not preserved During WSL appx image type creation step the file hierarchy under metadata_path is written to a temporary file for eventual use as argument to utility appx. The file hierarchy information is dropped resulting in all filemap entries appearing to be at the metadata_path root. The resulting image will side load and run but without icon and other resources. Stricter checks at Windows Store submission will fail due to mismatch between image manifest and contents. Fix by preserving relative path of filemap entries relative to metadata_path. Add log output showing both input absolute path and output relative path.
* Tue Apr 27 2021 Marcus Schäfer - Update Ubuntu integration test for UEFI testing Updated the Virtual disk profile to make use of the EFI secure boot feature.
* Tue Apr 27 2021 Marcus Schäfer - Added support for UEFI on Debian based distros The Debian/Ubuntu folks have a different system to support EFI secure boot. In order to make use of it kiwi needs some adaptions done in this pull request. This Fixes #1743
* Tue Apr 20 2021 Marcus Schäfer - Bump version: 9.23.26 → 9.23.27
* Mon Apr 19 2021 Marcus Schäfer - Fixed spec file on Debian tool settings debootstrap should always come with dpkg because we don\'t want to handle the architecture names used on Debian when dpkg knows them better than we do. since debootstrap itself considers the possibility of being called without dpkg on the system we generate the dependency by a spec change here. This Fixes #1778
* Mon Apr 19 2021 Marcus Schäfer - Change zypper download mode to in-advance In relation to upcoming zypper changes e.g to make use of librpm on single transaction operations there is the possibility that file triggers start being used. To ensure zypper behaves consistently DownloadInAdvance mode should be used, this way the transaction happens as a whole and with the upcoming zypper changes zypper will still be capable to handle the file triggers. This Fixes #1789
* Sun Apr 18 2021 Marcus Schäfer - Added shadow package to pxe integration test Tools like usermod were moved from coreutils to shadow
* Sun Apr 18 2021 Marcus Schäfer - Added shadow package to integration test Tools like usermod were moved from coreutils to shadow
* Fri Apr 16 2021 David Cassany - Fix appx manifest for WSL containers This commit prevents KIWI from setting Identity Name attribute and DisplayName and PublisherDisplayName elements. Fixes #1780
* Fri Apr 16 2021 David Cassany - Do not apply default subcommand for derivate containers This commit does not apply the default subcommand for derivate containers. Fixes bsc#1184823
* Fri Apr 16 2021 Marcus Schäfer - Fixed integration tests requesting grub For some reason two integration tests requests the \"grub\" and the \"grub2\" package. On TW there is now no longer a provider of grub and thus the image build became unresolvable. There is only grub2 for quite some time, so I deleted this package setting from the tests in question
* Fri Apr 16 2021 Marcus Schäfer - Bump version: 9.23.25 → 9.23.26
* Thu Apr 15 2021 Marcus Schäfer - Fixed platform setup for vagrant unit tests
* Thu Apr 15 2021 Marcus Schäfer - Add support for a custom exclude file The new optional metadata file image/exclude_files.yaml can be placed inside of the local image root tree. At creation time of the image binary the file contents are used to extend the default exclude list with additional information. The structure of the file must be as follows: ```yaml exclude: - exclude-name-used-in-rsync ```
* Wed Apr 14 2021 Marcus Schäfer - Bump version: 9.23.24 → 9.23.25
* Wed Apr 14 2021 Marcus Schäfer - Update zypp.conf architecture setting Make sure the architecture is set as parameter in the zypp.conf file used for building the image. This is needed to allow differentiation between host arch and image arch for cross image build environments
* Wed Apr 14 2021 Marcus Schäfer - Added option to set the image target architecture The option --target-arch allows to set the architecture used to build the image. By default this is the host architecture. Please note, if the specified architecture name does not match the host architecture and is therefore requesting a cross architecture image build, it\'s important to understand that for this process to work a preparatory step to support the image architecture and binary format on the building host is required and is not considered a responsibility of kiwi. There will be a followup effort on providing a plugin for kiwi which should be used to manage the needed binfmt settings for cross arch image builds
* Tue Apr 13 2021 David Cassany - Refactor disk and install builders and dracut boot image This commit mainly refactors the DiskBuilder class. Then install builder and dracut boot image refactors are mostly to drop no longer needed code. The refactors tries to make the build simpler and easier to read and also prevent the reuse of the BootImage instance used for the main image when creating the installation media (this aplies only for dracut based images). Fixes #873
* Tue Apr 13 2021 David Cassany - Refactor create_disk method This commit refactor create_disk method and related utility methods to ensure runtime objects are not stored as attributes of the object. This is done to ensure proper clearing and destruction of those objects once create_disk method is done. Related to #873
* Mon Apr 12 2021 Marcus Schäfer - Added openssl to the core requires openssl is used in kiwi to construct a password hash if the plaintext password feature for user settings is used. This Fixes bsc#1184128
* Sun Apr 11 2021 Marcus Schäfer - Bump version: 9.23.23 → 9.23.24
* Fri Apr 09 2021 Marcus Schäfer - Decommission obsolete code reaching EOL Use the AATTdecommissioned decorator to raise for API methods that a over the obsoletion period
* Fri Apr 09 2021 Marcus Schäfer - Added mypy call to tox target For the tox unit_pyX targets, mypy static type checking is now called prior tests. This references Issue 1644
* Tue Apr 06 2021 Marcus Schäfer - Complete strong typing for API methods Added required code changes to let mypy pass when running from the toplevel kiwi namespace. This now finally Fixes #1644
* Mon Apr 05 2021 Marcus Schäfer - Bump version: 9.23.22 → 9.23.23
* Wed Mar 31 2021 Marcus Schäfer - Added optional post_bootstrap.sh script hook After the bootstrap phase a script post_bootstrap.sh is executed in a chroot process which allows to add/modify system settings prior the completion of the system installation. This helps users for example with custom package manager settings and Fixes #1763 as well as Fixes #1782
* Tue Mar 30 2021 Marcus Schäfer - Update documentation Add information about new volume filesystem_check attribute
* Tue Mar 30 2021 Marcus Schäfer - Allow to enable volumes for filesystem check The new attribute allows to change the default value for the fs_passno field in the generated fstab file. By default kiwi sets \"0\" in this field and leaves it up to the user to customize this as appropriate via script code. Coding changes to the fstab file via scripts are not very user friendly and with respect that systemd takes over control and generates checkers depending on the value of fs_passno it would be good if there is a way to explicitly specify if checks to the filesystem are wanted or not. Therefore the new attribute now exists. If set to: true this results in a value of \"2\" for the fs_passno field. Please note the root/boot and efi entries are excluded from this setup. This Fixes #1728
* Mon Mar 22 2021 Marcus Schäfer - Bump version: 9.23.21 → 9.23.22
* Mon Mar 22 2021 Marcus Schäfer - Refactor building of root cmdline setting Creating the root= cmdline parameter was based on methods that deals with the uuid. However, it\'s also possible to use a label information for the root= cmdline. To support this kiwi issued a \'blkid --uuid\' command but that requires udev device names to be present on the host. The open buildservice workers do not run udev and fails apart the standard. This commit refactors the root cmdline setup to work with the device node as it exists during build time such that the blkid call runs against that device node.
* Mon Mar 22 2021 Marcus Schäfer - Bump version: 9.23.20 → 9.23.21
* Fri Mar 19 2021 Marcus Schäfer - Delete yum from packagemanager in schema Auto convert yum to dnf if set as packagemanager. This allows to delete the yum handling from code parts in kiwi where this was still present. In addition this fixes the inclusion of yum into the packagelist. This Fixes #1768
* Tue Mar 16 2021 KeithMnemonic - Add Strong Typing to builder APIs
* Tue Mar 16 2021 KeithMnemonic - This PR add APIs Strong Typing to the repository APIs Strong Typing has been added to the following files: repository/base.py repository/pacman.py repository/apt.py repository/dnf.py repository/template/apt.py repository/zypper.py
* Tue Mar 16 2021 Marcus Schäfer - Drop by-path devicepersistency setting The dev/disk/by-path device representation is a host specific PCI location. For image building which happens disconnected from the later target device this setting is useless. This Fixes #1747
* Tue Mar 16 2021 Marcus Schäfer - Fixed LVM root volume inclusion in fstab The root(/) volume in a LVM setup was included as UUID device path. This is inconsistent compared to the non root volumes which are included by their LVM representation: /dev/VGROUP_NAME/VOLUME_NAME This commit makes sure the root volume is included by its persistent LVM device representation too. This is related to Issue #1747
* Mon Mar 15 2021 Marcus Schäfer - Update unit- integration tests to schema v74
* Mon Mar 15 2021 Marcus Schäfer - Added XSLT transformation schema v73 -> v74 Update schema version and change to package manager \'apt\' if \'apt-get\' was set
* Mon Mar 15 2021 Marcus Schäfer - Change packagemanager setting from apt-get to apt In kiwi we use the name of the section as package name to install this package manager capability. However on Debian based distros there is no package named apt-get. There is only a package named apt which provides a tool named apt-get. To avoid inconsistencies like we had it in Issue #1735 and to bring this setting in line with all other packagemanager settings the setting was moved to just apt. This Fixes #1738
* Thu Mar 11 2021 KeithMnemonic - Public API Strong Typing for kiwi package_manager
* Thu Mar 11 2021 David Cassany - Require qemu-img in any filesystem based image This commit moves the qemu-img requirement into the `kiwi-systemdeps-filesystems` to ensure ISO, OEM and PXE images include it in the build service. Also this is required for images that are simple root-trees in a filesystem (image=ext4).
* Thu Mar 11 2021 David Cassany - Add a requirement for kiwi-systemdeps-iso-media on disk images This commit adds a requirement for `kiwi-systemdeps-iso-media` in `kiwi-systemdeps-disk-images`. This is to ensure that installing `kiwi-systemdeps-disk-images` is enough to build OEM images including install media.
* Tue Mar 09 2021 David Cassany - Exclude /run and /tmp to be synched into the image This commit makes sure the contents of /run and /tmp are ignored when synchronizing the generated root tree into the image. Fixes #1744
* Tue Mar 09 2021 Marcus Schäfer - Fix use of by-label device persistency in grub If devicepersistency=\"by-label\" is set in the KIWI description it will correctly operate on the fstab values but still uses the UUID based setting for root= in the grub config. This commit allows to set root=LABEL=... in the grub config in case the devicepersistency requested it. In order for this to work this commit also had to increase the scope of the grub helper method _fix_grub_root_device_reference which is now called in any case. This Fixes #1757
* Mon Mar 08 2021 Marcus Schäfer - Bump version: 9.23.19 → 9.23.20
* Sat Mar 06 2021 Marcus Schäfer - Fixed API vs. CLI inconsistency when using kiwi as API the program fails with a usage message from the Cli class. The kiwi.cli module should not be imported except for kiwi comandline tasks. It has turned out that the RuntimeConfig class which is used in several places in different API classes imports Cli and creates an instance of it to check for a global option. This causes major issues for all programs which uses the kiwi API but not the command line interface because the docopt call in Cli() expects a valid docstring which only exists in kiwi\'s cli.py. This commit fixes the inconsistency and allows people to use the kiwi API independent of any command line interface. Fixes #1755
* Fri Mar 05 2021 David Cassany - Add Rawhide and Tumbleweed tests for secure boot on aarch64
* Fri Mar 05 2021 Marcus Schäfer - Make sure man pages are part of sdist tarball The current tarball when uploaded to pypi via gitlab does not contain the manual pages because the doc target to build them is not called. This commit adds a doc_man tox target which is called prior pypi release. This Fixes #1746
* Wed Mar 03 2021 David Cassany - Refactor grub2 installation This commit refactors grub2 installation method to split it in two parts. Former grub2.install method was meant to run the grub2-install tool, however, in addition it was also running the secure boot installation shim-install. The install method in KIWI is skipped for those architectures and firmware combinations for which bios support doesn\'t exist. This was leading to skip the secure boot installation. The current approach strips the secure boot installation logic from the grub2.install method, so skipping the install method does not automatically result in skipping the secure boot installation. Fixes bsc#1182211
* Mon Mar 01 2021 Marcus Schäfer - Bump version: 9.23.18 → 9.23.19
* Mon Mar 01 2021 Marcus Schäfer - Fixed admin path for dpkg-query Fixed admin path in check_dracut_module_versions_compatible_to_kiwi runtime check.
* Mon Mar 01 2021 Fergal Mc Carthy - Fail non-XML descriptions if anymarkup not available (#1742) Co-authored-by: Fergal Mc Carthy
* Mon Mar 01 2021 Marcus Schäfer - Bump version: 9.23.17 → 9.23.18
* Mon Mar 01 2021 Marcus Schäfer - Make runtime check more robust Fixed check_dracut_module_versions_compatible_to_kiwi to work with systems that have no dracut installed.
* Mon Mar 01 2021 Marcus Schäfer - Fixed call time runtime check in build command The check_dracut_module_versions_compatible_to_kiwi runtime check was called too early in the build process. It has to be called at the end of the prepare stage when the image root tree has been created
* Mon Mar 01 2021 Marcus Schäfer - Added missing runtime check to default config file Added check_dracut_module_versions_compatible_to_kiwi as comment block to the default config file
* Mon Mar 01 2021 Marcus Schäfer - Bump version: 9.23.16 → 9.23.17
* Sun Feb 28 2021 Marcus Schäfer - Fixed docstring for SolverRepositoryDeb class The doc string incorrectly pointed to the rpm-md repo type when it should be apt-deb
* Thu Feb 25 2021 Marcus Schäfer - Fixed code smells reported from codacy In addition cleanup unused instance variable self.custom_args from DiskFormatBase class
* Tue Feb 23 2021 Marcus Schäfer - Add kiwi dracut mod vs. kiwi compatibility check Add a runtime check to be called in the create stage which reads the version(s) of the installed kiwi dracut modules from the package database and compare them with a min_version setting maintained in the KIWI builder code. If the installed dracut module is not compatible with the used kiwi builder version the build stops at this point with a descriptive error message
* Tue Feb 23 2021 Jesus Bermudez Velazquez - Add strong typing for the following API methods kiwi/storage/raid_device kiwi/storage/setup kiwi/storage/subformat/base kiwi/storage/subformat/gce kiwi/storage/subformat/ova kiwi/storage/subformat/qcow2 This references issue #1644
* Tue Feb 23 2021 Marcus Schäfer - Added strong typing for the following API methods
* storage/subformat/vagrant_base.py
* storage/subformat/vagrant_libvirt.py
* storage/subformat/vagrant_virtualbox.py
* storage/subformat/vdi.py
* storage/subformat/vhd.py
* storage/subformat/vhdfixed.py
* storage/subformat/vhdx.py
* storage/subformat/vmdk.py This references Issue #1644
* Mon Feb 22 2021 Marcus Schäfer - Deleted legacy kiwi chapter from the docs The information there is almost obsolete since kiwi(perl) does no longer exist in any modern distribution. It\'s only maintained on SLE12 which itself is EOL and the kiwi there has its own documentation which we don\'t need to reference anymore in the upstream project
* Mon Feb 22 2021 Marcus Schäfer - Added new Troubleshooting chapter to the docs Added a new chapter to handle issues which depends on several environment conditions and for which not only one possible solution exists. This Fixes #1691
* Fri Feb 19 2021 Marcus Schäfer - Document use of SUSE media Add chapter to describe how to use the SUSE product media in a kiwi build process. This Fixes #1678
* Fri Feb 19 2021 Marcus Schäfer - Delete support for generic iso:// source type The generic iso:// media type mounts the given iso file and expect its root to provide a repository that can be used 1:1 with a package manager. This concept is broken since some time and it can\'t be fixed in a generic way. All distribution media comes with a certain layout and basically needs extra handling to become fully usable as repository. The current implementation of the iso type which simply mounts the iso and expects its root to be a known repo is not useful. Therefore the support for it will be decommissioned. Instead we will provide a documentation chapter that documents how to incorporate distro ISO media for building images.
* Thu Feb 18 2021 Marcus Schäfer - Added deb support to sat solver module Add support to create SAT solvables from Debian repos via deb2solv tool from libsolv. This allows image info --resolve-package-list to work with Debian/Ubuntu image descriptions. Please note by default libsolv is not compiled with support for Debian. Therefore the following compile flags must be set on libsolv
* -DENABLE_DEBIAN=1
* -DMULTI_SEMANTICS=1 If libsolv does not provide the needed capabilities kiwi will fail on either the repository solvable creation due to missing deb2solv or on call of setdisttype() due to missing MULTI_SEMANTICS feature in libsolv
* Thu Feb 18 2021 Marcus Schäfer - Update contributing chapter Add an example to show that using the kiwi description format is an option when using kiwi as an API in other python programs
* Tue Feb 16 2021 Marcus Schäfer - Change donation message There are more people working on kiwi and the message is from times with only me as contributor. It would be unfair to keep the current message and I will share any donation with the team.
* Tue Feb 16 2021 Marcus Schäfer - Bump version: 9.23.15 → 9.23.16
* Mon Feb 15 2021 David Cassany - Fix lsblk flags to get sorted output This commit modifies the lsblk command flags to get a sorted output according to the disk layout. This is related to 176c7eab commita and it fixes bsc#1182264
* Mon Feb 15 2021 Marcus Schäfer - Fixed kiwi-systemdeps-filesystems requires The filesystems requires list also contains low level tools to manage partitions, loops and subsystems. The tools to manage LUKS(cryptsetup) are missing and imho belongs there along with the LVM tools which are listed
* Mon Feb 15 2021 Marcus Schäfer - Added documentation for kiwi-systemdeps concept Added information about the kiwi-systemdeps sub packages and its purpose. This Fixes #1686
* Mon Feb 15 2021 David Cassany - Add strong typing for filesystem classes This commit strong typing for FileSystem
* classes. Part of #1644
* Mon Feb 15 2021 Marcus Schäfer - Update documentation The runtime config file can also be specified on the commandline
* Mon Feb 15 2021 Marcus Schäfer - Added ca-certificates-mozilla to build tests ca-certificates-mozilla provides the issuer CERT to allow for https repo connections. The standard ca-certificates is not enough on suse/leap/sles based integration tests
* Sat Feb 13 2021 Marcus Schäfer - Fixed packaging metadata for pypi Include the README as long description in the metadata for pypi. The change causes the description on pypi.org to show the ReST rendered README instead of a message that the author of the module hasn\'t provided a description
* Sat Feb 13 2021 Marcus Schäfer - Delete legacy oem build test from leap The legacy custom kiwi boot test will only continue to exist on tumbleweed without any warranty
* Fri Feb 12 2021 David Cassany - Include a note about rpm\'s curl requirement to import remote keys This commits add a note in the KIWI installation page to warn users rpm requires curl utility in order to import remote keys from a URI. Fixes #1680
* Fri Feb 12 2021 Marcus Schäfer - Bump version: 9.23.14 → 9.23.15
* Fri Feb 12 2021 Marcus Schäfer - Update documentation Mention the cross arch build capability of the boxbuild command. Also update the example box used in the self container build chapter
* Fri Feb 12 2021 Marcus Schäfer - Allow to specify OBS credentials in runtime config In preparation to the new obs kiwi plugin this commit adds an opportunity to store obs credentials such that the plugin could also be used in a non-interactive way
* Fri Feb 12 2021 Jesus Bermudez Velazquez - Add strong typing for the following API methods kiwi/storage/device_provider kiwi/storage/disk kiwi/storage/loop_device kiwi/storage/luks_device kiwi/storage/mapped_device This references issue #1644
* Fri Feb 12 2021 Marcus Schäfer - Update build_status helper for box plugin The suse box has been renamed to tumbleweed
* Fri Feb 12 2021 Marcus Schäfer - Update documentation Fixed link list to integration tests
* Fri Feb 12 2021 Marcus Schäfer - Added rawhide test status to build_status helper
* Fri Feb 12 2021 Marcus Schäfer - Added Fedora Rawhide integration tests
* Thu Feb 11 2021 Marcus Schäfer - Followup fix for RuntimeConfig refactor The refactor of the RuntimeConfig made sure the runtime config file is read in only once. But if the file exists and is empty after yaml.safe_load like in the kiwi package provided /etc/kiwi.yml which contains all config options as comments, the code still reads in the file with every new instance of RuntimeConfig. This commit fixes this condition
* Thu Feb 11 2021 Marcus Schäfer - Fixed test-image-vagrant for Leap Use the correct release package
* Thu Feb 11 2021 Marcus Schäfer - Fixed test-image-docker-derived for Leap Use the right derived from location
* Thu Feb 11 2021 Marcus Schäfer - Fixed test-image-docker for Leap Nothing provides grub
* Thu Feb 11 2021 Marcus Schäfer - Delete test-image-pxe from leap tests We don\'t continue development of netboot code. Thus there is only one test for the old netboot system on TW. People are advised to move to oem remote deployment or the kis type using custom(non kiwi) dracut extensions
* Thu Feb 11 2021 Marcus Schäfer - test-image-MicroOS does not build for leap Looks like this concept is not available on Leap
* Thu Feb 11 2021 Marcus Schäfer - Added integration tests for Leap
* Thu Feb 11 2021 Marcus Schäfer - Update documentation Location for integration tests has changed
* Thu Feb 11 2021 Marcus Schäfer - Deleted x86/suse integration tests
* Thu Feb 11 2021 Marcus Schäfer - Moving x86/suse -> x86/tumbleweed This is in fact a copy of the build-tests for x86/suse to x86/tumbleweed. Once the tests in OBS are building x86/suse and the respective project will be deleted
* Thu Feb 11 2021 Marcus Schäfer - Deleted s390/suse integration tests
* Thu Feb 11 2021 Marcus Schäfer - Moving s390/suse -> s390/tumbleweed This is in fact a copy of the build-tests for s390/suse to s390/tumbleweed. Once the tests in OBS are building s390/suse and the respective project will be deleted
* Thu Feb 11 2021 Marcus Schäfer - Delete ppc/suse from build_status helper
* Thu Feb 11 2021 Marcus Schäfer - Deleted ppc/suse integration tests
* Thu Feb 11 2021 Marcus Schäfer - Moving ppc/suse -> ppc/tumbleweed This is in fact a copy of the build-tests for ppc/suse to ppc/tumbleweed. Once the tests in OBS are building ppc/suse and the respective project will be deleted
* Thu Feb 11 2021 Marcus Schäfer - Fixed Debian integration test The test was not using the Staging kiwi to build
* Thu Feb 11 2021 Marcus Schäfer - Deleted arm/suse integration tests
* Thu Feb 11 2021 Marcus Schäfer - Moving arm/suse -> arm/tumbleweed This is in fact a copy of the build-tests for arm/suse to arm/tumbleweed. Once the tests in OBS are building arm/suse and the respective project will be deleted
* Thu Feb 11 2021 Jesus Bermudez Velazquez - Update tuples to enforce type hints
* Thu Feb 11 2021 Marcus Schäfer - Fixed use of BIOS grub image on ISO media Not all systems (e.g Debian) creates the boot/grub|grub2 directory. In kiwi when we need to create a custom grub image because we did not find the distro provided one, an earlyboot.cfg file is created and embedded into the grub image. The locaton to store that file is below boot/grub|grub2. However if the directory does not exist the build will fail as with the current Debian Live integration test.
* Thu Feb 11 2021 Marcus Schäfer - Added debian integration tests to build_status The debian build tests were not taken into account by the build_status helper
* Thu Feb 11 2021 Marcus Schäfer - Moved ARM fedora integration test to latest stable
* Thu Feb 11 2021 Marcus Schäfer - Update suse build tests Deleted old and obsolete configuration setup. Use generic description information as much as possible
* Thu Feb 11 2021 Marcus Schäfer - Move fedora integration tests to stable release Instead of building against the rolling release (rawhide) we build the integration tests for non suse tests against the stable release of distributions. The reason is except for suse we don\'t have influence and resources on the distribution development and sometimes facing the problem that we can only sit and pray for a self healing of the rolling distro releases. From a kiwi release perspective this blocks us too often
* Thu Feb 11 2021 Marcus Schäfer - Fixed tbz integration test It seems /bin/sh has been moved into a file provides that cannot be solved by the obs solver. Therefore a package providing it needs to be added explicitly.
* Thu Feb 11 2021 Marcus Schäfer - Bump version: 9.23.13 → 9.23.14
* Wed Feb 10 2021 David Cassany - Remove files or folders that conflict with debootstrap This commit makes use of Path.wipe method instead of os.unlink. This way we are certain the path is removed regardless being a directory or a file. fixes #1718
* Wed Feb 10 2021 David Cassany - Clean some copy and paste leftover from doc strings
* Tue Feb 09 2021 Marcus Schäfer - Fixed ramdisk deployment from install ISO The dracut mount hook is only called if NO root= information is provided from the cmdline. In a PXE deployment this is the case but in an install ISO deployment not. This commit re-adds the sysroot mount generator approach but only applies on the condition rd.kiwi.ramdisk is set and root= is specified. Only in this case we know config.bootoptions is present in the initrd and will not be provided from an outside service
* Tue Feb 09 2021 Christian Goll - Added dolly support Allow dolly as alternative download protocol
* Tue Feb 09 2021 Marcus Schäfer - Bump version: 9.23.12 → 9.23.13
* Sun Feb 07 2021 Marcus Schäfer - Refactor RuntimeConfig class The former implementation read the runtime config file every time a new RuntimeConfig instance was created. The runtime config is however static during the runtime of an image build process and not supposed to change. Therefore the file should be read in once and any new instance of RuntimConfig should just use what has been read in at the first invocation. This commit refactors the RuntimeConfig class to hold an application global RUNTIME_CONFIG variable and allows to reread the config on explicit request.
* Sat Feb 06 2021 Marcus Schäfer - Added option to setup OBS API server in config Allow to specify the open build service API server in the kiwi runtime configuration file
* Sat Feb 06 2021 Marcus Schäfer - Allow to specify config file on the command line The optional kiwi runtime config file (kiwi.yml) could only be read from ~/.config/kiwi/config.yml or /etc/kiwi.yml This commits adds the global option --config which allows to specify a custom runtime configuration as well.
* Fri Feb 05 2021 Marcus Schäfer - Fixed detection for pacman repo type grep the directory listing for a .db.sig metadata file to identify a pacman repo
* Fri Feb 05 2021 Marcus Schäfer - Cleanup CliTask doc strings and code duplication Introduce a tuple method to handle arguments with [n] comma separated elements. Also fix method docstrings with wrong type information.
* Fri Feb 05 2021 Marcus Schäfer - Fixed typing for add_repository in XMLState class mypy reported further issues on XMLState class which are fixed by this commit
* Fri Feb 05 2021 Marcus Schäfer - Fixed type annotations and docs for Uri class The constructor used a wrong type for the repo_type variable and the doc string for the class was invalid
* Fri Feb 05 2021 Marcus Schäfer - Added get_repo_type method to SolverRepository In preparation of a plugin to handle external service repositories a method to check for the repository type was added. The detection is based on a search for a specific metadata file which is an indicator for the type of a repository.
* Fri Feb 05 2021 Marcus Schäfer - Update manual pages The system build and prepare commands have received options which were not mentioned in the manual pages. This commit updates the pages to be in line with the code
* Mon Feb 01 2021 Marcus Schäfer - Bump version: 9.23.11 → 9.23.12
* Mon Feb 01 2021 Marcus Schäfer - Fixed debootstrap device node conflict debootstrap creates its own device node tree and fails if a node it creates itself already exists. This commit introduces a list of conflicting device nodes and deletes them prior kiwi calling debootstrap. This Fixes #1675
* Sun Jan 31 2021 Marcus Schäfer - Added aaa_base to s390 TW build tests On s390 TW aaa_base is not pulled in by a dependency in obs. It looks like the package is pulled in by a file provides which is not resolved by obs. Thus the package needs to be added explicitly
* Fri Jan 29 2021 Marcus Schäfer - Bump version: 9.23.10 → 9.23.11
* Fri Jan 29 2021 Marcus Schäfer - Follow up fix, creating custom grub EFI images Make sure custom EFI grub image is copied to the media directory if this is different from the root directory e.g on creation of live images
* Thu Jan 28 2021 Marcus Schäfer - Bump version: 9.23.9 → 9.23.10
* Thu Jan 28 2021 Marcus Schäfer - Follow up fix, creating custom grub images Moving the grub mkimage call as chroot operation also broke the creation of image builds that uses the legacy custom kiwi boot image feature instead of dracut. This commit fixes it
* Thu Jan 28 2021 Marcus Schäfer - Added leap box to be shown by build_status helper
* Wed Jan 27 2021 Marcus Schäfer - Added decorators to help with API management The lifetime of API methods could be limited due to the development of kiwi. To allow for a deprecation process the following helper methods has been added
* Wed Jan 27 2021 Marcus Schäfer - Bump version: 9.23.8 → 9.23.9
* Wed Jan 27 2021 David Cassany - Update MicroOS build test This commit alignes the MicroOS tests with the MicroOS images build for kvm and xen. In addition it adds the installation media request and custom initrd modules configuration for the installation media.
* Wed Jan 27 2021 Marcus Schäfer - Fixed creation of custom bios grub image The last commit moved the grub mkimage call into the chroot. As a side effect and when creating install media the earlyboot script could no longer be found. This commit fixes it
* Wed Jan 27 2021 David Cassany - Include installmedia documentation
* Tue Jan 26 2021 Marcus Schäfer - Bump version: 9.23.7 → 9.23.8
* Mon Jan 25 2021 Marcus Schäfer - Fixed creation of custom grub image If kiwi can\'t find the distribution provided grub image(s) it creates them using the respective grub[X]-mkimage tool. However the tool was called on the build host which could cause an inconsistency on the used module path. Grub is not packaged consistently across the distributions and also the provided modules comes in different versions and patch sets. Therefore it\'s required that kiwi calls the grub mkimage tool as chrooted operation inside of the tree that provides the target image. As consequence of the change it\'s required that the image root tree provides the grub mkimage tool. In addition to the change we now also log the output from the grub mkimage call in the kiwi build logfile. This Fixes #1254
* Thu Jan 21 2021 Jesus Bermudez Velazquez - Add strong typing for the following API methods
* kiwi/system/kernel.py
* kiwi/system/result.py
* kiwi/system/shell.py This references issue #1644
* Thu Jan 21 2021 David Cassany - Add the schematron rules for installinitrd This commit adds an schematron rule to limit the presence of installinitrd element to disk builds including installation media.
* Thu Jan 21 2021 David Cassany - Add the installinitrd element This commit adds the `` element in kiwi schema to facilitate the dracut modules configuration for the installation initrds on OEM images. Within installinitrd element is possible list the dracut modules to append, to omit or to just set an static list of dracut modules to include. Fixes #1676 Fixes #1683
* Thu Jan 21 2021 Jesus Bermudez Velazquez - Add strong typing for the following API methods
* system/root_bind.py
* system/root_init.py
* system/identifier.py This references issue #1644
* Thu Jan 21 2021 Marcus Schäfer - Bump version: 9.23.6 → 9.23.7
* Wed Jan 20 2021 Marcus Schäfer - Don\'t call super() from logging.Formatter It\'s not needed to run the base class constructor. The interface for the logging facility is also different between python 3.6 and python 3.8 such that calling the base constructor would be bad idea anyway.
* Wed Jan 20 2021 Jesus Bermudez Velazquez - Add strong typing for the following API methods
* kiwi/system/size.py
* kiwi/system/uri.py
* kiwi/system/users.py Update the test path for users_test.py This references #1644
* Wed Jan 20 2021 David Cassany - Include missing qemu-tools dependency for iso images This commit includes a missing qemu-tools dependency for iso image type.
* Wed Jan 20 2021 Marcus Schäfer - Added strong typing for the following API methods
* kiwi/system/prepare.py
* kiwi/system/profile.py
* kiwi/system/setup.py The changes here also lead to a small refactoring for the handling of the package manager. In my opinion it doesn\'t make sense to allow a None type package manager from the stateful XML instance. As without any package manager nothing can be done. As it also turns into an issue for the PackageManager API which does not allow for an empty value here I thought it\'s better to come up with a default package manager (set to dnf) if no one is explicitly specified This references Issue #1644
* Wed Jan 20 2021 Marcus Schäfer - Explicitly set lvm device source Set external_device_info_source=none for lvm calls. This is related to Issue #1665
* Tue Jan 19 2021 Marcus Schäfer - Fixed use of encoding in open calls The use of encodings.ascii in open calls was wrong. Open expects an encoding string but encodings.ascii returns a module reference
* Tue Jan 19 2021 Marcus Schäfer - Bump version: 9.23.5 → 9.23.6
* Tue Jan 19 2021 Marcus Schäfer - Handle checksum files in ascii encoding Follow up fix for #1673. Handle reading/writing of all supported checksum variants in ascii encoding
* Mon Jan 18 2021 Neal Gompa - Mark Micro DNF as a RPM based package manager Without doing this, KIWI won\'t generate the correct output files for verification of image content.
* Mon Jan 18 2021 Marcus Schäfer - Only write GRUB_CMDLINE_LINUX_DEFAULT with content Only write GRUB_CMDLINE_LINUX_DEFAULT in the grub defaults file if there are custom options set via the kernelcmdline attribute. This Fixes #1650
* Sat Jan 16 2021 Petr Pavlu - Move logic to sync system data into a separate method Reduce cyclomatic complexity of DiskBuilder.create_disk() by moving the logic to sync system data into a separate method.
* Fri Jan 15 2021 Marcus Schäfer - Fixed missing systemdisk provides kiwi-systemdeps-filesystems did not provide kiwi-filesystem:ext2
* Fri Jan 15 2021 Marcus Schäfer - Bump version: 9.23.4 → 9.23.5
* Wed Jan 13 2021 Jesus Bermudez Velazquez - Refactor default shared cache location Defaults shared cache location does not depend on CLI parameters Add set method for custom cache location in Defaults CLI default value for shared cache dir depends on Defaults if not set Update default if CLI shared cache dir set Fixes #1671
* Tue Jan 12 2021 Jesus Bermudez Velazquez - Update contributing link in README
* Mon Jan 11 2021 Marcus Schäfer - Delete obsolete ddb.adapterType patching When building a vmdk image with pvscsi as adapter type, kiwi implicitly changed the adapter_type from pvscsi to lsilogic because qemu only knows lsilogic. At the end kiwi patched the adapter type in the descriptor of the vmdk header back to pvscsi. That patching seems to be wrong according to information from users and VMware support. This commit deletes the descriptor patching and only leaves the pvscsi setting in the guest configuration(vmx). This Fixes bsc#1180539 and Fixes #1847
* Mon Jan 11 2021 Marcus Schäfer - Bump version: 9.23.3 → 9.23.4
* Sun Dec 27 2020 Josua Mayer - force ascii encoding on checksum files Python open function can fail when a file is not found encoded in utf-8, depending on the execution environment. In particular on Debian 10 an error message regarding utf8 was encountered. Since checksum files always use only ascii characters, force it.
* Wed Dec 23 2020 David Cassany - Fixes the rpmdb bootstrap management for DNF on SUSE This commit makes sure that the compatibility symlink for /var/lib/rpm is created when the host rpmdb path is set to something different. This fixes a mismatch on bootstrapping SUSE using DNF. Fixes #1669
* Tue Dec 22 2020 Marcus Schäfer - Bump version: 9.23.2 → 9.23.3
* Mon Dec 21 2020 David Cassany - Modify lsblk flags for a consistent output across distros This commit modifies the lsblk flags to make use of the list format instead of raw output. `--list` flag seams to keep the geometry order and produces a consistent output in several distros.
* Fri Dec 18 2020 Marcus Schäfer - Bump version: 9.23.1 → 9.23.2
* Fri Dec 18 2020 Marcus Schäfer - Update kiwi-systemdeps-image-validation Make python anymarkup to be only recommended. The package does not exist on all distributions, e.g suse does not provide it and for kiwi it\'s an optional plugin
* Fri Dec 18 2020 Marcus Schäfer - Fixed missing provides tag When building WSL images the image type is set to appx. Therefore obs is looking for what provides kiwi-image:appx This provides tag was missing
* Fri Dec 18 2020 Marcus Schäfer - Don\'t install obsolete requires packages The derived docker build test installs obsolete kiwi requires
* Thu Dec 17 2020 Marcus Schäfer - Bump version: 9.23.0 → 9.23.1
* Thu Dec 17 2020 Marcus Schäfer - Update spec file Complete and cleanup spec for drop in replacement of new systemdeps sub-packages
* Thu Dec 17 2020 Marcus Schäfer - Bump version: 9.22.4 → 9.23.0
* Thu Dec 17 2020 Marcus Schäfer - Set min version python requirement The use of new features like type hinting and annotations requires a python version >= 3.6
* Thu Dec 17 2020 Marcus Schäfer - Bump version: 9.22.3 → 9.22.4
* Thu Dec 17 2020 David Cassany - Use the generic Dict type This commit makes use of the Dict type in the container factory classes so these type hints aligned with the other dict related type hints in KIWI code. This commit improves the refactor done in 99be52ba.
* Thu Dec 17 2020 Marcus Schäfer - Update preferences documentation The last commit added the optional arch attribute to the preferences section but the documentation did not expose this information. This is related to Issue #1640
* Wed Dec 16 2020 Marcus Schäfer - Fixed no-self-use issue from codacy report The Logger.progress method is actually a static method and should be used as such
* Wed Dec 16 2020 Marcus Schäfer - Added strong typing for the following API methods
* logger
* logger_color_formatter
* logger_filter
* xml_description
* xml_state
* markup/any
* markup/base
* markup/xml This references Issue #1644
* Wed Dec 16 2020 David Cassany - Add \'arch\' attribute to preferences This commits adds the attribute \'arch\' to preferences. It works as any other \'arch\' attribute within the schema. Preferences defined with architectures that do not match the host are ignored. If no \'arch\' is provided it matches all any host architecture. Fixes #1640
* Wed Dec 16 2020 Marcus Schäfer - Fixed color json output kiwi supports output of yaml/json markup in color mode using pjson. The writing of this data required to be encoded prior output.
* Tue Dec 15 2020 Marcus Schäfer - Fix vagrant documentation The previous pull request adding a baseVagrantSetup method and documentation broke the build of the docs due to invalid indentation. The test pipeline has failed but the PR was merged so this followup commit is needed to fix the docs
* Tue Dec 15 2020 David Cassany - Refactor iso_tools factory class This commit refactors the IsoTools class and turns it into a proper factory class and also includes type hints to facilitate it\'s use from an API POV. Related to #1498
* Tue Dec 15 2020 David Cassany - Refactor container factory classes This commit refactors the container related classes to turn them into proper factory classes and also includes type hints to facilitate it\'s use from an API POV. Related to #1498
* Tue Dec 15 2020 Marcus Schäfer - Delete traces of travis integration Rename and clarify code that was still using the name travis. Delete all references to the travis CI system from kiwi
* Tue Dec 15 2020 Marcus Schäfer - Bump version: 9.22.2 → 9.22.3
* Tue Dec 15 2020 Marcus Schäfer - Fixed SUSE doc update in gitlab pipeline There is a dependency set to build_suse_doc in the push_suse_doc target. But the build_suse_doc target has set except \"master\" when the push_suse_doc has set only \"master\". Obviously this doesn\'t fit together
* Tue Dec 15 2020 Marcus Schäfer - Bump version: 9.22.1 → 9.22.2
* Mon Dec 14 2020 Marcus Schäfer - Fixed source rpm check in gitlab Fedora30 is EOL, thus there is no provider for mock/fedora-30-x86_64.cfg anymore
* Mon Dec 14 2020 Marcus Schäfer - Delete travis setup
* Mon Dec 14 2020 Marcus Schäfer - Added gitlab pipeline to deploy kiwi documentation Use a github token and a bit of script code to deploy the kiwi online documentation to the gh-pages branch
* Mon Dec 14 2020 Marcus Schäfer - Move CI system to gitlab Travis made questionable changes to their open statement and I\'m not following this anymore.
* Fri Dec 11 2020 Marcus Schäfer - Added check_swap_name_used_with_lvm runtime check The optional oem-swapname is only effective if used together with the LVM volume manager. A name for the swap space can only be set if it is created as a LVM volume. In any other case the name does not apply to the system. This condition should be checked to avoid useless settings in the image description.
* Fri Dec 11 2020 Marcus Schäfer - Allow to customize swap volume name Added a new element below the section which allows to specify a name for the swap volume in case the LVM volume manager is used. The default if not specified continuous to stay at: LVSwap. This Fixes #1638
* Fri Dec 11 2020 Marcus Schäfer - Fixed base setup links Do not create a link /var/run pointing to /run. This is unexpected and looks like a left over from kiwi legacy which supported older distributions who might have needed this. This Fixes #1643
* Wed Dec 09 2020 Dan Čermák - [doc] Clarify that suse
* functions are also for openSUSE
* Wed Dec 09 2020 Dan Čermák - Add baseVagrantSetup helper function This function is used to setup a vagrant box, so that each vagrant box creator needn\'t implement it themselves.
* Wed Dec 09 2020 Dan Čermák - Use DEBUG=0 by default in function Debug This avoids script failures when invoked with `set -u`.
* Wed Dec 09 2020 David Cassany - Make debootstrap repository explicit This commit introduces the use_for_debootstrap attribute for repositories of type apt-deb. This is a boolean attribute to specify the repository that will be used for bootstrapping in apt-deb based images. Only one can be selected and if none is specified KIWI just makes use of the last one in the list. Fixes #1593
* Tue Dec 08 2020 Neal Gompa - Refactor packaging to split out system dependencies into subpackages The eventual goal is to eliminate the requirement to use magic in build systems (e.g, OBS) to compose the necessary dependencies for image builds, while making it easier for local users to discover what they need to build appliances. Fixes #1503
* Tue Dec 08 2020 Neal Gompa - Drop useless chkconfig dependency We originally had chkconfig as a dependency because alternatives(8) is part of chkconfig in RH/Fedora systems. Since we don\'t use that anymore, we don\'t need this dependency.
* Tue Dec 08 2020 Neal Gompa - Require gnupg on Debian/Ubuntu Without this, it\'s not possible to do GPG verification of Debian/Ubuntu repositories.
* Tue Dec 08 2020 Petr Pavlu - Fix disk build with
* Fix DiskBuilder.create_disk() to not call the BootLoaderConfig factory when bootloader=custom. The factory does not recognize the \"custom\" bootloader name and raises the following exception: KiwiBootLoaderConfigSetupError: Support for custom bootloader config not implemented
* Update DiskBuilder._install_bootloader() to not invoke any bootloader_config methods when bootloader=custom since no config instance is created in such a case.
* Tue Dec 08 2020 Marcus Schäfer - Bump version: 9.22.0 → 9.22.1
* Tue Dec 08 2020 Marcus Schäfer - Fixed validation of bool value in dracut module The oem-multipath-scan setup results in a bool variable inside of the initrd code. The variable kiwi_oemmultipath_scan is therefore either set to \"true\" or \"false\". A check in code of the form [ -n ... ] is stupid since the variable always contains text. This commit fixes the validation to make use of the bool() method provided for these type of variables
* Fri Dec 04 2020 Marcus Schäfer - Added SLE15 s390 FBA integration test Build image for FBA disk
* Thu Dec 03 2020 Marcus Schäfer - Bump version: 9.21.26 → 9.22.0
* Thu Dec 03 2020 Marcus Schäfer - Omit multipath module by default The plain installation of the multipath toolkit activates the dracut multipath code. The setup if the target image runs in a multipath environment or not should however be decided explicitly in the image description via and not implicitly by the presence of tools
* Wed Dec 02 2020 Marcus Schäfer - Fixed multipath disk device assignment in kiwi lib The former lookup of the multipath mapped disk device contained a race condition. If the lookup of the device mapper files happened before multipathd has finished the initialization, kiwi continues with the unix node name and fails when the device mapper keeps a busy state on it. This commit changes the code such that in case of an explicit request to use multipath the lookup of the mapped device becomes a mandatory process that runs until the DEVICE_TIMEOUT is reached. Default timeout is set to 60 sec. This references Issue SUSE-Enceladus/azure-li-services#255
* Wed Nov 25 2020 Marcus Schäfer - Fixed PackageManager decorator in unit test Implement patch decorators for factories consistently
* Wed Nov 25 2020 Marcus Schäfer - Refactor Repository This commit refactors the Repository class and turns it into a proper factory class and also includes type hints to facilitate it\'s use from an API POV. Related to #1498
* Tue Nov 24 2020 Neal Gompa - Add DNF as a proper dependency for openSUSE This is required so that OBS can build openSUSE containers and appliances using DNF as the package manager.
* Tue Nov 24 2020 Marcus Schäfer - Fixed spec file microdnf requirement SUSE/SLES doesn\'t provide microdnf within the official channels yet
* Tue Nov 24 2020 Marcus Schäfer - Refactor Partitioner This commit refactors the Partitioner class and turns it into a proper factory class and also includes type hints to facilitate it\'s use from an API POV. Related to #1498
* Tue Nov 24 2020 David Cassany - Avoid using generators in pre-mount hooks This commit deletes the generator that was creating the sysroot.mount unit for ramdisk deployments. Generators, specially the sysroot.mount is expected to be created on very early stages of the boot procedure as this has impact on relevant targets such as initrd-root-fs.target, which does not depend on sysroot.mount if the unit is not there. In ramdisk deployments some data is known on pre-mount stage as as it is downloaded from the PXE server. At this stage it is not safe to generate a sysroot.mount unit that depends on initrd-root-fs.target as the target is close to finalize or even finalized already and could potentially skip sysroot.mount exection. Instead we include a mount hook which is only executed on ramdisk deployments that simply runs the mount command to mount /sysroot. This fixes bsc#1178670
* Mon Nov 23 2020 Marcus Schäfer - Refactor PackageManager This commit refactors the PackageManager class and turns it into a proper factory class which also include type hints to facilitate it\'s use from an API POV. Related to #1498
* Mon Nov 23 2020 Marcus Schäfer - Refactor Markup This commit refactors the Markup class and turns it into a proper factory class which also include type hints to facilitate it\'s use from an API POV. Related to #1498
* Fri Nov 20 2020 Marcus Schäfer - Bump version: 9.21.25 → 9.21.26
* Thu Nov 19 2020 Marcus Schäfer - Fixed dnf plugin config setup Only create a dnf plugin config if the plugin config directory to store that file exists in the system
* Thu Nov 19 2020 Marcus Schäfer - Set --releasever=0 for microdnf To allow microdnf to work from an empty root directory we need to set the release version to zero
* Wed Nov 18 2020 Marcus Schäfer - Use custom varsdir for dnf builds
* Wed Nov 18 2020 Marcus Schäfer - Partially revert dcounter.c flaw report I could not find a problem with this read call it does check on the buffer boundaries and it only writes the bytes that read returns until read returns <= 0
* Wed Nov 18 2020 Marcus Schäfer - Fixed dcounter.c flaw report Check buffer boundaries if used in a loop
* Wed Nov 18 2020 Marcus Schäfer - Fixed dcounter.c flaw report Variable scope can be reduced and useless value assignment.
* Wed Nov 18 2020 Marcus Schäfer - Fixed microdnf support The installroot argument must be used together with --config and additionally with --noplugins, as well as --setopt for cachedir, reposdir and varsdir. Related to #1625
* Tue Nov 17 2020 Marcus Schäfer - Move tools README to ReST
* Tue Nov 17 2020 Marcus Schäfer - Fixed Incorrect list-item indent
* Tue Nov 17 2020 Marcus Schäfer - Fixed Incorrect list-item indent Use two spaces between bullet and content
* Tue Nov 17 2020 Marcus Schäfer - Update codacy configuration file Exclude .github helper scripts from the analysis
* Tue Nov 17 2020 Marcus Schäfer - Update codacy configuration file Exclude doc sources and helper scripts from the analysis
* Mon Nov 16 2020 Neal Gompa - Fix setopt argument for install_weak_deps for microdnf Micro DNF does not support \"True\"/\"False\", only \"1\"/\"0\"...
* Mon Nov 16 2020 Marcus Schäfer - Better error reporting if jing is missing On validation error we use jing to report detailed error messages. However if jing is not present no validation errors are displayed. There is a error_log variable as part of the relaxNG object which holds the library error log. This information is not as good as the jing report but better than nothing
* Mon Nov 16 2020 Marcus Schäfer - Added microdnf support in XML schema The XML schema did not allow to specify microdnf as supported package manager
* Mon Nov 16 2020 Marcus Schäfer - Added microdnf integration test
* Mon Nov 16 2020 Marcus Schäfer - Bump version: 9.21.24 → 9.21.25
* Fri Nov 13 2020 Neal Gompa - Use --config instead of -c for DNF and Micro DNF The -c option is not supported in Micro DNF, but --config is, and it is supported with DNF as well.
* Fri Nov 13 2020 Neal Gompa - Drop \'microdnf makecache\' call for microdnf package manager This subcommand does not exist and is not needed. Instead, we need to use \'--refresh\' where this is needed.
* Fri Nov 13 2020 Marcus Schäfer - Bump version: 9.21.23 → 9.21.24
* Fri Nov 13 2020 Marcus Schäfer - No bootpartition for XFS by default Selecting the xfs filesystem made kiwi to create an extra boot partition. This is from times when grub was not able to read from XFS. As grub doesn\'t have this limitation since quite some time the bootpartition default in kiwi for XFS should be changed. This is realted to #1611
* Thu Nov 12 2020 Marcus Schäfer - Create relative boot link for extra boot partition If an extra boot partition is used the grub toolchain still references files from that partition as /boot/... which fails because they are now at the toplevel. To avoid this and keep any /boot/some-file reference still valid we create a symlink \'boot -> .\' This Fixes #1611
* Thu Nov 12 2020 David Cassany - Fix documentation to be consistent with the XML KIWI scheme This commit fixes the user section documentation to properly reflect XML KIWI scheme constraints. \'home\' attribute is optional and \'password\' attribute is mandatory. Fixes #1599
* Thu Nov 12 2020 Neal Gompa - Add support for the Micro DNF package manager Micro DNF is a minimal C implementation of DNF that is usable for minimal appliances and containers. While it is not at parity with DNF, it implements enough functionality that it is mostly usable for building appliance images.
* Wed Nov 11 2020 Marcus Schäfer - Added remote overlay boot documentation Added a new chapter below: working with images, which describes the options to remote boot via kiwi-overlay from an NBD or AOE exported root filesystem image.
* Wed Nov 11 2020 Frank Schreiner - use BuildRequires for distros which use fdupes
* Tue Nov 10 2020 Marcus Schäfer - Added support for nbd and aoe root overlay The kiwi-overlay dracut module can also be used as standalone module that is not connected to a disk image. In this case it\'s needed to specify the location for the root filesystem and optionally the device to write data (default is ram space). This commit adds the opportunity to specify a nbd/aoe location for the root filesystem on the kernel cmdline like in the following examples: root=overlay:nbd=nbd0:192.168.100.42:exportname root=overlay:aoe=e0.1 An optional write space, if it should not be ram space, can be provided through the rd.root.overlay.write option on the kernel cmdline. This Fixes: OSInside/kiwi-descriptions#78
* Mon Nov 09 2020 Marcus Schäfer - Increase allowed complexity level Increase overall allowed flake8 complexity level and delete the extra exceptions from code as much as possible
* Mon Nov 09 2020 David Cassany - Add editbootinstall script for Arch Linux tests This commit adds the editbootinstall script to Arch Linux OEM integration tests. The provided script removes the use of linuxefi and initrdefi commands on grub configuration since Arch does not support linuxefi module. Fixes #1559
* Mon Nov 09 2020 Marcus Schäfer - Update tox and travis setup for python 3_8 Move latest python test target to 3.8 and also change the deploy travis target to use python 3.8
* Mon Nov 09 2020 Marcus Schäfer - Allow console login for the integration tests The integration tests for the cloud targets had the console login for root disabled. This is correct if the image would be really used in the cloud. The integration test however will be functional tested within openQA and that requires serial console and root console login to be allowed.
* Sun Nov 08 2020 Marcus Schäfer - Added universal box to build status helper
* Thu Nov 05 2020 Marcus Schäfer - Bump version: 9.21.22 → 9.21.23
* Wed Nov 04 2020 David Cassany - Move usrmerge package out of the bootstrap section Currently bootstrap phase on APT package manager makes use of the debootstrap tool. However debootstrap is limited to execute the bootstrap using a single repository. This is causes several limitations in OBS builds, such as the impossibility of using update repositories or the inclusion of any package that is not part of the standard OBS repository. Usrmerge package is part of the universe repository in OBS which is not te one used by debootstrap, so it can\'t be installed on bootstrap phase.
* Wed Nov 04 2020 Marcus Schäfer - Bump version: 9.21.21 → 9.21.22
* Wed Nov 04 2020 Marcus Schäfer - Fixed package manager api inconsistency The method post_process_install_requests_bootstrap in the zypper package manager was missing an argument
* Wed Nov 04 2020 Marcus Schäfer - Bump version: 9.21.20 → 9.21.21
* Wed Nov 04 2020 Marcus Schäfer - Fixed regexp for grub rootdev substitution The regular expression to match the grub root device used a lazy glob match \".
*?\". This however matches a too long part depending on the rest of the content. This commit fixes the expression to be strict on the allowed characters and makes sure the anchor characters are not part of the matching character class. This Fixes #1607
* Wed Nov 04 2020 Quang Tran - Fix quick start guide build command The kiwi-descriptions were reorganized in profiles (See OSInside/kiwi-descriptionsAATT788b919ea2500b9d495622c8140e618938634306). However the build command in the quick start guide was not updated appropriately and therefore the build fails. This commit will update the build command.
* Tue Nov 03 2020 Marcus Schäfer - Fixed install of bash completion The kiwi completion was installed as kiwi-ng.sh below /usr/share/bash-completion/completions. This is wrong because the completion does not pick up files with a suffix like .sh. This commit changes the completion file to be installed as kiwi-ng without the suffix and Fixes #1603
* Tue Nov 03 2020 Marcus Schäfer - Update integration tests console setup Update all integration tests to use a serial tty console setup and also to use a serial bootloader setup. This Fixes #1518
* Mon Nov 02 2020 Marcus Schäfer - Refactor VolumeManager This commit refactors VolumeManager to turn it into a proper factory class and to also include type hints to facilitate it\'s use from an API POV. Related to #1498
* Mon Nov 02 2020 David Cassany - Do not exclude filesystem folders in OCI images This commit does not exclude filesystem folders during the rsync call in OCI images. It has been noted that including an empty /dev folder does not hurt and it can eventually help to work around some limitations of container related tools such as buildah. Fixes bsc#1176129
* Mon Nov 02 2020 Marcus Schäfer - Refactor RootImport This commit refactors RootImport to turn it into a proper factory class and to also include type hints to facilitate it\'s use from an API POV. Related to #1498
* Mon Nov 02 2020 Marcus Schäfer - Set displayname in simple disk test Use the simple disk integration test to test the setup of the displayname attribute. It is expected that this image has the configured displayname set in the grub menu. The verification of this setting should be done in a functional test at openQA which we are currently working on
* Mon Nov 02 2020 Marcus Schäfer - Refactor DiskFormat This commit refactors DiskFormat to turn it into a proper factory class and to also include type hints to facilitate it\'s use from an API POV. Related to #1498
* Mon Nov 02 2020 Marcus Schäfer - Refactor SolverRepository This commit refactors SolverRepository to turn it into a proper factory class and to also include type hints to facilitate it\'s use from an API POV. Related to #1498
* Mon Nov 02 2020 Marcus Schäfer - Set GRUB_DISTRIBUTOR if requested via displayname If the image description explicitly specifies a displayname it is expected that the bootloader shows this in the menu. Therefore in case displayname is set GRUB_DISTRIBUTOR will be set if grub2 is in use. This partially reverts #1420 and Fixes #1575
* Wed Oct 28 2020 Marcus Schäfer - Bump version: 9.21.19 → 9.21.20
* Thu Oct 22 2020 Marcus Schäfer - Deleted yast from test-image-qcow-openstack yast is not part of the testing queue in kiwi integration tests
* Wed Oct 21 2020 Marcus Schäfer - Obsolete config functions baseMount/baseCleanMount The above methods are obsolete since kiwi handles these mount/umount processes as part of the core builder code. This Fixes #1536
* Wed Oct 21 2020 Marcus Schäfer - Bump version: 9.21.18 → 9.21.19
* Tue Oct 20 2020 Marcus Schäfer - Allow custom root volume name setup In addition to the custom size of the root volume it\'s now also possible to setup the name of the root volume as follows: If no name for the root volume is specified the default name: LVRoot applies as before. This Fixes #1530
* Tue Oct 20 2020 Marcus Schäfer - Rename image build tests To use the image builds in openQA they have to have a unique name such that it cannot happen that a cached version of an image in openQA is used. The current names matched openQA cached images e.g openSUSE-Tumbleweed and in addition different image build tests used the same name. This commit uses the name of the image as it is organized in its directory structure prepending \"kiwi-\" to be unique in openQA when it fetches the image. This is realted to Issue #1555
* Mon Oct 19 2020 David Cassany - Better integrate debootstrap in KIWI process This commit integrates debootstrap process in KIWI in a more transparent way. This refactor makes debootstrap to operate directly over the image target root tree. This way KIWI can show and parse debootstrap stdout and also avoids having to copy the created root tree from one temporary folder to the actual target root tree path. Related to #1587
* Mon Oct 19 2020 David Cassany - Include boostrap packages list into deboostrap call This commit includes the packages listed in boostrap section to the debootstrap call instead chrooting into the new root tree and call apt. Fixes #1587
* Fri Oct 16 2020 Quang Tran - Update outdated OBS User Guide Links
* Thu Oct 15 2020 Marcus Schäfer - Fixed device_array structure in get_selected_disk In reference to Issue #880 a bug was introduced that broke the contents of the device_array which causes issues on installations with two or more attached disks. The change in the mentioned PR reduced the tuple for each disk from 3 elements to 2 elements. Therefore the loop that iterates over the disk tuples via modulo 3 was broken. This commit fixes the modulo operation to correctly parse the disk_list. Fixes #1588
* Tue Oct 13 2020 Marcus Schäfer - Add support for s390 CDL DASD disks On s390 and in CDL mode (4k DASD) the call of grub2-install does not work because grub2-install is not able to identify a 4k fdasd partitioned loop device as a grub supported device and fails. As grub2-install is only used to invoke grub2-zipl-setup and has no other job to do we can circumvent this problem by directly calling grub2-zipl-setup instead. Also delete LDL mode support, IBM no longer supports this
* Tue Oct 13 2020 Marcus Schäfer - Fixed strncopy in dcounter helper The max size of the copy operation was always set to zero because the strlen of an empty buffer is zero. Bad mistake from my side :( This Fixes #1579
* Mon Oct 12 2020 Marcus Schäfer - Bump version: 9.21.17 → 9.21.18
* Sun Oct 11 2020 David Cassany - Fix profile docs This commit fixes the profiles documentation. The example KIWI-NG command was using wrong flags order. This commit fixes the `--profile` flag order in documentation.
* Thu Oct 08 2020 Marcus Schäfer - Enhance scope of _fix_grub_root_device_reference In addition to the wrong root=/dev/mapper/loop... reference fixing, written by grub2-mkconfig when used in obs there is also the case that grub2-mkconfig writes root=PARTUUID which is also unwanted and needs fixing. To solve this properly and also with respect to more unexpected grub2-mkconfig data, the code changes to use a regular expression for the root= replacement. The expression matches all root= cases which we want to fixup: 1. If the local used root device appears in the grub config file. 2. If a linux by-id setting is used in the grub config file. The replacement happens for overlayroot disk images where we know grub2-mkconfig cannot handle the layout as well as if kiwi runs in obs where we know grub2-mkconfig fails due to the absence of udev.
* Wed Oct 07 2020 Marcus Schäfer - Add support for rd.root.overlay.readonly Allow to use an overlayroot system with read-only feature. If kernelcmdline=\"rd.root.overlay.readonly\" is set in combination with overlayroot=\"true\" the overlayfs uses a tmpfs to store new data temporary as long as the system runs. On reboot the newly written data is lost and the system is back to its factory state.
* Mon Oct 05 2020 Marcus Schäfer - Use custom tmpfs for managing overlays Provide a method to manage the base mount point for overlay and iso mount points and set the base directory to it because /run has a RAM space limitation which is unfortunate to handle live systems. This Fixes #1558
* Mon Oct 05 2020 Marcus Schäfer - Bump version: 9.21.16 → 9.21.17
* Mon Oct 05 2020 David Cassany - Make dependencies to dracut-kiwi-lib release specific This commit adds a dracut-kiwi-lib dependency to dracut-kiwi-oem-dump and darcut-kiwi-oem-repart to match up to the release level. This way the dependency ensures the pulled binaries they are all part of the same build.
* Mon Oct 05 2020 Marcus Schäfer - Bump version: 9.21.15 → 9.21.16
* Mon Oct 05 2020 Marcus Schäfer - Delete length limitation of image id attribute For legacy reasons the attributes was limited to 10digits. The contents of /etc/ImageID are now free format and no longer strictly evaluated. Thus the limitations on the id attribute can be deleted
* Fri Oct 02 2020 Marcus Schäfer - Bump version: 9.21.14 → 9.21.15
* Fri Oct 02 2020 David Cassany - Align dracut-kiwi-lib version with packages requiring it This commit enforces dracut-kiwi-oem-repart and dracut-kiwi-oem-dump to require dracut-kiwi-lib of the same exact version. This prevents dracut-kiwi-lib and the packages dependent on it being installed on a image with inconsistent versions. Fixes #1529
* Fri Oct 02 2020 Marcus Schäfer - Allow to configure .changes creation and bundling Provide config option has_package_changes in the runtime config file and set a useful default. For building outside obs the default for the .changes creation is switched on, for building in obs it\'s switched off because obs creates its own info file
* Tue Sep 29 2020 David Cassany - Fix compat link for rpmdb location This commit fixes the symlink creation for `/var/lib/rpm`. More specific for derived container images in which the base root tree already included the `/var/lib/rpm` the link, the `ln` command was creating a symlink inside the `/var/lib/rpm` folder givent that it was following the already existing symlink. Adding the `--no-target-directory` force `ln` command to treat `/var/lib/rpm` path as the fully qualified symlink name. Fixes bsc#1176977
* Tue Sep 29 2020 Jim Klimov - Report download URL on failed request In case a network request to a given URL failed the report message should include the URL This Fixes #1572
* Tue Sep 29 2020 Marcus Schäfer - Use pragma: no cover to skip non reachable code Instead of placing the file into .coveragerc use the no cover pragma to skip code paths that can never be reached from being counted in the coverage report. This affects the abstract constructors in the Factory classes
* Mon Sep 28 2020 David Cassany - Refactor BootLoaderInstall This commit refactors BootLoaderInstall class to make it a proper factory class. In addition type hints are added for the constructor method. Related to #1498
* Fri Sep 25 2020 David Cassany - Refactor BootLoaderConfig This commit refactors BootLoaderConfig to turn it into a proper factory class and to also include type hints to facilitate it\'s use from an API POV. Related to #1498
* Fri Sep 25 2020 Marcus Schäfer - Fix/Refactor s390 support This changes the s390 support on several stages: 1) On s390 the boot process is based on zipl which boots into an initrd from which a userspace grub process is started to support the grub capabilities. The implementation of this concept is provided via the grub2-s390x-emu package. Once installed the setup of the bootloader is done via the grub2-mkconfig and grub2-install commands and therefore from a caller perspective the same as with any other grub2 setup process. For kiwi this means no extra zipl bootloader target code is needed. Therefore this commit deletes the zipl setup from kiwi and puts on the standard grub2 process. This Fixes bsc#1170863 2) To support different targettypes the grub2-s390x-emu provided zipl template must be adapted. Parts of the former zipl bootloader setup therefore now applies to an update of the zipl2grub template file 3) Support for CDL/LDL DASD targets has been disabled in the schema When testing 4k devices and a respective zipl2grub template setup for CDL/LDL targettype it has turned out that grub2-install is not able to run on such a device. My assumption is that the device code in grub2-install does not work for 4k devices with an fdasd created partition table. As this needs further investigations and most probably adaptions on the grub toolchain for s390, we disabled the setup of these modes for now. emulated DASD (FBA) and SCSI targets stays supported.
* Wed Sep 23 2020 Marcus Schäfer - Add support for package changelog info In addition to the .packages file which shows details about the installed packages in terms of version, license, etc... we now also create a .changes file which contains the changelog information of the installed packages. The file can be used to compare the package changelogs between image builds.
* Wed Sep 23 2020 Marcus Schäfer - Refactor BootImage Factory This commit refactors the BootImage factory to be a real factory and to add type hints such that its use from an api perspective is clear and enforced. Related to Issue #1498
* Wed Sep 23 2020 Marcus Schäfer - Bump version: 9.21.13 → 9.21.14
* Wed Sep 23 2020 Marcus Schäfer - Fixed s390/sle15 Virtual disk integration test The integration test used FBA mode as target. As the target is expected to be KVM this is the wrong setting. SCSI should be used instead. This Fixes bsc#1170863
* Wed Sep 23 2020 Marcus Schäfer - Followup fix to handle one disk type better The vmx type is auto converted into an oem type with rootfs resize disabled such that all disk images can be handled under one disk type. However people who run kiwi on the commandline and have selected --type vmx before now end with an error message saying that there is no vmx type because it was converted into an oem type. To handle this more gracefully this commit changes the commandline option --type vmx into --type oem if provided and prints a warning message.
* Tue Sep 22 2020 Marcus Schäfer - Refactor ImageBuilder Factory This commit refactors the ImageBuilder factory to be a real factory and to add type hints such that its use from an api perspective is clear and enforced. Related to Issue #1498
* Tue Sep 22 2020 Marcus Schäfer - Bump version: 9.21.12 → 9.21.13
* Tue Sep 22 2020 Marcus Schäfer - Cleanup grub adaptions code The grub setup code has some after grub-mkconfig code that fixes the written grub.cfg file on certain conditions. For a better understanding and readability those conditions and reasons are now put into private _fix
* methods that explains why we need to patch the written grub config file. We all hope that those methods can go away when grub gets fixed properly. This Fixes #1527
* Mon Sep 21 2020 Marcus Schäfer - Cosmetic update for build status helper Show disabled integration test builds with a clear indicator
* Mon Sep 21 2020 Marcus Schäfer - Bump version: 9.21.11 → 9.21.12
* Mon Sep 21 2020 Marcus Schäfer - Added consistency runtime check for the type setup multiple type sections within one preferences section is allowed in a kiwi image description. However, if multiple type sections for the same image attribute are configured only the last type configuration will be ever reachable. The proposed runtime check in this commit detects this situation and raises an exception showing the conflicting types including a solution suggestion which needs to be based on profiles to distinguish between types of the same image type name.
* Mon Sep 21 2020 David Cassany - Get default maintainer and author from image description This commit sets the maintainer and author metadata from the description section of the image in they are not explicitly specified in container-config section. In addition it sets the default container name to `system-container` instead of `systemContainer` as uppercase letters are not valid for docker container references. Fixes #1419
* Fri Sep 18 2020 Marcus Schäfer - Bump version: 9.21.10 → 9.21.11
* Fri Sep 18 2020 Marcus Schäfer - Update build test directory names Name the build test directory to follow the changes done in Issue #1425. There is only one disk image type now, thus the tests for testing disk images should indicate that better. Also the tests that build live iso images should indicate a live iso not only an iso as it could be mixed up with an install iso
* Thu Sep 17 2020 Marcus Schäfer - Consolidate build test names and description Update build test image names to be more generic and not bound to a specific version of a distribution. As the tests are usually based on rolling releases of distros the name of the test image should be generic. Also adapted the specification of the test images to describe the focus of the test if not generic.
* Wed Sep 16 2020 Marcus Schäfer - Bump version: 9.21.9 → 9.21.10
* Wed Sep 16 2020 David Cassany - Fix the early boot grub.cfg file This commit makes sure that the early boot configuration files for grub make use of the proper boot path and omiting the `/boot` prefix if there is a dedicated boot partition. Fixes #1553
* Tue Sep 15 2020 Vincent Moutoussamy <3873925+vmoutoussamyAATTusers.noreply.github.com>- Change Appliance names to drop the name LimeJeOS The name LimeJeOS was an invention of the SUSE Studio project. Since the project does no longer exist, users have no idea what the name means. Therefore the integration tests as well as the documentation now changes the image names to provide more clarity. This Fixes #1544
* Mon Sep 14 2020 David Cassany - Include loadenv as a default module for grub images This commit includes the \'loadenv\' module to the list of basic grub modules. This makes sure the module is included in any grub-mkimage that KIWI does. Fixes #1547
* Sun Sep 13 2020 Marcus Schäfer - Make oem be a superset of vmx A vmx image is the same disk as an oem just without the dracut repart/resize feature. This difference is better handled with an oemconfig parameter which allows to switch resize on or off. The extra image type vmx will be dropped and an XSLT stylesheet automatically transforms a vmx description to be a oem image with the resize feature switched off. This Fixes #1425
* Fri Sep 11 2020 Marcus Schäfer - Make oem image use dracut by default Before this commit an oem image still had the kiwi initrd_system set as default. As we are decommission the custom kiwi initrd concept the default should be changed. It is still possible to use a custom kiwi initrd but it needs to be explicitly requested via the initrd_system=\"kiwi\" attribute. In addition to the changed default a runtime check was introduced that checks the presence of the boot= attribute which only makes sense in combination with the kiwi initrd_system. If boot= is set but initrd_system=\"kiwi\" is not, a message is raised that explains the situation and either requests setting initrd_system properly or deleting the boot attribute. The change only affects people who still use oem with a boot=\"oemboot/...\" setting and no explicit selection of kiwi as the initrd_system. As these image type configurations should not be in use anyway because this is all legacy and announced to go away, we need to make the next step and enforce a new default in code. This is related to Issue #1299
* Wed Sep 09 2020 Marcus Schäfer - Bump version: 9.21.8 → 9.21.9
* Tue Sep 08 2020 Marcus Schäfer - Support dynamic linux/linuxefi in any case Instead of restricting the dynamic linux vs. linuxefi setup to a specific grub version, support this setup for any version of grub. This Fixes bsc#1175729 and bsc#1176134
* Tue Sep 08 2020 Marcus Schäfer - Explicitly set start sector for msdos repartition When using the sfdisk(>=2.26) tool the start and end of partitions aligns to block-device I/O limits. This means it\'s hardware specific what values sfdisk picks. In a repart operation this is however dangerous for the start sector which must be the same to prevent corruption of the data in the partition when kiwi resizes it. Therefore this commit uses the sfdisk dump command to read the start sector for deleted partitions and uses that start sector if the same partition gets recreated such that only the end of the partition changes and gets aligned properly. This Fixes #1543
* Mon Sep 07 2020 Marcus Schäfer - Complete documentation of type attributes Some type attributes e.g efipartsize and others were not documented properly. This Fixes #1532
* Mon Sep 07 2020 David Cassany - Strip package and archive names This commit strips the package and archive names string to trim any trailing or heading space included into the XML. Fixes #1494
* Sun Sep 06 2020 Marcus Schäfer - Bump version: 9.21.7 → 9.21.8
* Thu Aug 27 2020 David Cassany - Make use of POSIX locale in Arch Linux integration tests Current Arch Linux (August 2020) has no other locale than POSIX or C enabled on the system by default. In fact, to enable further locales in Arch it is required to uncomment the desired ones in `/etc/locale.gen` and then execute the tool `locale-gen`, after that the selected locales are eligible for the common system adminstration tools such as `localectl`. In KIWI the locale setting happens before running `config.sh` so there aren\'t changes to generate any custom locale before applying the value configured in the description XML file.
* Thu Aug 27 2020 Marcus Schäfer - Fixed legacy custom kiwi initrd based image builds This patch is two fold:
* Image builds that uses the kiwi initrd system did not apply the grub config file fixes because the root= parameter is an optional information when using a kiwi initrd. However this information is required to apply the grub config file fixes. Therefore this patch simplifies the kernel commandline processing such that it is the same for dracut and custom kiwi initrd based systems. This means root= is passed in any case.
* The other part of the patch disables the method that strips unused libraries from the custom kiwi initrd. It has turned out that is safes us almost nothing but could causes corrupted initrds missing important libraries e.g libpam which is linked against udev and other tools. Therefore libpam is also added to the protected strip list
* Thu Aug 27 2020 Marcus Schäfer - Fixed legacy oem test build install gawk package in bootstrap to avoid conflict in tumbleweed between gawk and busybox-gawk
* Wed Aug 19 2020 Marcus Schäfer - Added s390 SLE15 integration tests
* Tue Aug 18 2020 Marcus Schäfer - Added suse integration test built with dnf Use dnf to build a suse image
* Thu Aug 13 2020 Marcus Schäfer - Include box plugin images to build_status Also show some colors for failed and unresolvable builds
* Tue Aug 11 2020 Marcus Schäfer - Bump version: 9.21.6 → 9.21.7
* Tue Aug 11 2020 Marcus Schäfer - Fixed archlinux integration test build The setup of the locale via systemd-firstboot --locale=en_US.UTF-8 failed on archlinux with the error message Locale en_US.UTF-8 is not installed. This commit sets the locale explicitly
* Tue Aug 11 2020 Marcus Schäfer - Fixed GCE integration test build nothing provides google-compute-engine-init
* Tue Aug 11 2020 Marcus Schäfer - Fixed bootloader grub copy SameFileError exception Only copy the file if the given source and destination are not the same file
* Tue Aug 11 2020 Marcus Schäfer - Simplify build_status helper Instead of a static list with all integration test build names only maintain a list of integration test build project names
* Tue Aug 11 2020 Marcus Schäfer - Bump version: 9.21.5 → 9.21.6
* Mon Aug 10 2020 Marcus Schäfer - Fixed doc structure for image types The documentation did not differentiate correctly between the explanation of the image types, their results and the build host constraints compared to the documentation that actually describes how to build an image for those types. This Fixes #1520
* Fri Jul 24 2020 Marcus Schäfer - Skip filesystem check for XFS prior xfs_grow running xfs_repair check isn\'t strictly necessary before resizing, and in some cases it may even prevent resizing by giving an error that would be cleared through mounting the fs (e.g. when the fs wasn\'t cleanly umounted, and thus letting xfs recover and replay its journal). Given that xfs can only grow online (while being mounted), this is sufficient to ensure that the fs is in a state where it can be resized. This is related to bsc#1174009
* Fri Jul 24 2020 David Cassany - Remove tuned daemon from CentOS integration test tuned daemon causes issues at install time with grub configuration. The build host configuration affects BLS entries generation if tuned deamon is around. This is likely to cause issues in general and it actually cause issues in OBS builds (because of a non standard highly customized build environment).
* Fri Jul 24 2020 David Cassany - Add Fedora RawHide test This commit upgrades the Fedora 30 test to a Fedora RawHide integration test in OBS. Note that an archive needs to be added at bootstrap phase to include `/etc/kernek/cmdline` configuration file to ensure the BLS entries are properly generated under OBS worker hosts.
* Fri Jul 24 2020 Marcus Schäfer - Fixed code logic in resize_filesystem method resize_filesystem runs fs-check on the filesytem prior to resize. This check however should not be done if the filesystem got deployed on a ramdisk. For that purpose the _is_ramdisk_device method exists. The logic in the method as well as the call were wrong. This in the end lead to a correct logic but is completely confusing. This commit fixes and simplifies the _is_ramdisk_device method and corrects the caller logic
* Wed Jul 22 2020 Marcus Schäfer - Make sure kernel options are respected by grub Set options variable in grub loader/entries to match the kiwi image description setup. This adaption currently happens only when building in OBS because in this env the options setup done by grub is a complete mess.
* Wed Jul 22 2020 Marcus Schäfer - Fixed root replace for grub menu entries The root device spec in the grub boot/loader/entries/
*.conf files when building in OBS is not matching the loop mapped image root device but matches the root device of the OBS worker. Very strange behavior and of course wrong. Because of that the expression to replace the wrong device with the correct one must be a regular expression and cannot be based on the loop mapped image root device.
* Wed Jul 22 2020 Marcus Schäfer - Fixed path to search for grub menu entries
* Wed Jul 22 2020 Marcus Schäfer - Fixed scope of remove_hierarchy The remove_hierarchy method walked through the entire path it was given. That included the root path which is beyond its scope. This Fixes #1515
* Wed Jul 22 2020 Marcus Schäfer - Fixed corrections in BootLoaderSpec grub config Distributions like Fedora RawHide or CentOS8 applies to the grub BootLoaderSpec as described here: https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec Part of the spec is that menu entries are handled in extra files below /boot/loader/entries. Unfortunately the grub2-mkconfig code has still no clue how to find the correct root device in special environments like obs workers or in overlay systems. To fixup the result of grub2-mkconfig there is code in kiwi which needs to be adapted because the file that contains the wrong information is now no longer grub.cfg but some /boot/loader/entries/
*.conf file. This commit solves the issue.
* Thu Jul 16 2020 Marcus Schäfer - Fixed grub setup in EFI/BOOT directory kiwi copied the same grub.cfg file as it exists in boot/grub2 to the efi path. This is wrong as the setup in the efi boot directory is used to enable normal grub loading and not providing the user grub configuration. In addition the changes here makes sure that the early grub boot code is placed into the system in any EFI case except for secure boot when shim-install is present. If shim-install is present it also creates the early grub boot setup such that kiwi doesn\'t have to do it. This Fixes #1491 and Fixes bsc#1172908
* Wed Jul 15 2020 Marcus Schäfer - Use rsync in inplace transfer mode Using the --inplace option in rsync helps to save space on syncing the rootfs data and prevents e.g OBS workers from running out of VM space when transfering root filesystem data. Also using --inplace allows to keep hardlinks intact. This is related to bsc#1096738
* Wed Jul 15 2020 Marcus Schäfer - Don\'t keep copy of grub2-install in the system To prevent shim-install from calling grub2-install in uefi mode kiwi temporary replaces the tool by a noop. This acts as a workaround for an issue in shim-install. However the workaround left a file copy of grub2-install in the system which should not happen. This commit Fixes bsc#1173226 and Fixes #1490
* Tue Jul 14 2020 David Cassany - Rename CentOS 7 test and add CentOS 8 test This commit renames the CentOS 7 test and adds a new CentOS 8 test Related to #1468
* Tue Jul 14 2020 David Cassany - Update Ubuntu and Debian image tests This commit updates Ubuntu test to Focal distribution and adds an additional Debian Buster image test. Related to #1468
* Mon Jul 13 2020 David Cassany - Include CentOS vendor in grub2 configuration This commit ensures the vendor files for grubenv consider CentOS vendoring.
* Wed Jul 08 2020 Marcus Schäfer - Fixed documentation for OEM swap partition A swap partition in an OEM deployment is only created if that is explicitly requested via the oem-swap element
* Wed Jul 08 2020 Marcus Schäfer - Bump version: 9.21.4 → 9.21.5
* Wed Jul 08 2020 David Cassany - Do not create a md5 checksum output file for archive images This commit removes the creation of the md5 file that includes a checksum of the image binary for the `tbz` image type. Removing it as this is the only image type that includes it as part of the result and because the bundle procedure already creates a sha256 file out of the results, so there is still the chance to produce validation checksums.
* Fri Jul 03 2020 David Cassany - Document output files KIWI produces This commits adds a chapter to describe the ouput files that are part of any image build.
* Fri Jul 03 2020 Christian Schneemann - Fixed oem recovery tar parameter order Reorder tar parameters When building an oem-image with oem-recovery set to true a tar error appears saying: \"The following options were used after any non-optional arguments in archive create or update mode\". This commit fixes the order of arguments to tar to avoid the error condition. Fixes #1501
* Thu Jul 02 2020 Marcus Schäfer - Fixed tox min version
* Thu Jul 02 2020 Marcus Schäfer - Cleanup setup.py The way kiwi uses setup.py assumes that pip runs this script like a spec file in rpm is processed. However this is not the case given that pip implicitly creates a static zip file called wheel which looses all the code logic done in setup.py. Therefore setup.py should not contain code that needs to run at install time. Of course this change comes with an effect which is that the following files will not be available when installing kiwi from pip:
* man pages: /usr/share/man/man8/...
* command completion: /etc/bash_completion.d/kiwi-ng.sh
* kiwi default config file: /etc/kiwi.yml
* package docs: /usr/share/doc/packages/kiwi-ng/... (kiwi.pdf, LICENSE, README) kiwi stays fully functional without this information. It is expected that the installation of kiwi as a service will be done by a package and its package manager. When using kiwi from pip it is designed to provide a python module but not a complete user application. The way pip and wheels interact with each other seems to demonstrate that pip is not a package manager but more a python module manager. This Fixes #1415
* Thu Jul 02 2020 Thomas Schraitle - Describe targets in tox.ini
* Make use of description to show them with \"tox -av\"
* Use comments as \"description\" lines
* Define minimal tox version (3.5.0)
* Wed Jul 01 2020 Marcus Schäfer - Bump version: 9.21.3 → 9.21.4
* Fri Jun 26 2020 Marcus Schäfer - Refactor FileSystem Factory With regards to Issue #1486 a discussion came up that the way factories are implemented are questionable when thinking about strong typing for the public kiwi interface. This commit refactors the FileSystem factory to be a real factory and to add type hints such that its use from an api perspective is clear and enforced.
* Thu Jun 25 2020 Marcus Schäfer - Bump version: 9.21.2 → 9.21.3
* Thu Jun 25 2020 David Cassany - Fixes live ISOs This commit fixes iso images. Due to a change introduced in c7ed1cf live ISOs were no longer booting as the rootfs.img filesystem was copied to the squashfs container while being still mounted. Because of that, at boot time, it refused to mount. This commit adds umount method for the filesystem base class, so it can be umounted before deleting the instance. Fixes #1489 and bsc#1173356
* Fri Jun 19 2020 Bo Maryniuk - Global variables (#1485)
* Fix according to PEP8
* Refactor global variables pythonic way
* Remove unused import
* Thu Jun 18 2020 David Cassany - Add locale configuration hints in docs
* Wed Jun 17 2020 Bo Maryniuk - Add missing decorator for static methods
* Tue Jun 16 2020 Marcus Schäfer - Update documentation in content and structure This commit adds a documentation for the KIWI XML description. In contrast to the former auto generated code from the XML schema this document can now finally be used as a reference. Along with that new chapter all auto generated and static html content as been deleted. Also all helper scripts around the proprietary oxygen tool and our schema doc generator has been deleted. Auto generating this information does not lead to a reference guide people can really work with. As a consequence to these changes this commit also includes some changes of the structure such that no information written by other people in the past gets lost. This Fixes #1421 and Fixes #1474
* Mon Jun 15 2020 Marcus Schäfer - Bump version: 9.21.1 → 9.21.2
* Fri Jun 12 2020 Marcus Schäfer - Fixed check for root device in grub config There is a code path that fixes the grub2-mkconfig used root device when building in an environment that does not allow to resolve the by-X path names, e.g an obs build worker without udev. For images that explicitly defines a root=... value in the kernelcmdline attribute the root device check was not called because the _get_root_cmdline_parameter method returns None. This commit fixes the method to return the expected root device in any case such that the grub2-mkconfig root device check has a chance to fix what grub2-mkconfig has created. This fixes bsc#1172928
* Fri Jun 12 2020 David Cassany - Remove /etc/sysconfig/language support As of SLE15 and onwards /etc/sysconfig/language is considered to be obsolete and just kept for compatibility purposes. Thus there is no need to manage the file anymore. Fixes #1471
* Fri Jun 12 2020 Marcus Schäfer - Bump version: 9.21.0 → 9.21.1
* Fri Jun 12 2020 Marcus Schäfer - Fixed test-image-qcow-openstack Nothing provides libyui-ncurses-pkg11, yast2-trans-en_US in TW anymore
* Fri Jun 12 2020 Marcus Schäfer - Moved sle12 ppc integration test to internal bs In agreement with IBM the sle12 integration test has been moved into the internal buildservice. The reason for this change is a python 3.4 compatibility problem. This version of python is used in sle12 but would require patching of upstream kiwi in terms of type hints and annotations to continue to work. We don\'t want to cary this patch upstream but in the sle12_kiwi repository which contains the kiwi used in sle12. Therefore also the integration test needs to move into the internal sle12 space.
* Thu Jun 11 2020 Bo Maryniuk - Ignore MyPy cache
* Thu Jun 11 2020 Bo Maryniuk - Ignore VSCode cache
* Wed Jun 10 2020 Dan Čermák - Remove sed calls to fix /etc/vimrc An update of vim in Tumbleweed will move /etc/vimrc to /usr/share/vim as part of the /usr - /etc split. This makes the sed call fail because /etc/vimrc no longer exists. However, the fix is not required anymore then, as the vim package dropped the \"syntax on\" line from the default vimrc.
* Tue Jun 09 2020 Marcus Schäfer - Fixed permissions of custom boot image root dir When building a custom kiwi initrd the root directory has the permissions of the mkdtemp created directory but should have the permissions of a linux root dir which is 0755. This Fixes #1394
* Sat Jun 06 2020 Marcus Schäfer - Bump version: 9.20.19 → 9.21.0
* Thu Jun 04 2020 Marcus Schäfer - Fixed size of msgbox dialog The width of the dialog was set to a small value which causes the message to be choped. I found this when testing pxe deployments. The error messages on \"Failed to fetch...\" were missing the interesting part
* Wed Jun 03 2020 Marcus Schäfer - Update orthos test image Simplify image for use in a pxe test deployment
* Wed Jun 03 2020 Marcus Schäfer - Added new post disk sync script hook Allow to put a disk.sh script as part of the image description which is called for the disk image types `vmx` and `oem` only and runs after the synchronisation of the root tree into the disk image loop file. At call time of the script the device name of the currently mapped root device is passed as a parameter. The chroot environment for the call is the mounted disk itself which makes this different from the config.sh/images.sh caller environment. This Fixes #1464
* Wed Jun 03 2020 Marcus Schäfer - Update user defined scripts documentation Added information about new disk.sh script and reworked the entire chapter
* Tue Jun 02 2020 Marcus Schäfer - Fixed VolumeManager cleanup instances of VolumeManager creates temporary directories but only stores the latest one. The cleanup leaves former directories behind which is fixed by this commit
* Fri May 29 2020 Marcus Schäfer - Allow to access disk root after sync_data In preparation to allow a chroot operation into the loop mounted disk this commit refactors the process when filesystems gets umounted and also fixes the canonical order for calling the destructors. Related to Issue #1464
* Wed May 27 2020 David Cassany - Add EFI firmware on OEM and ISO ubuntu tests This commits adds efi firmware for Ubuntu integration tests
* Wed May 27 2020 Marcus Schäfer - Bump version: 9.20.18 → 9.20.19
* Wed May 27 2020 Marcus Schäfer - Added test-image-custom-partitions to build_status
* Tue May 26 2020 David Cassany - Fix the boot path for initrd detection This commit fixes the path to check the initrd naming convetion from an already existing initrd file in /boot
* Tue May 26 2020 Marcus Schäfer - Bump version: 9.20.17 → 9.20.18
* Tue May 26 2020 Marcus Schäfer - Added custom partition image integration test There are still people who like many extra static inflexible entries in a partition table instead of using LVM or filesystem volume capabilities for sometimes good but often questionable reasons. In kiwi we intentionally support partition table entries on a restricted basis but that does not mean you can\'t create an image with a highly customized partition table. However it includes some bits of custom code as part of the image description and that\'s what this reference implementation of an image with custom partitions demonstrates. The image described here adds three extra partitions, var, var/log and var/audit. The concept to create custom partitions is based on specifying a spare partition which is by default created before the root partition. The spare space can now be sliced into as many partitions as needed and that needs to be implemented by the author of the image description. Of course the partition table itself comes with limitations which has to be respected depending on the partition table type.
* Tue May 26 2020 David Cassany - Fix the patch applied on grub.cfg This commit fixes the patch applied on grub.cfg when EFI mode is selected and grub < 2.04. There are some distros that make use of the `linux16` command instead of `linux` in grub configuration, this commit extends the regex to also consider `linux16` command.
* Tue May 26 2020 Marcus Schäfer - Fixed apt and pacman repository unit tests The way the post_init method was used to test custom arguments leads to a broken I/O wrapper. As consequence the test failed when called with \"pytest -s\" and also leaves files around from other test I/O redirections.
* Tue May 26 2020 Marcus Schäfer - Fixed spec file on bare word comparison on e.g Fedora Rawhide rpm complains about bare word comparison error: bare words are no longer supported, please use \"...\" This patch fixes the spec template to respect this
* Mon May 25 2020 Marcus Schäfer - Bump version: 9.20.16 → 9.20.17
* Mon May 25 2020 Marcus Schäfer - Fixed dracut output file format detection The current way to detect the dracut output file format was based on a lookup of the format used in the dracut tool itself. However there are distributions like Ubuntu which calls dracut and passes the name of the initrd file as options to the call. This invalidates the checking done by kiwi. The only chance for kiwi to do the same than the distributions does is by looking for an initrd file pre-created by the package installations and use the same format. Only if no such initrd file exists the former format detection code applies. The additional code expects any initrd file to match the glob pattern \'init
*\'. This Fixes #1450
* Mon May 25 2020 Marcus Schäfer - Fixed line ending of sha256 bundler file The .sha256 file does not end with a newline. This Fixes #1449
* Mon May 25 2020 Marcus Schäfer - Fix scope for linuxefi grub config adaption In kiwi we support a one time patch for the grub config file that changes the static use of linuxefi to be dynamic. In grub2 >= 2.04 all this has already been fixed but for grub2 version older than this version we applied the patch. The patch however was only applied based on the presence of a grub setting named GRUB_USE_LINUXEFI. It has turned out that this variable is a custom extension not part of grub upstream which makes the test functional only on distributions that supports this setting. The use of linuxefi however is code that belongs to grub upstream. Therefore this patch changes the scope of the one time patch to be only based on the version of grub no matter if GRUB_USE_LINUXEFI is supported by the distro or not. This Fixes #1453
* Fri May 22 2020 Marcus Schäfer - Fixed root device setup in vendor grubenv In addition to the root device setup in grub.cfg we also need to patch the vendor grubenv file which contains an invalid kernelopts value written by grub2-mkconfig under the conditions explained in Issue #1287. This Fixes Issue #1454
* Fri May 22 2020 Marcus Schäfer - Bump version: 9.20.15 → 9.20.16
* Fri May 22 2020 Marcus Schäfer - Fixed schematron rule for bootloader targettype The targettype attribute must be allowed for the grub2_s390x_emu bootloader name
* Fri May 22 2020 Marcus Schäfer - Bump version: 9.20.14 → 9.20.15
* Fri May 22 2020 Marcus Schäfer - Fixed parse result description reference The object that holds the parse result also contains an information about description_dir and derived_description_dir. The change on the markup processing impacted the value for description_dir to be no longer the origin (user provided) directory. That broke any reference of files that belongs to the description directory like custom scripts config.sh, images.sh and so on.
* Fri May 22 2020 Marcus Schäfer - Fixed sdist MANIFEST kiwi.markup was not part of the source tarball
* Fri May 22 2020 Marcus Schäfer - Bump version: 9.20.13 → 9.20.14
* Fri May 22 2020 David Cassany - Remmove any Recommends for CentOS7 This commit fixes the package spec for CentOS 7. In CentOS 7 there is no support for weak dependencies. In 9792cea1 a recommended dependency on gpg tools was included for all builds and this caused a failure for CentOS 7. With this commit, the recommended dependency, is omitted for any pre CentOS 8 distro.
* Fri May 22 2020 Marcus Schäfer - Bump version: 9.20.12 → 9.20.13
* Wed May 20 2020 Marcus Schäfer - Refactor dracut disk re-partition library The kiwi repartition code for msdos and gpt tables was based on the parted tool. However parted requires to give start and end addresses to describe a space in the partition table. The numbers were calculated in kiwi based on cylinders. The mapping into cylinders is a virtual number that plays no role under Linux and vanished completely with newer storage technologies. Tools like sgdisk and sfdisk are better prepared to handle disk partitioning and also makes this a more straight forward code in kiwi. Thus this commit refactors the re-partition code to drop parted and use a dedicated tool depending on the partition table type. This Fixes #1406
* Wed May 20 2020 David Cassany - Fix default repositories for APT This commit fixes the default repositories configuration for APT. Fixes #1439
* Mon May 18 2020 David Cassany - Include recommend for gpg tool
* Fri May 15 2020 David Cassany - Fix signing keys management for APT This commit fixes the management of the trusted keyring for apt repositories. It creates a `trusted.gpg` keyring with the provided signing keys so APT can check against that the configured repositories. Fixes #1440
* Thu May 14 2020 Marcus Schäfer - Fixed spec file This patch is two fold. First the py2 version of kiwi was dropped since py2 is EOL. To indicate that correctly on the package level python3-kiwi has to obsolete python2-kiwi. The other part of the change is a file conflict of the files: etc/bash_completion.d/kiwi-ng.sh /usr/share/doc/packages/python-kiwi/README which were provided by the kiwi-man-pages sub-package but were moved to be provided by the main python3-kiwi package now. On update of the package with an older version of kiwi that maintains this files to belong to kiwi-man-pages a file conflict at install time appears. To solve this python3-kiwi now conflicts with kiwi-man-pages < %{version} This Fixes #1413 and Fixes bsc#1168973 and bsc#1156677
* Wed May 13 2020 Marcus Schäfer - Cleanup use of machine platform name in kiwi we handle 32bit x86 architecture names as ix86. This is done by checking i586 and i686 32bit arch names. However those checks are spread over the entire kiwi code base and should be consolidated into one method. The cleanup of those arch name usage fixes an inconsistency between the arch name used in the disk builder and the arch name used in the subformat image formats. This Fixes #1438
* Wed May 13 2020 Marcus Schäfer - Fixed zypper error code validation The error code 127 - command not found, was not treated as an error. This commit adds 127 to be an error condition along with the other 1xx error codes from zypper that are handled as errors. This Fixes #1430
* Wed May 13 2020 Marcus Schäfer - Added archlinux to build_status helper Show the archlinux build results in the build_status helper script
* Wed May 13 2020 Marcus Schäfer - Added sidebar link to ArchLinux build tests
* Tue May 12 2020 David Cassany - Fix string formatting After a flake8 upgrade to v3.8.0 these changes were required to pass the `tox -e check` validation.
* Tue May 12 2020 David Cassany - Add Arch Linux integration tests for x86_64
* Mon May 11 2020 Marcus Schäfer - Support multiple markup formats Allow to read multiple markup formats. Supported are XML and YAML. The parsing and transformation is based on the anymarkup module. The use of anymarkup is optional and implemented as an on demand loading module. If a user uses a yaml config file or a request to convert into yaml is made without an installed anymarkup module an exception is thrown
* Mon May 11 2020 Marcus Schäfer - Fixed boxbuild documentation The command doesn\'t have to be called as root. Therefore the example should not be used with sudo prefix
* Mon May 11 2020 Marcus Schäfer - Allow setup of serial line in bootloader So far kiwi used a static serial line setup of the console type was configured to use a serial console. However if different parameters are needed there was no way to change the static setup. This commit adds a new bootloader attribute called serial_line which allows to specify the serial line parameters for the grub bootloader e.g serial_line=\"serial --speed=9600 --unit=0 --word=8 --parity=no --stop=1\" Please note serial_line takes the value as it is given and adds this as a line to the grub configuration or as content to the variable GRUB_SERIAL_COMMAND. No further validation of the information takes place by kiwi. This Fixes #1401
* Mon May 11 2020 Marcus Schäfer - Support grub timeout_style parameter Grub supports a style setting that influences the display of the menu depending on the configured timeout value. With this patch kiwi allows to specify the style via a new bootloader parameter named timeout_style=\"hidden|countdown\". If not set the grub default applies which shows the menu in any case. This Fixes bsc#1165730 and Fixes #1404
* Fri May 08 2020 Marcus Schäfer - Bump version: 9.20.11 → 9.20.12
* Fri May 08 2020 Marcus Schäfer - Update build tests to match new schema v7.2
* Thu May 07 2020 Marcus Schäfer - Refactor setup of bootloader parameters The bootloader settings are handled through attributes in the type element. Over the years some attributes were added and there are requests for more settings. Therefore the bootloader setup deservers its own section. With this commit the schema changes from v7.1 to v7.2 and moves bootloader, bootloader_console boottimeout and zipl_targettype into a new bootloader subsection below type. The commit also adds an auto transformation template such that customers don\'t have to change their image descriptions. This is related to Issue #1401
* Tue May 05 2020 Patrik Jakobsson - Fix support for multiple dracut modules Passing the dmsquash flag adds dmsquash-live and livenet modules to dracut. This broke when adding a check to only add modules that dracut reports as available. Use a list instead of a string to represent the modules to add. Fixes: 07ea23a4
* Mon May 04 2020 Marcus Schäfer - Rewrite chapter about self-contained builds Document the new boxed build plugin. The former solution with dice will be deprecated in favor of the kiwi plugin. This is related to Issue #1409
* Mon May 04 2020 David Cassany - Clean AnonymousUniqueId This is a follow up commit for 469f71144. There is not need to remove the `/var/lib/zypp/AnonymousUniqueId` file from the clean up method since this has been already integrated inside the python code base and this is not needed anymore as a helper function.
* Fri May 01 2020 Marcus Schäfer - Bump version: 9.20.10 → 9.20.11
* Fri May 01 2020 Marcus Schäfer - Update Oxygen schema documentation
* Fri May 01 2020 Marcus Schäfer - Fixed headline for schema docs chapter Use the same headline for the schema chapter in the schema_docs generator as in the default source file
* Fri May 01 2020 Marcus Schäfer - Bump version: 9.20.9 → 9.20.10
* Thu Apr 30 2020 David Cassany - Clean AnonymousUniqueId from the image This commit is two fold. For one side does a small refactor to move the deletion of custom RPM macros to package manager level inside a cleaning method. This way only RPM based package managers run RPM specific code and each package manager can apply its own specific logic. On the other hand for the zypper package manager the deletion of /var/lib/zypp/AnonymousUniqueId file has been added as part of the new cleaning method. Fixes #1396
* Thu Apr 30 2020 Marcus Schäfer - Added kis type to image attribute
* Wed Apr 29 2020 Marcus Schäfer - Use auto video mode as default for grub An explicit video mode 800x600 was used for grub if no video mode setup exists in the XML description. For grub this should better result in the auto mode. Related to bsc#1165730
* Tue Apr 28 2020 Marcus Schäfer - Do not set GRUB_DISTRIBUTOR grub mkconfig creates a proper string based on /etc/os-release if GRUB_DISTRIBUTOR is not set. We assume this to be true for all distributions. This Fixes #1416
* Tue Apr 28 2020 Marcus Schäfer - Fixed spec file header information Fixed copyright date/company and url path to project
* Tue Apr 28 2020 Marcus Schäfer - Fixed ovf Machine section setup for virtualbox Required attributes/sections name, ostype, uuid and StorageControllers were missing according to IVirtualBox::createMachine documentation from here: https://www.virtualbox.org/sdkref/interface_i_virtual_box.html This Fixes #1322
* Mon Apr 27 2020 Marcus Schäfer - Added new build type kis KIS is an abbreviation for Kernel, Initrd, System and defines a highly customizable image consisting out of these components. This commit performs the changes documented in #1414 and introduces the new kis type. From an image build perspective kis is currently the same as pxe with restrictions for kis on the schema level. A kis build uses dracut and does not allow to use the legacy netboot initrd. The pxe type will therefore be exclusively used to built for the legacy netboot infrastructure and is on its way to deprecation in the future. This Fixes #1262
* Thu Apr 23 2020 Marcus Schäfer - Added KIS chapter A new chapter to document KIS images. KIS is an abbreviation for Kernel, Initrd, System and defines a highly customizable image consisting out of these components. This Fixes #1346
* Thu Apr 23 2020 Marcus Schäfer - Move the self-contained chapter to the toplevel This chapter will be rewritten when the new kiwi box plugin is available and deserves a space on the toplevel page
* Thu Apr 23 2020 Marcus Schäfer - Moved chapters from building to working Chapters build_in_buildservice and build_with_profiles belongs more to working with images
* Thu Apr 23 2020 Marcus Schäfer - Refactor netboot chapters All information about network boot that references the legacy netboot code has been moved into one chapter at working_with_images named legacy_netboot_root_filesystem.rst
* Thu Apr 23 2020 Marcus Schäfer - Update article about network live boot Added a note about the configured PXE loader
* Thu Apr 23 2020 Marcus Schäfer - Update boot server setup chapter Describe the general setup procedure to setup DHCP and TFTP services using dnsmasq for clients to boot with either pxelinux or grub loaders
* Thu Apr 23 2020 David Cassany - Add flags and argument separator for zypper This commits adds a `--` argument in zypper install calls right after the flags and before the arguments (in this case packages) list. Fixes #1407
* Wed Apr 22 2020 Marcus Schäfer - Disable AudioAdapter for vagrant The kiwi template for vagrant images assumes the box files to be used in non graphics mode and for the purpose of automation or server deployment. Thus by default we disable Audio. For details see the API reference: https://www.virtualbox.org/sdkref/interface_i_audio_adapter.html This Fixes #1322
* Wed Apr 22 2020 Marcus Schäfer - Added check_syslinux_installed_if_isolinux_is_used ISO images that are configured to use isolinux requires the host to provide a set of syslinux binaries. The runtime check makes sure to check for this condition early including a proper message. This Fixes #1376
* Fri Apr 17 2020 Marcus Schäfer - Bump version: 9.20.8 → 9.20.9
* Fri Apr 17 2020 Marcus Schäfer - Fixed _get_grub2_mkconfig_tool Last patch on this method breaks the search for alternative mkconfig names. It returns always on the first lookup which could be none. This breaks on systems that uses a different name than grub2-mkconfig, like on Ubuntu.
* Thu Apr 16 2020 Marcus Schäfer - Bump version: 9.20.7 → 9.20.8
* Thu Apr 16 2020 Marcus Schäfer - Increase spare space on disk repart The sizing of the virtual cylinders in parted seems to be unfavorable, as with some disks and SD cards here the device size is not a multiple of the cylinder size, so the last incomplete cylinder is wasted. If this wasted space is more than 5MiB, kiwi tries to resize indefinitely. Therefore min_additional_mbytes gets increased to prevent running into this situation. This Fixes bsc#1165823
* Thu Apr 16 2020 Marcus Schäfer - Fixed return value from _get_grub2_mkconfig_tool The method returned the basename of the tool if it could be found by Path.which(). But the method\'s scope has been changed in a way that the return value of the method must be the result from Path.which() to allow working on the full path name.
* Thu Apr 16 2020 Marcus Schäfer - Bump version: 9.20.6 → 9.20.7
* Wed Apr 15 2020 David Cassany - Make CommandCapabilities.check_version take the longest match This commit ensures that when trying to parse the version of a tool the comparison is done with the longest match for the given regular expression. This solves cases such in `grub2` where the tool name already provides some digit that could be seen as a version.
* Wed Apr 15 2020 Marcus Schäfer - Fixed check for grub mkconfig capabilities The check for the capabilities of the tool were applied to the tool installed on the host but the later call of the tool will be done with the tool inside the image root
* Wed Apr 15 2020 Marcus Schäfer - Validate use of GRUB_USE_LINUXEFI On systems that uses GRUB_USE_LINUXEFI with grub2 version less than 2.04 there is no support for dynamic EFI environment checking. In this condition we extend the grub setup to add this support. The change kiwi does is as follows:
* Apply only on grub < 2.04 1. Modify 10_linux to set linux/initrd as variables 2. Write hybrid setup as 01_efihybrid This Fixes bsc#1165960 and bsc#1168480
* Tue Apr 14 2020 Jan Löser - Fixed typo in docstring Istall -> Install
* Sat Apr 11 2020 Marcus Schäfer - Create qcow2 images in two steps The creation of the qcow2 format was done in one qemu-img convert call. That call instructs qemu to compress and convert in one call. The downside of this approach is that not all qcow2 options can be used. For example the setup of: failed the build with an error message that compression and preallocation is not possible at the same time. Thus this patch changes the way the qcow2 image is created to be done in two steps. The first step converts the format without compression and therefore allows for any format option to be used. The second call only applies the compression and leads to the final result.
* Fri Apr 03 2020 Marcus Schäfer - Bump version: 9.20.5 → 9.20.6
* Thu Apr 02 2020 Marcus Schäfer - Fixed plugin documentation While setting up the kiwi boxed plugin I realized some small mistakes in the plugin documentation
* Thu Apr 02 2020 Marcus Schäfer - Allow overlay directories for profiles In addition to the existing root/ overlay directory which applies always there can now also be profile specific overlay directories. If an overlay directory should be applied for a specific profile this can now be done by placing this data in a directory that is named the same as the profile name.
* Wed Apr 01 2020 Marcus Schäfer - Make build of filesystem image optional for pxe Allow to build a kernel/initrd pair without a root filesystem image. Related to Issue #1388
* Fri Mar 27 2020 Marcus Schäfer - Bump version: 9.20.4 → 9.20.5
* Thu Mar 26 2020 David Cassany - Add SECURE_BOOT parameter for grub2 in efi mode This commit adds the SECURE_BOOT parameter on bootloader sysconfig for grub2. Fixes bsc#1167746
* Wed Mar 25 2020 Marcus Schäfer - Added new oem-resize-once element The new element controls the behavior of the repart/resize code in the oem-repart dracut module. By default the repart/resize happens on every reboot and therefore also allows for disk geometry changes during the livetime of the machine. If the element is set to false the repart/resize operation happens only once and then never again. To check for this condition a new profile environment variable kiwi_rootpartuuid which holds the PARTUUID of the root partition has been added to the disk builder.
* Tue Mar 24 2020 David Cassany - No default boot partition for btrfs_root_is_snapshot This commit ensures no boot partition is used when root is set to be a btrfs snapshot unless this is explicitly required by the user. Fixes #1351
* Sun Mar 22 2020 Marcus Schäfer - Make disk allocation check more robust The tools used to check the disk allocation condition are sfdisk and sgdisk. The problem is that at least sfdisk is different in behavior and functionality compared across the distributions we support with kiwi. In addition the verification for the msdos table cannot be used to distinguish between intentionaly wanted free space on disk and a disk that has not yet been resized. Thus this commit changes two parts: a) always report unallocated space available for the msdos table to allow to run kiwi\'s resize code b) make sure the table type is taken into consideration It\'s important to run the verification based on the table type (DOS, GPT) where we know the tools to work. In any other case we report the disk to have unallocated space and give the resize code a chance
* Sat Mar 21 2020 Marcus Schäfer - Fixed openstack integration test nothing provides python2-oslo and required py2 packages
* Fri Mar 20 2020 Marcus Schäfer - Fixed bootloader install Mount EFI partition in any case not only for the shim target
* Thu Mar 19 2020 Marcus Schäfer - Fixed centos integration test Currently centos images does not build because of a broken XML description
* Thu Mar 19 2020 Marcus Schäfer - Update centos integration test There is no testing of centos disk images that uses the old msdos partition table. All tests were done with GPT table layout.
* Thu Mar 19 2020 David Cassany - Adding OEM integration tests for Ubuntu This commit adds oem image type for Ubuntu integration tests
* Wed Mar 18 2020 Marcus Schäfer - Complete refactoring of fstab handling With the new Fstab class from prior pull request there is an opportunity to handle all fstab related actions to be done by that class. This commit extends the Fstab class with an add_entry method such that we can avoid the extra lists holding raw fstab lines in e.g the disk builder. In the end all fstab related data is stored in an instance of the Fstab class. This also extends the KIWI api by an fstab management class. Related to #1329 and #1349
* Wed Mar 18 2020 Marcus Schäfer - Cleanup fstab handling for containers When building container images an extra create_fstab method exists that created an empty fstab file. The reasons for this are historical and also related to appx support from obs. The obs based support for appx containers was based on the creation of a kiwi docker image that got modified and turned into an appx container. Now with native appx support by kiwi this special fstab handling is no longer needed and should be deleted. This Fixes #1329
* Tue Mar 17 2020 Marcus Schäfer - Validate and order final fstab file On write of the final fstab file read, validate and order the entries. This is related to Issue #1349
* Tue Mar 17 2020 Marcus Schäfer - Added Fstab class Handling of fstab should be done in its own namespace and class. The current handling of fstab entries is spread at several places. There should be only one code that writes the fstab entries and that code should also care for the correct canonical order of the mountpoints
* Tue Mar 17 2020 David Cassany - Fix order in fstab Any mount point directly under / should be just right after the root mountpoint and before the custom mountpoints based on user\'s subvolume configuration. Fixes #1349 and bsc#1164310
* Sat Mar 14 2020 Marcus Schäfer - Skip nodev devices for size calculations Added a static list of mountpoints used for devices that are not associated with a physical device like /proc and use that information in the exclude list for calculating the image byte size. This Fixes #1363
* Fri Mar 13 2020 David Cassany - Add kpartx dependency on dracut-kiwi-oem-dump package This commit adds a missing dependency on dracut-kiwi-oem-dump package. In images where The `kpartx` tool is missing the dracut-kiwi-oem-dump was not applied for the initrd. Fixes #1364
* Sun Mar 08 2020 Marcus Schäfer - Added new image type: wsl Support for building appx container images for Windows Subsystem Linux (WSL). This Fixes #1235
* Fri Mar 06 2020 Marcus Schäfer - Fixed file name for config.bootoptions file The dracut code in 90kiwi-dump/kiwi-dump-image.sh looks for a file matching ${image_uri}.config.bootoptions but the install code packs a file named pxeboot.${image_uri}.config.bootoptions into the tarball. Thus without renaming the file it won\'t be found. Also the documentation mentions the file to be named ${image_uri}.config.bootoptions. This commit fixes the install code to match the dracut boot code and the documentation
* Wed Mar 04 2020 Marcus Schäfer - Fixed daps image path
* Wed Mar 04 2020 Marcus Schäfer - Bump version: 9.20.3 → 9.20.4
* Wed Mar 04 2020 David Cassany - Fix a regression for container builds in OBS This commit fixes a regression introduced in 12d84be2. We need to ensure that `labels` item exist in oci image configuration dict before updating it and creating it in case it doesn\'t exist.
* Tue Mar 03 2020 Marcus Schäfer - Fixed suse doc push pipeline build and push are not allowed to run in parallel
* Tue Mar 03 2020 Marcus Schäfer - push suse doc only on merge to master
* Tue Mar 03 2020 Marcus Schäfer - Bump version: 9.20.2 → 9.20.3
* Mon Mar 02 2020 Marcus Schäfer - Build and push SUSE documentation On any pull request also build the suse documentation and push changes to the OSInside/kiwi-suse-doc git repository. The SUSE documentation team needs a repo with docbook sources for the publishing procedure. In addition change the gitlab pipeline to run in three stages: Test, Documentation and Package. Let the style and unit tests run in parallel and cleanup the dependency setup
* Fri Feb 28 2020 David Cassany - Fix container labels setup in OBS This commits fixes the containers label setup in OBS, ensuring that adding the \'org.openbuildservice.disturl\' label does not clear any other label. Fixes #1338
* Fri Feb 28 2020 Marcus Schäfer - Bump version: 9.20.1 → 9.20.2
* Fri Feb 28 2020 Marcus Schäfer - Fixed schema regexp validation Regexp patterns used in the schema are translated into python expressions by generateDS. It\'s required to use the XSD schema to run generateDS, xsd however has some restrictions on pattern use which leads to a warning message for the ones fixed here
* Wed Feb 26 2020 Marcus Schäfer - Fixed completion_generator Due to the change of the binary name for consistency in the docopt docstrings the completion generator failed to produce correct results. This commit fixes it
* Wed Feb 26 2020 Neal Gompa - Store Mock build logs and built RPMs as short-term artifacts This makes it much easier to debug what is happening with mock when failures occur.
* Tue Feb 25 2020 Marcus Schäfer - Added sle15 ppc oem integration test Related to Issue #1325
* Tue Feb 25 2020 Marcus Schäfer - Added task plugin documentation Documentation for developers how to write a custom kiwi task plugin.
* Tue Feb 25 2020 Marcus Schäfer - Update manual page documentation Fixed manual pages to use kiwi-ng as the command name
* Tue Feb 25 2020 Marcus Schäfer - Fixed docopt strings to use correct binary name The kiwi binary from the entry_point configuration is kiwi-ng. The docopt strings should use this name for consistency. The alternative binary name kiwi is just a symlink created on the rpm packaging level and is not guaranteed to exist depending on how kiwi was installed
* Mon Feb 24 2020 Marcus Schäfer - Refactor plugin architecture Set kiwi.tasks to be the plugin entry point and register existing task plugins in setup.py. Change the code in cli.py to auto register plugins using the iter_entry_points method from the pkg_resources class. This allows for easier writing of external kiwi plugins.
* Mon Feb 24 2020 Marcus Schäfer - Fixed handling of fillup templates Systems using a template tool to generate config files might not be effective when they see the intermediate config files we need from the host to let certain package managers work correctly. Therefore the cleanup code in kiwi takes care to restore from an optionally existing template file if no other custom variant is present. This Fixes bsc#1163978
* Fri Feb 21 2020 Marcus Schäfer - Enhance OEM ppc integration test for 4k/512b disks Add profile section to build one image for storage disks with 4k physical blocksize and one image for disks using 512byte blocksize. Related to Issue #1325
* Thu Feb 20 2020 David Cassany - Make squashfs compression configurable This commit adds the `squashfscompression` attribute in type element. It can take `gzip`, `zstd`, `xz`, `lzo`, `lz4` or `none`. The default is `xz`. Fixes #1315
* Wed Feb 19 2020 Marcus Schäfer - Bump version: 9.20.0 → 9.20.1
* Wed Feb 19 2020 Marcus Schäfer - Added serial console in centos integration test For use with Kanku we enable the serial console for the centos integration test image
* Wed Feb 19 2020 Marcus Schäfer - Make PrEP partition known to GPT partitioner
* Wed Feb 19 2020 Marcus Schäfer - Use GPT table for Power ofw firmware GPT partition table should be preferred for power systems these days. Related to Issue #1325
* Wed Feb 19 2020 Marcus Schäfer - target blocksize for IBM Power8 systems is 4k Adapt the oem image integration test for bare metal to use 4k blocksize
* Tue Feb 18 2020 Marcus Schäfer - Fixup documentation for consistency There is the legacy kiwi version and there is this kiwi(next generation). From a documentation perspective there are several inconsistencies that could confuse users. This commit makes the name for KIWI-NG consistent across the entire documentation. At places where we point to older documentation we use the term Legacy KIWI and a link to the documentation that covers this part. All this is needed in preparation to cleanup the documentation situation for the SUSE documentation but with respect to the upstream doc sources, their layout and markup.
* Mon Feb 17 2020 David Cassany - Do not create empty macros file This commit makes sure to empty RPM macros files are created during the build. Additionally it also ensures that no needless `rm` and `mkdir` calls are done. Fixes #1316
* Mon Feb 17 2020 Marcus Schäfer - Turn btrfs requirement into a recommend Only on suse systems btrfs is eligable to be a required package because it\'s the default filesystem of that distribution. In any other case it should be a recommended package. As a side effect of this change we will be able to activate the CentOS-8 build target
* Sat Feb 15 2020 Marcus Schäfer - Bump version: 9.19.16 → 9.20.0
* Thu Feb 13 2020 David Cassany - Fix append file for PXE This commit fixes a regression introduced in 141f384e. With this commit the append file is only added to the PXE tarball only when it is created.
* Tue Feb 11 2020 Al - Split kiwi-dump into 2 modules to allow inserting a module after the image dump and before system reboot
* Tue Feb 11 2020 Marcus Schäfer - Addded doc_suse tox target to build docbook target SUSE documentation is based on docbook or asciidoc. The kiwi documentation is maintained along with the code and uses the sphinx system and therefore ReST as markup language. We would like to keep one source and don\'t want to move to another markup language. Thus the sources needs to be structured in a way that allows translation into sphinx supported targets as well as into SUSE docbook style. This commit changes the documentation structure in a way that both is possible. With the use of Sphinx XML and rstxml2docbook the ReST docs are converted into docbook. From there the SUSE daps tool can create SUSE documentation
* Mon Feb 10 2020 Marcus Schäfer - Move gitlab stages to use gitlab registry The kiwi-ci-containers project on gitlab now builds all containers that are needed to run all type of tests we have in the gitlab pipeline for kiwi. This commit moves the tests to fetch the containers from the gitlab registry and avoids any requirement to install packages prior to running the tests. This will speedup the overall test time and makes the system also more robust in case the repo servers hosting the packages can\'t be accessed for some reason
* Sun Feb 09 2020 Marcus Schäfer - Fixed ISO creation on ppc On the ppc architecture the isolinux path was chosen which is wrong. This patch fixes the ISO creation to use the grub path
* Sun Feb 09 2020 Marcus Schäfer - Added suse OEM ppc integration test Added obs integration test for building a simple disk image to be started in a VM on power. Related to Issue #1325
* Fri Feb 07 2020 Marcus Schäfer - Move gitlab build_doc target to gitlab registry Use the container from the kiwi-ci-containers project to run the build_doc target
* Fri Feb 07 2020 Marcus Schäfer - Delete use of ifplugd in integration tests ifplugd was dropped from the factory tree and that change needs to be addressed in the integration tests to let them build again
* Thu Feb 06 2020 Marcus Schäfer - Added ppc integration test links Added ppc integration test links to the overview page of the kiwi documentation. Related to Issue #1325
* Thu Feb 06 2020 Marcus Schäfer - Bump version: 9.19.15 → 9.19.16
* Wed Feb 05 2020 David Cassany - Add .append file for PXE images This commit creates the .append file for PXE images. This file is only created for initrd based images and includes the UUID of the rootfs and any parameter added by the user within the \'kernelcmdline\' attribute. Fixes #1327
* Wed Feb 05 2020 Marcus Schäfer - Deleted distro provided login.defs from overlay
* Wed Feb 05 2020 Marcus Schäfer - Delete use of methods that are done by the builder
* Tue Feb 04 2020 Marcus Schäfer - Deleted obsolete ifplugd from arm build test
* Mon Feb 03 2020 Marcus Schäfer - Deleted obsolete ifplugd from s390 build test
* Mon Feb 03 2020 Marcus Schäfer - Update status helper script Also show new ppc integration test builds
* Mon Feb 03 2020 Marcus Schäfer - Added fedora ppc integration test Added obs integration test for building a simple disk image to be started in a VM on power. Related to Issue #1325
* Sun Feb 02 2020 Marcus Schäfer - Added suse ppc integration test Added obs integration test for building a simple disk image to be started in a VM on power. Related to Issue #1325
* Sun Feb 02 2020 Marcus Schäfer - Bump version: 9.19.14 → 9.19.15
* Wed Jan 29 2020 Neal Gompa - Disable RPM module content validation and filtering when building in OBS The Open Build Service builds images by identifying the requested dependencies, downloading them into an isolated environment, regenerating the repository metadata from scratch with
*only
* that content, and then passing those new repositories to be used for building images. This enforces the reproducibility of the image build process. However, when building images for Linux distributions that have AppStreams/modules (such as Red Hat Enterprise Linux/CentOS 8) in an Open Build Service system, the repository metadata associated with modules is not present as OBS does not generate it. This causes the image build to fail because the normal module content filtering rules make it so that modular RPMs are disabled unless there is module metadata in the repository that identifies them and that the module has been configured to be enabled. As it is not possible for us to satisfy those conditions, instead we disable modular filtering entirely when we detect that the image build is occurring inside the build service, as we are reasonably certain that OBS will not give us bad or broken package sets.
* Tue Jan 28 2020 Marcus Schäfer - Fixed ppc kernel lookup On power the kernel is named e.g vmlinux-4.12.14-197.29-default kiwi was missing that name match. Related to Issue #1325
* Mon Jan 27 2020 Marcus Schäfer - Fixed sat solver flags validation The sat library from the python3-solv plugin does not expose the flags information as method. Instead the flags value is a variable pointing to an integer that has a name mapping in self.solv.Selection from the library.
* Fri Jan 24 2020 Marcus Schäfer - Bump version: 9.19.13 → 9.19.14
* Wed Jan 22 2020 David Cassany - Make use of Path.which including root_dir parameter This commit refactors the use of Path.which in several parts of the code. Since dd4d2ed78 the Path utility is capable to run Path.which on certain chroot env, thus no need to adapt the PATH environment variable. Fixes #1281
* Tue Jan 21 2020 Marcus Schäfer - Make PXE oem deployment genericly useable When deploying a disk image via PXE the initrd contained a config file which connects it to a certain image. This has the disadvantage that no other image could be deployed with it. This commit changes the deployment code in a way that the config file is read from the network if the disk is deployed via PXE. The tarball created by kiwi provides the image connected config file but users now have the opportunity to create their own boot configurations which allows deployment of different images with the same kiwi built deployment initrd. This Fixes #1298 and is one first step into a more generic PXE support offered by kiwi.
* Mon Jan 20 2020 Marcus Schäfer - Bump version: 9.19.12 → 9.19.13
* Mon Jan 20 2020 David Cassany - Remove RootBind.move_to_root method This commit removes the RootBind.move_to_root method as this can all be done by using the Path.move_to_root utility method. This allows to drop the RootBind attribute in PackageManager classes and focus path manipulation methods into a common utility. Related to #1281
* Mon Jan 20 2020 Marcus Schäfer - Bump version: 9.19.11 → 9.19.12
* Mon Jan 20 2020 Marcus Schäfer - Fixed custom args check If a custom argument exists in the dictionary but has no value it should be treated as not set and initialized empty as intended
* Fri Jan 17 2020 Marcus Schäfer - Fixed order of fstab entries If a volume manager is used the volumes are added before the root filesystem(/) entry in fstab. This does not hurt because at boot time systemd manages the mounting of the rootfs prior to any other information in the fstab file but it\'s conceptually broken. Users justifiably can expect the fstab entries in the correct order such that mounting from top to bottom leads to a consistent root filesystem state.
* Fri Jan 17 2020 Marcus Schäfer - Bump version: 9.19.10 → 9.19.11
* Wed Jan 15 2020 Marcus Schäfer - Added support for spare partition fs attributes Added new type attribute: ```xml ``` which can be a comma separated list of the following currently supported filesystem attributes:
* no-copy-on-write
* synchronous-updates See chattr and filesystem manual pages for details on those attributes. More attributes for the spare part context can be added on request. This Fixes #1233
* Wed Jan 15 2020 David Cassany - Allow builds without KIWI dracut modules This commit avoids requesting non installed dracut modules to the dracut creation. It bumps a warning message if the module requested by KIWI is not installed in the root-tree and ignores the request. This allows the creation of images without including KIWI dracut modules when the related runtime checks are disabled. Fixes #1300
* Mon Jan 13 2020 Marcus Schäfer - Bump version: 9.19.9 → 9.19.10
* Sun Jan 12 2020 Marcus Schäfer - Follow up fix for kernel version lookup When using custom kiwi boot images a shell method named baseCreateCommonKernelFile was used to create a common kernel file name in the boot image to allow a simpler search code in the builder. The search code in the builder however uses the standard kernel naming schema and with the latest changes to the kernel version lookup the common name did not match the matching pattern anymore. The use of such a common kernel file is obsolete and the shell method can finally be deleted.
* Sat Jan 11 2020 Marcus Schäfer - Bump version: 9.19.8 → 9.19.9
* Thu Jan 09 2020 Marcus Schäfer - Refactor kernel version lookup For the lookup of the kernel version kiwi provided a small C program that reads the first bytes of the kernel binary and extracts the version information. Given the various compression formats and also the problem of kernel files that contains the decompressor code which could be anything it has turned out to be difficult to provide a stable tool to read the version from the binary. Therefore the code in kiwi was refactored to read the version via regexp match from the filename which also makes kversion an obsolete tool. This Fixes #1308
 
ICM