SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 
Changelog for dracut-kiwi-overlay-9.25.19-150600.1.1.CS.x86_64.rpm :

* Tue Nov 28 2023 Marcus Schäfer - Bump version: 9.25.18 → 9.25.19
* Thu Nov 23 2023 Alexandre Esse - Fix typo in workflow overview doc section
* Wed Nov 22 2023 Marcus Schäfer - Add missing documentation for oem-unattended-id
* Wed Nov 22 2023 Marcus Schäfer - Allow install disk overwrite from cmdline Add rd.kiwi.oem.installdevice=DEVICE. Configures the disk device that should be used in an OEM installation. This overwrites any other oem device setting, e.g device filter or maxdisk and just continues the installation on the given device. However, the device must exist and must be a block special. This Fixes jira#PED-7180
* Tue Nov 21 2023 Marcus Schäfer - Update mailmap
* Fri Nov 10 2023 Kali - Replace the regex-based loader entry fix with string parsing (#2388) A user building RHEL images ran into issues with the initrd. It turns out that RHEL uses some patches that mean the initrd/linux files in RHEL are not installed to /boot, which trips up the original regex. The new fix doesn\'t rely on matching the path in boot, instead just finding the initrd/linux files and rewriting them in place. This change also adds the pre-and-post fix loader entries to the debug logs. Reference: https://bugzilla.suse.com/1208701 Fixes suse bsc#1208701
* Fri Nov 10 2023 Marcus Schäfer - Fix mbrid setup for read-only systems On filesystems without a UUID (e.g squashfs) the fallback boot id setup should apply if neither UUID nor MBR ID is present. This is a followup fix for Issue #2391
* Thu Nov 09 2023 Marcus Schäfer - Fixed test-image-disk-legacy test description The configured embedded ESP image size is too big, max 30MB are possible as El Torito boot load size
* Thu Nov 09 2023 Marcus Schäfer - Don\'t make toml a requirement
* Wed Nov 08 2023 Marcus Schäfer - Fixed grub mbrid file search To identify the root device for ISO images (live and install media) that boots via grub2, kiwi uses a grub2 --file search. The searched file was named /boot/mbrid, however this is not a unique name and could be found on other devices of the system as well. To connect the search to the correct media this commit changes the search to an ID based method which is unique to the image build process. This Fixes #2389
* Wed Nov 08 2023 Marcus Schäfer - Don\'t use kernel-install kernel-install does a lot more then making the kernel available to the ESP. It calls dracut, it creates loader entries and all that is unexpected and also breaks the boot because the way dracut is called in the image build case where host != target leads to broken results. This commit refactors the systemd-boot support in kiwi to prevent the use of kernel-install
* Wed Nov 08 2023 Marcus Schäfer - Add check_efi_fat_image_has_correct_size Add runtime check for to check that the efifatimagesize does not exceed the max El Torito load size
* Tue Nov 07 2023 Marcus Schäfer - Add support for ISO boot via systemd-boot Create proper EFI FAT image via bootctl to be used as alt loader in xorriso. This allows to boot the ISO via EFI e.g kvm -bios /usr/share/qemu/ovmf-x86_64.bin -cdrom file.iso Please note, hybrid boot is done via grub\'s hybrid MBR and as systemd-boot does not provide one, hybrid boot is out of scope yet. This Fixes #2281
* Sun Nov 05 2023 Marcus Schäfer - Bump version: 9.25.17 → 9.25.18
* Wed Nov 01 2023 Marcus Schäfer - Add partx to module-setup of kiwi-lib too
* Fri Oct 27 2023 Marcus Schäfer - Change partprobe fallback to partx Informing the kernel about a new partition geometry can be done in a busy state and is also effective for new devices and new mounts based on the new geometry. busy state mounts of course will not see it until swap of the busy state but a complete refuse of operation like it happens with blockdev is imho not required. Just as partprobe, partx is less restrictive on the busy state. That\'s why this commit changes the partprobe fallback to use partx instead of blockdev
* Thu Oct 26 2023 Marcus Schäfer - Create live persistent storage without busy state With the former logic the live ISO was already mounted when an eventual persistent storage partition was created. This leads to an issue on re-reading the partition table, not for all but several tools. This commit changes the order of tasks such that the setup of the persistent write storage is performed prior mounting the live ISO. In addition to this change an alternative method using blockdev to re-read the partition was added in case partprobe is not present. This also allows to get rid of the parted dependency which provides partprobe
* Tue Oct 17 2023 Marcus Schäfer - Bump version: 9.25.16 → 9.25.17
* Mon Oct 16 2023 Marcus Schäfer - Fixed argument processing of config.bootoptions Instead of adding an extra space to make the subsequent reading to work, use an awk script that does it without nasty workarounds
* Mon Oct 16 2023 Marcus Schäfer - Allow test-image-disk-ramdisk to be build locally
* Mon Oct 16 2023 Marcus Schäfer - Bump version: 9.25.15 → 9.25.16
* Mon Oct 16 2023 Marcus Schäfer - Fixed doc search field The search in the documentation is broken with the rtd schema and latest sphinx. Stick with sphinx 5.0.0 for the moment which fixes the issue
* Mon Oct 16 2023 Marcus Schäfer - Bump version: 9.25.14 → 9.25.15
* Mon Oct 16 2023 Marcus Schäfer - Make codacy happy
* Mon Oct 16 2023 Marcus Schäfer - Support release version in signkey URLs Using one of the $releasever/${releasever} variable placeholders in an URL as part of a element did not replace the placeholder with the value of the element. This commit fixes this and also makes sure that the result list for downloading signing keys is unique. This Fixes #2381
* Sun Oct 08 2023 Marcus Schäfer - Bump version: 9.25.13 → 9.25.14
* Sun Oct 08 2023 Marcus Schäfer - Update pypi release to trusted workflow
* Fri Sep 22 2023 Marcus Schäfer - Added unit test for testing grub prefix Cover the condition if an extra boot partition is used
* Wed Sep 13 2023 Marcus Schäfer - Support TOML markup Allow to use TOML markup for the kiwi image description This Fixes #2372
* Wed Sep 13 2023 Marcus Schäfer - Fix documentation for btrfs_set_default_volume The behavior documentation regarding the fstab entry when using the btrfs_set_default_volume attribute was wrong. This commit fixes the docs to match the code. Related to Issue #2366
* Wed Sep 13 2023 Radoslav Kolev - Fix typo in \'image results\' doc section
* Wed Sep 13 2023 Marcus Schäfer - Fixed root entry in fstab for btrfs layout A root (/) entry in fstab for btrfs is only required if no default volume is configured. This commit adapts the code path which adds an fstab entry for (/) to be effective only if btrfs_set_default_volume is set to false. Additionally, the documentation around btrfs_set_default_volume was clarified to describe the behavior the switch triggers. This Fixes #2366
* Wed Sep 13 2023 David Cassany Viladomat - Remove community repository from Arch images Community repository is no longer needed for the test image. OBS does not pull any package from this repository and in Arch linux there is not the concept of empty repositories, so the build fails in an OBS context if this repository is included within the build stack. Signed-off-by: David Cassany
* Thu Sep 07 2023 Leif Liddy - use / prefix when boot partition is used
* Fri Sep 01 2023 Leif Liddy - use os.path.join to create path os.path.join to create the path for the early_boot.write functions this will prevent paths from containing double slashes //
* Thu Aug 31 2023 Neal Gompa - PKGBUILD: Drop unused Python dependencies We haven\'t used some of these dependencies in years...
* Sat Aug 26 2023 Leif Liddy - add info on none console type
* Fri Aug 25 2023 Leif Liddy - allow value of GRUB_TERMINAL to be empty allow value of GRUB_TERMINAL to be empty. When setting grub_console=\"none\" this now leads to an empty setting of GRUB_TERMINAL in the /etc/default/grub system configuration file. This Fixes #2261
* Thu Aug 24 2023 Marcus Schäfer - Bump version: 9.25.12 → 9.25.13
* Tue Aug 22 2023 Marcus Schäfer - Fixed mounting of subvolumes for data sync The subvolumes must be mounted below the root of the filesystem tree such that the sync mechanism correctly shuffles the data to the correct volumes. This Fixes #2356
* Tue Aug 22 2023 Joerg Vehlow - Make verity metadata always readonly If a partition is verity protected, it can never be writable, since verity is by-definition read-only.
* Tue Aug 15 2023 Evan Goode - Require DNF 5 in Fedora >= 41, not Fedora > 38 The switch to DNF 5 has been postponed to (likely) Fedora 41.
* Tue Aug 15 2023 Marcus Schäfer - Add kiwi_live_volid variable to profile As part of the profile environment only the kiwi_install_volid variable existed with the default value \'INSTALL\'. This information is correct when building an oem image with installiso set to true. The resulting .install.iso image has the configured volid or the mentioned default \'INSTALL\'. However, when building a live ISO image the default volid value is set to \'CDROM\' but the profile environment contains kiwi_install_volid which is misleading and in case no volid is provided in the configuration file, the default value would also be a wrong information. This commit cleans up the mess and provides kiwi_install_volid for install ISO media and kiwi_live_volid for Live ISO media with their respective default values
* Tue Aug 15 2023 Tom Schraitle - Add some hints about KIWI extensions and dependencies for SLE (#2348) SUSE Linux Enterprise Server (SLES) has KIWI as a package. However, some KIWI plugins and their dependencies can be unavailable. This commit introduces a new section which deals with this aspect. Fixes bsc#1209302
* Fri Aug 11 2023 Marcus Schäfer - Package lockdev no longer exists on TW Update TW based integration tests and delete the install of the lockdev package
* Thu Aug 10 2023 Tom Schraitle - Update GitHub Actions \"actions/
*\" part Update to the latest versions:
* actions/checkoutAATTv3
* action/setup-pythonAATTv4
* action/cacheAATTv3
* Wed Aug 09 2023 Marcus Schäfer - Bump version: 9.25.11 → 9.25.12
* Wed Aug 09 2023 Marcus Schäfer - Fix double grub entries in hybrid ISO images As consequence of using the \"source\" grub command instead of the \"configfile\" command to load the grub config we now see double loading of the same file on ISO media. The reason here is that kiwi ISO media is always hybrid which means it embeds an MBR into the ISO for which the \"source\" command now can read the same file through two different device paths. This does not happen with the \"configfile\" grub command. Thus this patch uses \"configfile\" if we produce an ISO image and \"source\" for all other image types. The commit also fixes the custom grub template used for ISO images in a way that we only set the \"serial\" command if there is a serial configuration provided along with the image description.
* Thu Aug 03 2023 Marcus Schäfer - Update x86/tumbleweed/test-image-systemd-boot systemd package has been splitted and provides systemd-boot in an extra package now
* Thu Aug 03 2023 Marcus Schäfer - Limit scope of grub _fix method Only apply _fix_grub_to_support_dynamic_efi_and_bios_boot for the x86_64 or ix86 architectures. This Fixes #2343
* Tue Aug 01 2023 Marcus Schäfer - Bump version: 9.25.10 → 9.25.11
* Tue Aug 01 2023 Leif Liddy - remove trailing whitespace
* Tue Aug 01 2023 Dan Čermák - rpm spec: add missing requires of typing_extensions for python < 3.8
* Tue Aug 01 2023 Dan Čermák - rpm spec: bump copyright year
* Tue Aug 01 2023 Marcus Schäfer - Fixed linter errors Latest changes regarding type hints introduced linter errors. Also adapt the workflow run which is expected to detect them
* Tue Aug 01 2023 Leif Liddy - add GRUB_TIMEOUT_STYLE menu option revert trailing space removal
* Mon Jul 31 2023 Marcus Schäfer - Bump version: 9.25.9 → 9.25.10
* Mon Jul 31 2023 Marcus Schäfer - Fixed python interpreter for Release target
* Mon Jul 31 2023 Marcus Schäfer - Bump version: 9.25.8 → 9.25.9
* Mon Jul 31 2023 Marcus Schäfer - Fixed workflow interpreter name Specifying py 3.10 has to be quoted
* Mon Jul 31 2023 Marcus Schäfer - Bump version: 9.25.7 → 9.25.8
* Mon Jul 31 2023 Marcus Schäfer - Fixed doc publishing The github action to do this was still based on py3.6 but the latest changes on tox.ini requires a newer version of tox which doesn\'t exist for py3.6. Thus run the workflow on a newer python version
* Mon Jul 31 2023 Marcus Schäfer - Bump version: 9.25.6 → 9.25.7
* Mon Jul 31 2023 Marcus Schäfer - Fix linter check, whitespace after :
* Mon Jul 31 2023 Marcus Schäfer - Bump version: 9.25.5 → 9.25.6
* Mon Jul 31 2023 Marcus Schäfer - Pass rootflags if no default volume is set In case of btrfs and if btrfs_set_default_volume is explicitly switched off, we create the correct rootflags= kernel cmdline entry to tell the system about the root volume for booting
* Thu Jul 27 2023 slowpeek - Use \'source\' instead of \'configfile\' in generated grub.cfg Details are outlined in issue #2320
* Thu Jul 27 2023 Marcus Schäfer - Make sure btrfs root volume is used when needed With the possibility to switch off setting the default volume an issue at other parts in the kiwi code which mounted the btrfs based system were uncovered. Without any default volume set it\'s required to transport the root volume if different from / and pass the respective subvol= option to the mount. This commit fixes it at the places where kiwi trusted btrfs to have a correct default volume set
* Thu Jul 27 2023 Marcus Schäfer - update Fedora integration test The setting of a default volume is unwanted here
* Thu Jul 27 2023 Marcus Schäfer - add btrfs_set_default_volume attribute By default kiwi runs btrfs set-default on the volume that is considered the default volume according to the btrfs settings and defaults. btrfs_set_default_volume=\"false\" allows to deactivate this action. Along with the change also the misleading name of the btrfs_create_toplevel_subvolume has been changed to root_is_subvolume
* Tue Jul 25 2023 Marcus Schäfer - Fixed check for extended attributes Only if libc reports errno 95 Operation not supported the method should return that extended attributes are not supported. Also add a debug information about the result of the call to get further information in the log file
* Tue Jul 25 2023 Marcus Schäfer - Fixed call of tox for xdist Passing arguments to modules called by tox has changed its syntax
* Tue Jul 25 2023 Marcus Schäfer - Take subvol mount option for root into account If the rootfs is btrfs based make sure the fstab entry for it takes the name of the root subvolume into account
* Tue Jul 25 2023 Marcus Schäfer - Fix fallback secure boot setup Don\'t copy the same file. This case happens when rebuilding an image using --allow-existing-root when the fallback setup has done its job already in the first run
* Mon Jul 24 2023 Dan Čermák - Fix type hints of IsoToolXorrIso.init_iso_creation_parameters
* Mon Jul 24 2023 Dan Čermák - xorriso: handle case when isohdpfx.bin not found
* Mon Jul 24 2023 Dan Čermák - Fix type hints for the Pacman package manager
* Mon Jul 24 2023 Dan Čermák - Type hint the Path module
* Mon Jul 24 2023 Dan Čermák - Add better type hints to ContainerImageOCI and ContainerImageAppx
* Mon Jul 24 2023 Dan Čermák - Add ContainerImageBase abstract base class for OCI & Appx
* Mon Jul 24 2023 Dan Čermák - Add type hints to the Compress module
* Mon Jul 24 2023 Dan Čermák - Import modules in OCI.new() explicitly Also, add a type hint to the return type of OCI.new() so that this can now be verified with mypy
* Mon Jul 24 2023 Marcus Schäfer - Update contributing chapter Fix and update the information how to contribute. Due to the latest changes in tox.ini some requirements regarding the tox and python versions came up. This commit updates the docs in this regard
* Mon Jul 24 2023 Marcus Schäfer - Added py3.11 tox target
* Mon Jul 24 2023 Marcus Schäfer - Fixed writing correct keyfile path to etc/crypttab The keyfile path was not correctly set in etc/crypttab which caused systemd not being able to read the keyfile, consequently asking for a passphrase. This commit fixes the writing of the crypttab and also fixes a python name clash with the \"os\" namespace.
* Mon Jul 24 2023 Marcus Schäfer - Cleanup condition for SECURE_BOOT=yes|no The statement serves the purpose for an if/else construction to become a better read. In addition delete the probably left-over print statement from the test
* Mon Jul 24 2023 Marcus Schäfer - Delete pyxattr from setup.py Followup on Issue #2330. Forgot to delete pyxattr requirement from setup.py
* Mon Jul 24 2023 Marcus Schäfer - Add volid to profile for all ISO based image types Add provided volume id (or the default value) to the profile environment file for all ISO based image types. So far this was only done for installation ISO media but not for simple live ISO images.
* Mon Jul 24 2023 Marcus Schäfer - Fixed mail address in spec file
* Thu Jul 20 2023 Marcus Schäfer - Delete (py)xattr module requirement The required functionality is provided by the core os library
* Thu Jul 20 2023 Paul Gardiner - Fix failure when booting KIS via NBD In the NBD booting case, the function initGlobalDevices in kiwi-overlay-root.sh runs the command ndb-client to connect the remote NBD share to the device /dev/nbd0. The script parse-kiwi-overlay.sh, on the other hand, incorrectly parses overlay:nbd=ip:export to /dev/ip/export, leading to the system waiting for /dev/ip/export to appear. This commit corrects the problem. With this change NDB booting of KIS images now succeeds, although only if the ndb package is added to the appliance description.
* Wed Jul 19 2023 Marcus Schäfer - Use bootpartition for Fedora integration test When using btrfs with the proposed layout for testing the delivered grub bios module for the Fedora system used to build the integration test (FC37) is not capable to find the grub config file. A manual call for configfile in the grub shell fixes this with the existing kiwi created grub early-boot script. However, it is expected that the delivered grub image works and kiwi only creates its own one if no distro delivered grub image was found. To make the integration test functional for both BIOS and EFI the simple solution is to use an extra not btrfs based boot partition. This still allows to test the desired btrfs layout in terms of volumes and sub-volumes and does not break on any of the boot methods.
* Wed Jul 19 2023 Marcus Schäfer - Fixed apply_attributes_on_volume Make the function call more robust in terms of path separation
* Wed Jul 19 2023 Dan Čermák - Use tox isolated_build instead of hardcoding the envdir
* Tue Jul 18 2023 Marcus Schäfer - Add parent attribute to volume setup For the btrfs volume management, allow to put a volume into a specific parent volume. If not specified the volume is below the default volume This Fixes #2316
* Tue Jul 18 2023 Jesus Bermudez Velazquez - Add SECURE_BOOT no when the firmware is efi This Fixes bsc#1211102
* Sun Jul 16 2023 Marcus Schäfer - Use btrfs for fedora/test-image-live-disk test Change the Virtual profile to build a btrfs based image for testing respective btrfs layouts
* Sun Jul 16 2023 Marcus Schäfer - Add btrfs_create_toplevel_subvolume attribute Allow to explicitly select if a toplevel subvolume should be created or not. To avoid a behavior change, kiwi will create a toplevel based btrfs structure if this attribute is not specified. However, a deprecation message to inform about future behavior change will be printed. This is related to Issue #2316
* Wed Jul 12 2023 Marcus Schäfer - Evaluate the AATTroot volume name also for btrfs In a volume setup the special volume declaration was only evaluated for the LVM volume manager. In case of btrfs a hardcoded root volume name \'AATT\' was used. This commit allows to specify a custom name for the root volume for btrfs as well and also allows to specify that there should be no such root volume. Example: Name the root volume \'AATT\'. If not specified this stays as the default to stay compatible Indicate no root volume is wanted. All subvolumes resides below root (/) Name the root volume \'foo\' This is related to Issue #2316 and a first patch to address the requested changes
* Mon Jul 10 2023 Marcus Schäfer - Bump version: 9.25.4 → 9.25.5
* Mon Jul 10 2023 Marcus Schäfer - Fixed regression in bootloader config attr access use_disk_password is not an attribute that exists in all BootLoaderConfig instances. Thus it\'s a mistake to access the attribute in the disk builder
* Mon Jul 10 2023 Marcus Schäfer - Bump version: 9.25.3 → 9.25.4
* Mon Jul 10 2023 Marcus Schäfer - Load isoschematron module on demand Due to a license issue the isoschematron code might not be available in the lxml package from the distributor. This commit uses isoschematron on demand. If present on the system it gets loaded and used, if not a warning that the schematron validation will be skipped is provided. This Fixes #2314
* Sat Jul 08 2023 slowpeek - Improve loopback.cfg example submenu+source should be preferred over menuentry+configfile: - submenu creates a new context, menuentry does not. As a result, changes made to vars inside menuentry\'s braces pollute the current scope. In this particular case what is notably wrong is root=loop happens in the current scope. If we activate the \"Boot from openSUSE ISO\" menu entry and then press Esc to return back to explore other menu entries, $root would still be set to \'loop\'. Instead of manually saving and restoring $root value it is better to wrap the whole thing in a new context with submenu - configfile is not just \'source in a new context\', it has as least one side effect. For details look for grub_err_printed_errors usage in [1] and [2] in grub sources [1] grub-core/normal/menu.c [2] grub-core/normal/menu_entry.c
* Fri Jul 07 2023 Marcus Schäfer - Bump version: 9.25.2 → 9.25.3
* Wed Jul 05 2023 Olaf Kirch - Add improvements for fully encrypted disk images This commit adds more flexibility when using LUKS encrypted images. In addition support for key derivation on user provided passwords has been added. The following new attributes were added to the schema: type.luks_randomize allow to enable/disable the data randomizing if luks encryption is used type.luks_pbkdf When LUKS unlocks a key slot using a user provided password, it uses a so-called key derivation function to derive a symmetric encryption key from the password. Not all boot loaders support all KDF algorithms, hence this attribute can be used to select a specific algorithm bootloader.use_disk_password When /boot is encrypted, make the boot loader store the password in its configuration file (in cleartext). This is useful for full disk encryption images Signed-off-by: Olaf Kirch
* Wed Jul 05 2023 Olaf Kirch - Change location of LUKS keyfile to /root/.root.keyfile In some configuration (eg on a transactional system), the root file system is read-only, which means we will not be able to remove the stale .root.keyfile after firstboot. This patch changes the location of the keyfile and places it in /root/.root.keyfile instead, because root\'s home directory is much more likely to be read/write. Also fixed the associated unit test (thanks to schaefi). Signed-off-by: Olaf Kirch
* Tue Jul 04 2023 Marcus Schäfer - Add alternative re-reading of the partition table To inform the kernel about disk geometry changes, kiwi uses partprobe as a primary tool. However it is provided by parted and not necessarily available due to the package requirements on the dracut module. A second attempt via blockdev which is expected to exist is therefore made by this commit
* Tue Jul 04 2023 Marcus Schäfer - Refactor the luks_device class data transport Also add missing unit tests
* Mon Jul 03 2023 Marcus Schäfer - test_get_build_type_bootloader_use_disk_password Add missing unit test for use_disk_password attribute
* Fri Jun 16 2023 Marcus Schäfer - Bump version: 9.25.1 → 9.25.2
* Fri Jun 16 2023 Marcus Schäfer - Fix repository setup for microdnf An instance of the Repository class for microdnf has to use RepositoryDnf4
* Fri Jun 16 2023 Marcus Schäfer - Bump version: 9.25.0 → 9.25.1
* Wed Jun 14 2023 Marcus Schäfer - Fixed image install of dnf package manager If the package manager is set to \'dnf4\', this name is taken also as package name to install this package manager into the image. Problem is \'dnf4\' is not a valid package name. The correct name for \'dnf4\' is \'dnf\'. This commit fixes the name bug introduced with the changes for Issue #2262
* Wed Jun 14 2023 Marcus Schäfer - Bump version: 9.24.61 → 9.25.0
* Wed Jun 14 2023 Marcus Schäfer - Add more details about used grub image(s)
* Sat Jun 10 2023 glaubway - make alias unique in any cases
* Thu Jun 01 2023 Steffen Winterfeldt - The actual padding is 0. And switch to sha256.
* Mon May 29 2023 Marcus Schäfer - Change package manager dnf to dnf4 With dnf5 there is a successor for dnf but there will also be a transition period where there will be both, the former dnf and the new dnf5 available. For a clear distinction between the two we got the recommendation from the RedHat team to support both in different namespaces. This commit now implements a backward compatible change for kiwi which includes the following modifications:
* XSL stylesheet for automatic schema transformation from dnf to dnf4
* Code copy of dnf API interface from PackageManagerDnf -> PackageManagerDnf4 RepositoryDnf -> RepositoryDnf4
* Deprecation of former Dnf API interface The code change here will force developers to adapt their code if they used RepositoryDnf / PackageManagerDnf classes in their python code. After this change developers will be dropped into a raise condition which exits kiwi at the time of the call. Related to Issue #2300 and Issue #2262
* Thu May 25 2023 Hans-Peter Jansen - Documentation: clearify dnf based collection selectors With 89b5a6f5269, the selection of collections was changed to allow group IDs only for dnf based package installers.
* Thu May 25 2023 Marcus Schäfer - Update rawhide integration tests Use dnf5 for rawhide. It\'s hard to differentiate between old and new dnf version on Fedora Rawhide. Thus let\'s make the move to dnf5. Since microdnf is also wrapped into dnf5 the integration test for microdnf got renamed to dnf5
* Wed May 24 2023 Marcus Schäfer - Add support for dnf5 package manager dnf5 is the next generation of the dnf package manager. dnf5 is not a drop in replacement to dnf which is the reason why this commit adds a new interface class for package and repository management under a new name: dnf5. Beginning with Fedora >= 39 dnf5 will be the standard. Thus the requirements on the packaging level were adapted too. This Fixes #2300 This Fixes #2262
* Wed May 24 2023 Isaac True - dracut: modules.d: 90kiwi-overlay: add support for device mapper targets Allow specifying a device mapper target for the root of the overlayfs. This adds support for features like adding a dm-verity or dm-crypt backend to the overlayfs. A device mapper target can be specified using the following syntax on the kernel command line: root=overlay:MAPPER=verityRoot This translates to using the path `/dev/mapper/verityRoot` as the base of the overlayfs. Signed-off-by: Isaac True
* Wed May 24 2023 Marcus Schäfer - Bump version: 9.24.60 → 9.24.61
* Tue May 23 2023 Isaac True - dracut: modules.d: 99kiwi-lib: add bash shebangs and dependency The scripts in the kiwi-lib module use bash-specific syntax like `function`, which causes the script to fail if another shell (like dash or busybox) is used to interpret the scripts. Specifically set the shebang to use bash as the shell interpreter and add bash as a dependency to the dracut module to fix this. This resolves the following errors which are printed at boot when busybox tries to interpret the scripts: /bin/dracut-pre-mount: 3: /lib/kiwi-filesystem-lib.sh: function: not found /bin/dracut-pre-mount: 15: /lib/kiwi-filesystem-lib.sh: Syntax error: \"}\" unexpected Signed-off-by: Isaac True
* Mon May 22 2023 Jiri Srain - Do not depend on dnf for SUSE ALP
* Tue May 16 2023 Marcus Schäfer - Added appx-util as WSL requires for Fedora/RHEL Make sure the kiwi-systemdeps-containers-wsl meta package pulls in the required tools for Fedora/RHEL when building WSL containers. This is a followup to #2286
* Tue May 16 2023 Marcus Schäfer - Add cpio to core systemdeps requires list
* Thu May 11 2023 Jan Löser - Find correct `shimx64.efi` binary for EL derivatives Sort globbing result by length and look for `shim[a-z]
*.efi` pattern first before falling back to `shim.efi`. This allows us to match correct shim binary for SecureBoot enabled systems. The following example shows the content of recent shim package from AlmaLinux 9: $ ls -1 ~/Downloads/shim-almalinux-x64/boot/efi/EFI/almalinux BOOTX64.CSV mmx64.efi shim.efi shimx64-almalinux.efi shimx64.efi Sorted globbing result is: shimx64.efi shimx64-almalinux.efi First match wins (here `shimx64.efi`) which is the correct binary to be used as it is signed by M$. Was tested with shim packages for CentOS (x64, ia32, aarch64), Fedora 36 (x64), AlmaLinux 9 (x64, aarch64).
* Sat May 06 2023 Marcus Schäfer - Bump version: 9.24.59 → 9.24.60
* Thu May 04 2023 Marcus Schäfer - Allow to create plain cpio archives Allow to create plain cpio archives to serve the idea of the mkosi initrd concept
* Fri Apr 28 2023 Fabian Vogt - Fix restoration of grub2-install (bsc#1210948) It checked for grub2-install.orig in the host, not the buildroot. This meant that it left /usr/sbin/grub2-install as a noop.
* Fri Apr 28 2023 David Cassany - Use cross arch macros to interpret uint64_t This commit adds inttypes.h to make use of PRIu64 style macros in order to properly translate uint64_t across different architectures. More specific this allows the code to compile for ix86. Signed-off-by: David Cassany
* Tue Apr 25 2023 Jan Löser - Look for specific `shimx64.efi` binary first In CentOS, `/boot/efi/EFI/
*/shim
*.efi` extends to `/boot/efi/EFI/centos/shimx64-centos.efi` which is not signed by M$ but CentOS itself. This in turn does not boot on SecureBoot enabled systems.
* Mon Apr 24 2023 Marcus Schäfer - Delete score card Too flaky, broken most of the time and I\'m not sure how much value it adds to the project overall
* Mon Apr 24 2023 Marcus Schäfer - Fix score card action
* Mon Apr 24 2023 Marcus Schäfer - Update TW build tests plymouth-plugin-script must be explicitly added now
* Mon Apr 24 2023 Marcus Schäfer - Revert \"Add zstd and xzio to grub image\" This reverts commit af8c702db0a60ed4abeba8686d4e8475c410c58d. The grub modules does not exist in all grub installations. A different implementation is required
* Mon Apr 24 2023 Marcus Schäfer - Update TW integration tests change theme from bgrt to breeze. TW has deleted bgrt
* Mon Apr 24 2023 Marcus Schäfer - Fixed writing URIs including ASCII encoding
* Fri Apr 21 2023 Marcus Schäfer - Split container systemdeps in OCI and WSL
* Thu Apr 20 2023 Marcus Schäfer - Update kiwi-systemdeps-containers requires list Do not strictly require fb-util-for-appx. In order to create WSL containers fb-util-for-appx is a requirement but usually users create OCI containers and WSL containers are still a niche case. Thus it\'s ok to reduce the requirement into a recommends. This Fixes #2284
* Thu Apr 20 2023 Marcus Schäfer - Encode remote URLs Special characters in a URL e.g the AATT sign needs to be encoded as part of a remote URL.
* Tue Apr 18 2023 Marcus Schäfer - Fix workflow run
* Tue Apr 18 2023 Marcus Schäfer - Fixed Fedora prebuild EFI binary lookup When creating CentOS/Fedora live media, kiwi does not install the right signed grub2 EFI binary. This was caused by kiwi not being aware of the gcdx64.efi(x86_64), gcdaa64.efi(aarch64) binaries for CD/ISO boot. This Fixes #2270
* Thu Apr 13 2023 Marcus Schäfer - Bump version: 9.24.58 → 9.24.59
* Thu Apr 13 2023 Marcus Schäfer - Add zstd and xzio to grub image If kiwi builds its own grub image, make sure the compression algorithms zstd and xz are supported
* Wed Apr 12 2023 David Cassany - Adding a comment to explain the s390 specific path Signed-off-by: David Cassany
* Wed Apr 12 2023 David Cassany - Use parted only in s390 arch This commit ensures parted is only called in dracut-kiwi-lib for s390 arch. It also fixes the spec to only require parted for s390 builds. In addition parted requirement has been removed from dracut-kiwi-live package since parted is not used in any other dracut module beyond kiwi-lib. Signed-off-by: David Cassany
* Tue Apr 04 2023 Jan Löser - Add potential shim binary for Ubuntu Looks like `shim
*.efi` is gone in latest `shim-signed` package. The package now contains `shimx64.efi.signed.latest` and `shimx64.efi.signed.previous` binaries, let\'s take latest. shim-signed_1.40.9+15.7-0ubuntu1_amd64/usr/lib/shim/: total 4688 drwxr-xr-x. 3 root root 209 Jan 31 12:57 . drwxr-xr-x. 3 root root 18 Jan 31 12:57 .. - rw-r--r--. 1 root root 108 Jan 31 12:57 BOOTX64.CSV - rwxr-xr-x. 1 root root 1622 Jan 31 12:57 is-not-revoked drwxr-xr-x. 2 root root 25 Jan 31 12:57 mok - rw-r--r--. 1 root root 950891 Jan 31 12:57 shimx64.efi - rw-r--r--. 1 root root 962400 Jan 31 12:57 shimx64.efi.dualsigned - rw-r--r--. 1 root root 960472 Jan 31 12:57 shimx64.efi.signed.latest - rw-r--r--. 1 root root 955656 Jan 31 12:57 shimx64.efi.signed.previous - rw-r--r--. 1 root root 88296 Jan 27 20:09 fbx64.efi - rw-r--r--. 1 root root 860824 Jan 27 20:09 mmx64.efi shim-signed_1.40.7+15.4-0ubuntu9_amd64/usr/lib/shim/: total 3728 drwxr-xr-x. 3 root root 145 Aug 13 2021 . drwxr-xr-x. 3 root root 18 Aug 13 2021 .. - rw-r--r--. 1 root root 108 Aug 13 2021 BOOTX64.CSV - rw-r--r--. 1 root root 85672 Aug 13 2021 fbx64.efi - rw-r--r--. 1 root root 856232 Aug 13 2021 mmx64.efi drwxr-xr-x. 2 root root 25 Aug 13 2021 mok - rw-r--r--. 1 root root 947143 Aug 13 2021 shimx64.efi - rw-r--r--. 1 root root 957576 Aug 13 2021 shimx64.efi.dualsigned - rw-r--r--. 1 root root 955656 Aug 13 2021 shimx64.efi.signed
* Mon Apr 03 2023 David Cassany - Expand DASD partition table with parted Signed-off-by: David Cassany
* Thu Mar 30 2023 Marcus Schäfer - Fixed evaluation of custom start sector In case an alternative partition table start sector is configured, the check to effectively apply it should be based on the partition table type not on the firmware name
* Thu Mar 30 2023 David Cassany - Add parted dependency for s390 Signed-off-by: David Cassany
* Tue Mar 28 2023 Marcus Schäfer - Bump version: 9.24.57 → 9.24.58
* Mon Mar 27 2023 Marcus Schäfer - Build leap btrfs test without root as snapshot So far no btrfs integration test without root as snapshot existed
* Sat Mar 25 2023 Marcus Schäfer - Support EFI boot from squashfs grub supports reading from squashfs. If no extra bootloader installation is required this allows to boot from a squashfs rootfs without extra boot partition. The prebuilt grub images usually does not contain the squash4 module which is the reason why kiwi creates the EFI module itself if the system is fully immutable. Please note; the grub configuration must be provided manually as part of the image description in this case because grub-mkconfig at the time it has to be called has no write permissions anymore.
* Fri Mar 24 2023 Fabian Vogt - Fix /.snapshots mounting in the btrfs volume manager The /AATT/.snapshots subvolume was not mounted as /.snapshots in the root filesystem snapshot. This is now necessary for snapper to work. While at it, create 1/snapshot as plain subvolume, it does not make sense to snapshot AATT itself.
* Thu Mar 16 2023 Marcus Schäfer - Add support for config-host-overlay.sh script
* Thu Mar 16 2023 Marcus Schäfer - Fixed build of dracut-kiwi-verity The spec file was missing the package definition to actually create the dracut-kiwi-verity package. In addition the fixed setting to the C standard 17 caused build errors for me on distributions that uses C standard 11/12.
* Wed Mar 15 2023 Marcus Schäfer - Add selinux integration test for Leap SUSE systems supports both, apparmor and selinux, whereas apparmor is the default. As selinux requires to create security labels during build time of an image, this integration test checks if the labeling works for SUSE based OS\'es. This Fixes #2244
* Tue Mar 14 2023 Marcus Schäfer - Allow custom template evaluation for install ISO So far only Live ISO images allowed for custom template usage
* Tue Mar 14 2023 Marcus Schäfer - Fix Arch Linux Live ISO integration test Switch to grub for booting the ISO, for some reason isolinux refused to work and there is no priority to dig into the issue. This Fixes #2233
* Tue Mar 14 2023 Marcus Schäfer - Fix Arch Linux EFI install ISO integration test kiwi has code in bootloader/template/grub2.py which uses linuxefi/initrdefi commands according to the configured grub_platform. These commands does not exist on Arch and therefore the integration test provides its own ISO template. This Fixes #2232
* Tue Mar 14 2023 Marcus Schäfer - Add dracut-kiwi-verity dracut module package When building an image with an embedded verity hash via the embed_verity_metadata=\"true\" type attribute it is required to setup the device map at boot time accordingly. The dracut module in this commit provides the needed tooling as a POSIX C implementation which is able to read the kiwi embedded verityhash from the offset of the partition. Kudos goes to Isaac True Co-authored-by: Isaac True Signed-off-by: Isaac True
* Mon Mar 13 2023 Joachim Gleissner - (Re-)add support for \'anymarkup\' < 0.5.0 Fall back to module \'anymarkup\' if \'anymarkup_core\' is not available.
* Sat Mar 11 2023 Marcus Schäfer - Support UNIXNODE device names for overlayroot When no other persistent naming schema can be used to identify the device there should be the option to specify the kernel unix device node name
* Fri Mar 10 2023 Joachim Gleissner - Use module anymarkup-core instead of anymarkup Use \'anymarkup-core\' directly instead of wrapper \'anymarkup\'.
* Thu Mar 09 2023 Marcus Schäfer - Fix permissions of live ISO system files Make sure initrd and squashfs.img takes permissions o644 This Fixes #2246
* Wed Mar 08 2023 Marcus Schäfer - Update TW test-image-rpi-overlay build test It used rd.root.overlay.readonly but it meant rd.root.overlay.temporary
* Wed Mar 08 2023 Marcus Schäfer - Fixed rd.root.overlay.readonly handling Fix the option implementation to actually do what it is supposed to do, boot the system in fll read-only mode. In addition a new parameter named rd.root.overlay.temporary has been introduced which allows to boot up in read-write mode but the write area is a tmpfs. Thus persistency only during runtime. Updated the documentation accordingly
* Tue Mar 07 2023 Marcus Schäfer - Fixed tumbleweed build tests opie no longer in TW
* Tue Mar 07 2023 Marcus Schäfer - Fixed tumbleweed/test-image-azure opie no longer in TW
* Tue Mar 07 2023 Marcus Schäfer - Support PARTLABEL device names for overlayroot When using GPT a partlabel exists that can also be used as a device reference
* Tue Mar 07 2023 Marcus Schäfer - Fixed kernel parameters for overlayroot setup The device selection for the read-only and read-write devices in an overlayroot setup was implicitly done in the kiwi-overlay dracut module by reading the root= information. This is a concept which barely works and should be refactored in a way that the root= information always points to the root device and that an eventually existing write location is explicitly provided via the existing rd.root.overlay.write parameter which is allowed to be overwritten for providing an alternative write location. Making this information consistent and explicit on the kernel commandline simplifies the dracut code to consume this information correctly. This Fixes #2251
* Sun Mar 05 2023 Marcus Schäfer - Fixed conditional options evaluation The former condition caused the end result list to be empty
* Sat Feb 11 2023 Marcus Schäfer - Add support for creating delta containers Add new attribute delta_root=\"true|false\" which in combination with derived_from=\"OCI-base-image\" allows to create a delta root tree only containing the differences between the OCI-base-image and the actions taken by the kiwi prepare step. Based on the delta root tree the subsequent image creation process starts. Such an incomplete root tree is only useful under certain circumstances which is also the reason why the feature is only available to the oci and docker image types.
* Fri Feb 10 2023 Marcus Schäfer - Bump version: 9.24.56 → 9.24.57
* Sat Jan 28 2023 Marcus Schäfer - Allow squashfscompression for plain squashfs The schematron rule to limit the squashfscompression attribute to certain image types did not allow it for a plain squashfs filesystem build. This commit fixes that limitation. This Fixes #2241
* Wed Jan 18 2023 David Cassany - Use rsync defaults to sync the initrd root-tree This commits makes use of rsync default options to sync the root-tree of the boot image for custom initrds. Fixes bsc#1207128 where it was noted hardlinks were not preserved inside the initrd. Signed-off-by: David Cassany
* Tue Jan 17 2023 Marcus Schäfer - Fixed wrong test assertions Former versions of pytest did ignore invalid assertions. Now they are reported as an error and show the mistakes of the past
* Tue Jan 17 2023 Marcus Schäfer - Added 90-brd.conf for test-image-disk-ramdisk By default the brd ramdisk module is no longer added to the initrd. For ramdisk deployments this is required though. This Fixes #2230
* Sun Jan 15 2023 Marcus Schäfer - Delete CentOS v7 build tests CentOS v7 is EOL for kiwi image build tests
* Thu Jan 05 2023 Marcus Schäfer - Allow to specify fixed size for the root partition So far the last partition (typically root) in the partition table takes all the rest space of the partition table in the image file. At deployment/boot time users had several options to let that partition grow to a custom size. However, during build time of the image it was not possible to specify a specific fixed size for the root partition as we don\'t wanted to produce gaps of unpartitioned space in the image file. It has turned out that there is hardware available which requires a partition to be an exact multiple of some blocksize. As kiwi supports size constraints for all other partitions but not for root this commit now allows for it. The oem-systemsize element is now also taken into account at build time of the image if the oem-resize which would do that at deployment/boot time is switched off like the following example shows: ```xml 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
* Mon Jan 02 2023 Marcus Schäfer - Pass along tmpdir to skopeo When using the --temp-dir parameter, it was not passed to the skopeo calls when building a container image with kiwi.
* Thu Dec 22 2022 Marcus Schäfer - Allow fat16/fat32 as filesystem in partitions The partitions element allows to specify the filesystem for the individual partition. In the schema fat16 and fat32 were missing
* Thu Dec 22 2022 Robert Schweikert - Support new bootloadersettings section Allow to specify an optional element inside of the section. The information is used to specify custom arguments for the tools called in a bootloader setup procedure, e.g shim-install, grub-install or grub-mkconfig. kiwi does not judge on the given parameters and if the provided data is effectively used depends on the individual bootloader implementation. In this commit the data will be effectively handled if bootloader=\"grub2\" is configured. More precisely the custom additions to support SUSE\'s TPM model with grub2 can be configured as follows: This Fixes #2224
* Tue Dec 20 2022 Marcus Schäfer - Stick with tox v3.28.0 for unit testing tox >= 3.0.15 together with virtualenv >= 20.17.1 raises strange incompatibilities and prevents the unit test run because tox calls virtualenv in a wrong way leading to strange error messages like: - -- usage: virtualenv ... virtualenv: error: argument dest: destination \'{check,devel,packagedoc,doc,doc_gh_pages,doc_suse,doc_man,scripts,}: /home/runner/work/kiwi/kiwi/.tox/3\
/home/runner/work/kiwi/kiwi/.tox/3.8\' must not contain the path separator (:) as this would break the activation scripts - -- All this doesn\'t make sense to me at all and worked without any issues before.
* Tue Dec 20 2022 Marcus Schäfer - Bump version: 9.24.55 → 9.24.56
* Tue Dec 20 2022 Marcus Schäfer - Fix gh-pages publish
* Sun Dec 18 2022 Marcus Schäfer - Fixed systemd boot integration test for rawhide systemd-boot was splitted in preparation for secure boot. The unsigned version of the EFI binary is used in the test so far
* Sun Dec 18 2022 Marcus Schäfer - Added device mapper setting for s390 on TW Use kpartx as partx fails
* Sun Dec 18 2022 Marcus Schäfer - Added device mapper setting for s390 Use kpartx as partx fails
* Sun Dec 18 2022 Marcus Schäfer - Bump version: 9.24.54 → 9.24.55
* Wed Dec 14 2022 Marcus Schäfer - Allow to pass credentials as file reference
* Tue Dec 13 2022 Marcus Schäfer - Fixed handling of container archive compression In kiwi we support handling of the container archive compression via a runtime configuration setting of the following form, eg in /etc/kiwi.yml ```yaml container: [#] Specify compression for container images [#] Possible values are true, false, xz or none. - compress: true ``` However, this setting was only taken into account in the kiwi bundler. Meaning if the user calls \'kiwi result bundle ...\' after the container image has been created the result bundler will take the compression setting into account. From my perspective this behavior is misleading and also prevents users from creating compressed container archives without a subsequent result bundler call. Therefore this commit moves the place to handle the compression setting into the container classes. The bundler code for containers will no longer operate on it and just takes what it gets, which can be either compressed or not. The default setting was \"No compression\" and this was not changed. This Fixes #2217
* Tue Dec 13 2022 Marcus Schäfer - Add type hints for OCI and APPX classes
* Sun Dec 11 2022 Marcus Schäfer - Bump version: 9.24.53 → 9.24.54
* Sun Dec 11 2022 Marcus Schäfer - Fix publish to pypi bind gh-action module to v1 release
* Sun Dec 11 2022 Marcus Schäfer - Bump version: 9.24.52 → 9.24.53
* Sat Dec 10 2022 Marcus Schäfer - Use ubuntu-20.04 as github hosted runner It seems on ubuntu-latest no python 3.6 is available anymore
* Sat Dec 10 2022 Marcus Schäfer - Allow external commands in tox targets
* Fri Dec 09 2022 Marcus Schäfer - Fix unit test run for BLS spec base class Do not really call blkid as used in get_boot_cmdline
* Fri Dec 09 2022 Marcus Schäfer - Fixed typo in documentation Capitalize at the start of a sentence. This Fixes #2216
* Fri Dec 02 2022 Marcus Schäfer - Fix unit tests to run in parallel Setting sys.argv and global variables impacts tests such that they cannot run in parallel. The little footprint of excluding the --config global args test from the coverage is beneficial to allow parallel test runs
* Fri Dec 02 2022 Marcus Schäfer - Don\'t show secret parts of an URI Using URIs of the form uri://user:passAATTlocation should not be logged or printed including its credential data
* Fri Dec 02 2022 Marcus Schäfer - Don\'t use split on potential None value
* Thu Dec 01 2022 Marcus Schäfer - Allow to select partition mapper tool The recent change from kpartx to partx caused some appliance builds to break depending on their configuration. I spotted issues when building disks with veritysetup or integritysetup root devices. There are also issues with grub-install on other architectures e.g s390. It seems partx cannot be used as a drop in replacement and so I suggest to make this a runtime configuration option with partx as the new default but also allow for the old method
* Thu Dec 01 2022 Marcus Schäfer - Bump version: 9.24.51 → 9.24.52
* Wed Nov 30 2022 Marcus Schäfer - Fix status indicator in helper/build_status.sh colored output only worked for toplevel results
* Wed Nov 30 2022 Neal Gompa - Eliminate redundant partx calls for cleaning up loop devices partx can clean up all partition loops associated with a loop device when deleting the main loop device. Apparently, sometimes it goes and does this even when only deleting the partition loop, so to avoid this problem, we will just eliminate the redundant call. Fixes: 8f2b8fda82a37d7a7ebbf8a6557870cc63b0ae91
* Wed Nov 30 2022 Marcus Schäfer - Support repo URI\'s with credentials on cmdline Specifying a repository as part of the image description allows for credentials via the username and password attributes. Howver, repositories can also be specified on the commandline via the --set-repo / --add-repo options. The options on the commandline did not allow to specify credentials so far. This commit adds the commandline options --set-repo-credentials and --add-repo-credentials to support them
* Wed Nov 30 2022 Marcus Schäfer - Update test-image-vagrant virtualbox-guest-x11 seems to be deleted from TW
* Wed Nov 30 2022 Marcus Schäfer - Fixed test-image-custom-partitions The test was done prior kiwi added the partitions element and demonstrates how to influence the partition table via scripts. These scripts uses kpartx and the device mapper. Due to the recent change from kpartx to partx the scripts must be adapted
* Tue Nov 29 2022 Marcus Schäfer - Bump version: 9.24.50 → 9.24.51
* Tue Nov 29 2022 Marcus Schäfer - Added code style batch to landing page
* Tue Nov 29 2022 Marcus Schäfer - Delete obsolete gitlab pipeline status flag Delete obsolete gitlab pipeline status from the project landing page. We do no longer use gitlab since they added that quota thing for their CI system
* Tue Nov 29 2022 Marcus Schäfer - Bump version: 9.24.49 → 9.24.50
* Tue Nov 29 2022 Neal Gompa - Swap from DM kpartx to util-linux partx for creating loop devices The device-mapper (DM) based loop devices that kiwi has historically generated creates issues when trying to run kiwi in confined build environments. The DM tools prefer to have a tighter coupling between userspace and kernel interfaces, and we cannot necessarily guarantee that in the variety of build environments that kiwi can be run in. In particular, Koji uses either nspawn containers or chroots through Mock to run kiwi and that is where this fails. However, we do not need to use DM for this purpose when util-linux provides a perfectly serviceable alternative. This commit changes kiwi\'s loop device setup to use partx(8) from util-linux instead. As long as the appliance image being created doesn\'t use a disk scheme that requires DM, it becomes entirely possible to produce an image without needing DM at runtime at all.
* Tue Nov 29 2022 Marcus Schäfer - Added systemd_boot integration test for Rawhide
* Mon Nov 21 2022 Marcus Schäfer - Increase btrfs size of orthos integration test
* Mon Nov 14 2022 Marcus Schäfer - Increase scope of kernel lookup So far kiwi was looking up kernels only on /boot. Including other bootloaders it\'s no longer required that the kernel packages of the distributions provides the kernel in /boot Thus kiwi\'s lookup needs to be extended to other places which is done by this commit.
* Sat Nov 12 2022 Marcus Schäfer - Add GRUB_DEFAULT=saved if not set If there is no GRUB_DEFAULT setting in etc/default/grub we add GRUB_DEFAULT=saved as the default setting. This Fixes #2198
* Sat Nov 12 2022 Marcus Schäfer - Disable gitlab CI pipeline Unfortunately gitlab decided to allow only eligible projects to use their CI pipeline. Being a member for years seems not to count in this change process. Therefore this commit disables the tests we run on gitlab and I will come up with a simple github action for the parts that we don\'t want to loose.
* Fri Nov 11 2022 Marcus Schäfer - Added integration test for systemd_boot The test build is based on the Tumbleweed distribution and provides a simple non-secure-boot systemd-boot virtual disk image
* Tue Nov 08 2022 Marcus Schäfer - no_implicit_optional = False
* Thu Nov 03 2022 Marcus Schäfer - Added --loglevel option specify logging level as number. Details about the available log levels can be found at: https://docs.python.org/3/library/logging.html#logging-levels Setting a log level causes all message >= level to be displayed.
* Wed Nov 02 2022 Marcus Schäfer - Consolidate and cleanup logging Make sure all loggers; stream handlers, file and socket handler uses the same logging format. Also make sure that there is only one place for setLogLevel when kiwi is used as application
* Sat Oct 29 2022 Marcus Schäfer - Added support for --logsocket Like with --logfile this commit adds support for using an existing Unix Domain Socket for logging. It\'s required that there is a listener on the given socket otherwise kiwi exits with an appropriate error message from the socket layer. A simple listener could look like the following: ```python sock_file = \'/tmp/log_socket\' buffer = 1024 if os.path.exists(sock_file): os.unlink(sock_file) sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.bind(sock_file) sock.listen(1) while True: connection, client_address = sock.accept() try: while True: data = connection.recv(buffer) if not data: break print(data.decode()) finally: connection.close() ``` With the listener in place kiwi can be called as follows: kiwi-ng --logsocket /tmp/log_socket ...
* Sat Oct 22 2022 Marcus Schäfer - Bump version: 9.24.48 → 9.24.49
* Sat Oct 22 2022 Marcus Schäfer - Fixed test-image-vagrant virtualbox-guest-tools obsoletes virtualbox-guest-x11
* Fri Oct 21 2022 Marcus Schäfer - ignore the type check on the Result class With an update of mypy the bound TypeVar is no longer allowed. In newer versions of python we could use the \"Self\" type or import annotations from the future module. Unfortunately in older python versions which we still support (3.6) there is no non intrusive change which allows us to handle that type annotation. Thus this commit ignores the return type spec for Result.load() for the moment.
* Wed Oct 12 2022 Igor Raits - Stop copying /dev files statically into the OCI container In containers (nspawn) where part of the /dev filesystem is bind-mounted from outside system, kiwi fails to do the rsync (in creation of the nodes). There is no reason to actually copy whole tree inside so let\'s just not do it (as it does not seem to be needed at all).
* Tue Oct 11 2022 Dirk Müller - List riscv64 as a valid architecture in the schemas This is needed so that architecture filters on riscv64 specifics can be defined.
* Wed Sep 14 2022 Marcus Schäfer - Support DM integrity legacy options Add a new attribute integrity_legacy_hmac=\"true|false\" which allows to use old flawed HMAC calculation (does not protect superblock). Add a new attribute integrity_legacy_padding=\"true|false\" which allows to use inefficient legacy padding. Do not use these attributes until compatibility with a specific old kernel is required!
* Wed Aug 31 2022 Jan Macku - ci(lint): Add Shell linter - Differential Shellcheck
* Wed Aug 31 2022 Marcus Schäfer - Limit repo alias names to be a safe POSIX name Characters like spaces or other symbols used in repo alias names can cause the package manager to fail setting up the repo. Thus this patch changes the schema to only allow for safe POSIX names matching: {pattern = \"[a-zA-Z0-9_\\-\\.]+\"}. This Fixes #2170
* Thu Aug 25 2022 Marcus Schäfer - Increase space for test-image-embedded test Add more space to test profile: SystemFeatures
* Thu Aug 25 2022 Marcus Schäfer - Increase efifatimage size for legacy build test
* Tue Aug 23 2022 Marcus Schäfer - Bump version: 9.24.47 → 9.24.48
* Sun Aug 21 2022 Laszlo Gombos - Return failure if overlay is not supported
* Wed Aug 10 2022 Marcus Schäfer - Bump version: 9.24.46 → 9.24.47
* Wed Aug 10 2022 Marcus Schäfer - Revert \"EFI Filesystem must be Fat32 formatted\" Using fat32 causes failed boots on e.g AWS EC2 arm. This must be solved differently with an attribute to configure it. This reverts commit b8641bdc6825423f8c65b55c8d0870b38874a566.
* Tue Aug 09 2022 Marcus Schäfer - Bump version: 9.24.45 → 9.24.46
* Tue Aug 09 2022 Marcus Schäfer - Support URIs with credentials in solver plugin check if the URI string contains credentials and extract/trim them from the uri object. The urlparse class does not recognize this information as a valid URI and throws an exception
* Tue Aug 09 2022 Marcus Schäfer - Fixed kexec options setup in kiwi-dump-reboot The dracut module 99kiwi-dump-reboot creates an options list for kexec. Under certain conditions the options list can contain multiple spaces which leads to an error when calling kexec. This commit makes sure to trim white spaces. This Fixes #2178
* Sun Aug 07 2022 Marcus Schäfer - Fixed test-image-disk-legacy Increase size of embedded EFI fat image needed for EFI bootable install ISO. Due to the increased size of the custom kiwi initrd the default size for the FAT image is too small
* Sat Aug 06 2022 Marcus Schäfer - Support custom size for embedded EFI FAT image For ISO images (live and install) the EFI boot requires an embedded FAT image. As of now a fixed size of 20M was used which leads to a problem if the EFI image or the initrd or the kernel is bigger than 20M. With the new attribute: efifatimagesize=\"nonNegativeInteger\" we can now set a different value for the FAT image. Please note the value must be aligned to the also customizable efipartsize value which allows to configure the size of the EFI partition
* Fri Aug 05 2022 Marcus Schäfer - Fixed linter complaints after flake update flake now complains about E275 missing whitespace after keyword for the way \'del\' is used. This commit fixes it
* Thu Aug 04 2022 J Mixer - Added a NOTE: section to explain the finer points of adding tools to a dracut hook.
* Sat Jul 30 2022 Marcus Schäfer - Fixup btrfs based legacy kiwi initrd test
* Thu Jul 21 2022 gmoro - Fix mocking of grub2-install (fix #2124) /bin/true was being used from the host machine instead of the chroot
* Thu Jul 21 2022 David Cassany - Fix race condition in runtime_config_test This commit instead of setting the global variable of the runtime config file patches it. This is relevant if running unit tests in parallel, where global variables are shared if not patched. Signed-off-by: David Cassany
* Tue Jul 12 2022 Marcus Schäfer - EFI Filesystem must be Fat32 formatted Given the documentation from Microsoft the EFI partition must be a fat32 format. fat16 is still supported but unexpected. This Fixes #2141
* Tue Jul 12 2022 Marcus Schäfer - Fixed typo in overview page prevent word duplication. This Fixes #2016
* Tue Jul 12 2022 Marcus Schäfer - Bump version: 9.24.44 → 9.24.45
* Thu Jul 07 2022 Marcus Schäfer - Umount device before cloning In case a clone should be created from a partition we need to make sure to umount the device after sync and prior cloning. Otherwise the clone operation is not safe because the rsynced data might still be in memory and not synced out to the block device.
* Wed Jul 06 2022 Marcus Schäfer - Fixed custom disk start sector setup The attribute disk_start_sector allows to specify a custom start sector for the first partition of the disk. On GPT tables everything works nicely, on DOS tables the used tools fdisk/sfdisk are not able to manage the start/end values of subsequent partitions if the first partition doesn\'t start with the tooling default. This patch allows to set the start sector after the partition table has been created
* Sat Jul 02 2022 Marcus Schäfer - Fixed CentOS-8 repo setup
* Fri Jun 24 2022 Marcus Schäfer - Bump version: 9.24.43 → 9.24.44
* Thu Jun 23 2022 Marcus Schäfer - Make sure to rebuild rpm database For rpm based distributions make sure to call rpm --rebuilddb unconditionally prior using rpm with the chroot. This Fixes #2165
* Wed Jun 22 2022 Neal Gompa - github: Refresh issue template to cover more operating scenarios KIWI is often used for cross-distribution image builds, so we should ask for that information when appropriate. Additionally, clarify \"OBS\" as \"Open Build Service\" to disambiguate. Finally, add a line about Koji since Koji can run kiwi to build images now.
* Wed Jun 22 2022 Marcus Schäfer - Fixed unit tests
* Tue Jun 21 2022 Igor Raits - Forcefully disable versionlock plugin in DNF [ INFO ]: 09:39:08 | Uninstalling system packages (chroot) [ INFO ]: 09:39:08 | Using package manager backend: dnf [ INFO ]: 09:39:08 | --> package: linux-firmware [ INFO ]: 09:39:08 | Uninstall system packages (chroot) [ DEBUG ]: 09:39:08 | EXEC: [chroot /tmp/myimage8/build/image-root dnf --config /kiwi_v708wllp -y --releasever=8 autoremove linux-firmware] [ INFO ]: Processing: [########################################] 100% [ ERROR ]: 09:39:08 | KiwiPackagesDeletePhaseFailed: System package deletion failed: Package deletion failed: Error: Locklist not set The versionlock plugin does not bring any benefit anyways as we completely override plugin configs. Also refactor configparser related stuff a bit. Signed-off-by: Igor Raits
* Mon Jun 20 2022 Marcus Schäfer - Support squashfs in custom partitions When using squashfs in a custom partitions setup like the following: The build fails because the filesystem needs to be created using the create_on_file() API and not the create_on_device() API. In addition the size estimation is bogus when using squashfs and cannot be pre-calculated because we only know how much space the filesystem really needs after mksquashfs as worked on the data and the compression. Thus this commit also relaxes the required size check in case of squashfs. Last but not least a squashfs filesystem does not provide label or UUID and can only be referenced by the PARTUUID it gets dumped on or by the native unix device node. As the unix node is a loop during build time of the image and meaningless this commit also forces by-partuuid mapping in fstab when mounting the squashfs based device.
* Thu Jun 16 2022 Marcus Schäfer - Fixed use of CommandCapabilities The class allows to check for data produced on stdout and stderr. However, programs reporting data on stderr usually fails with an exit code != 0. If the command is not called with raise_on_error=False it will never be possible to catch information from stderr. As we don\'t know if programs returns a failed exit code even on their e.g --usage message we should always pass the no raise option to make this more useful
* Wed Jun 15 2022 David Cassany - Fix volume mount path and adapt unit tests Signed-off-by: David Cassany
* Tue Jun 14 2022 Marcus Schäfer - Handle older versions of setfiles correctly In older versions of setfiles we need a two pass setup First set the policy, second apply the security context. This commit checks in the usage message of setfiles which invocation syntax is required
* Tue Jun 14 2022 Marcus Schäfer - Bump version: 9.24.42 → 9.24.43
* Tue Jun 14 2022 Marcus Schäfer - Fixed error handling for setfiles policy lookup Errors from os.scandir were not catched. In addition the path to run scandir was not properly created
* Tue Jun 14 2022 Ludwig Nussel - Mount /sys also for disks.sh /sys is needed to be able to run dracut in disks.sh
* Mon Jun 13 2022 Ludwig Nussel - Fix btrfs volume mounting If the second argument of os.path.join is an absolute directory, the result would be that directory. The intention is to produce a subdirectory of the mountpoint though. So pass a relative path. Without the fix, kiwi would try to e.g mount the /var subvolume of the image over the /var of the host, screwing everthing up of course :-)
* Mon Jun 13 2022 Marcus Schäfer - Prefer file based syscall in kexec when possible Use file based syscall in kexec if available. This is needed to support boot on an secure boot enabled system and is in general more reliable to boot into the system on real hardware platforms
* Mon Jun 13 2022 Marcus Schäfer - Bump version: 9.24.41 → 9.24.42
* Thu Jun 09 2022 Marcus Schäfer - Bump version: 9.24.40 → 9.24.41
* Wed Jun 08 2022 Marcus Schäfer - Fix helper method to detect dracut outfile format The method _get_boot_image_output_file_format_from_dracut_code is used in kiwi to match parts of the dracut code for the used output file format. Beginning with dracut-056 the code part checked has changed syntactically such that the match did no longer work. This commit increases the scope of the match and replace pattern and Fixes #2149
* Wed Jun 08 2022 Marcus Schäfer - Fixed handling of signing_keys in cmdline options When passing signing_keys with the --add-repo|--set-repo commandline options the delimiter to separate the single key information is a colon(:). However, this is stupid when kiwi expects the signing key to be references as an URI format like file://... Therefore this patch changes the delimiter from colon(:) to semicolon(;)
* Wed Jun 08 2022 Marcus Schäfer - Correct setfiles relabeling This change was inspired by a change done on Fedora\'s livecd-tools from here: livecd-tools/livecd-tools#236. The patch corrects issues with the setfiles SELinux relabel command. The issues become apparent when the host and guest policies differ. Thus it becomes required to explicitly set the policy to decouple from eventual unwanted host settings.
* Wed Jun 01 2022 Marcus Schäfer - Bump version: 9.24.39 → 9.24.40
* Wed Jun 01 2022 Carlos Bederián - Setup SELinux on every system prepare / build (#2148) Setup SELinux on every system prepare / build such that all image types benefit from it not only the disk (oem) type
* Sun May 29 2022 Marcus Schäfer - Install all of QEMU to Ubuntu arm integration test
* Sun May 29 2022 Marcus Schäfer - rename user to ubuntu for Ubuntu integration test
* Sun May 29 2022 Marcus Schäfer - Bump version: 9.24.38 → 9.24.39
* Sun May 29 2022 Marcus Schäfer - Move to sphinx>=5.0.0
* Sun May 29 2022 Marcus Schäfer - Bump version: 9.24.37 → 9.24.38
* Sun May 29 2022 Marcus Schäfer - Fixed sphinx extlinks rendering In Sphinx v5 warning will be treated as errors. This results in the following warning to be an error: extlinks: Sphinx-6.0 will require a caption string to contain exactly one \'%s\' and all other \'%\' need to be escaped as \'%%\'. This commit applies the required quoting
* Sun May 29 2022 Marcus Schäfer - Bump version: 9.24.36 → 9.24.37
* Sat May 28 2022 Marcus Schäfer - Added example aarch64 integration test for Ubuntu Created a RaspberryPI image description for Ubuntu(jammy) as integration test for building aarch64 images and added it to the integration test matrix
* Mon May 23 2022 Marcus Schäfer - Added --target-arch for image info Allow cross arch dependency solving
* Fri May 20 2022 Marcus Schäfer - update docs
* Fri May 20 2022 Marcus Schäfer - Add support for group id in users setting Allow to specify the group id in the groups list a user should belong to. The group id can be placed as part of the group name separated by a colon like in the following example: Please note kiwi checks if the provided group already exists and only creates a group if it is not already present in the system. As default groups are usually provided by the OS itself including its preferred group id, you will intentionally not be able to overwrite group id for existing groups. This Fixes #2064
* Thu May 19 2022 Marcus Schäfer - Bump version: 9.24.35 → 9.24.36
* Tue May 17 2022 Robert Schweikert - Subformats should also not be compressed when encryption is enabled (#2138) Subformats should also not be compressed when encryption is enabled This is a follow on change to bdba953. When the filesystem is encrypted the resulting image should not be compressed. Also explain why we ignore the compression seeting in the user configuration for encrypted images.
* Mon May 16 2022 Marcus Schäfer - Add support for prebuilt bootstrap package for apt When using the apt packagemanager kiwi required the use of debootstrap to create the initial rootfs. This works as long as there is always a main distribution repository available which follows the structure of the official debian mirrors. However if such a main distribution is not present or an alternative layout like e.g OBS repos is used, debootstrap will refuse to work. To allow for an alternative and without the dependency to debootstrap kiwi supports using a prebuilt bootstrap package providing the mini rootfs to serve as the bootstrap result. As all other package managers properly supports installation into an empty new root, this feature was only added when using the apt packagemanager
* Sun May 08 2022 Marcus Schäfer - Bump version: 9.24.34 → 9.24.35
* Sat May 07 2022 Marcus Schäfer - Allow more repo params to be set on the cmdline The repository parameters for signing keys, the component list the main distribution name for debian repositories and also the repository_gpgcheck could not be set via the commandline options --add-repo and/or --set-repo. This commit adds support for them and also updates the manual page accordingly
* Sat May 07 2022 Marcus Schäfer - Update ubuntu integration tests Build them against latest release (jammy). This Fixes #2128
* Sat May 07 2022 Marcus Schäfer - Bump version: 9.24.33 → 9.24.34
* Thu May 05 2022 Marcus Schäfer - Follow up fix for isolinux-config isolinux-config is called to update the search path inside of the isolinux binary. isolinux/syslinux is exclusive to the ix86 architecture and to BIOS firmware. Therefore the condition to actually call it should reflect this.
* Thu May 05 2022 Marcus Schäfer - Bump version: 9.24.32 → 9.24.33
* Thu May 05 2022 Marcus Schäfer - Fixed runtime check Fixed check_dracut_module_for_disk_overlay_in_package_list. The check complains if the dracut-kiwi-overlay module is not installed but overlay support was requested. This is correct but should only be done if the selected initrd system is dracut.
* Wed May 04 2022 ozboss <32305849+ozbossAATTusers.noreply.github.com>- Add option to set LUKS type to luks1 (#2126) Add option to set LUKS type to luks1 So far the LUKS type could be set to luks and luks2. However, what luks version the value \'luks\' evaluates to depends on how the distributor has packaged luks. Thus it\'s possible that \'luks\' is either luks1 or luks2. To also have the opportunity to explicitly specify luks1 this commit adds the opportunity in the schema.
* Wed May 04 2022 Marcus Schäfer - Update devel packages helper Added trang as needed when working on the schema
* Fri Apr 29 2022 Marcus Schäfer - Add support for dm integrity with secret key Allow to protect the opening of the integrity data map and journal through a keyfile. For setting the key file two new optional type attributes were added:
* integrity_keyfile
* integrity_metadata_key_description The key file format must be correct according to the selected integrity algorithm. As of now the kiwi default hmac-sha256 algorithm is used with the selected keyfile The optional integrity_metadata_key_description attribute allows to specify a custom description of an integrity key as it is expected to be present in the kernel keyring. The information is placed in the integrity metadata block. If not specified kiwi creates a key argument string instead which is based on the given integrity_keyfile filename. The format of this key argument is: :BASENAME_OF_integrity_keyfile_WITHOUT_FILE_EXTENSION
* Thu Apr 28 2022 Marcus Schäfer - Update get_disksize_mbytes to support clones When using partition clones the pre-calculation of the disk size needs to take this into account.
* Wed Apr 27 2022 Marcus Schäfer - Fixed UUID setup for XFS Make sure the log got replayed prior generating a new UUID
* Tue Apr 26 2022 Marcus Schäfer - Fixed scope of setup_isolinux_boot_path There is a method called setup_isolinux_boot_path which is encoded in the Iso class. The method allows to change the boot path in the isolinux binary and makes sense when the bootloader is selected to be isolinux. However, the method was called in the scope of the FileSystemIsoFs class which responsibility is to create an ISO filesystem. The creation of an ISO filesystem has no direct connection to a bootloader. Thus calling this method in the scope of the FileSystemIsoFs implementation is wrong and can lead to unexpected side effects. This commit moves the call of the method to the places where isolinux as a bootloader can still be used. This Fixes #2117
* Tue Apr 26 2022 Dan Čermák - Correct the URL to the dracut home page This fixes https://github.com/OSInside/kiwi/issues/2097
* Tue Apr 26 2022 Dan Čermák - Change the custom vagrant config file to 00-vagrant.conf If it is called 99-vagrant.conf, then anything \"before\" that, like 50-redhat.conf takes precedence and overrides our custom settings.
* Tue Apr 26 2022 Dan Čermák - Add Leap 15.4, SLE 15 SP4 & CentOS Stream 9 to the scripts tests
* Mon Apr 25 2022 Marcus Schäfer - Bump version: 9.24.31 → 9.24.32
* Mon Apr 11 2022 Marcus Schäfer - Add support for standalone dm integrity There is support in kiwi to use dm_integrity in combination with the LUKS header and dm_crypt. However there is also the use case to setup dm_integrity in standalone mode. This commit allows to create the dm_integrity layer outside of LUKS using /etc/integritytab to activate the map through a systemd generator if systemd is used. Regarding systemd it\'s required to use a version of system which provides: system-generators/systemd-integritysetup-generator. If this generator does not exist in the distribution it will also be missing in the dracut generated initrd and the boot will not be able to succeed. It\'s mentioned here because even newer distributions might be missing the generator Along with the implementation there are two new optional attributes in the section: standalone_integrity=\"true|false\" embed_integrity_metadata=\"true|false\" standalone_integrity activates/deactivates the dm_integrity map on top of the root filesystem. Similar to the veritysetup support there is the opportunity to create an embedded magic metadata block at the end of the device containing the root filesystem via embed_integrity_metadata
* Sun Apr 10 2022 Marcus Schäfer - Update per codacy smell
* Sun Apr 10 2022 Marcus Schäfer - Add support for part clones to the Disk interface The Disk class provides methods to create partition(s) and map names according to its scope and independent of the actual partition tools. For example: create_root_partition(). This commit adds an additional optional clone parameter to all methods for which we want to allow partition clones
* Sun Apr 10 2022 Marcus Schäfer - Be less strict in boot link to itself As part of the grub setup a link named \'boot\' inside of /boot is created pointing to itself \'boot -> .\'. The reason is to allow the bootloader config to find its files referenced as /boot/something independently if /boot is placed into an extra partition. However if an extra boot partition is used and a filesystem which does not support symlinks, e.g fat, that symlink creation should not lead to an error in the image build process as it is considered an optional safe link and not a mandatory pre-requisite
* Thu Apr 07 2022 Marcus Schäfer - Fixed TW arm rpi integration test Explicitly add ruby to the package list
* Wed Apr 06 2022 Marcus Schäfer - Bump version: 9.24.30 → 9.24.31
* Wed Apr 06 2022 Robert Schweikert - Fix LABEL detection (#2112) When only \"root=\" is specified on the kernel command line the match is located in the first group. Loop through the groups upon mtach to find what we are looking for.
* Tue Apr 05 2022 Robert Schweikert - Preserve LABEL setting (#2108) Preserve the LABEL= setting when the grub config file is re-generated. the GRUB_ENABLE_LINUX_LABEL setting does not exists upstream and not in any SUSE distribution. Set the grub setting such that LABEL is preserved on SUSE distros. (bsc#1197616)
* Tue Apr 05 2022 Marcus Schäfer - Fix test_setup_default_grub_empty_kernelcmdline The unit test exists to check that GRUB_CMDLINE_LINUX_DEFAULT is not set depending on the provided cmdline. The test exists for reasons explained in Issue #1650
* Fri Apr 01 2022 Fabian Vogt - Don\'t compress .appx containers (#2106) The container is actually inside and already compressed.
* Fri Apr 01 2022 Marcus Schäfer - Added new CloneDevice class Added CloneDevice class to the storage interface. The class allows to create clone(s) from a given source block device into a list of target block devices. The target block devices are clones of the source but prevents device naming conflicts for unique identifiers like the UUID. This is requires to still allow to boot from images containing device clones and needs to be handled by tools that might work on top of the cloned devices.
* Thu Mar 31 2022 Marcus Schäfer - Improve readability of shell commands The way the lsblk pipeline is constructed is improved to become easier to read by this commit
* Thu Mar 31 2022 Marcus Schäfer - Added set_uuid() method to FileSystem API Allow to set a custom UUID not only at creation time of a filesystem but also at a later point in time in an already existing filesystem
* Tue Mar 29 2022 David Cassany - Ensure BootloaderConfig resources are cleaned first This commit wraps the manual BootloaderConfig instance cleanup in disk builder into a try/finally scope. This way if KIWI is aborted or fails within this scope the BootloaderConfig is cleaned up first. Signed-off-by: David Cassany
* Tue Mar 29 2022 Marcus Schäfer - Fixed overlay root dracut module make sure there is always only one selection for the readonly root partition
* Tue Mar 29 2022 Marcus Schäfer - Update LUKS integration test for TW Use cipher options to make cryptomount work again
* Tue Mar 29 2022 Marcus Schäfer - Set LUKS(v1) for TW encryption integration test In Tumbleweed LUKS2 became the default but the grub cryptomount tool is not able to work with the v2 LUKS header. Thus the test explicitly builds against the former luks version for now
* Tue Mar 29 2022 Marcus Schäfer - Set LUKS2 for TW luks encryption integration test In Tumbleweed LUKS2 became the default also for grub and cryptomount, which requires to create a LUKS2 header in the dm_crypt layer
* Tue Mar 29 2022 Marcus Schäfer - Bump version: 9.24.29 → 9.24.30
* Mon Mar 28 2022 Tim Serong - Add ensure_empty_tmpdirs option for OCI containers (bsc#1197783) Since #1759 was merged, the contents of /run/ and /tmp/ are excluded from built images. This causes problems for some containers, notably Ceph when deployed in a Rook/k8s environment, which needs to have certain directories present inside /run/. This commit adds the ability to return to the previous behaviour and
*not
* empty those temporary directories, if you specify . Fixes: https://github.com/OSInside/kiwi/issues/2093 Signed-off-by: Tim Serong
* Fri Mar 25 2022 Marcus Schäfer - Fixed parsing of veritysetup output veritysetup uses tabs to align values. The way kiwi parsed the values did not strip out the tabs and later on keeps them in the verification metadata block. The unit test did not catch this because the mock output used for veritysetup did not contain tabs. This commit fixes the test to catch this condition and also fixes the code to handle all space characters (tabs, space, newlines) in a safe way
* Thu Mar 24 2022 Marcus Schäfer - Update contents of store_credentials result file The method added information about the PARTUUID as useful information. However, PARTUUID\'s are not supported by all partition tables. The Linux generated artificial values from the disk identifier are not wanted in this scope. As the information is not mandatory it\'s better to not provide it at all and avoid confusion to users.
* Thu Mar 24 2022 Marcus Schäfer - Make blkid call more robust Do not raise of blkid is not able to read the requested ID. It is expected that the methods of the BlockID class either returns a value or none but do not raise and cause the complete process to terminate
* Thu Mar 24 2022 Marcus Schäfer - Added embed_verity_metadata attribute Specifies to write a binary block at the end of the partition serving the root filesystem, containing information for dm_verity verification and to construct the device map
* Thu Mar 24 2022 Marcus Schäfer - Added create_verification_metadata method Along with creating a filesystem including device mapper features like dm_verity (see verity_blocks) or dm_crypt/dm_integrity (see luks) there is always the question where to store the metadata information required to setup the device map. This can include information about blocksizes, offset addresses and more. The create_verification_metadata() method allows to write a signed custom data block of a documented format at the end of the given block special which stores this type of information such that tools at boot time gets the opportunity to read this information. In this commit only information connected to the dm_verity feature activated via the verity_blocks attribute will be part of the verification block. With future changes other data might be added
* Wed Mar 23 2022 Marcus Schäfer - Added runtime check for by-partuuid use Added check_partuuid_persistency_type_used_with_mbr(). Not every partition table type supports UUIDs. We don\'t want to make use of the artifical values created by Linux if the partition table doesn\'t support it natively
* Wed Mar 23 2022 Marcus Schäfer - Support partuuid and label mounts in dracut module The 90kiwi-overlay dracut module was not able to parse the device link if done with PARTUUID or LABEL
* Wed Mar 23 2022 Marcus Schäfer - Added integration test for by-partuuid The test hooks into the existing test-image-embedded integration test for leap. As I plan to extend the tests specific to features actually only useful for special embedded images, I thought this would be the right place to start
* Mon Mar 21 2022 Marcus Schäfer - validate luksformat options validate options against the cryptsetup help info in a runtime check
* Mon Mar 21 2022 Marcus Schäfer - Handle LUKS type in its own attribute
* Sun Mar 20 2022 Marcus Schäfer - Fixed attribute description The overlayroot_verity_blocks attribute description contained outdated information
* Sat Mar 19 2022 Marcus Schäfer - Add support for verity setup on standard rootfs So far the verity support was only available with the overlayroot layout and the read-only squashfs root. This commit adds a new attribute: verity_blocks=\"number|all\" which allows to create the verity setup also on the standard root partition In addition to the change it was needed to extend the Filesystem API with an additional optional paramter to allow setup of the filesystem UUID. Having the opportunity to set the UUID at filesystem creation is generally useful and with regards to this particular change it became also required
* Fri Mar 18 2022 Neal Gompa - Allow Btrfs and XFS as options for the boot partition filesystem We already do this implicitly when we do not define this attribute and request a boot partition, so let us explicitly offer these as options too.
* Fri Mar 18 2022 Marcus Schäfer - Fix grub defaults for PARTUUID use Make sure to set GRUB_DISABLE_LINUX_PARTUUID to false when using by-partuuid
* Thu Mar 17 2022 Marcus Schäfer - Allow luks format options Added new luksformat element which allows to pass along options to the luksFormat call. This allows users to switch between LUKS and LUKS2 via e.g It also allows to pass along a set of options only available to LUKS2, e.g In addition to the new attribute the existing luks attribute can also be specified to read credentials from a keyfile by using the file:// source locator, e.g This Fixes #1898
* Sat Mar 12 2022 Marcus Schäfer - Fixed funny build_status.sh bug If the name of the repository starts with an \'F\' like in Fedora, the \'F\' is turned into a red escape sequence because it is assumed to be a failed status indicator :) The path here is probably also dumb as it just assumes there is a space after the status indicator. Well the complete script is not really a good one, but still helpful
* Sat Mar 12 2022 Marcus Schäfer - Update Fedora arm integration test Move test to Fedora 34
* Sat Mar 12 2022 Marcus Schäfer - Added container build test for Fedora Fedora systems uses buildah to create containers. There is no integration test for kiwi which tests building containers with buildah. This commit adds a build test to cover this path. Related to Issue #2020
* 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
* Thu Dec 19 2019 David Cassany - Bump version: 9.19.7 → 9.19.8
* Thu Dec 19 2019 David Cassany - Update libyui-ncurses-pkg10 to libyui-ncurses-pkg11 In Tumbleweed there is no longer the libyui-ncurses-pkg10 its been superseded by libyui-ncurses-pkg11. This fixes the test-image-qcow-openstack integration test
* Thu Dec 19 2019 David Cassany - Reference commit for SUSE maintenance This commit adds a reference to Issue #1301 and the report in bugzilla bsc#1159538. The issue was fixed in commit 7d96d19c
* Wed Dec 18 2019 David Cassany - Fix grub2 configuration for shim fallback setup If shim fallback setup is enabled the grub.cfg is copied to the EFI partition. This commit makes sure that the grub.cfg is copied to the EFI partition according to the efi mount point. Fixes bsc#1159235
* Tue Dec 17 2019 David Cassany - Ensure no swap volume is added on btrfs When the selected filesystem is btrfs the volume manager is not LVM. In that case the swap partition is not volume, it is a completely independent partition. So that we cannot add and additional volume for swap when swap is specified in the description file. This patch fixes #1301 and fulfills #1297
* Thu Dec 12 2019 Marcus Schäfer - Fixed installation chapter in the documentation The chapter still outlines multipython support but we dropped support for python2 some time ago
* Tue Dec 10 2019 Marcus Schäfer - Bump version: 9.19.6 → 9.19.7
* Sun Dec 08 2019 Marcus Schäfer - Fixed swap setup if btrfs is used In case of a volume manager the simplified variant of the device name is used in the fstab file to reference the swap device. However this is only correct for the lvm volume management but not for btrfs. In case of btrfs the swap space is not a subvolume but a real partition and thus the simplified device spec in fstab puts in the loop mapped device which is wrong. This patch fixes it
* Fri Dec 06 2019 Neal Gompa - Exclude \'Recommends: kiwi-man-pages\' for EL7 and older in the spec
* Fri Dec 06 2019 Marcus Schäfer - Fixed xz options syntax in default kiwi.yml xz options are passed as a string and splitted in code but not handled as yml list
* Fri Dec 06 2019 Marcus Schäfer - Fixed scope of kiwi-man-pages sub package The kiwi-man-pages package provided data that belongs to the main package, e.g the completion as well as the license information. In addition kiwi-man-pages should not be a requirement.
* Fri Dec 06 2019 Marcus Schäfer - Fixed result map for OEM pxe install The result map for OEM images with installpxe enabled contained a wrong file name. Thus the result bundler was not able to fetch the tarball
* Thu Dec 05 2019 Marcus Schäfer - Open image files in UTF-8 Post image build metadata like the packages file which are created from data produced by the package manager can contain multibyte characters and should be written into files opened with the UTF-8 encoding. The same applies to the image imported XML description. This Fixes #1290
* Wed Dec 04 2019 Marcus Schäfer - Bump version: 9.19.5 → 9.19.6
* Wed Dec 04 2019 Marcus Schäfer - Fixup package list for GCE integration test Package growpart-rootgrow does no longer exist. Will be replaced by a partgrow implementation
* Wed Dec 04 2019 Marcus Schäfer - Fixed root setup when building in OBS When building in an OBS worker no udevd is running which prevents grub2-mkconfig from finding the by-
* device nodes and it puts the local loop device in which is wrong. Therefore the patching code used for overlay disk configurations also applies when building in an OBS worker environment. This Fixes #1287
* Mon Dec 02 2019 Marcus Schäfer - Bump version: 9.19.4 → 9.19.5
* Fri Nov 29 2019 Marcus Schäfer - Fixed setup of default grub config In /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT also contained the root= information. If grub2-mkconfig runs with that information it places the root device information twice because grub2-mkconfig resolves this information itself. This commit prevents the root= information to be placed in the default grub config and Fixes bsc#1156908
* Wed Nov 27 2019 Marcus Schäfer - Lookup distribution specific grub font dir In addition to the generic grub font directory also lookup distribution specific font paths in the system and copy the grub unicode font into it. This Fixes #1253
* Wed Nov 27 2019 David Cassany - Do not rsync /dev on debootstrap This commit does not rsync /dev on debootstrap and instead it uses the bind mount for /dev the same way it is done for other non apt based bootstrap processes.
* Wed Nov 27 2019 David Cassany - Add new root option in Path.which method This commit adds to Path utility a couple of methods to manipulate paths. One to rebase given paths to a new root and another one to trim the given root path. In addition a new option in Path.which is added to allow searches into chroot evironments. Fixes #1276
* Tue Nov 26 2019 David Cassany - Do not rsync kernel filesystems on debootstrap This commit ensures that /proc and /sys are not rsynched when debootstrapping an apt based image. Fixes #1270
* Tue Nov 26 2019 Marcus Schäfer - Bump version: 9.19.3 → 9.19.4
* Tue Nov 26 2019 Marcus Schäfer - Fixed condition to create swap partition The previous condition created the partition if swap is requested and no volume management is used. But this is wrong because if any other than the LVM volume management is used we want the swap space as partition. Only in case of LVM the swap space is a LVM volume.
* Tue Nov 26 2019 Marcus Schäfer - Bump version: 9.19.2 → 9.19.3
* Tue Nov 26 2019 Marcus Schäfer - Fixed access to device map for fstab setup Swap is an optional element in the device map. Thus access to an element of that dictionary should not fail
* Mon Nov 25 2019 Marcus Schäfer - Bump version: 9.19.1 → 9.19.2
* Mon Nov 25 2019 Marcus Schäfer - Fixed VolumeManager device map handling The former implementation builds a new device map which is a subset of the low level device map. However due to the additional swap partition the maps provided by the VolumeManager classes are now incomplete. Instead this commit changes the VolumeManager interface to receive the current low level device_map and merged device changes on top of it when needed.
* Mon Nov 25 2019 Marcus Schäfer - Bump version: 9.19.0 → 9.19.1
* Mon Nov 25 2019 Marcus Schäfer - Fixed runtime checks on volume label setup Fixed the checks for check_volume_setup_defines_reserved_labels and check_volume_label_used_with_lvm. Both checks needs to skip on the kiwi internally created volume named LVSwap
* Mon Nov 25 2019 Marcus Schäfer - Delete superfluous .osc metadata from build tests Not sure how and why the .osc buildservice metadata was added to the git but it\'s for sure not needed
* Mon Nov 25 2019 Marcus Schäfer - Bump version: 9.18.35 → 9.19.0
* Mon Nov 25 2019 Marcus Schäfer - Added check_volume_setup_defines_reserved_labels Check to prevent using reserved filesystem labels in LVM volume definitions
* Thu Nov 21 2019 David Cassany - Include grub.cfg inside the efi partition This commit ensures the grub.cfg file is included within the vfat efi partition. This fixes #1271 and bsc#1157354
* Wed Nov 20 2019 Marcus Schäfer - Fixed extending LVM volumes For extending the LVM volumes a resize prefix is set for each volume. If no extra prefix is needed it can happen that the former prefix setting is used which is wrong. The resize prefix must be reset for each new volume iteration
* Wed Nov 20 2019 Marcus Schäfer - Bump version: 9.18.34 → 9.18.35
* Tue Nov 19 2019 Marcus Schäfer - Prevent swap partition to be the last one In an OEM deployment that requested the creation of a swap partition via that swap partition was created at first boot and was always the last partition on the disk. This was required because it could not be placed before any other partition without destroying those partition contents. This process leaves the system in an inflexible condition if the storage device can change its geometry dynamicly as it\'s the case for SAN systems. The typical deployment target for OEM images are SAN storage clusters and it\'s cumbersome to resize the root partition if swap is last. This commit Fixes #1231 and changes the handling of swap if requested via as follows: 1. The swap space is created as part of the image build process and no longer on first boot of the image via dracut code. This increases the size of the non compressed .raw disk image by the configured swap space size or the default. The compressed versions are not affected since zero initialized swap space compresses to almost no space. Deployment of the image however also deploys the swap partition which increases deployment time. For big swap configurations it\'s advisable to switch off image verification via oem-skip-verify. For very big swap configurations it\'s also recommended to prevent kiwi from adding them as part of the image and let them be created on first boot via a systemd service that e.g places a swap file, or creates a swap volume when possible such that the fexibility to resize the rootfs is still available. 2. The setup of the swap space is now explicit. It\'s no longer calculated by twice times RAM size because on newer machines this could lead to huge numbers. Either the kiwi encoded default swap size applies or the user configured value. 3. LVM based oem disks creates the swap space as logical volume. The volume is created as part of the image build process and no longer on first boot. The swap volume at build time of the image is of a minimal size and gets resized on first boot. 4. The move of the swap creation into the builder code also handles swap per configured device persistency schema like any other devices. This means by default swap is mounted via by-uuid name and thus also Fixes #1259
* Tue Nov 19 2019 Marcus Schäfer - Fixed subsequent reboot of oem disk On a second reboot of an oem disk we check with gdisk\'s verification command if the disk needs to be resized. That command however mounts the disk in the background and therefore it\'s urgently required to mask the systemd rootfs service before. Otherwise systemd thinks this is evil and drops into a rescue shell
* Tue Nov 19 2019 Marcus Schäfer - Reference commit for SUSE maintenance This commit adds a reference to Issue #1261 and the report in bugzilla bsc#1157104
* Tue Nov 19 2019 Marcus Schäfer - Bump version: 9.18.33 → 9.18.34
* Fri Nov 15 2019 David Cassany - Start using tftp system user package With this commit we start requiring tftp system user package. This user was created and managed by multiple packages before, with the risk of having inconsistent criteria on its defaults. Now there there a system user package so whatever package that requries this user should just require this package and do not create or modify the tftp user. Related with bsc#1143454
* Fri Nov 15 2019 David Cassany - Improve alias documentation in XML schema This commit aligns the documentation of the default repository alias with the current implementation. Fixes #1247
* Fri Nov 15 2019 Marcus Schäfer - Bump version: 9.18.32 → 9.18.33
* Thu Nov 14 2019 Marcus Schäfer - Fixed zipl bootloader config template The targetgeometry value is not allowed for SCSI and FBA mode. So far we handled only SCSI and failed on FBA mode. This commit fixes it
* Thu Nov 14 2019 David Cassany - Allow use of relative paths for `dir:` URIs This commit allows the use of relative paths for local URIs using the the following format: dir: This is helpful to set in config.xml local URIs for repositories. Fixes #1261
* Thu Nov 14 2019 Marcus Schäfer - Adapt test-image-oem integration test for s390 The test was originally designed to test for DASD 4k block storage. However the kpartx utility in the Leap15, TW code stream has issues mapping partitions if the loop device was setup using 4k sector size. So far we can\'t create images with 4k blocksize due to that issue. Thus the integration test is now adapted for an emulated DASD device in FBA mode which is not using 4k blocksize. Once the problem with kpartx is solved on s390 we will create another integration test to test 4k image builds
* Thu Nov 14 2019 Marcus Schäfer - Bump version: 9.18.31 → 9.18.32
* Thu Nov 14 2019 Marcus Schäfer - Update s390 integration tests Added vmx build test to run in kvm on s390. Updated the existing oem build test to deploy on DASD. The concept of the network setup invented by kiwi for s390 does no longer apply and was also not used on the s390 distribution
* Thu Nov 14 2019 Marcus Schäfer - Fixed zipl bootloader setup for s390 images The preparation to call zipl and the call itself were wrong. For whatever reason the kernel image the initrd are moved to another location prior to calling zipl. That move broke the system because no kernel/initrd existed at the expected place anymore. In addition the zipl call itself was issued from a the wrong directory. Also no config file was written as an after effect of the refactoring in Issue #1194. This Fixes #1173 and bsc#1156694
* Wed Nov 13 2019 Dan Čermák - Document possible values for the name attribute of package This fixes #1260 Co-Authored-By: Thomas Schraitle
* Thu Nov 07 2019 Marcus Schäfer - Bump version: 9.18.30 → 9.18.31
* Wed Nov 06 2019 David Cassany - Fix gitlab CI pipeline Ensure the gitlab CI includes make package for docs generation
* Wed Nov 06 2019 David Cassany - Ensure grub.cfg is copied in EFI/BOOT folder This commit fixes the live images in efi mode. Grub configuration file is copied to the correct location in /EFI/BOOT. Fixes bsc#1155815
* Thu Oct 31 2019 Marcus Schäfer - Bump version: 9.18.29 → 9.18.30
* Thu Oct 31 2019 Ruediger Oertel - fix kernel module handling for xz compressed modules and firmware files to fix issue #1256
* Tue Oct 29 2019 Marcus Schäfer - Bump version: 9.18.28 → 9.18.29
* Tue Oct 29 2019 Marcus Schäfer - Update Host/Image support matrix Update documentation about the Host vs. Image support and compatibility matrix with regards to the SLES target.
* Mon Oct 28 2019 Marcus Schäfer - Add default /etc/kiwi.yml file Provide a comment only etc/kiwi.yml file that contains all parameters we support so far including a short description This Fixes #1232
* Mon Oct 28 2019 Marcus Schäfer - Bump version: 9.18.27 → 9.18.28
* Fri Oct 25 2019 Marcus Schäfer - Delete left over print statement from unit test
* Fri Oct 25 2019 Javier Martinez Canillas - Enable BLS configuration if is supported Fedora now uses a BLS configuration by default, but this is not supported by all distributions. So check if is supported by the grub2-mkconfig tool and only enable the option if that\'s the case. Fixes: #1248
* Fri Oct 25 2019 Marcus Schäfer - Bump Fedora x86 build test to Fedora30
* Fri Oct 25 2019 Marcus Schäfer - Bump version: 9.18.26 → 9.18.27
* Thu Oct 24 2019 David Cassany - Fix btrfs_root_is_snapshot This commit makes sure the chrooted operations of over a loop device including btrfs subvolumes and root as an snapshot include the `/.snapshots` subvolume mount. This is necessary for certain operations that depend on the layout, e.g. grub configuration using `grub2-mkconfig`.
* Thu Oct 24 2019 Marcus Schäfer - Skip isolinux ui setup on serial terminal config If the attribute bootloader_console=\"serial\" is set, the expectation that there is no graphics hardware available is valid. Thus the isolinux setup should not contain any ui configuration instructions because that leads to run the graphics initialization which blocks the system if not present. Please note the bootloader_console allows for multiple console configuration. In mixed setup the ui configuration still applies. This Fixes #1153
* Thu Oct 24 2019 Marcus Schäfer - Added helper script to test status of test builds build_status fetches information from obs about the status of the integration test builds. It also allows an easy refresh of the tests regarding content changes on git when called with the refresh parameter: build_status refresh
* Wed Oct 23 2019 Marcus Schäfer - Update development documentation With the latest change to the logger kiwi can now be better used as an api in other python programs
* Wed Oct 23 2019 Marcus Schäfer - Fixed install_devel_packages helper Missing libffi and enchant devel packages. Also deleted trang since it\'s not provided by default in the distro and optional
* Wed Oct 23 2019 Marcus Schäfer - Bump version: 9.18.25 → 9.18.26
* Wed Oct 23 2019 Marcus Schäfer - Update documentation Link paths to the integration tests has changed
* Wed Oct 23 2019 Marcus Schäfer - Fixed package list for arm test builds
* Wed Oct 23 2019 Marcus Schäfer - Move arm build tests to obsrepositories
* Wed Oct 23 2019 Marcus Schäfer - Move s390 build tests to obsrepositories
* Wed Oct 23 2019 Marcus Schäfer - Reorganize build tests We build images against different distributions. In order to do that in obs we should be able to handle one prj config per distribution. Thus the tests move from a flat tree to a distro structured tree here and in obs
* Wed Oct 23 2019 Marcus Schäfer - Move suse tests to obsrepositories Changes on the obs backend made this change necessary. The chain of process decisions is different if a repo is added to the prj config compared to if the repo is added to the kiwi XML file. It seems the preferred solution is the obs prj config and I\'m tired running into problems again and again
* Tue Oct 22 2019 David Cassany - Make home attribute optional on users definition This commit makes home attribute of users definition optional. This way the home directory is created according to the distribution defaults. Note that `-m` option is passed to user add, thus the home directory is requested to be created even without having an explicit home path defined. Fixes #1025
* Mon Oct 21 2019 Marcus Schäfer - Refactor use of logging facility Use getLogger method instead of a global log object Also use caplog fixture to capture log messages in unit tests. This Fixes #1244
* Mon Oct 21 2019 Marcus Schäfer - Version 2.29.24 fixes the pattern problem and avoids the recursion bug
* Mon Oct 21 2019 Marcus Schäfer - Fixed oem resize message and invokation The oem resize should only start if there is unallocated space on the disk available. If it starts the message in case of a not applicable resize should be more meaningful This commit addresses both issues and Fixes #1102
* Fri Oct 18 2019 Marcus Schäfer - nothing provides yast2-registration With the move of the tests to the TW repo this package was no longer provided
* Fri Oct 18 2019 Marcus Schäfer - Deleted openSUSE-release-dvd from test images For whatever reason the Tumbleweed repo does not provide this package anymore
* Fri Oct 18 2019 Marcus Schäfer - Update integration tests OBS has changed the repo paths. openSUSE:Factory/snapshot is empty which resulted in any suse test to fail. This commit changes the repo to openSUSE:Tumbleweed/standard
* Thu Oct 17 2019 Marcus Schäfer - Bump version: 9.18.24 → 9.18.25
* Thu Oct 17 2019 Marcus Schäfer - Fixed grub mkconfig call for read-only root In case of an overlay root system via overlayroot=\"true\" all parts of the rootfs are read-only by squashfs except for the extra boot partition. However tools like grub\'s mkconfig creates temporary files at call time and therefore /tmp needs to be writable during the call time of the tools. Related to Issue #1194
* Thu Oct 17 2019 Marcus Schäfer - Bump version: 9.18.23 → 9.18.24
* Thu Oct 17 2019 Marcus Schäfer - Fixed method header of write_meta_data Interface class and implementation class has to use the same header definitions.
* Thu Oct 17 2019 Marcus Schäfer - Lookup grub mkconfig tool In the same way as we need to lookup the name for the mkimage tool we also have to lookup the name of the config tool. That\'s because distributions do not handle that consistently
* Thu Oct 17 2019 Marcus Schäfer - Bump version: 9.18.22 → 9.18.23
* Thu Oct 17 2019 Marcus Schäfer - Fixed EFI path creation Only copy files to the EFI path on prior creation of that path
* Thu Oct 17 2019 Marcus Schäfer - Bump version: 9.18.21 → 9.18.22
* Thu Oct 17 2019 Marcus Schäfer - Fixed fallback copy of grub config file For ISO images that are EFI bootable as well as for EFI secure boot configurations that are not based on shim-install kiwi provides a fallback code that copies the grub config file to the efi/efi-vendor boot path. This fallback code was broken because of the recent change to let grub2 mkconfig create the config file. The call of grub2 mkconfig happens at a later stage which required an adaption of the fallback mechanism. This is related to Issue #1194
* Thu Oct 17 2019 Marcus Schäfer - Bump version: 9.18.20 → 9.18.21
* Thu Oct 17 2019 Marcus Schäfer - Fixed use of config_file before assignment
* Wed Oct 16 2019 Marcus Schäfer - Bump version: 9.18.19 → 9.18.20
* Wed Oct 16 2019 David Cassany - Re-structure unit tests folders This commit relocates unit tests to a folder structure that matches the source code structure. Fixes #1128
* Wed Oct 16 2019 Marcus Schäfer - Delete unused template data With the move to grub2 mkconfig some static template data became obsolete. This commit removes the unused data
* Tue Oct 15 2019 Marcus Schäfer - Adapted handling of initrd boot names Due to the change of using grub2-mkconfig the way custom kiwi initrd file names are handled doesn\'t work anymore. grub2-mkconfig is not able to cope with the names kiwi used when creating custom kiwi initrd\'s (initrd.vmx). Thus the same naming code as used for the dracut initrd system has to apply for the custom kiwi initrd code as well. This commit moves the name handling into the baseclass because the same naming schema now applies to both initrd systems.
* Tue Oct 15 2019 Marcus Schäfer - Fixed install image setup for kiwi initrd system If the kiwi initrd system is used the eltorito image was not found because searched in the wrong place
* Mon Oct 14 2019 David Cassany - Change kiwi-ng-3 binary references to kiwi-ng This commit changes from kiwi-ng-3 or kiwi to kiwi-ng the console script used in command line examples.
* Fri Oct 11 2019 David Cassany - Add INFO message for primary group This commit adds an INFO message if the primary group is set according to the groups attribute in description file. Fixes #1059
* Fri Oct 11 2019 David Cassany - Use kiwi-ng and kiwicompat as console_scripts This commit instead of installing kiwi-ng-3 and kiwicompat-3 as console_scripts it makes use of kiwi-ng and kiwicompat. Then all others are created as symlinks at rpm level in spec. Fixes #1226
* Thu Oct 10 2019 Marcus Schäfer - Bump version: 9.18.18 → 9.18.19
* Tue Oct 08 2019 David Cassany - Upadate xml_parser autogenerated code This commit updates xml_parser.py autogenerated code using a newer generateDS version. The previous generateDS version is not properly handling the regular expressions of some element\'s content. Fixes #1217
* Tue Oct 08 2019 David Cassany - Remove universal flag kiwi is no longer an universal python module, since it does not support python 2 anymore. This will prevent to install future versions on python2 environments using pip. Related with #1226
* Fri Oct 04 2019 David Cassany - Refactor patch_open use in builder\'s tests This commit removes the use of AATTpatch_open decorator in favor of directly patching \'builtins.open\' and use mock.mock_open utility to mock the context manager. Related to #1128
* Fri Oct 04 2019 Marcus Schäfer - Flexible use of linuxefi module Not all distributions provides the grub linuxefi module anymore. This means a static list for building an efi grub image if needed is no longer appropriate. This patch changes the module handling at the following places 1. Use linuxefi for building custom efi modules only if present on the host system 2. Use linuxefi related grub2-mkconfig variables only if the host grub2-mkconfig implementation supports it 3. Prevent building custom efi image on Fedora by extending the search path for the distro provided efi image and also adapt the spec file accordingly
* Thu Oct 03 2019 David Cassany - Fix the sha256 generated file content This commit makes sure the generated sha256 file in a \'kiwi result bundle\' call includes the filename with the correct extension. For compressed files it was omiting the suffix that included during the compression. Fixes #1223 and related to bsc#1139915
* Wed Oct 02 2019 Marcus Schäfer - Fixed rpmdb compat link setup On older versions of zypper the path /var/lib/rpm was hardcoded and not used from the rpm macro definition. For such systems and to support them properly on hosts that have the rpm database already moved a compat link was created. However if the host has the rpm database at /var/lib/rpm the link doesn\'t make sense. This patch fixes this and therefore bsc#1150190
* Tue Oct 01 2019 Marcus Schäfer - Complete dracut setup for luks boot An image that is configured with an encrypted root including /boot includes a /.root.keyfile in initrd to let dracut/systemd decrypt the root and mount it without asking the password. On rebuild of the initrd, dracut has no configuration that tells it to include the /.root.keyfile again. This patch adds that configuration and Fixes #1192
* Mon Sep 30 2019 Marcus Schäfer - Follow up patch for SourceType info The message that display the selected source type was using the former metalink text which is wrong. This patch corrects the message and only display it if a sourcetype was specified
* Mon Sep 30 2019 Marcus Schäfer - Update contributing chapter Simplify the setup of a development environment and update the documentation appropriately
* Mon Sep 30 2019 Marcus Schäfer - Support specifying the source type of repos Repository source paths can be more than just a baseurl. There is also the opportunity to point to a metalink file or a mirrorlist. In both cases the packagemanager needs to know the type of this target. Therefore a new attribute called sourcetype exists which allows to specify the type the repo path uri is associated with. Currently the dnf repository class is the only one that makes use of the information. This change is required to support Fedora >= 30 images. I also expect this concept to be used by other distributions in the future
* Mon Sep 30 2019 David Cassany - Using the correct Tumbleweed base image
* Fri Sep 27 2019 Marcus Schäfer - Refactor use of raises in unit tests Use raises as context manager instead of a method decorator. This clearly identifies which code part is expected to raise an exception. Related to Issue #1128
* Thu Sep 26 2019 Marcus Schäfer - Refactor repository unit tests Refactor repository unit tests as described in Issue #1128
* Wed Sep 25 2019 Marcus Schäfer - Bump version: 9.18.17 → 9.18.18
* Wed Sep 25 2019 Marcus Schäfer - Fixed typo in message text Systen -> System
* Wed Sep 25 2019 Marcus Schäfer - Fixed return code validation of check_filesystem Usually the return code from the filesystem check tools is simple: Non zero exit code means an error occurred. However in case of the extX filesystem this does not apply. This commit documents the possible error conditions and supplies a tool specific check condition. This Fixes #1209
* Wed Sep 25 2019 Marcus Schäfer - Update dracut caller options No need to pass the --force option and added --verbose option as it provides useful information in the image log file
* Tue Sep 24 2019 Marcus Schäfer - Fixed kiwi-live module setup The installation of the checkmedia tool is optional and and not mandatory. In addition activate the media check verification also through the upstream used rd.live.check kernel parameter. This is related to Issue #1158
* Mon Sep 23 2019 David Cassany - Update documentation to the PXE install file names
* Mon Sep 23 2019 Marcus Schäfer - Update kiwi live ISO chapter Compare overlay vs.dmsquash live ISO modules by their features to allow customers a proper selection of the module. This Fixes #1158
* Mon Sep 23 2019 David Cassany - Add information in PXE install files This commmit adds additional information for the image and pxeboot files that are part of the install tarball in OEM PXE deployments. This way all files inside the install tarball include the following pattern .- at the same time anyfile prefix and suffix remains unchanged. Fixes #1147
* Fri Sep 20 2019 Marcus Schäfer - Bump version: 9.18.16 → 9.18.17
* Wed Sep 18 2019 David Cassany - Make kiwi-overlay module compatible with kiwi-repart This commit makes the modules provided by dracut-kiwi-overlay and dracut-kiwi-oem-repart compatible. The main idea of this commit is forcing the preparation of the overlay rootfs write partition after kiwi-repart gets into the play. Since kiwi-overlay mounts the write partitiontition it has to be executed after the kiwi-repart. For that instead of doing the job using an initqueue event added by a udev rule we just add the very same logic in pre-mount hook that happens after the kiwi-repart pre-mount hook thanks to lower priority. Fixes #1184
* Wed Sep 18 2019 Oluf Lorenzen <49054986+lorenzen-b1AATTusers.noreply.github.com>- fix docu following schema: profile inheritance following the schema the \"requires\" element needs an attribute \"profile\"
* Tue Sep 17 2019 Marcus Schäfer - Use grub2-mkconfig for writing grub config Instead of creating a template based grub config file, use grub2-mkconfig to create the config file during the build process. This commit changes from config template to grub2 tooling for the disk based image types vmx and oem This Fixes #1194
* Tue Sep 17 2019 Marcus Schäfer - Bump version: 9.18.15 → 9.18.16
* Tue Sep 17 2019 David Cassany - Fix modules omission for dracut based initrds This commit fixes a regression introduced in 07ea23a4. In OEM images the dracut modules were not properly omitted as the code was evaluating the wrong variable. Fixes #1201
* Fri Sep 13 2019 David Cassany - Fix GPT to MBR convertion This commit swaps the order of the command in gpt to mbr convertion in partitioner.gpt.set_mbr method. sgdisk by default converts the partition table from MBR to GPT in memory. The change is never applied unless you provide the -g option forcing to overwrite the partition table format. If sgdisk does the convertion in memory and the user does not provide the -g flag it returns an error code. The solution applied in this commit is to just run the GPT to MBR convertion as the last sgdisk command and change partition type before running the convertion.
* Fri Sep 13 2019 Marcus Schäfer - Bump version: 9.18.14 → 9.18.15
* Fri Sep 13 2019 jpwidera <30520224+jpwideraAATTusers.noreply.github.com>- Fixed user permission The comand was evaluated as chmod -c -R \'...\' . This is not the correct syntax. Removing quotation marks solved problem and Fixes #1191
* Thu Sep 12 2019 David Cassany - Clean up openstack packages
* Thu Sep 12 2019 David Cassany - Fix unresolves for x86 integration tests nfsidmap package is no longer available in TW. It\'s been renamed to libnfsidmap1, moreover this is a package already required by nfs-client and similar packages. Thus gets installed in the modified image descriptions without having to list it, as it is already a dependency of another required package.
* Thu Sep 12 2019 Marcus Schäfer - Do not require multipath in dracut-kiwi-oem-dump Installation of multipath tools triggers storage devices to be handled as multipath maps in dracut. If the deployment happens in a non multipath system those devices do not exist and the system later hangs in the dracut initqueue waiting for mapper devices that never appears
* Thu Sep 12 2019 jpwidera - Reverting partsthat are already implemented This problem is discussed in #1195
* Tue Sep 10 2019 jpwidera - Switched back to original root-device search
* Tue Sep 10 2019 Marcus Schäfer - Detect raid compound in root disk detection Make sure raid managed storage e.g fake raid is detected using the correct md device. Fixes #1181
* Tue Sep 10 2019 Marcus Schäfer - Bump version: 9.18.13 → 9.18.14
* Fri Aug 30 2019 Jan Widera - Allows to list fake-raid partitions Solves problem in #1181
* Fri Aug 30 2019 David Cassany - Add the `-wildcards` flag in mksqashfs call This commit ensures the `-wildcards` flag of mksquashfs is being used. This is related to #1184
* Fri Aug 30 2019 David Cassany - Adding overlayroot integration test
* Thu Aug 29 2019 Marcus Schäfer - Bump version: 9.18.12 → 9.18.13
* Thu Aug 29 2019 Marcus Schäfer - Add --add-bootstrap-packages option The prepare and build commands now allows to specify additional packages to be installed as part of the early bootstrap phase This Fixes #1151
* Wed Aug 28 2019 Marcus Schäfer - Detect raid disks in oem dump module The current disk detection only takes lsblk entries into account that marks the device as \'disk\'. However on raid disks like fake raid controllers the disk is mapped via dmraid and marked as \'raidX\' device. This commit also takes those devices into account for deployment. Issue #1181
* Tue Aug 27 2019 Marcus Schäfer - Fix return value of is_prepared method The method is expected to return a bool value. In fact it returned a list. An empty list is evalutated as False in python, a list with content as True. So the way the method is used is correct but the return value should be a real bool value to match the docs and expectations. Also the unit test for this code was wrong. This Fixes #1175
* Mon Aug 26 2019 Marcus Schäfer - Update documentation regarding fstab adaptions
* Mon Aug 26 2019 Marcus Schäfer - Add support for custom fstab script extension In addition to fstab append and patch features we also allow an fstab.script file that is called chrooted. The change is needed to support overlay mounting of filesystems as part of the initrd. If system filesystems needs to be changed in a way that they can be used in an overlay mount, the standard mount entry has to take the x-initrd.mount capability which requires a modification of the fstab which is cumbersome to handle as a patch file. This concept is currently used as part of the MicroOS project in SUSE and is applied in the integration test build maintained for this target. This Fixes bsc#1129566
* Fri Aug 23 2019 Neal Gompa - Fix GitLab CI jobs for building on Fedora Mock is incorrectly using systemd sysusers now without a systemd dependency or working sysusers scriptlets. For now, manually create the mock group. In addition, let\'s go ahead and upgrade to a Fedora 30 chroot for the mock builds.
* Fri Aug 23 2019 David Cassany - Avoid default installation of dracut kiwi modules With this commit dracut modules won\'t be installed by default in the initrd unless they are requested by the commandline calling dracut or by a dracut configuration file. Fixes bsc#1142899 bsc#1136444 Fixes #1103
* Fri Aug 23 2019 Marcus Schäfer - Update live iso integration test build Our live iso test is setup for EFI. Since the switch to grub no isolinux will be used with the test. Thus there is no need to install the gfxboot branding package anymore
* Thu Aug 22 2019 Dan Čermák - Stop inheriting from object This is no longer required in Python3
* Thu Aug 22 2019 David Cassany - Add crypt dependency to kiwi-lib dracut module This commit fixes the dependencies of the kiwi-lib dracut module to include crypt module required by kiwi-luks-lib.sh. In addition it also updates the check() section to return 255 instead of 0. In check section a return code of 0 means install it, 255 install only if required by another module, anything else, do not install. Related with bsc#1142899
* Wed Aug 21 2019 Marcus Schäfer - Create ssh host keys for MicroOS test image
* Wed Aug 21 2019 Marcus Schäfer - Added network setup for MicroOS test build
* Tue Aug 20 2019 Andreas Schwab - Add support for riscv64
* Tue Aug 20 2019 Marcus Schäfer - Fixed conflict in integration build tests pkgconf-pkg-config conflicts with pkg-config on TW
* Tue Aug 20 2019 Marcus Schäfer - Bump version: 9.18.11 → 9.18.12
* Mon Aug 19 2019 Marcus Schäfer - Added MicroOS integration test The future technologies team is implementing a coreOS derivate based on btrfs and some overlay technology. For supporting them some changes were required in kiwi and thus we should add an integration test build which makes use of this features.
* Mon Aug 19 2019 Marcus Schäfer - Add required cryptomount coding for EFI boot For non EFI boot grub2-install has code which gets activated through the GRUB_ENABLE_CRYPTODISK setting. However for the EFI boot case no installation of boot code is needed and therefore the grub earlyboot script has to run cryptomount
* Mon Aug 19 2019 Marcus Schäfer - Add /mnt to list of protected paths On recursive removal make sure /mnt belong to the protected elements. This Fixes #1170
* Mon Aug 19 2019 Marcus Schäfer - Added full encrypted image build test
* Fri Aug 16 2019 Marcus Schäfer - Extended LUKS encryption support We supported luks encrypted images with the exception of the boot partition because grub was not able to read from an encrypted device at that time. Since some time grub is able to read from an encrypted partition and this commit add support for it. With this patch luks encrypted images will no longer create an extra boot partition and the entire system will be encrypted. The opening of the luks container happens on the grub level only once. Customers can still specify to use an unencrypted extra boot partition with the bootpartition=\"true\" flag. In this case the opening of the luks containers happens on the systemd level as before. This is related to Issue #1162
* Thu Aug 15 2019 Stefan Seyfried - remove \'-z\' option from rsync local copy calls rsync\'s \"compress\" option just does not make any sense when rsync is used to copy files locally, it only increases CPU usage and slows down the process ;-)
* Wed Aug 14 2019 Marcus Schäfer - Delete SuSEfirewall2 from test builds The package seems to be no longer present on suse
* Wed Aug 14 2019 Marcus Schäfer - Bump version: 9.18.10 → 9.18.11
* Mon Aug 12 2019 Marcus Schäfer - Allow dracut initrd to be used with pxe type The pxe image type builds a simple filesystem image plus a custom initrd. That initrd is usually build from the kiwi netboot image descriptions which implements a workflow to fetch the filesystem image and deploy it as rootfs for a pxe client. User who wants to implement their own handling of the rootfs image in e.g a custom dracut module were not able to build this image type because we did not allow the initrd_system attribute for the pxe type
* Mon Aug 12 2019 Marcus Schäfer - Use message variable for long message text
* Mon Aug 12 2019 Marcus Schäfer - Fixed handling of bool values in initrd code Some values evaluated in the initrd code are created in the kiwi builder and passed in as a profile file. bool values created by kiwi for use in shell scripts takes the string \'true\' or \'false\' or are not set at all if not specified in the kiwi XML description. Some code paths in the initrd code uses the \'-n\' switch to check for bool values, however if the string \'false\' is passed \'-n\' will do the wrong thing. Therefore a method for the initrd code has been introduced to clearly handle bool values
* Mon Aug 05 2019 David Cassany - Bump version: 9.18.9 → 9.18.10
* Fri Aug 02 2019 David Cassany - Align setup.py with the correct license
* Fri Aug 02 2019 Marcus Schäfer - Pass components to debootstrap call If repo components are specified the collective list of component names should be passed to the debootstrap call. This Fixes #1157
* Thu Aug 01 2019 Marcus Schäfer - Update image name for s390 oem integration test Align image name to the schema we use for all other integration tests
* Thu Aug 01 2019 Marcus Schäfer - Fixed zipl bootloader setup targetgeometry not allowed for targettype SCSI
* Fri Jul 26 2019 Marcus Schäfer - Bump version: 9.18.8 → 9.18.9
* Fri Jul 26 2019 Marcus Schäfer - Fixed left over import of six module The use of the six compat module was needed to support py2 With the drop of py2 support all of six was no longer needed. However this one was overlooked.
* Fri Jul 26 2019 Daniel Molkentin - 99-kiwi-lib requires rmdir, install it Fixes bsc#1143033
* Thu Jul 25 2019 Marcus Schäfer - Bump version: 9.18.7 → 9.18.8
* Wed Jul 24 2019 Marcus Schäfer - Added multiconsole setup to Fedora build test
* Tue Jul 23 2019 Marcus Schäfer - Allow multiple values for grub terminal setup With regards to the grub documentation from https://www.gnu.org/software/grub/manual/grub/grub.html#terminal_005finput multiple terminal consoles can be active. This patch allows to specify terminal collection between serial, console and gfxterm This Fixes #1123
* Tue Jul 23 2019 Marcus Schäfer - Bump version: 9.18.6 → 9.18.7
* Mon Jul 22 2019 Marcus Schäfer - Fixed use of Command calls in destructors The Command class creates namedtuple to store the result of the call. That tuple is created inside of the Command namespace. If called inside of a __del__ destructor which is often the case in kiwi classes I recently observed an exception from python saying: File \"/usr/lib64/python3.6/collections/__init__.py\", line 429, in namedtuple File \"\", line 1, in ModuleNotFoundError: import of builtins halted; None in sys.modules I do not understand why this is a problem for python now and only found the solution in making the command_type variable a global namedtuple.
* Mon Jul 22 2019 Marcus Schäfer - Bump version: 9.18.5 → 9.18.6
* Sat Jul 20 2019 Neal Gompa - Fix the pyxattr dependency to allow kiwi to function Most Linux distributions offer the pyxattr module, including openSUSE Tumbleweed. Going forward, we will use the pyxattr module by default as a dependency and only switch back to the other xattr module when on older SUSE Linux distributions that lack the pyxattr module. Note that because kiwi uses setuptools to create the CLI entry points, kiwi checks the Python dependencies before executing, so we change the dependency in the setup.py accordingly so that it will not fail to start.
* Fri Jul 19 2019 Marcus Schäfer - Bump version: 9.18.4 → 9.18.5
* Fri Jul 19 2019 Marcus Schäfer - Update spec file requirements for xattr On suse systems the python-xattr module is used. On any other distribution the python-pyxattr module is used. This commit modifies the spec file to reflect the Requires tag appropriately. On CentOS there is currently no pyxattr build available. Thus we provide that package for this target in the KIWI Staging area at Virtualization:Appliances:Staging. There is an ongoing effort to bring pyxattr to EPEL which would make it available on CentOS and would obsolete the custom build we did.
* Fri Jul 19 2019 Marcus Schäfer - Bump version: 9.18.3 → 9.18.4
* Fri Jul 19 2019 Marcus Schäfer - Update PXE integration test Move to multibuild, build one standard(uncompressed) filesystem image and one compressed version. In any case we expect only one compression process either on the filesystem file or on the archive creation. This is related to Issue #1039
* Fri Jul 19 2019 David Cassany - Do not recompress PXE image if compressed flag is true This commit is two fold:
* Refactor PXE builder to make use of the ArchiveTar instead of directly calling tar command.
* Do not compress PXE tarball if the contained image is already compressed according the type\'s compressed attribute. Related to #1039
* Fri Jul 19 2019 Marcus Schäfer - Fixed use of FileSystemBuilder class This was a broken coding for the construction of a FileSystemBuilder instance in the PxeBuilder implementation. The unit testing did not fail due to mocking code. Integration testing however showed it immediately
* Thu Jul 18 2019 Marcus Schäfer - Added support for fscreateoptions attribute Along with the fsmountoptions attribute there is now also the fscreateoptions attribute which allows to control the options used for creating the filesystem. Please note, it\'s not kiwi\'s task to validate that the given option string is supported by the selected filesystem. This means providing wrong values here will cause the build to fail at the time the filesystem gets created. This Fixes #1109
* Wed Jul 17 2019 David Cassany - Do not compress the install tarball archive Most of the components of the
*.install.tar.xz file of a PXE install image are already compressed, thus it doesn\'t make much sense to recompress them again. Fixes #1032
* Tue Jul 16 2019 Dan Čermák - virtual_size must be an integer in metadata.json for libvirt vagrant boxes vagrant-libvirt expects that the parameter virtual_size from metadata.json is an integer and not a string. Supplying a string results in a backtrace when the user provides a different value for libvirt.machine_virtual_size (as the integer is then compared to string).
* Tue Jul 16 2019 Marcus Schäfer - Bump version: 9.18.2 → 9.18.3
* Mon Jul 15 2019 Marcus Schäfer - Fixed ISO creation in EFI mode with cdrtools The changes introduced in #1113 will use the configured bootloader e.g grub to boot the ISO image in BIOS and EFI mode. The creation process works flawlessly if xorriso is used. However if cdrtools are configured the options passed to e.g mkisofs were wrong. In addition it\'s not possible to create a hybrid ISO based on isohybrid if the loader is not isolinux. If cdrtools are in use the process to make an ISO hybrid bootable is always based on isohybrid and thus only works with isolinux. This patch also covers this case with a warning message and the consequence that we have to skip the hybrid setup in this case.
* Mon Jul 15 2019 Marcus Schäfer - Fixed setup of bootloader files The BootLoaderConfig class interface writes several files e.g etc/sysconfig/bootloader, boot/grub2/grub.cfg and more. Depending on the image type some of those files belongs into the root directory and some belongs into the boot directory. For standard images both locations points to the same master root entry point. However for special types like live systems the root tree and the boot tree are different targets. For example live root filesystems are a squashfs compressed image file whereas the plain booting information lives outside. Because of that this patch introduces a refactoring of the BootLoaderConfig class to allow to distinguish between root_dir and boot_dir paths. In addition the live image builder makes use of the new concept and thus Fixes #1112
* Fri Jul 12 2019 David Cassany - Do not create a new machine-id file This commit ensures KIWI is not creating a new machine-id empty file in case it was not provided during the system installation. Fixes bsc#1141168
* Fri Jul 12 2019 Marcus Schäfer - Bump version: 9.18.1 → 9.18.2
* Fri Jul 12 2019 Marcus Schäfer - Update documentation references The kiwi project has been moved into its own upstream organisation named OSInside. Due to the move some doc and README references needs to be adapted
* Fri Jul 12 2019 Marcus Schäfer - Bump version: 9.18.0 → 9.18.1
* Thu Jul 11 2019 Marcus Schäfer - Fixed spec for use with Recommends The Recommends tag is not known by CentOS/RHEL < v8
* Thu Jul 11 2019 Marcus Schäfer - Bump version: 9.17.42 → 9.18.0
* Wed Jul 10 2019 Marcus Schäfer - Update documentation The kiwi-descriptions repository has been moved into the OSInside organisation
* Wed Jul 10 2019 Marcus Schäfer - drop py2 variant of kiwi from completion
* Wed Jul 10 2019 Neal Gompa - Simplify packaging and re-add support for building for CentOS 7
* Tue Jul 09 2019 Dan Čermák - Don\'t add config.vm.base_mac to libvirt vagrant boxes - Refactor VagrantConfigTemplate to no longer require a base_mac by default - Move _random_mac() to Virtualbox subclass - Include config.vm.base_mac in Virtualbox boxes via get_additional_vagrant_config_settings() This fixes #1119
* Mon Jul 08 2019 Marcus Schäfer - Bump version: 9.17.41 → 9.17.42
* Mon Jul 08 2019 Marcus Schäfer - Fixed get_persistent_device_from_unix_node The method get_persistent_device_from_unix_node takes a device path and looks up it\'s basename to be present as persistent variant below the given schema, e.g by-id. However if the method receives an already persistent device path e.g from /dev/mapper the persistent schema representation will only match a numbered dm-N device and not the map name. The method then returns nothing but should return the original device path. This caused bad after effects like reported in Issue SUSE-Enceladus/azure-li-services#163
* Sun Jul 07 2019 Marcus Schäfer - Drop support for python2 Python2 is announced to be unmaintained from Jan 2020. KIWI supports Python 2.7 and it should not support any python version that is not maintained upstream. This Fixes #1036
* Fri Jul 05 2019 Dan Čermák - [doc] Add user documentation about the usage of the embedded Vagrantfile - Document the usage of the `vagrantconfig.embedded_vagrantfile` attribute - Remove the suggestion to generate the ssh keys during image creation (this results in
*
*all
*
* boxes having the same ssh host keys, which is pretty dangerous if someone would use a vagrant box in a production environment.) - Stop recommending veewee, this project is dead - Replace forgotten hard coded number with {schema_version}
* Thu Jul 04 2019 Dan Čermák - Fix test breakage when /etc/kiwi.yml is present The unit test for the RuntimeConfig class are also testing the default values in some functions. To work around a possibly existing ~/.config/kiwi/config.yml, several functions change the value of HOME. This is unfortunately not sufficient if a /etc/kiwi.yml exists, as that one is taken as a fallback
*if
* ~/.config/kiwi/config.yml isn\'t present. This issue is fixed by creating a default_runtime_config with os.path.exists patched to return False. Thereby none of the runtime configuration files will be taken into account.
* Thu Jul 04 2019 Dan Čermák - Add embedded_vagrantfile attribute to vagrantconfig This element allows the user to specify a relative path to an alternative Vagrantfile that will be embedded inside the finished Vagrant box. - update XML schema - add additional logic to DiskFormatVagrantBase.create_image_format - add unit test for the custom Vagrantfile - fix other vagrant unit tests
* Thu Jul 04 2019 Marcus Schäfer - Bump version: 9.17.40 → 9.17.41
* Wed Jul 03 2019 Marcus Schäfer - Update Boot From Hard Disk method Instead of searching for an efi binary to boot, use the exit method that exits from grub and let the firmware choose the next entry in the device list
* Wed Jul 03 2019 Vladimir Nadvornik - Do not crash on missing HOME
* Tue Jul 02 2019 Marcus Schäfer - Added live ISO integration tests for arm
* Tue Jul 02 2019 Marcus Schäfer - Consolidate syslinux file names and search paths Handle those file names and search path in the Defaults space and only once in the code
* Tue Jul 02 2019 Guillaume GARDET - Remove \'^\' which break BaseStripFirmware function (boo#1132455)
* Mon Jul 01 2019 David Cassany - Do not supress output for dracut call This commit adds a stderr_to_stdout option to Command.run method to redirect stderr to stdout. Additionally this commit also includes to the debug log the dracut call output, including both, stderr and stdout. Fixes #1114
* Mon Jul 01 2019 Marcus Schäfer - Fixed path_test unit test The code there checked for the message of an exception but recent changes in pytest did not allow to do it that way anymore.
* Mon Jul 01 2019 Marcus Schäfer - Fixed zipl bootloader setup On zipl we manually move the kernel and initrd file to the zipl boot path because symlinks can\'t be read. That move operation used the wrong filenames and was broken since baseCreateCommonKernelFile is only used in the legacy custom kiwi boot images but not in the dracut case.
* Fri Jun 28 2019 David Cassany - Adding support for Pacman package manager This commit adds support for pacman package manager and, in consequence, support for Arch Linux images. It also adds the package definition for Arch Linux.
* Fri Jun 28 2019 Marcus Schäfer - update per review by Tom
* Thu Jun 27 2019 Marcus Schäfer - Fixed spec file requirement list for arm on Fedora The package u-boot-tools is named uboot-tools on Fedora and RHEL
* Thu Jun 27 2019 Marcus Schäfer - Update secure boot fallback code With the concept of shim being an option and not mandatory also the fallback code has to adapt and treat the absence of shim.efi as not fatal. In this situation we expect the found grub.efi binary to be correctly signed which we can only assume but not prove
* Thu Jun 27 2019 Marcus Schäfer - Make signed grub search path more generic
* Wed Jun 26 2019 Marcus Schäfer - Update distribution support information Update the documentation with regards to our supported distribution statement. This Fixes #1108
* Wed Jun 26 2019 Marcus Schäfer - Update signed grub.efi search path list On arm there is no shim package that provides a signed grub loader for secure boot. Instead the grub package(s) provides the signed loader under yet another location in the system. This commit adds the new search path
* Wed Jun 26 2019 Marcus Schäfer - Refactor ISO boot, use grub in EFI mode Before this commit isolinux was used to boot an ISO and thus forms a hard requirement. isolinux however only exists for the x86 platform. This limitation did not allow to create ISO images for other platforms. With this commit a refactoring of the ISO boot setup is introduced.
* isolinux is only used if the bios firmware is requested and the platform matches the x86 architecture. A runtime check will check for this condition and exits early if not applicable
* in case of the EFI firmware we already used grub in EFI mode but still had isolinux in place for the legacy/CSM boot. That part is now also replaced by a platform specific grub eltorito image and grub\'s boot_hybrid.img for hybrid boot. On platforms that do not provide those modules the support for it will be skipped With this change in place it\'s possible to control the ISO boot layout through the firmware setup and all platform specific modules are handled as such. Therefore we also deleted the syslinux requirement. This Fixes #1092
* Tue Jun 25 2019 David Cassany - Fix memory leak in OCI contianer tests This commit fixes a memory leak in container_image_oci_test caused by partially mocking a file opening. A ContainerImageOci instance tries to open and read two files: the runtime configuration, if present, and the `/.buildenv`, if present. In order to test the `/.buildenv` presence file opening is mocked causing the runtime configuration reading fall in an inifite loop. This commit mocks the the RuntimeConfig instances to avoid this issue. Fixes #1110
* Mon Jun 17 2019 Marcus Schäfer - Stabilize Gitlab rpm stage The rpm stage in the gitlab CI pipeline runs against a collection of mirror services. If those mirrors are not available the test fails. Such failed tests are cumbersome because they don\'t indicate an error condition we can/should fix. The openSUSE TW mirrors showed to be unreachable more often than others which might be because that target changes their content relatively often. This patch changes the test strategy to allow the TW rpm test to fail but still keep the other rpm targets mandatory as they don\'t show the connection problems.
* Fri Jun 14 2019 Marcus Schäfer - Provider better error message in prepare phase In case of an error the real valuable information is often somewhere in the package manager output that does not get exposed to the users console by default. The error message we provide should tell users how they can get further details such that they know how to find the real cause of the problem. This patch enhances the error message in that regard.
* Tue Jun 11 2019 David Cassany - Make kiwi installable in a venv This commit sets the buildroot to the venv `sys.prefix`. This way all the binaries are installed in a path under the venv. Fixes #1022
* Fri Jun 07 2019 Marcus Schäfer - Bump version: 9.17.39 → 9.17.40
* Wed Jun 05 2019 Marcus Schäfer - Decrease the default min partition size The default 50M as min size for a partition could be set to a smaller value. For now 10MB seems to be enough for the overhead calculation and leads to more accurate results on the specified size constraints
* Mon May 27 2019 Marcus Schäfer - Update documentation for consistency Instead of hard coded names for example images and their versions a prolog map including placeholders has been added.
* Fri May 24 2019 Marcus Schäfer - Bump version: 9.17.38 → 9.17.39
* Thu May 23 2019 Marcus Schäfer - Update obs docs per review by Tom
* Wed May 22 2019 David Cassany - Disable check-valid-until with repository_gpgcheck This commit is two fold:
* From one side fixes a wrong use of the `trusted` option for apt repositories. `trusted=no` does not force to run the gpg checks it just forces the repository to be considered untrusted regardless the result of the security checks.
* From the other side it disables the option `check-valid-until` in case gpg checks are disabled using the `repository_gpgcheck`. It works at repository level. This enables using unmaintained or expired repositories for the build. Fixes #1028
* Fri May 17 2019 Thomas Schraitle - Simplify shell pipe expression with shell builtin Replace \"echo $var | sed ...\" expression with ${var//SEARCH/REPLACE} shell builtin as suggested by Codacy
* Thu May 16 2019 Marcus Schäfer - Fixed runtime checker message The output of check_image_include_repos_publicly_resolvable was not well formatted and was also using an object address that is not useful for users
* Wed May 15 2019 Marcus Schäfer - Make mediacheck runtime check arch independent The check_mediacheck_only_for_x86_arch runtime check fails on non x86 architectures but the tagmedia toolchain exists independent of the platform architecture. This Fixes #1091
* Tue May 14 2019 Marcus Schäfer - Set home as protected path Along with adding home to the protection list, cleanup the prepare instance cleanup code in a way that it only runs if a root_bind object exists which needs to call its cleanup path
* Mon May 13 2019 Dan Čermák - Extend docs about building multiple profiles on OBS
* Fri May 10 2019 Dan Čermák - Remove FIXME from the runtime configuration file example
* Thu May 09 2019 Dan Čermák - Improve the documentation about building in the Build Service Co-Authored-By: Thomas Schraitle
* Thu May 09 2019 Dan Čermák - Turn sphinx warnings into errors Modify the sphinx Makefile to treat warnings like undefined references as errors
* Wed May 08 2019 Alberto Planas - kiwi-live-lib: mount live ISO as read-only During the boot process of a live image, dracut shows this WARNING: dracut-initqueue: mount: /run/initramfs/live: WARNING: device write-protected, mounted read-only This is not a problem, as the live ISO image is, indeed, read-only. This patch fix this cosmetic issue being explicit in the mount options in `mountIso` function.
* Tue May 07 2019 Marcus Schäfer - Call isolinux-config only on supported archs
* Mon May 06 2019 David Cassany - Discard default dependencies for sysroot.mount This commit makes default dependencies from sysroot.mount to be explicitly omitted. This fixes potential inconsistencies in ordering pre-mount.service with local-fs.target. This change is also applied to upstream sysroot.mount generator here: https://github.com/systemd/systemd/pull/12281 Fixes #1015
* Fri May 03 2019 David Cassany - Fix locale setting For pre-Leap 15 openSUSE versions KIWI >= 9.12.0 was not completely setting locale, as it was missingto set the RC_LANG variable from `/etc/sysconfig/language` file. Current commit enforces to update locale in `/etc/sysconfig/language` (if the file exists) at the same time it applies systemd-firstboot configurations. Fixes #1081
* Thu May 02 2019 Dan Čermák - Cleanup TODO & FIXME from xml_description.rst
* Fri Apr 26 2019 Dan Čermák - Add GitLab CI pipeline badge to README.rst
* Fri Apr 26 2019 Dan Čermák - Extend the development documentation Co-Authored-By: Thomas Schraitle
* Fri Apr 26 2019 Dan Čermák - Log thrown exceptions in Compress.get_format()
* Fri Apr 26 2019 Dan Čermák - Fix documentation of Compress.get_format()
* Fri Apr 26 2019 Dan Čermák - log exception in SystemPrepare.__del__
* Fri Apr 26 2019 Dan Čermák - Use yaml.safe_load instead of yaml.load yaml.load is relatively dangerous when the loaded data comes from untrusted sources, as it can allow for arbitrary code execution, see: https://pyyaml.org/wiki/PyYAMLDocumentation#LoadingYAML safe_load limits the created python objects to the basic Python types like integers and strings, which is all that we need for the runtime configuration file.
* Thu Apr 25 2019 Marcus Schäfer - Fixing doc source for broken refs and xml syntax
* Wed Apr 24 2019 Dan Čermák - Document the usage of profiles via the CLI and OBS
* Wed Apr 24 2019 Tom Schraitle - Apply suggestions from AATTtomschr Co-Authored-By: dcermak <45594031+dcermakAATTusers.noreply.github.com>
* Wed Apr 24 2019 Dan Čermák - Improve the documentation of the runtime configuration file Co-Authored-By: Thomas Schraitle
* Wed Apr 24 2019 Tom Schraitle - Apply suggestions from AATTtomschr Co-Authored-By: dcermak <45594031+dcermakAATTusers.noreply.github.com>
* Wed Apr 24 2019 Dan Čermák - Extend the documentation of Custom Disk Volumes
* Wed Apr 24 2019 Dan Čermák - Add documentation of the XML schema in a tutorial like fashion Co-Authored-By: Thomas Schraitle
* Wed Apr 24 2019 Dan Čermák - Add documentation how to configure VMX build types
* Tue Apr 23 2019 Dan Čermák - Cleanup warnings in utils/size.py - use a raw string for the regexp search string - improve the readability of the returned value
* Tue Apr 23 2019 Dan Čermák - Make the user.password attribute mandatory Not providing a user password results in an error when usermod or openssl is later called by kiwi (depending on the value of `pwdformat`). This fixes #1061.
* Tue Apr 23 2019 Marcus Schäfer - Fixed repo setup for cloud integration test builds Using the devel:languages:python repos leads to inconsistencies on the module dependencies
* Mon Apr 22 2019 Marcus Schäfer - Bump version: 9.17.37 → 9.17.38
* Mon Apr 22 2019 Marcus Schäfer - Delete obsolete repository types Deleted red-carpet, slack-site, up2date-mirrors, urpmi and yast2 from the allowed values list of the repository type attribute. This Fixes #1029
* Mon Apr 22 2019 Marcus Schäfer - Fixed build_in_buildservice stale references Fixed style issues reported on sphinx build. Also deleted pointers to non existing references
* Mon Apr 22 2019 Marcus Schäfer - Delete suseRemovePackagesMarkedForDeletion Any package removal is controlled by kiwi itself. There is no need to provide a shell helper method that is rpm specific. This Fixes #1054
* Thu Apr 18 2019 Dirk Mueller - Preserve licenses/other txt files by baseStripFirmware (bsc#1132455) (Fixes #1063) LICENSES are usually not large and should be kept alongside of the binaries. Also some firmware files sideload additional txt files (like for example brcmfmac43430 needs the sdio description txt files). We should just always include them because they\'re not listed as needed files. Co-Authored-By: Dan Čermák
* Tue Apr 16 2019 Dan Čermák - Split overview/workflow.rst into multiple files Co-Authored-By: Thomas Schraitle
* Tue Apr 16 2019 Tom Schraitle - Update doc/source/building/build_in_buildservice.rst Co-Authored-By: dcermak <45594031+dcermakAATTusers.noreply.github.com>
* Mon Apr 15 2019 Dan Čermák - Rework documentation about building on OBS
* Mon Apr 15 2019 Marcus Schäfer - Added integration test guest image for OpenStack
* Sun Apr 14 2019 Marcus Schäfer - Update suse integration tests per Factory changes The way plymouth themes are provided has changed on suse. The package plymouth-branding-openSUSE is no longer providing the theme named openSUSE. In fact the plan is to switch to the upstream bgrt theme which is provided in another package. This commit adapts to the changes in the distribution
* Thu Apr 11 2019 Dan Čermák - Bump copyright year in the docs
* Thu Apr 11 2019 Dan Čermák - Fix spelling in kiwi.rnc
* Thu Apr 11 2019 Marcus Schäfer - Bump version: 9.17.36 → 9.17.37
* Wed Apr 10 2019 Marcus Schäfer - Fix rpm metadata creation There are rpm versions that require access to /dev and fail with the error message \'Failed to initialize NSS library\' For details see: https://bugs.centos.org/view.php?id=14767 Due to the rpm location checkup fix from Issue #1037 this change impacts builds for distributions that uses an rpm version with the above behavior (e.g CentOS) and fails as consequence of the rpm call error. This commit fixes this in a way that we make sure the host /dev is available at the time of the call.
* Wed Apr 10 2019 Marcus Schäfer - Bump version: 9.17.35 → 9.17.36
* Wed Apr 10 2019 David Cassany - Fix xml syntax on documentation example
* Wed Apr 10 2019 David Cassany - Add custom curl options docs
* Tue Apr 09 2019 Marcus Schäfer - Refactor handling of runtime tests check dict Consolidate check list into CliTask base class such that we can avoid duplication of runtime check dicts. Only runtime tests that require stateful information according to the commandline call are handled directly in the task code
* Tue Apr 09 2019 Marcus Schäfer - Delete check_grub_efi_installed_for_efi_firmware The motivation is nice to check if the required grub module package is part of the package list if the efi firmware is requested, but as long as there is no distribution wide standard for packaging grub this check will cause more trouble than it is of help. Currently it failed for the arm architecture and the grub2-arm64-efi package. We decided to prevent checking against static lists and dropped this runtime check. Missing grub modules will be recognized at the grub stage when we search for them.
* Tue Apr 09 2019 David Cassany - Adding custom curl options for dracut-kiwi-lib module This commit parses the `rd.kiwi.install.pxe.curl_options` argument from the kernel command line to read and use curl options for the `fetch_file` function of `kiwi-net-lib.sh` utility. Options are passed as comma separated values. Fixes #891
* Mon Apr 08 2019 David Cassany - Update bootstrap macro management This commit extends the bootstrap macro management to also consider the case where image was already bootstrap. Note this is a common case for building derived container images and also the situation when `--allow-existing-root` flag is in use.
* Fri Apr 05 2019 Marcus Schäfer - Auto upgrade all image descriptions to v7.0 schema
* Fri Apr 05 2019 Marcus Schäfer - Deleted pxedeploy section There is no further demand in the client config creation for the legacy netboot code. Customers using the netboot initrd already create the client config. file manually or through another system. With the next generation kiwi we also recommend the disk based network deployment using the dracut capabilities and marked the netboot code as still supported but on the legacy stream. Along with the deletion in the schema the following changes were also done:
* Deleted use of pxedeploy section in implementation
* Increase schema version to v7.0
* Update documentation on schema version update
* Added xsl stylesheet conversion from v6.9 to v7.0 Automatic schema version upgrade from v6.9 to v7.0 deletes the pxedeploy section from any type specification This Fixes #19
* Thu Apr 04 2019 David Cassany - Fix filesystem labels If multiple volumes were defined they were not properly labeled. This commit fixes a miss use of custom_args dictonary by the filesystem base class. This class was modifying the given custom_args that is passed by reference, thus modifiyng the custom_args instance of the caller. This issue was causing to propagate the modified create_options of a filesystem across all the volumes, causing all volumes to be labelled as ROOT. With this commit Filesystem class performs a deepcopy of the custom_args dictionary to limit the scope of any change inside each Filesystem instance. Fixes #1044
* Thu Apr 04 2019 David Cassany - Bump version: 9.17.34 → 9.17.35
* Wed Apr 03 2019 David Cassany - Fix regression on kiwi-repart dracut module There was a regression introduced in #1035 (048b5c3e). We mask systemd-fsck-root.service during the repart, but we are not always unmasking it. If the repart is not possible the service is masked but not unmasked, which causes the boot to fail. With this commit after masking the fsck service we trap EXIT and run the unmask command on script exit. This way we ensure the unmask command is always executed.
* Tue Apr 02 2019 Marcus Schäfer - Doc fix for lex literal_block as xml
* Mon Apr 01 2019 Marcus Schäfer - Update compression flag for qcow2 format In case of a qcow2 format we store the result uncompressed Since the format conversion only takes the real bytes into account such that the sparseness of the raw disk will not result in the output format and can be taken one by one This Fixes bsc#1128146 In addition the commit includes a refactoring for the evaluation of the compress flag in the runtime config. Instead of the global overwrite, the flag gets evaluated individually at the time the result metadata is created
* Mon Apr 01 2019 David Cassany - Add the possibility to disable runtime checks This commit adds runtime configuration parameters to disable the runtime checks. This is specially handy if someone does not want to use the kiwi dracut modules and provide custom ones instead. In orde disable some runtime check consider a runtime config yaml like: runtime_checks: - disable: - check_dracut_module_for_oem_install_in_package_list - check_dracut_module_for_live_iso_in_package_list This commit fixes #893
* Mon Apr 01 2019 Marcus Schäfer - Fixup has_rpm method from RpmDataBase class The method checked for the presence of /usr/bin/rpm. But that binary is also provided by another toolkit named busybox. Thus to check if the rpm we are aiming for is present the check has been modified to look for /usr/bin/rpmdb which is exclusively provided by rpm only. This Fixes #1037
* Sun Mar 31 2019 Marcus Schäfer - Fixed creation of image metadata files At the end of a build process the metadata information files .packages and .verified are created. On rpm based systems, rpm is invoked as chrooted operation inside the new root tree. For images that gets installed exclusively from the bootstrap phase there is no rpm inside of the image and the call fails. The result are empty metadata files. This patch prevents calling rpm inside of the image root tree if it\'s not installed and also uses the RpmDataBase interface instead of directly calling rpm. This Fixes #1037
* Fri Mar 29 2019 Marcus Schäfer - Bump version: 9.17.33 → 9.17.34
* Fri Mar 29 2019 Stefan Seyfried - kiwi-repart: avoid race between repart and fsck See issue #1034, this fixes non-booting CentOS-7 OEM images that fail during repartition / FS resize. Summary: all parted actions trigger a rescan of partition tables and this repeatedly starts / stops systemd-fsck-root.service until it finally fails. The workaround is to mask systemd-fsck-root.service during repartitioning / FS resize.
* Fri Mar 29 2019 Marcus Schäfer - Update travis doc building target Disable doc test on travis, we have this in the gitlab-ci pipeline.
* Fri Mar 29 2019 Marcus Schäfer - Move sphinx config to python3 Disable modules that have not been ported to sphinx 2.0 API
* Fri Mar 29 2019 Marcus Schäfer - Disable linkcheck/spellcheck The spellcheck plugin has not been moved to the sphinx 2.0 API and there are tons of spelling mistakes reported due to the use of technical terms that are unknown to spellcheck. Also disabled the linkcheck because it just stands more in our way than it reports issues that needs to be fixed.
* Thu Mar 28 2019 Marcus Schäfer - Bump version: 9.17.32 → 9.17.33
* Thu Mar 28 2019 Marcus Schäfer - Added integration test for bootstrap only builds
* Thu Mar 28 2019 Marcus Schäfer - Fixed bootstrap only building Image descriptions that define packages in the bootstrap section only don\'t need a package manager inside of the image. However the code to update the location of the rpm database did not check the presence of rpm and failed on such image descriptions. This Fixes #1030
* Tue Mar 26 2019 Dan Čermák - Extend live ISO documentation
* Tue Mar 26 2019 Alberto Planas - Replace AATTstaticmethod with AATTclassmethod when needed AATTclassmethod are used in Python to represent methods that can query and update the class (cls parameter). Is expected to be used for metaprograming, or advanced techniques that require the access to the class itself, before we have an instance. AATTstaticmethod are used to associate a function to a class. It will not be have access to the instance (self) not the class (cls). In other programming languages are known as class methods. This patch replace all the AATTclassmethod with AATTstaticmethod when there is not need to access to the cls parameter, because the intention is to be used as normal functions.
* Mon Mar 25 2019 Dan Čermák - Minor improvements to the documentation - add a newline to the workflow\'s abstract - add warning to installation via the distro\'s package manager - fix package name of git - add marker for `Installation from OBS` section
* Mon Mar 25 2019 Dan Čermák - Add intersphinx extension to the docs
* Mon Mar 25 2019 Dan Čermák - New method: Path.access - thin wrapper arround os.access This function calls os.access, but first checks whether the input parameters are sane, instead of simply returning false when the file in question does not exist or an invalid mode was specified.
* Mon Mar 25 2019 Marcus Schäfer - Added doc chapter on Fstab modifications
* Fri Mar 22 2019 Dan Čermák - Split code_style_plus_unit_test into two jobs for parallel runs
* Fri Mar 22 2019 Dan Čermák - Addapt documentation to changed script calling convention
* Fri Mar 22 2019 Dan Čermák - Only execute scripts via bash when they are not user executable Currently we call scripts directly through bash, which has the unfortunate disadvantage, that the shebang line is completely ignored. Now we instead check whether the owner of the script is allowed to execute it and if yes, we let the OS execute it (which takes the shebang into account) or otherwise call it through bash.
* Fri Mar 22 2019 Marcus Schäfer - Support optional fstab.patch file In addition to the support for fstab.append, users can now also provide a patch file to change the contents of the fstab file as it got written by kiwi. The feature is probably rarely used but needed in the area of suse\'s transactional update mechanism. This Fixes bsc#1129566 and Fixes #945
* Thu Mar 21 2019 Dan Čermák - Add warning about a missing /vagrant/ folder to the documentation
* Thu Mar 21 2019 Dan Čermák - Fix libvirt vagrant box Vagrantfile to use rsync by default The documentation is suggesting that rsync is used by default to synchronize the shared folders, yet the libvirt vagrant boxes used the system default (=nfs).
* Tue Mar 19 2019 Marcus Schäfer - Bump version: 9.17.31 → 9.17.32
* Tue Mar 19 2019 Stefan Seyfried - relax the live iso root dir permissions The root of the live ISO has permissions 0700, which is inconvenient if you mount it to explore its contents. Relax to 0755 instead. Without this, the mounted ISO FS can only be accessed by root.
* Mon Mar 18 2019 Marcus Schäfer - Fixed race condition on live overlay mount Make sure to wait for all targets of the overlay mount This Fixes #1015
* Sun Mar 17 2019 Marcus Schäfer - Bump version: 9.17.30 → 9.17.31
* Fri Mar 15 2019 Marcus Schäfer - Update the documentation regarding vagrant boxes Extend the documentation on how to build VirtualBox vagrant boxes All this was done by Dan Čermák
* Fri Mar 15 2019 Marcus Schäfer - Refactor incremental changelog update The creation of the package changelog is based on a reference file. However that reference file contained log information in a specific timezone which requires to hardcode the region of that timezone in the code to correctly run date/time calculations. This can be done better from a conceptual point of view. This patch changes the handling in a way that the reference file is a git log excerpt including the dates as git log lists them. The dates contains complete numeric time/date/zone information and can be used for calculations. The changelog helper tool converts the result data to match the requirements of rpm changelog files and prints the time/date information localized to the callers timezone or as UTC if the --utc switch is given. By default the user local timezone settings applies. That way the setup of the local timezone is immaterial to the changelog processor and the workaround in the gitlab-ci rpm stage can be deleted too.
* Fri Mar 15 2019 David Cassany - Add buildah tool support for OCI and Docker types This commit adds buildah tool support for OCI and Docker types. It requires buildah and skopeo to be installed in the host. The use of umoci (kept as default choice) or buildah is configured using the runtime configuration file; consider the following structure: ``` oci: - archive_tool: buildah ```
* Fri Mar 15 2019 David Cassany - Fix derived docker images build This commit fixes the derived docker images when the base image is a compressed file. After the refactor in #998 the decompression of the base image and the skopeo call to import the decompressed image happened in absolutely independent scopes. NamedTemporaryFile python class by default deletes the created temporary file when the class instance is destroyed, this class is used to decompress the base image. Because of isolated scopes at the time skopeo was called the NamedTemporaryFile instance was not there anymore. This commit makes sure that the temporary file instance is already in memory at the time skopeo is called.
* Fri Mar 15 2019 Marcus Schäfer - Fixed gitlab-ci rpm stage localtime setup By default the timezone of the container is set to UTC. However the reference changelog entries are created in the CET timezone. The current implementation uses dateutil.parser.parse to parse the reference date/time. That call takes the localtime into account and responds with a warning: + UnknownTimezoneWarning: tzname CET identified but not understood The current code does not convert the CET timezone into the localtime timezone (UTC in this case) and creates a timezone naive datetime object. That object however can\'t be used to compare with timezone aware datetime objects which causes a runtime exception. The qick fix here is to set the localtime to the timezone used in the reference changes file
* Thu Mar 14 2019 Marcus Schäfer - Limit scope of virtualbox_guest_additions_present This attribute is only used with the virtualbox provider. Added a schematron rule to limit the scope to the virtualbox provider only. This Fixes #1003
* Thu Mar 14 2019 Marcus Schäfer - Bump version: 9.17.29 → 9.17.30
* Thu Mar 14 2019 Marcus Schäfer - Add consistency check to update_changelog Don\'t take commits into account that are older than the given reference commit. This would destroy the chronological order. Missing commits older than the reference can be incorporated by rebuild_changelog_reference.sh
* Thu Mar 14 2019 Marcus Schäfer - Fixed reading of container config The additional_tags attribute is optional. If not set the container config hash does not contain this key. Accessing the key without the get() method leads to an unhandled python exception
* Wed Mar 13 2019 Stefan Seyfried - add rd.kiwi.oem.maxdisk= boot parameter this limits the disks considered for oem deployment to a given size
* Wed Mar 13 2019 Marcus Schäfer - Abandon the bumpversion helper The bumpversion helper script updated the reference file with changes since the latest date of the existing reference. However even though the two pieces are in chronological order that does not mean that the concatenated version of those is still in chronological order. Thus that helper is deleted and a new helper rebuild_changelog_reference exists. That rebuilds the entire reference file from the history and makes sure it is in chronological order. The tool should only be called if the chronological order of the total changes information is violated which under normal conditions does not happen
* Wed Mar 13 2019 Marcus Schäfer - Allow --since|--until opts in update_changelog In addition to create changelog information since the latest date of a reference changelog, also allow to create changelog information until the latest data of a reference changelog
* Wed Mar 13 2019 Marcus Schäfer - Update changelog reference
* Wed Mar 13 2019 Marcus Schäfer - Bump version: 9.17.28 → 9.17.29
* Wed Mar 13 2019 Marcus Schäfer - Update changelog reference
* Wed Mar 13 2019 Marcus Schäfer - Fixed bumpversion helper Make sure the commit for the changelog reference update and the commit for the version bump have different timestamps by sleeping 2sec between the two actions
* Wed Mar 13 2019 Marcus Schäfer - Update API documentation In reference to Refactor OCI images packing the difference between docker and OCI images is just on packing format. Thus the extra docker container subclass is no longer present.
* Wed Mar 13 2019 Marcus Schäfer - Bump version: 9.17.27 → 9.17.28
* Wed Mar 13 2019 Marcus Schäfer - Update changelog reference
* Wed Mar 13 2019 Stefan Seyfried - kiwi-dump-image: fix kiwi_oemdevicefilter for rd.debug
* Wed Mar 13 2019 Marcus Schäfer - Added bumpversion helper Script that also updates the changelog reference file before the version bump. It\'s optional to use this but it would be handy as the commit would show the rpm changelog differences from one tag to the other
* Tue Mar 12 2019 Marcus Schäfer - Fixed code smells on completion_generator Also update python interpreter to use for the completion and the changelog helpers
* Tue Mar 12 2019 Marcus Schäfer - Update gitlab CI config The rpm stage needs python because the changelog script is now written in python
* Tue Mar 12 2019 Neal Gompa - Drop duplicate EPEL7 reference in the test CentOS appliance We already request the standard, update, and extras repos and the EPEL7 repo separately. There\'s no reason to request the \"centos\" EPEL7 repo which combines standard+update and EPEL7 repos already.
* Mon Mar 11 2019 Stefan Seyfried - centos-appliance: reorder repos to fix build EPEL has older package versions of e.g. librepo, which breaks dnf. Re-prioritize to prefer the good CentOS packages instead of bad EPEL.
* Mon Mar 11 2019 Marcus Schäfer - Update changelog file Fix changelog entries for their encoding, author name and format Also make sure commits are shown in reverse chronological order of the author date. We intentionally don\'t use the commit date because a commit can be older than the latest entry in the current reference file and would then not be part of the git log information
* Sun Mar 10 2019 Marcus Schäfer - Introduce better changelog handling The current way of creating the changelog file for the package is based on reading the entire history of the git repository and turns that information into a changelog. The downside of this approach is that any change in the code that creates this changelog information will impact older entries and could cause a conflict on the changes file of the released package. This usually leads to declined package submissions and blocks us in fixing bugs in the changelog generator. This commit changes the process in a way that only changes related to the oldest entry of a reference changelog file compared to the current branch are taken into account. This Fixes #979
* Sun Mar 10 2019 David Cassany - Adding a derived docker image build test
* Sun Mar 10 2019 Marcus Schäfer - Bump version: 9.17.26 → 9.17.27
* Fri Mar 08 2019 Neal Gompa - Use correct GRUB 2 and shim EFI packages for test CentOS 7 appliance CentOS 7 has inherited the changes from Fedora in how its EFI binaries are packaged, so we need to adapt to handle those and build the appliance properly.
* Fri Mar 08 2019 Marcus Schäfer - Fixed evaluation of AATTroot size setup The AATTroot volume setup allows to specify a size for the root volume in an LVM setup. The size setting was not respected and the root volume was always resized to the rest space available. This patch fixes the read_volume_setup_all_free method on the dracut kiwi library to know if there is root volume setup and respect its contents. This Fixes #983
* Fri Mar 08 2019 Neal Gompa - Update generated configuration file for DNF The dnf.conf file generated by KIWI contained some obsolete options as well as options that have been renamed. This change updates the options set so that they match what is expected by DNF and configures the appropriate behavior.
* Thu Mar 07 2019 Marcus Schäfer - Bump version: 9.17.25 → 9.17.26
* Thu Mar 07 2019 Marcus Schäfer - hotfix runtime check for count of fullsize volumes The check did not respect images that do not come up with a systemdisk section. systemdisk is an optional section and the test did not respect this and failed with a stack trace
* Thu Mar 07 2019 Marcus Schäfer - Bump version: 9.17.24 → 9.17.25
* Thu Mar 07 2019 Marcus Schäfer - Update provider support status in vagrant docs
* Thu Mar 07 2019 Marcus Schäfer - Rebuild schema docs Create an up to date state of the oxygen schema doc in the repo
* Thu Mar 07 2019 Marcus Schäfer - Fixed Title underline too short warning in the doc
* Thu Mar 07 2019 Marcus Schäfer - Fixed permanent redirect links in documentation
* Thu Mar 07 2019 Marcus Schäfer - Bump version: 9.17.23 → 9.17.24
* Thu Mar 07 2019 Marcus Schäfer - Cleanup example_dot_profile_config.xml Don\'t use multiple all size volumes
* Thu Mar 07 2019 Dan Čermák - Add different installation methods to the documentation
* Thu Mar 07 2019 Marcus Schäfer - Check for multiple allsize volumes setup Added runtime check check_volume_setup_defines_multiple_fullsize_volumes which reads the volume setup and counts the number of volumes that define a \'all\' volume. Only one is allowed
* Wed Mar 06 2019 Marcus Schäfer - Complete test coverage on iso tools testing If there is no mkisofs/genisoimage present on the system, the tests based on real example iso files are skipped. The code tested in this case is now covered in a mock style to run through the logic even without the tools in place
* Wed Mar 06 2019 Marcus Schäfer - Follow up fix for zypper compat link Move the code handling the compat setup of the rpm database to the correct method of the repository API. Call the import of the signing keys only if there are signing keys
* Wed Mar 06 2019 Dan Čermák - Fix suseRemoveYaST to work with set -e When the config.sh is invoked with set -e then suseRemoveYaST causes the whole script to fail when no yast packages are present. The problem is that `grep yast` returns 1 in that case. => Explicitly ignore the return value of grep Furthermore, if no YaST packages were found, we don\'t want to invoke rpm, as that would fail too (as it is called without any parameters).
* Wed Mar 06 2019 Marcus Schäfer - Care for update alternatives on rpmdb move In set_database_to_image_path we also have to care for the move of the alternatives path to the new rpmdb location
* Wed Mar 06 2019 Marcus Schäfer - Fixup zypper/suse link to rpm database The compat code generating the /var/lib/rpm link was only effective if a signing key was specified, however it should be effective in any case
* Tue Mar 05 2019 Marcus Schäfer - Run cdrtools based unit tests on demand Only if the underlaying system provides legacy cdrtools, run the unit tests which actually reads the test data iso using those tools.
* Tue Mar 05 2019 Dan Čermák - Add GitLab CI pipeline status to README.rst
* Mon Mar 04 2019 Marcus Schäfer - Improve error messages The error messages for running a build against an undefined image definition as well as the error message to explain why the imageinclude attribute can only be used with public repos has been improved by suggestions from J. Mixer
* Mon Mar 04 2019 Stefan Seyfried - pxe: use dracut\'s network code, drop own setup
* Fri Mar 01 2019 Dan Čermák - Extend the GitLab-CI pipeline - build the documentation in the build_doc stage - run tests for all supported Python versions in tox_check - build an RPM for Fedora 29 & OpenSUSE Tumbleweed in RPM stage
* Fri Mar 01 2019 Neal Gompa - Ensure DNF is installed for kiwi itself and the test CentOS 7 appliance In e33f53aa4513c38a42736c82db3ec5e0b9da41d4, we switched to DNF when requesting YUM. This now means we need to ensure DNF is installed for images where we previously used YUM for that.
* Thu Feb 28 2019 Dan Čermák - Add environment for running the unit tests with Python 3.7 to tox Python 3.7 does only appear to be available on Ubuntu Xenial with sudo enabled
* Thu Feb 28 2019 Dan Čermák - Extend documentation about using KIWI to build vagrant images
* Thu Feb 28 2019 Dan Čermák - Extend documentation on how to build inside OBS
* Thu Feb 28 2019 Dan Čermák - Bump required minimum disk space
* Thu Feb 28 2019 Dan Čermák - Extend index.rst by a \"advertising\" section
* Thu Feb 28 2019 Dan Čermák - Add url to PyPI & use https instead of http
* Thu Feb 28 2019 Dan Čermák - Extend quickstart to be more viable as a stand-alone document
* Thu Feb 28 2019 Dan Čermák - Reorder TOCs so that the most important comes first
* Thu Feb 28 2019 Dan Čermák - (whitespace-cleanup) on doc/source/overview/workflow.rst
* Thu Feb 28 2019 Neal Gompa - Rework package manager selection to use DNF when YUM is requested YUM v3 is no longer developed, having been superseded by DNF for several years. With DNF now available as a usable package manager in Red Hat Enterprise Linux 7 through the Extras channel and SUSE Linux Enterprise 15 through PackageHub, there is no reason for keeping support for YUM v3 around. We are keeping support for requesting YUM because in Red Hat Enterprise Linux 7, DNF is referred to as \"YUM v4\", and it is simply referred to as \"YUM\" in Red Hat Enterprise Linux 8. To avoid confusion from people, we\'re just going to leave it in place as an alias to the DNF package manager. As for why this is happening now, Fedora is retiring YUM v3 in Fedora 31, so we might as well get it over with and cut over now. Reference: https://fedoraproject.org/wiki/Changes/Retire_YUM_3
* Thu Feb 28 2019 Dan Čermák - Fix some spelling mistakes & sentence order in the docs
* Thu Feb 28 2019 Marcus Schäfer - GitLab CI integration Run tox targets on demand. With GitLab CI selected containers are small but also limited in their scope.
* Thu Feb 28 2019 Marcus Schäfer - Fixed iso tools unit test Test was not environment independent and behaved differently compared to which iso tool change is installed.
* Thu Feb 28 2019 Marcus Schäfer - GitLab CI integration Select 3.6 image to run the test
* Thu Feb 28 2019 Marcus Schäfer - Fixed shellcheck issue on kiwi-partitions-lib.sh Fixup SC2046: Quote this to prevent word splitting
* Thu Feb 28 2019 Marcus Schäfer - GitLab CI integration Not so easy to get pip running there. Try standard binary name of after pip ugrade to install the rest of the chain
* Thu Feb 28 2019 Marcus Schäfer - GitLab CI integration No alternative naming for py3 commands
* Thu Feb 28 2019 Marcus Schäfer - GitLab CI integration Fixed install of tox on the runner
* Thu Feb 28 2019 Marcus Schäfer - GitLab CI integration Require tox to be installed on the runner
* Thu Feb 28 2019 Marcus Schäfer - GitLab CI integration pip not installed by default on the runner
* Thu Feb 28 2019 Marcus Schäfer - Looks like Travis will go away Try moving CI integration to GitLab
* Wed Feb 27 2019 Marcus Schäfer - Write sha256sum --check compatible shasum format Change the output format of the bundler shasum file to be compatible with a \'sha256sum --check\' call. This fixes bsc#1127173
* Wed Feb 27 2019 Marcus Schäfer - Move azure integration test build to Factory repos
* Wed Feb 27 2019 Marcus Schäfer - Fixed package list of azure integration test
* Wed Feb 27 2019 Marcus Schäfer - Fixed repo setup from azure integration test
* Wed Feb 27 2019 Marcus Schäfer - Bump version: 9.17.22 → 9.17.23
* Tue Feb 26 2019 Dan Čermák - Allow xdist to run the tests in parallel for the Python 2.7 env This reverts an accidental change that was introduced with 942ed7a8eea65f1c99b5f51a8587cfbeae73b484, which removed the {posargs} from tox.ini for the python 2.7 environment.
* Tue Feb 26 2019 Marcus Schäfer - Added get_description method to XMLState In preparation to access the contents of the section this pull requests adds a simple method to read the contents.
* Mon Feb 25 2019 Marcus Schäfer - Update tools from strip list for oemboot For legacy oemboot kiwi descriptions the strip list for tools to keep in the initrd is still active. On s390 required tools for dasd_configure were missing and got added by this commit. This Fixes #963
* Mon Feb 25 2019 Marcus Schäfer - Fixed import of signing keys In reference to bsc#1112357 it was required to add the compat symlink /var/lib/rpm such that zypper can read the signing keys. Unfortunately zypper does not use the configured rpmdb from the rpm macro setup.
* Mon Feb 25 2019 Stefan Seyfried - add rd.kiwi.install.pass.bootparam boot parameter if this boolean is set, most boot parameters are passed on to the kexec kernel on OEM image deployments
* Sat Feb 23 2019 Marcus Schäfer - Bump version: 9.17.21 → 9.17.22
* Sat Feb 23 2019 Marcus Schäfer - Followup fix for disk detection from root device No matter if one ore more devices are used in a multipath map, if the root device is managed by multipath kiwi has to use the mapped device for all operations, otherwise we run into busy or blocked state inside of the initrd operations. This is related to Issue #954 and bsc#1126283 and bsc#1126318
* Sat Feb 23 2019 Marcus Schäfer - Fixed relocation of GPT Simplify the relocation of the GPT to the end of the current disk by using sgdisk -e instead of gdisk. The possitive after effect of this is that the broken return value handling of gdisk in centos will be fixed and did not harm the kiwi deployment anymore. This Fixes #958
* Fri Feb 22 2019 Marcus Schäfer - Bump version: 9.17.20 → 9.17.21
* Fri Feb 22 2019 Marcus Schäfer - Speedup the make build target Activated the pytest xdist feature Dan added for the make build target to speedup package creation
* Fri Feb 22 2019 Marcus Schäfer - Bump version: 9.17.19 → 9.17.20
* Fri Feb 22 2019 Marcus Schäfer - Update vagrant libvirt unit test Take extra config from DiskFormatVagrantLibVirt as base for the test and don\'t mock that information as it was done before in the base class
* Fri Feb 22 2019 Marcus Schäfer - Extend the vagrant base class test Take an example for additional vagrant config settings into account
* Fri Feb 22 2019 Marcus Schäfer - Refactor unit tests for vagrant classes Better use of pytest capabilities, avoid mock rewrite of implementation classes
* Fri Feb 22 2019 Marcus Schäfer - Fixed DiskFormatVagrantBase docs and behavior Update class docs per review by Dan, also raise on use of methods without proper provider implementation
* Fri Feb 22 2019 Marcus Schäfer - Fixed create_box_img in DiskFormatVagrantLibVirt The call to create_box_img did not use the given tmpdir parameter but assumes an instance variable to provide this information
* Thu Feb 21 2019 Stefan Seyfried - fix network failure with \"BOOTIF=\" parameter If a BOOTIF= parameter (pxelinux \"IPAPPEND 2\" option) is present, dracut handles the network already
*and
* overwrites the 90-net.rules that kiwi-
*-net-genrules.sh created, thus the interface is not named \"lan0\" and ifup is destined to fail. Work around the issue by detecting if the interface is already handled by generic dracut code and just skipping the ifup call. Fixes / improves issue #942
* Thu Feb 21 2019 Marcus Schäfer - Added some style fixes to the vagrant classes Adapt doc strings to match style on lists. Change variable names not class global to be lowercase. Use 80 chars per line. Don\'t reach code that potentially uses undefined variables
* Thu Feb 21 2019 Marcus Schäfer - Refactor vagrant storage subformat In preparation to support other vagrant providers a base class for Vagrant operations has been created. Original Code written by DanČermák
* Thu Feb 21 2019 Marcus Schäfer - Fixed disk detection from root device The method lookup_disk_device_from_root assigns the disk device matching the root device uuid. However in a multipath environment multiple disk devices matches the same root device. The code to assign the multipath map in this case was missing in the dracut code base. This Fixes #954 and Fixes bsc#1126283 and bsc#1126318
* Wed Feb 20 2019 Marcus Schäfer - Fixed losetup call due to move in option names util-linux dropped losetup-Add-support-for-setting-logical-blocksize.patch because different implementations exists in the new kernel, and it has a conflicting implementation in util-linux. This caused a change in the option to specify the logical sector size. The option --logical-blocksize was replaced by --sector-size. We adapt this now in kiwi too
* Wed Feb 20 2019 Dan Čermák - Add pytest-xdist to dev-virtualenv to run the unit tests in parallel - fix CLI args not being passed to pytest by tox for unit_py3_4 and unit_py3_6 - enable parallel run on travis - document how to run the unit tests in parallel
* Wed Feb 20 2019 Ruediger Oertel - s390-test-image: add factory base project (same as on arm)
* Mon Feb 18 2019 Dan Čermák - Add support to build vagrant boxes with the Virtualbox provider This commits adds initial support to build Vagrant boxes with the Virtualbox provider. - The attribute \'provider\' of the option now supports the option \"virtualbox\". - A new boolean attribute \'virtualbox_guest_additions_present\' was added to . When set to true, KIWI will assume that guest additions have been installed into the base image and configure the shared folders to use vboxfs, otherwise rsync will be used. This fixes #532 (https://github.com/SUSE/kiwi/issues/532).
* Thu Feb 14 2019 Marcus Schäfer - Bump version: 9.17.18 → 9.17.19
* Thu Feb 14 2019 Marcus Schäfer - Fixed isolinux fallback path In case isolinux-config failed or does not exist on the distribution a fallback path is called. That code hardlinks the files to the isolinux compiled in standard path. However due to the move of the grub unicode file for iso images the path contains a directory. Directories can\'t be hardlinked thus this patch uses \'cp -l\' instead of the \'ln\' command to create the linked target contents.
* Thu Feb 14 2019 Marcus Schäfer - Bump version: 9.17.17 → 9.17.18
* Wed Feb 13 2019 Marcus Schäfer - Fix location of grub unicode font This is a follow up patch for #f5bac4495d34. The change of the location of the font file was not applied if an iso target, live or install image is being built. This patch completes the change and Fixes bsc#1124885
* Wed Feb 13 2019 Marcus Schäfer - Fix handling of zypper return codes The following codes should be handled as errors: 104 - ZYPPER_EXIT_INF_CAP_NOT_FOUND 105 - ZYPPER_EXIT_ON_SIGNAL 106 - ZYPPER_EXIT_INF_REPOS_SKIPPED
* Tue Feb 12 2019 David Cassany - Refactor OCI images packing This commit refactors the OCI images support:
* added import_container_image and export_container_image methods to oci_tools classes. \'umoci\' and \'buildah\' consume different formats thus the inital skopeo call to import a container is tool dependent.
* use oci-archive transport for packing the OCI images, this causes docker and oci operations to just diverge on transport type.
* add_tag method no longer needed in oci_tools/base, skopeo is used for that matter.
* container/docker.py class is no longer needed. The difference between docker and OCI images is just on packing format which is just a parameter in skopeo. It does not deserve a dedicated class
* system/root_import/docker.py class no longer needed. The difference between OCI and Docker class was just the transport type for the skopeo call. It does not deserve a dedicated class
* Mon Feb 11 2019 Marcus Schäfer - Sort file and dir entries in iso sortfile
* Sun Feb 10 2019 Bernhard M. Wiedemann - tox: Allow to run a single test using tox -v -e unit_py2_7 -- -vv ./test/unit/iso_tools_cdrtools_test.py
* Sat Feb 09 2019 Bernhard M. Wiedemann - Sort filesystem listings so that kiwi works in a reproducible way in spite of indeterministic filesystem readdir order and http://bugs.python.org/issue30461 See https://reproducible-builds.org/ for why this is good.
* Sat Feb 09 2019 Marcus Schäfer - Moved azure integration test to Leap15 Factory doesn\'t resolve well together with Cloud:Tools. I\'d like to have stable integration tests and not getting screwed with any change on Factory
* Sat Feb 09 2019 Marcus Schäfer - Bump version: 9.17.16 → 9.17.17
* Fri Feb 08 2019 Marcus Schäfer - Added new preferences subsection In the preferences section the following optional subsection can be configured: true|false If set to true the default locales POSIX, C, and C.UTF-8 are applied as rpm install_lang macro. If the locale section is configured in addition the list is extended by that information too
* Fri Feb 08 2019 Marcus Schäfer - Extend the .packages file by the license field For rpm based builds the License field from the rpm metadata is extracted into the .packages file. For Debian based build the license information is in an extra file and not taken into account for the moment.
* Fri Feb 08 2019 Marcus Schäfer - Bump version: 9.17.15 → 9.17.16
* Thu Feb 07 2019 Marcus Schäfer - Added support for %_install_langs rpm macro During the image build the custom rpm macro %_install_langs is configured with the setup from the KIWI XML description. This allows to filter language specific packages on the rpm level and Fixes #771
* Wed Feb 06 2019 Marcus Schäfer - Add API for package manager returncode validation Allow to validate the return code from a package manager operation. In case of zypper the standard UNIX return code validation does not apply. Return codes from zypper which are >= 100 are not treated as an error anymore
* Wed Feb 06 2019 Marcus Schäfer - Fix Failed to cache rpm database on zypper addrepo Occasionally zypper fails when adding the repo with the rpm error message \'Failed to cache rpm database\'. I was not able to find out why this happens and I also could not find a way to reproduce it safely. However this commit adds a workaround that seems to fix the issue when it happens. If the first call of zypper addrepo fails kiwi now issues the exact same call again and only if that fails too an exception is thrown In addition the patch changes the zypper call and avoids the option --type. That option is marked legacy and ignored by zypper but causes a misleading warning message
* Mon Feb 04 2019 Marcus Schäfer - Handle location of the rpm DB on the macro level The location of the rpm database is no longer a standard path one can trust. Some distributions put it to /var/lib others to /usr/lib. This introduces the problem of dealing with different locations between the bootstrapping (host rpm) phase and the image installation (image rpm) phase. This commit implements a solution based on an intermediate rpm database configuration. KIWI creates the macros.kiwi file inside of the image root which is read by any call of rpm in the inner and outer system. During bootstrap phase the rpm dbpath from the host system is used and later in the install phase the dbpath from the rpm package as it was installed by the target image distribution is used. In case of a dbpath difference the database is automatically moved to the new location by setting the _dbpath_rebuild macro to the correct location. At the end the custom KIWI macro is deleted. As this process allows custom macro defintions during the KIWI run it also serves as the base for a solution to Issue #771 which will be done in a follow up request to this commit. Also the workaround for bsc#1112357 which uses a static dbpath to store an optionally given signing key will be addressed with this commit. The macro setup happens before the import_trusted_keys method which makes any specification for a strict dbpath obsolete. Last the implementation deletes the obsolete dump_reload_package_database code. rpm is able to automatically do the conversion of different db versions such that the code in kiwi is obsolete. In addition that code only worked for rather old db versions. The public API has not changed though, but the method is marked obsolete and does nothing anymore. In addition to the deletion of obsolete code a new API method post_process_install_requests_bootstrap has been introduced to handle actions required after bootstrap and before installing of packages from inside the new image
* Mon Feb 04 2019 David Cassany - Add custom partitioning docs This commit adds two new documentation chapters. One covering custom partitioning scheme in KIWI. And another covering setting custom volumes in KIWI
* Thu Jan 31 2019 Marcus Schäfer - Bump version: 9.17.14 → 9.17.15
* Thu Jan 31 2019 Marcus Schäfer - Fixup code issues reported by new flake8 version Travis has updated the flake8 version which caused more strict issue reports on the code. This commit fixes the new issues reported by flake8
* Thu Jan 31 2019 Marcus Schäfer - Bump version: 9.17.13 → 9.17.14
* Thu Jan 31 2019 Marcus Schäfer - Changed default value for bundler compression If no compression is configured in the kiwi config file the default was set to: False. However this lead to big trouble on the obs side for images which has fixed storage disk sizes configured, e.g Azure images which requests 30G disk size per instance. Thus the default for the bundler compression has changed to be: True
* Tue Jan 29 2019 Marcus Schäfer - Bump version: 9.17.12 → 9.17.13
* Tue Jan 29 2019 Marcus Schäfer - Fixed grub theme lookup If the theme was not found at the expected place an exception was thrown. However the alternative lookup code in /boot was not reached with that exception. This commit fixes this
* Mon Jan 28 2019 Marcus Schäfer - Bump version: 9.17.11 → 9.17.12
* Mon Jan 28 2019 David Cassany - Add a runtime check for preferences metadata This commit adds a runtime check for preferences metadata. More specfic verifies there is a packagemanager defined and an image version defined. Fixes #925
* Fri Jan 25 2019 Marcus Schäfer - Support alternative EFI and grub modules paths In SUSE products EFI binaries are historically located in /usr/lib
*/efi. In a recent move to package grub2 as noarch fate#326960, a collision between x86_64 and aarch64 has been identified, as both place platform-specific files in the same spot. To rectify this, a new location was devised: /usr/share/efi/$(uname -m). At the same time /usr/lib/grub2 will move to /usr/share/grub2. This Fixes #924
* Fri Jan 25 2019 Marcus Schäfer - Fixed Xen guest detection We only support Xen setup e.g in the Amazon Cloud for the x86_64 architecture. This Fixes bsc#1123186 and bsc#1123185
* Thu Jan 24 2019 Marcus Schäfer - Fixed location of grub unicode font file grub2 is expecting the unicode font below the fonts directory in the /boot/grub
*/ depending on how the distribution installs grub2. This Fixes bsc#1119416
* Thu Jan 24 2019 Marcus Schäfer - Fix documentation howto delete a package The documentation described an invalid XML grammar
* Thu Jan 24 2019 Marcus Schäfer - Bump version: 9.17.10 → 9.17.11
* Thu Jan 24 2019 Marcus Schäfer - Fix package conflict for completion file The completion can only be provided by one package if not python version specific completion files are provided. Due to the fix in #920 the completion file must be provided by another sub-package. This commit moves it to the kiwi-man-pages package. Actually kiwi man pages provides more than just the man pages, but also the PDF documentation and I think the completion information serves the purpose of documentation to some degree too.
* Thu Jan 24 2019 Marcus Schäfer - Bump version: 9.17.9 → 9.17.10
* Thu Jan 24 2019 Marcus Schäfer - Fixed file name of completion file The bash completion file must match one of the alternatives links. Otherwise the bash completion mechanism will not match. kiwi-ng is the unique alternative link name compared to the still present legacy kiwi version and should be used preferably
* Wed Jan 23 2019 David Cassany - Add container history metadata on umoci repack call This commit makes sure that `umoci repack` call includes history metadata and skips that in `umoci config` call. Fixes #918
* Thu Jan 17 2019 Marcus Schäfer - Bump version: 9.17.8 → 9.17.9
* Thu Jan 17 2019 Marcus Schäfer - Update schematron rule install_continue_on_timeout is only for oem types
* Thu Jan 17 2019 David Cassany - Do not assume package manager is always there This commit modifies the dump_reload_package_database method for zypper to not assume rpm binary is always part of the image. An image could be bootstrapped only without zypper or rpm, in that case it does not make sense and it is not possible to dump and reload rpmdb. Fixes #915 and related to #550
* Thu Jan 17 2019 Marcus Schäfer - Allow to switch off install image boot timeout This commit adds a new attribute called: It allows to setup the boot timeout for install images build with KIWI. If not set or set to \'true\' the configured boottimeout or its default applies to the install image as it was before. If set to \'false\' there will be no timeout in the install image bootloader setup and the boot only continues on manual intervention.
* Fri Jan 11 2019 Marcus Schäfer - Bump version: 9.17.7 → 9.17.8
* Thu Jan 10 2019 Marcus Schäfer - Make result compression in the bundler optional Calling kiwi result bundle will take the image build results and bundle the relevant image files according to their image type. Depending on the result configuration this could instruct the bundler to compress one or more files from the result. By default this compression is switched off in the bundler but can be activated to save storage space and speedup download of the image with the following runtime configuration: bundle: - compress: true|false If compression is activated the result image has to be uncompressed before it can be used. This Fixes #901
* Mon Jan 07 2019 Marcus Schäfer - Bump version: 9.17.6 → 9.17.7
* Mon Jan 07 2019 Marcus Schäfer - Fix use of SysConfig objects objects of that class did not provide a get method but overload the bracket [] operator. Using the get() method failed. This Fixes #910
* Sat Jan 05 2019 Marcus Schäfer - Use chkstat to verify and fix file permissions Call chkstat in system mode which reads /etc/sysconfig/security to determine the configured security level and applies the appropriate permission definitions from the /etc/permissions
* files. It\'s possible to provide those files as overlay files in the image description to apply a certain permission setup when needed. Otherwise the default setup as provided on the package level applies. It\'s required that the image root system has chkstat installed. If not present KIWI skips this step and continuous with a warning. This Fixes #895
* Fri Dec 21 2018 David Cassany - Allow setting the protocol for exposed ports With this commit it is possible to set tcp or upd (e.g. \"80/tcp\") for exposed container ports. If no protocol is provided OCI defaults are applied. Fixes #906
* Wed Dec 19 2018 Thomas Schraitle - Use cls in AATTclassmethods instead of self For consistency reasons.
* Wed Dec 19 2018 Marcus Schäfer - Bump version: 9.17.5 → 9.17.6
* Tue Dec 18 2018 Marcus Schäfer - Allow setctsid to be part of custom boot images
* Tue Dec 18 2018 David Cassany - Fix disk size calculation for VMX Disk size calculation must take into account the empty volumes that are to be mounted in a directory that does not exist in the root tree otherwise there is KeyError. The result of storate/setup._calculate_volume_mbytes must be a dict including all defined volumes. Fixes #904
* Wed Dec 12 2018 Marcus Schäfer - Bump version: 9.17.4 → 9.17.5
* Wed Dec 12 2018 Marcus Schäfer - Make sure manual pages are part of pypi archive As consequence of the change in the travis setup to make use of the native \'pages\' and \'pypi\' providers from travis the environment for the sdist target has changed. Within the doc_travis tox env no manual pages was build. In combination with the \'pypi\' provider setup in .travis.yml which uses skip_cleanup: true, this caused the pypi archive to miss any manual pages which lead to a runtime error on install via pip.
* Tue Dec 11 2018 Marcus Schäfer - Bump version: 9.17.3 → 9.17.4
* Mon Dec 10 2018 Marcus Schäfer - Don\'t trust the vmlinux symlink to be present
* Mon Dec 10 2018 Marcus Schäfer - Refactor kernel version lookup Check the presence of the gzip compressed kernel binary and use it. If not present use the arbitrary kernel image format with the known limitations.
* Mon Dec 10 2018 Marcus Schäfer - More clarity on kernel version lookup Lookup of the kernel version is done by directly reading the kernel image via a small tool named kversion. The scope of the tool is limited and does not work for e.g kernel images which contains its own decompressor code. For the special cases we defined exceptions, one was zImage. The recently added exception for vmlinuz seemed too intrusive to me and was also not well documented. This patch tries to clarify and get us back to explicit and easy to read coding. Fixes #899
* Tue Dec 04 2018 Ruediger Oertel - testing: fix issues marked by shellcheck
* Thu Nov 29 2018 Ruediger Oertel - kernel.py: also try vmlinux-version.gz in case of image-version to get the version number
* Tue Nov 27 2018 David Cassany - Add Ubuntu bionic build tests
* Tue Nov 27 2018 David Cassany - Another round of OCI tools refactoring In order to provide buildah support some of the logic about temporary directories for OCI images creation needs to be moved to the dedicated OCI tool class. While umoci can operate in any directory and this is passed as an argument, this is not the case for buildah. In buildah workflow the storage path of work-in-progress images/containers is not customizable neither the mountpoint of the container rootfs.
* Mon Nov 26 2018 Marcus Schäfer - Bump version: 9.17.2 → 9.17.3
* Mon Nov 26 2018 Marcus Schäfer - Update documentation for rd.live.cowfile.mbsize
* Mon Nov 26 2018 Marcus Schäfer - Use cow file on persistent grub live loop boot When using tools like live-grub-stick the live iso as generated by kiwi will be copied as file on the target device and a grub loopback setup is created there to boot the live system from file. In such a case the persistent write setup which tries to create an extra write partition on the target fails in almost all cases because the target has no free and unpartitioned space available. Therefore in case of such a loopback mounted system we create a cow file(live_system.cow) instead of a partition to setup persistent writing. The cow file will be created in the same directory the live iso image file was read from grub This Fixes #860
* Fri Nov 23 2018 Marcus Schäfer - Bump version: 9.17.1 → 9.17.2
* Fri Nov 23 2018 David Cassany - Create a custom `setup.py clean` command The default `setup.py clean` command does not clean `dist` and `
*.egg-info` folders. This commit makes sure those are cleaned and also ands a `setup.py clean` command in the `clean` Makefile target
* Fri Nov 23 2018 Marcus Schäfer - Better exception handling in oem installer If an error condition applies in the kiwi dump dracut code the reaction was to stop the process with a dracut die() call. If the option \'rd.debug\' was set on boot, this lead to a debugging shell which is good, but in a standard process this lead to a lock of the machine which is an unfortunate situation. This patch changes the behavior to always print the error message as a dialog message box on the primary console and reboot the system after keypress or timeout. In case of the debug switch configured the system die()\'s as before. This Fixes #884
* Mon Nov 19 2018 David Cassany - Add parted dependency for dracut-kiwi-live package dracut-kiwi-live requires `partprobe` tool and this is provided by parted package. Persistent overlay setup fails if parted is not installed in the image.
* Thu Nov 15 2018 Marcus Schäfer - Added unit test for syslinux lookup paths
* Thu Nov 15 2018 David Cassany - Include the isolinux ubuntu paths This commit adds the ubuntu installation paths the places to look for isolinux binaries.
* Tue Nov 13 2018 David Cassany - Fix spec to better support Debian and Ubuntu builds This commit fixes the spec to properly build for Debian and Ubuntu. More specific:
* update-alternatives path has been adapted
* python3-kiwi are now enabled for Debian 9 and Ubuntu 18.04
* Mon Nov 12 2018 Marcus Schäfer - Make gfxboot a recommended package gfxboot is needed on the host for certain boot graphics operations. It\'s used if the boot theme provides a gfxboot.cfg In this case the tool is also required. The setup of the boot themes is differently implemented in each of the distributions we support. In addition on suse distributions gfxboot is no longer in the core system. Given that we are not able to find a common base on requirement of the package we changed gfxboot from a required to a recommended package and deleted the requirement on debian based distros
* Fri Nov 09 2018 David Cassany - Adding OEM and ISO image types for Fedora tests
* Fri Nov 09 2018 Stefan Seyfried - kiwi-dump-image: improve dialog usage Dialog\'s \"--radiolist\" feature requires to navigate to the item, press \"space\" to select the item and then \"enter\" to execute. With \"--menu\", it is enough to just navigate to the item and press \"enter\" to execute, which is much more intuitive for most users.
* Fri Nov 09 2018 David Cassany - Add support for --no-history umoci\'s flag Using this flag kiwi appends only a single history entry for OCI containers.
* Fri Nov 09 2018 Marcus Schäfer - Bump version: 9.17.0 → 9.17.1
* Fri Nov 09 2018 David Cassany - Little code styling fix
* Fri Nov 09 2018 Marcus Schäfer - Fixed oem installer In the implementation of the ramdisk installer from SUSE/ramdisk_deployment(4fdeee3faa3) an error for the standard case was introduced such that the lsblk call was invalid. This lead to no devices being present for the installation. This patch Fixes #877
* Thu Nov 08 2018 David Cassany - Fix rsync call for filesystem images For filesystem images the rsync call was missing a finale slash for the source path causing the sync also the containing directory. With this change the filesystem image does not include the rootfs in any subdirectory. Fixes #875
* Tue Nov 06 2018 David Cassany - Add history metadata for container builds This commit adds the history section in contianerconfig. With it \'author\', \'created_by\' and \'comment\' can be customized. In addition \'created\' is always included with the image creation date time. \'created_by\' entry is set to \'KIWI __version__\' by default if nothing is provided. Fixes #852
* Tue Nov 06 2018 Marcus Schäfer - Bump version: 9.16.36 → 9.17.0
* Tue Nov 06 2018 Marcus Schäfer - Change bundling of image formats By default none of the image formats were stored as compressed file. The reason behind this was the assumption that some formats automatically makes use of compression, which is true but only in their processing and not in their data blocks at creation time. Storage and handling of the image file itself becomes cumbersome and therefore we change the default bundle setup for image formats to be compressed. This means the image as it gets packed by KIWI needs to be uncompressed before use. The following image formats are affected by the change in a call of the result bundler: kiwi result bundle ...
* qcow2 (.qcow2.xz)
* vdi (.vdi.xz)
* vhd (.vhd.xz)
* vhdx (.vhdx.xz)
* vmdk (.vmdk.xz) All other image formats already defined a custom bundling setup including compression and are not affected by this change. This Fixes #650
* Tue Nov 06 2018 Marcus Schäfer - Fixed firmware strip and lookup for kiwi initrd In a kiwi initrd the function baseStripFirmware can be used to strip down the firmware to the actually used kernel drivers in that initrd. The code to do this was broken due to the changes in #64cb5b003140a. This patch done by Ruediger Oertel fixes the method to work correctly again.
* Tue Nov 06 2018 Stefan Seyfried - kiwi-partitions-lib: wait for udev before lsblk A LVM-enabled oem image spuriously did not resize its PV / LVs. Tracking this down, I discovered that lsblk was sometimes racing with udev and the disk was just not available during get_partition_node_name(). Call udev_pending() before all lsblk calls to avoid that. (lsblk man page also advocates this to synchronize with udev)
* Tue Nov 06 2018 Marcus Schäfer - Bump version: 9.16.35 → 9.16.36
* Tue Nov 06 2018 Marcus Schäfer - Bypass Jekyll processing for github pages sphinx uses directories that start with underscores which Jekyll considers these to be special resources and does not copy them to the final site.
* Mon Nov 05 2018 Marcus Schäfer - Bump version: 9.16.34 → 9.16.35
* Mon Nov 05 2018 Marcus Schäfer - Revert last travis.yml change This reverts commit 7fb7e8c39fa861b6226d54e04483be8e96a5f8be.
* Mon Nov 05 2018 Marcus Schäfer - Bump version: 9.16.33 → 9.16.34
* Mon Nov 05 2018 Marcus Schäfer - Next try to fixup pypi deployment Reset to encrypted password hash which worked before
* Mon Nov 05 2018 Marcus Schäfer - Bump version: 9.16.32 → 9.16.33
* Mon Nov 05 2018 Marcus Schäfer - Move pypi secret to secure variable on travis
* Mon Nov 05 2018 Marcus Schäfer - Bump version: 9.16.31 → 9.16.32
* Mon Nov 05 2018 Marcus Schäfer - Use travis-sphinx to generate github pages doc The output from the sphinx build does not render css and java script correctly on github pages, thus switch back to travis-sphinx to generate that data
* Mon Nov 05 2018 Marcus Schäfer - Bump version: 9.16.30 → 9.16.31
* Mon Nov 05 2018 Marcus Schäfer - Move github token to secure variable on travis
* Mon Nov 05 2018 Marcus Schäfer - Bump version: 9.16.29 → 9.16.30
* Mon Nov 05 2018 Marcus Schäfer - Run pages deployment before pypi In addition update the pypi secret
* Mon Nov 05 2018 Marcus Schäfer - Move travis references to .com domain
* Mon Nov 05 2018 Marcus Schäfer - Bump version: 9.16.28 → 9.16.29
* Mon Nov 05 2018 David Cassany - Arrange command test arguments to match py2 and py3 order Apparently dictionary keys are not sorted equaly in py2 and py3. While the code does not relay on command flags order the test command validation does. This commit ensures the umoci command is the same for both, py2 and py3, with all the flags in the same order.
* Mon Nov 05 2018 David Cassany - Make process config arguments method static
* Mon Nov 05 2018 Marcus Schäfer - Added oci_tools to package MANIFEST
* Mon Nov 05 2018 Marcus Schäfer - Use the travis pages provider for doc deployment In the past we used the travis-sphinx script to deploy the documentation to gh-pages via the travis CI. However with the change to the travis github App we need to change this deployment into a real deployment stage of the travis setup
* Mon Nov 05 2018 Marcus Schäfer - Fixed azurectl redirect in documentation
* Mon Nov 05 2018 Marcus Schäfer - Bump version: 9.16.27 → 9.16.28
* Sun Nov 04 2018 Marcus Schäfer - Added Deploy and Run System in a RamDisk docu
* Wed Oct 31 2018 David Cassany - Refactor containerconfig xml evaluation This commit refactors the extracted data from containerconfig section to be tool agnostic. Related to #863
* Tue Oct 30 2018 Marcus Schäfer - Support ramdisk deployment in OEM images Using the rd.kiwi.ramdisk boot option enables the deployment into a ramdisk. If this option is enabled only ramdisk devices as provided by the brd kernel driver will be available for deployment
* Mon Oct 29 2018 Marcus Schäfer - Apply OCI interface for container and root_import Instead of directly calling the container archiving tool, in this case umoci, the code has been changed to use the new OCI interface class. This Fixes #859
* Mon Oct 29 2018 David Cassany - Distinguish install and image dracut config This commit distinguishes the files that should be installed inside the image dracut only than the ones installed in both, in install initrd and image initrd. Fixes #858
* Mon Oct 29 2018 Marcus Schäfer - Added OCI tooling interface class An initiative to formulate industry standards around container formats and runtime is available at https://www.opencontainers.org Different tools to implement the specifications had been created. The purpose of this class and its sub-classes is to provide a common interface in kiwi to allow using all tools such that the container support in kiwi covers every linux distribution no matter what tooling was preferred. Related to Issue #859
* Fri Oct 26 2018 Marcus Schäfer - Warn on Modifications to intermediate config files Some files are taken from the host and managed as intermediate config files during the build of the image. Changes to those files during the build run by e.g a script will not become effective because the file gets restored. With this patch we detect the modification condition and throw a warning message such that the author of the image can adapt the description as suggested in the message. This Fixes #817
* Thu Oct 25 2018 Marcus Schäfer - Cleanup code to make flake8 happy The new version of flake8 is more strict on code checking and complained at several places. This commit fixes the code smells such that flake8 is happy again
* Fri Oct 19 2018 Marcus Schäfer - Bump version: 9.16.26 → 9.16.27
* Fri Oct 19 2018 Marcus Schäfer - Use %{ix86} rather than %ix86 in spec template Clear macro annotation prevents clarity issues
* Thu Oct 18 2018 Marcus Schäfer - Fixed spec file for gfxboot requires Require gfxboot but only for the x86 architecture
* Thu Oct 18 2018 Marcus Schäfer - Bump version: 9.16.25 → 9.16.26
* Thu Oct 18 2018 David Cassany - Move the default rpm database path into Defaults class
* Thu Oct 18 2018 Marcus Schäfer - Handle default uri mime type in Defaults class
* Thu Oct 18 2018 David Cassany - Add a hardcoded rpm database path to import trusted keys This commits adds a hardcoded rpm database location to make sure the imported keys are in the expected location for zypper. Fixes #855
* Thu Oct 18 2018 Marcus Schäfer - Allow simple path source in Uri class This patch is needed as follow up fix for the setup of the package cache in local repositories. The is_remote method from the Uri class is used to identify if a repostory source is remote or local. At that point the initial repository source was already translated into its components. In case of a local repository the Uri instance now receives a simple path and the is_remote method raised with a style error. This patch allows the Uri class to be more friendly and initializes a local path as file:/ typed source. Related to Issue #847
* Thu Oct 18 2018 Marcus Schäfer - Bump version: 9.16.24 → 9.16.25
* Thu Oct 18 2018 Marcus Schäfer - Add timestamp to logfile entries On the console output we use a log format with timestamps This is useful for the logfile contents too
* Wed Oct 17 2018 Stefan Seyfried - sort package list which accompanies the image This makes it much easier to diff the lists of two images to find out the differences in package versions.
* Wed Oct 17 2018 Marcus Schäfer - Don\'t cache packages from local repos for zypper Access to packages from local repositories is as fast as reading them from a cache location. The additional package copy and cache update is superfluous and should be avoided. This Fixes #847
* Tue Oct 16 2018 Marcus Schäfer - Bump version: 9.16.23 → 9.16.24
* Tue Oct 16 2018 David Cassany - Update /etc/machine-id management docs Updates the information about how /etc/machine-id is treated in KIWI and provides some hints for old systems where /var/lib/dbus/machine-id is not a symlink to /etc/machine-id Related to #843
* Tue Oct 16 2018 Marcus Schäfer - Unpack root.tar.gz file for LVM integration test
* Tue Oct 16 2018 Marcus Schäfer - Added LVM integration test build
* Mon Oct 15 2018 Marcus Schäfer - Bump version: 9.16.22 → 9.16.23
* Mon Oct 15 2018 Marcus Schäfer - Added machine id setup in dracut preparation In case of a dracut booted image we empty out the systemd machine-id configuration file to trigger the rebuild of that information by the dracut boot code at boot time. This allows for unique systemd identifiers if the same image gets deployed on different machines. This also makes the script implementations people put in in config.sh or images.sh to solve this problem obsolete. This Fixes #843
* Fri Oct 12 2018 Marcus Schäfer - Fix use of uri type in debootstrap call Referencing a file in a debootstrap call is done using the file:/ source type. However when using file:// debootstrap does something different and failed to find the file. The additional / had a bad impact to the call.
* Thu Oct 11 2018 Marcus Schäfer - Bump version: 9.16.21 → 9.16.22
* Thu Oct 11 2018 Marcus Schäfer - Delete obsolete rhel/fedora doc move With the fix to use the rpm macro consistently it is no longer required to move around the docs
* Thu Oct 11 2018 Marcus Schäfer - Bump version: 9.16.20 → 9.16.21
* Thu Oct 11 2018 Marcus Schäfer - Fixed package specs for dracut modules on fedora dracut-network is a separate package on Fedora/RHEL too
* Thu Oct 11 2018 Marcus Schäfer - Add alternative search path for syslinux binaries On debian/ubuntu systems /usr/lib/ISOLINUX is a valid search path for syslinux binaries like isolinux.bin. This Fixes #839
* Thu Oct 11 2018 Marcus Schäfer - Fixed package doc install target The spec file uses the %{_defaultdocdir} macro but the corresponding Makefile target used a hardcoded path which lead to inconsistencies on debian/ubuntu based systems. This Fixes #838
* Thu Oct 11 2018 Marcus Schäfer - Fixed package specs for dracut modules on debian btrfs tools are provided by btrfs-tools package and not by btrfs-progs. In addition dracut-network is a separate package on debian/ubuntu based distributions. This Fixes #837
* Tue Oct 09 2018 Marcus Schäfer - Don\'t require gfxboot on rhel/fedora
* Tue Oct 09 2018 Marcus Schäfer - Fixup zypper calls in documentation The way the documentation describes the zypper call to add a repository was wrong in several places.
* Tue Oct 09 2018 Marcus Schäfer - Added gfxboot to required packages in spec kiwi calls gfxboot as tool when building live iso images. Thus this tool provided by the gfxboot package should be a requirement for kiwi
* Tue Oct 09 2018 Marcus Schäfer - Bump version: 9.16.19 → 9.16.20
* Mon Oct 08 2018 Marcus Schäfer - rebuild auto generated code with stable generateDS For some reason the xml_parse code generated by generateDS v2.29.24 caused warnings on simple type XSD patterns. Therefore I rebuild the code with the stable build version v2.29.14 which fixed that issue
* Mon Oct 08 2018 Marcus Schäfer - Fixup README travis and codacy status badges
* Mon Oct 08 2018 Marcus Schäfer - Adding bugfix trace for bsc#1110869 bsc#1108508 ticket was fixed with request #831 from SUSE/fix_uri_handler
* Sun Oct 07 2018 Marcus Schäfer - Include livenet module with dmsquash-live support The upstream dracut dmsquash-live module supports network mode with the livenet module. But that module must be explicitly included and is not fetched automatically. This Fixes #827
* Fri Oct 05 2018 Marcus Schäfer - Bump version: 9.16.18 → 9.16.19
* Fri Oct 05 2018 Marcus Schäfer - Rename private method to be more expressive
* Fri Oct 05 2018 David Cassany - Add Codec utils for bytes literals decoding In case of a literal decoding failure it tries to decode the result in utf-8. This is handy in python2 environments where python and the host might be using different charset configurations. In python3 this issue seams to be solved. Fixes #829 and bsc#1110871
* Fri Oct 05 2018 Marcus Schäfer - Fixed URI handling with token query option So far only the query format ?credentials=... was supported. In case of ?random_token_data the returned uri was truncated and also the format check on the query caused a python trace. This Fixes #830 and Fixes #828
* Fri Oct 05 2018 David Cassany - Make use of the quiet flag of mountpoint command This commit sets the use of -q flag of mountpoint. Kiwi only checks the return code, thus any stdout is useless in this case. Fixes #829
* Tue Oct 02 2018 Fergal Mc Carthy - Eliminate redundant code Create a helper method, _create_volume_no_zero, which calls the lvreate command with appropriate options and calls the vgscan command immeditately afterwards to create any missing /dev nodes.
* Sat Sep 29 2018 Marcus Schäfer - Fixed broken link to ec2uploadimg tool
* Sat Sep 29 2018 Marcus Schäfer - Update contact information We moved from IRC to Matrix as chat platform. Thus the documentation needs to be updated accordingly
* Thu Sep 27 2018 Fergal Mc Carthy - Fixes LVM based image creation in OBS While attempting to create LVM based images under the Open Build Service I recently ran into some issues related to the fact that there is no udev running in the chroot environment used to build kiwi based images. Two workarounds have been implemented in this patch: (1) When calling lvcreate, include the `-Zn` option to disable the automatic zeroing of the header of the newly created LV device; doing so requires that the LV device\'s /dev entry exists immediately after it has been created, but in a chroot\'d environment udev isn\'t going to be running to automatically populate /dev// or /dev/mapper/-. This should be safe to do since the LV is being created within a loopback device based partition, which is backed by a zero filled file, created by qemu-img. (2) After creating an LV we need to run `vgscan --mknodes` to create the required device nodes under /dev, which won\'t be automatically created since udev isn\'t running in the chroot\'d environment. Unit tests updated to account for additional `-Zn` arguments that are being passed to `lvcreate` and for additional call that is being made to `vgscan --mknodes`. This fixes #824.
* Wed Sep 26 2018 Marcus Schäfer - Bump version: 9.16.17 → 9.16.18
* Wed Sep 26 2018 David Cassany - Create parent qgroup when snapper is present This commit creates a new parent quota group (1/0) of level 1 when btrfs_quota_groups is enabled and snapper present into the image root tree. Related to bsc#1093518 and #812
* Wed Sep 26 2018 Marcus Schäfer - Bump version: 9.16.16 → 9.16.17
* Wed Sep 26 2018 Marcus Schäfer - Fixup make build target Don\'t include auto generated schema docs into the source tarball. Also cleanup MANIFEST.in from files no longer present in the repository
* Wed Sep 26 2018 Marcus Schäfer - Bump version: 9.16.15 → 9.16.16
* Wed Sep 26 2018 Marcus Schäfer - Disable warnings report from pytest By default pytest now generates warnings for all modules used in the tox environment. This information is nice but taints the test output of the code of this project and is therefore unwanted.
* Wed Sep 26 2018 Marcus Schäfer - Bump version: 9.16.14 → 9.16.15
* Wed Sep 26 2018 Marcus Schäfer - Customize latex output for look and feel
* Wed Sep 26 2018 Marcus Schäfer - Update development doc chapter per review by Tom
* Tue Sep 25 2018 David Cassany - Make volume id customizable for installation ISOs This commit makes volid attribute also available for OEM images. The installation media makes use of the volid value. Only posix safe names are allowed, up to 32 characters. Fixes #811
* Mon Sep 24 2018 Marcus Schäfer - Include PDF build of documentation to the package Bundle a PDF version of the online documentation with the rpm package build. Due to the complexity of getting a latex build environment into the travis CI which does not take forever to install, the bundling of a built PDF into the pypi archive has been skipped. Users installing from pypi would need to install a latex env on their machine and run make latexpdf from the installed bundle. This Fixes #819
* Mon Sep 24 2018 Marcus Schäfer - Update docs for setting up development environment Reference py3.6 when showing example tox call. Also delete a py version reference where it was not needed
* Fri Sep 21 2018 Marcus Schäfer - Update kiwi tools README Delete obsolete entries for tools no longer present
* Thu Sep 20 2018 David Cassany - Adding bugfix trace for bsc#1108508 bsc#1108508 ticket was fixed with bf556a96 and 77517cff commits. Just adding the ticket reference here.
* Wed Sep 19 2018 Marcus Schäfer - Fixed disk detection for live iso in loopback grub If the live iso is used as a disk on e.g USB sticks and is configured to setup a persistent write space via the initrd option rd.live.overlay.persistent, it\'s required to find the disk device to create a write partition on it. This detection worked if the live iso is binary dumped on the disk and bootet due to the hybrid support each iso built by kiwi provides. However if the live ISO deployment should not destroy existing data on the disk there is an alternative setup which uses grub\'s loopback support and puts the iso as a file on some partition of the disk. In this mode the kiwi-live dracut module failed to find the disk device and could not setup a persistent write partition.
* Fri Sep 14 2018 Marcus Schäfer - Bump version: 9.16.13 → 9.16.14
* Fri Sep 14 2018 Marcus Schäfer - Fixed spec template Directory delimiter missing in call for install_dracut target
* Fri Sep 14 2018 Marcus Schäfer - Bump version: 9.16.12 → 9.16.13
* Thu Sep 13 2018 David Cassany - Make use of kiwi/utils/sysconfig This commit makes use the sysconfig kiwi utility in order to read and eventually update the /etc/sysconfig/snapper file.
* Thu Sep 13 2018 David Cassany - Snapper configuration for btrfs quota support refactored This commit refactors the snapper configuration for btrfs quota support when btrfs_root_is_snapshot is enabled. The sysconfig file /etc/sysconfig/snapper is now taken into consideration. Fixes bsc#1093518
* Wed Sep 12 2018 Marcus Schäfer - Fixed overlay of intermediate config files Some config files e.g etc/hosts needs to be temporary copied from the buildsystem host to the image root system. This is done by a custom copy with the .kiwi extension and a symlink to that file. During the installation process the package manager either overwrites the file or creates a .rpmnew variant. In case a .rpmnew variant exists there is code in kiwi which restores that .rpmnew variant to become the real file. However that _restore_intermediate_config_rpmnew_variants() method runs after overlay files has been applied to the system because it\'s part of the final cleanup step. In order to preserve an eventual overlay version of the file the .rpmnew variant gets only restored if the real file does not exist. This Fixes #807
* Wed Sep 12 2018 Marcus Schäfer - Fixed dice documentation The chapter: Building in a Self-Contained Environment holds a fixed ruby version in the package install which was outdated. It also still referenced the container as tar.xz but we have changed to uncompressed containers by default a while back
* Tue Sep 11 2018 Marcus Schäfer - Fixed filesystem builder use of exclude list kiwi defines a global Defaults.get_exclude_list_for_root_data_sync method but it was not used in the scope of the filesystem builder. Thus this builder was missing the exclusion of the .buildenv file. This references Issue #422 and Fixes #814
* Wed Sep 05 2018 David Cassany - Enhance /etc/snapper/configs/root file parser
* Tue Sep 04 2018 David Cassany - Fix quota groups management when snapper is present
* Fixes the config file path if root is snapshot
* Uses the correct QGROUP=\"\" syntax
* Do not overwrite the config file if already present Fixes bsc#1093518
* Sat Aug 25 2018 Marcus Schäfer - Separate dracut module install by Makefile target The dracut modules like kiwi provides it should not be part of the default install target. If kiwi gets installed from source or via pip all dracut code gets installed on that system which is unwanted and in the worst case leads to boot trouble next time this system rebuilds its initrd via dracut. Therefore an extra Makefile target which is used in the spec of an rpm but not in the install target of setup.py is provided in this commit. As a consequence the installation from pip will not install any dracut modules on that system which is intentional. Installing from source requires to run make install_dracut which if called assumes the caller knows what he/she does :)
* Mon Aug 20 2018 Marcus Schäfer - Bump version: 9.16.11 → 9.16.12
* Mon Aug 20 2018 Marcus Schäfer - Follow up fix for skip_cleanup use make sure doc_travis tox target has created the manual pages such that the environment contains this data
* Mon Aug 20 2018 Marcus Schäfer - Bump version: 9.16.10 → 9.16.11
* Mon Aug 20 2018 Marcus Schäfer - Use skip_cleanup for deploy stage in travis We need the tox build environment to run the deployment
* Mon Aug 20 2018 Marcus Schäfer - Bump version: 9.16.9 → 9.16.10
* Mon Aug 20 2018 Marcus Schäfer - Follow up fix for deploy target Integration of man pages must be done as part of the sdist setup because the travis pypi deployment only uses the sdist target to bundle the sources
* Mon Aug 20 2018 Marcus Schäfer - Bump version: 9.16.8 → 9.16.9
* Mon Aug 20 2018 Marcus Schäfer - Fixed deploy target As part of the deploy process in travis a bundle to pypi is uploaded. The bundle is missing the compiled manual pages because the doc_travis stage did not create them.
* Wed Aug 08 2018 Marcus Schäfer - Bump version: 9.16.7 → 9.16.8
* Wed Aug 08 2018 Marcus Schäfer - Update pxe server setup documentation Delete the suggested modifications to /etc/sysconfig/atftpd and trust the defaults provided by the package
* Wed Aug 08 2018 Marcus Schäfer - Added support for system wide config file If there is no user specific config file we are also looking for a system wide /etc/kiwi.yml file
* Wed Aug 08 2018 David Cassany - use more meaningful variable names
* Tue Aug 07 2018 David Cassany - Fix baseStripUnusedLibs config method This commit arguments handling of the baseStripUnusedLibs that was not prepared to handle quoted variable containing a list. Fixes #798
* Tue Aug 07 2018 Marcus Schäfer - Added doc chapter for remote live boot
* Mon Aug 06 2018 Marcus Schäfer - Added support for pxe live boot via AOE The live ISO should support a network reference. We are using the Ata Over Ethernet protocol to achieve this. In combination with pxe boot of the kernel/initrd a live iso can boot from the network using the following parameter example: root=live:AOEINTERFACE:e0.1 rd.kiwi.live.pxe Export of the live iso file via AOE can be achieved using the vblade toolkit which needs to be available on the exporting system and compatible with the live operating system. This Fixes #796
* Mon Aug 06 2018 Marcus Schäfer - Run schema validation/update per XSL stylesheets
* Mon Aug 06 2018 Marcus Schäfer - Added XSL stylesheet to auto update schema Drop oem-ataraid-scan from oemconfig if specified
* Mon Aug 06 2018 Marcus Schäfer - Update vagrant doc chapter redirect links
* Mon Aug 06 2018 Marcus Schäfer - Drop oem-ataraid-scan from schema Along with the change we pin generateDS version to 2.29.14 because the newer version (2.29.19) creates broken python syntax for elements with a value list for their content like it\'s the case for the packagemanager element. The tool uses the name k.packagemanager.content as class name which is invalid for python.
* Mon Aug 06 2018 Marcus Schäfer - Delete dmraid aka: softraid soft/fakeraid support In fate#323743 the decision was made to drop dmraid from the distribution. Along with the low business case for those controllers and the support for linux softraid via mdadm we also drop the support in kiwi for oem-ataraid-scan
* Mon Aug 06 2018 Marcus Schäfer - Fixed unresolvables in EC2 integration build For some reason libyui-ncurses-pkg8 is gone now
* Mon Aug 06 2018 Marcus Schäfer - Fixed unresolvables in integration builds For some reason libyui-ncurses-pkg8 is gone now
* Wed Aug 01 2018 Marcus Schäfer - Bump version: 9.16.6 → 9.16.7
* Wed Aug 01 2018 Marcus Schäfer - update vagrant doc chapter per review by Tom
* Wed Aug 01 2018 Marcus Schäfer - Added vagrant setup chapter in the docs Document steps to create a vagrant box for the libvirt provider. Also provide information on provider support This Fixes #792
* Tue Jul 31 2018 Marcus Schäfer - Use xattr 0.9.3 Latest xattr is broken on pip
* Tue Jul 31 2018 Marcus Schäfer - Fixed make obs_test_status The helper script .obs_test_status looks up the build results from the integration tests. With the introduction of multibuild integration tests the script has to apply some modifications to get the correct results This is related to Issue #791
* Mon Jul 30 2018 Marcus Schäfer - Bump version: 9.16.5 → 9.16.6
* Mon Jul 30 2018 David Cassany - Fix result bundle command This commits fixes a regression introduced in 98c9c77a
* Mon Jul 30 2018 Marcus Schäfer - Bump version: 9.16.4 → 9.16.5
* Mon Jul 30 2018 Marcus Schäfer - Fixup validation of boottimeout attribute If boottimeout is set to zero it is evaluated as \"not set\" and the default applies. However it\'s a fairly well approach to set a zero second boot timeout. This Fixes #789
* Fri Jul 27 2018 David Cassany - Add build tests for CentOS
* Fri Jul 27 2018 David Cassany - Do not replace version from the image name This commit makes sure that replacing version to version plus the build id on resulting files happens only on version suffixes. Before that if image name was including the version string it, this part was also replaced. Fixes #787 (bsc#1102868)
* Fri Jul 27 2018 David Cassany - Extending result bundle task tests to better cover corner cases This commit adds some tests to better cover a couple of cases:
* image name contains the version of the image
* the file in result does not include the version
* Wed Jul 25 2018 Marcus Schäfer - Cleanup misleading error message In root_bind if the cleanup failed to remove a directory hierarchy the error message was just displaying the path as it would be on the host root and not based on the root of the image root tree.
* Tue Jul 24 2018 David Cassany - Modify python-yaml dependency for CentOS and RHEL 7 This commit fixes #785
* Fri Jul 20 2018 David Cassany - Do not run Codacy analysis on tests
* Thu Jul 19 2018 Marcus Schäfer - Fixup DiskFormatOva implementation The inheritance and super call concept used in this class destroys the OO design concept of loosely coupled code and also leads to a broken build because it bypasses the post_init constructor called by the base class
* Mon Jul 16 2018 David Cassany - Exclude tests in codacy analysis
* Mon Jul 16 2018 Marcus Schäfer - Bump version: 9.16.3 → 9.16.4
* Mon Jul 16 2018 Marcus Schäfer - Added grub2 module packages for GCE test build
* Mon Jul 16 2018 Marcus Schäfer - Fixup timezone and keytable setup for GCE build
* Mon Jul 16 2018 Marcus Schäfer - Second round of package fixes for GCE test build
* Mon Jul 16 2018 Marcus Schäfer - Update schema for GCE build test to latest version
* Mon Jul 16 2018 Marcus Schäfer - Fixup package list for GCE test build
* Mon Jul 16 2018 Marcus Schäfer - Added Google Compute Engine build test
* Mon Jul 16 2018 Marcus Schäfer - Deleted obsolete landscape setup Code quality is checked via codacy now
* Mon Jul 16 2018 Marcus Schäfer - Rebuild schema documentation
* Mon Jul 16 2018 Marcus Schäfer - Fixed building VMware images with pvscsi adapter Qemu does not natively support the pvscsi adapter type. However there is a VMware suggested procedure which allows to change the lsilogic setup to pvscsi inside of the DDB of a formerly created lsilogic configured image format. This patch implementes that procedure and Fixes bsc#1099569
* Mon Jul 16 2018 Marcus Schäfer - Rebuild schema documentation
* Mon Jul 16 2018 Marcus Schäfer - Bump version: 9.16.2 → 9.16.3
* Fri Jul 13 2018 Marcus Schäfer - Fixed name of checksum file for pxe type The pxe image build generates among others a checksum file with the suffix \'.md5\' This file is read by the legacy netboot code and is expected to have the same basename as the image file itself. However if the compressed attribute is set the image file name is set to \'image.xz\' and the checksum is named \'image.xz.md5\' which is wrong because \'image.md5\' is expected. This patch makes sure the checksum file is always set to \'image.md5\' no matter if the compressed flag is configured or not
* Fri Jul 13 2018 Marcus Schäfer - Fixed custom_args argument assignment in BootImage custom_args has been deleted from BootImageKiwi class but was still passed in the Factory
* Fri Jul 13 2018 Marcus Schäfer - Added runtime check for label use Added check_volume_label_used_with_lvm to check if custom volume labels are used in the scope of LVM
* Fri Jul 13 2018 Marcus Schäfer - Fixed GCE image file name In former times Google requires the image name to follow their naming conventions. However that seems to have changed and it is no longer required to match a certain pattern. Thus this patch changes the output name of the GCE tar file to use the same naming schema as KIWI applies to its output files
* Thu Jul 12 2018 David Cassany - Add codacy.yml config file
* Wed Jul 11 2018 David Cassany - Move from landscape.io to codacy.com
* Wed Jul 11 2018 David Cassany - Updated Travis check icon to forked project
* Wed Jul 11 2018 Marcus Schäfer - Support label attribute in volumes The optional label attribute in a volume section allows to specify a filesystem label for the selected volume. The label setup will have no effect on filesystems which implements their own volume management like it\'s the case for btrfs. This Fixes #738
* Wed Jul 11 2018 Marcus Schäfer - Update schema tron rules for btrfs type attributes The btrfs_
* attributes only applies for vmx and oem types
* Tue Jul 10 2018 Marcus Schäfer - Fixed some code smells
* Use of unused variables, and dangerous defaults
* Update of design patterns on pylint and landscape
* Fri Jul 06 2018 Marcus Schäfer - Add support for activation of btrfs quota groups If the new type attribute btrfs_quota_groups is set to true this will enable the quota group system for btrfs based systems. This Fixes #772 and bsc#1093518
* Fri Jul 06 2018 David Cassany - Improve coding style, tests and label format validation
* Fri Jul 06 2018 David Cassany - Add \'--add-container-label\' flag This commits adds a command line flag to add a label for container image types. The flag can be used multiple times. Fixes #770
* Wed Jul 04 2018 Marcus Schäfer - Added system cleanup methods Some files in the system gets created by services like systemd or zypper and are meant to be created once on the target system. However in the image they might be unwanted. Thus this commit adds convenience methods to delete files which gets automatically re-created by the services on startup. Whether or not the methods are used is in the responsibility of the author of the image descripion. This Fixes bsc#1098535
* Fri Jun 29 2018 Adrian Schröter - avoid double quoting of disturl in label (...=\"\'obs://...\'\"). avoid always printed warning of missing disturl make use of disturl variable
* Wed Jun 20 2018 Marcus Schäfer - Bump version: 9.16.1 → 9.16.2
* Wed Jun 20 2018 Marcus Schäfer - Simplify configfile loading prefix and root variables are correctly set, thus calling the \"normal\" command has the same effect than the explicit call for \"configfile\"
* Tue Jun 19 2018 Marcus Schäfer - Prevent building custom efi image If the distribution provides a prebuilt efi image kiwi should use it instead of building its own image.
* Wed Jun 13 2018 Marcus Schäfer - Bump version: 9.16.0 → 9.16.1
* Wed Jun 13 2018 Marcus Schäfer - Avoid module loading in grub config template This patch is two fold. First part replaces the import of dedicated video modules in the grub image by the all_video module. Second part avoids runtime module insertion which requires access to the boot filesystem which is not guaranteed on sophisticated rootfs structures like btrfs plus readonly snapshots and what not. Thus we make sure all boot code is embedded into the grub image(s) and no extra loading of modules at runtime will be needed. This Fixes bsc#1096937
* Tue Jun 12 2018 David Cassany - Fix for bsc#1094788 This is just an empty commit to include the bugfix reference in the repository history. The bugfix for bsc#1094788 was actually commited in: commit 835cebfe5c488515dfbcdf33dab6262613ca5508 Author: Marcus Schäfer Date: Tue May 29 16:42:55 2018 +0200
* Tue Jun 12 2018 Marcus Schäfer - Complete GUID change from signed to unsigned Follow up fix to complete the binary packing of the GUID format to use unsigned types. Missed to move short source from signed to unsigned. This Fixes bsc#1095267
* Wed Jun 06 2018 Neal Gompa - Use the versioned Python interpreter path to run build helper scripts The kiwi build process mostly does the right thing in terms of executing with the correct Python interpreter throughout the build process, with the exception of the Makefile not correctly locating the versioned Python interpreter executable path, and the bash completion generator being executed using \'/usr/bin/python\' without regard for what the target environment was. This is a problem when a build environment complying with PEP 394 as it stands today does not have Python 2 installed, such as when kiwi is being built as a Python 3-only package in Fedora. Thus, the Makefile has been adjusted to not only correctly locate the versioned Python interpreter, but to also execute \'completion_helper\' with the correct interpreter. Additionally, a trivial change to the shebang to \'completion_helper\' was made to be consistent with other Python-based build helper scripts. This is part of the overall effort to eliminate the dependencies on Python 2 in Fedora. Reference: https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
* Wed Jun 06 2018 Marcus Schäfer - Bump version: 9.15.4 → 9.16.0
* Wed Jun 06 2018 Marcus Schäfer - Move fedora integration test build to fc28 distro
* Tue Jun 05 2018 Marcus Schäfer - Bump version: 9.15.3 → 9.15.4
* Tue Jun 05 2018 Marcus Schäfer - Fixup move_to_root method move_to_root is called to check each element of a given list and changes any path specification to a valid path if the given root path would be it\'s root(/). This tranformation implied the creation of paths containing double slashes like //foo which was considered harmless. However it has turned out that the dnf package manager makes a difference here which requires to fix the resulting paths. This Fixes #761
* Mon Jun 04 2018 David Cassany - Adding license tag under description tag in schema This license tag does not effect the resulting image in any way. The tag is just included to state the license of the kiwi image sources in case they are distributed. Fixes #728
* Mon Jun 04 2018 Marcus Schäfer - Make sure profile env is included in live images For all images which boots via dracut the .profile file is included except for live iso\'s because no information is needed from that file to boot or customize the boot. However the .profile contains the kiwi_revision information which is useful for any image type. This Fixes #755
* Mon Jun 04 2018 Marcus Schäfer - Add config-cdroot to description import list During the prepare step the image description and mandatory files needed in the create step are copied into the image root system below the image/ directory. In case of the optional config-cdroot archive this copy action was missing which lead to the problem that the archive was not present if the kiwi system create command is sequence is used. This Fixes #756
* Mon Jun 04 2018 Marcus Schäfer - Added true module to grub image list When kiwi creates a grub image a list of modules are embedded. For the purpose of snapshot boot the true module seems to be used but was not included at build time when kiwi created the grub image. This Fixes bsc#1093917
* Mon Jun 04 2018 Marcus Schäfer - Changed GUID format from signed to unsigned With reference to Microsoft Guid constructors it seems unsigned values are allowed which could exceed the value range of the binary unpack used in kiwi. This Fixes bsc#1095267
* Fri Jun 01 2018 David Cassany - Fix SC2164 complain of shellcheck
* Thu May 31 2018 David Cassany - Updating shellcheck call from tox Recent shellcheck versions are more strict and complain about backslashes \"\\\" used in literals claiming it is preferred to use double backslashes \"\\\\\". As is just a styling advise and we use backslashes in multiple commands (echo, sed, etc) I believe this can be ignored.
* Wed May 30 2018 David Cassany - Relax runtime check for ISO images using dmsquash This commit relaxes the dracut-kiwi-live module requirement if dmsquash dracut module is selected in flags attribute.
* Tue May 29 2018 Marcus Schäfer - omit multipath module in live iso initrd The multipath module creates device maps which puts the device in a busy state and prevents the creation of a persistent write partition. As multipath seems never useful for the root of a live iso image we generally omit this module from being included
* Tue May 29 2018 Marcus Schäfer - Fixup LOADER_LOCATION in sysconfig/bootloader By default we always set LOADER_LOCATION=mbr which is wrong if EFI is in use. This patch updates the value to be correct. It also seems that this variable is only consumed by the yast2 bootloader module from past days. Thus we consider it obsolete and on the to be droped list in future releases. This Fixes #746
* Tue May 29 2018 Marcus Schäfer - Bump version: 9.15.2 → 9.15.3
* Mon May 28 2018 Marcus Schäfer - Fix setup of LOADER_TYPE in sysconfig/bootloader LOADER_TYPE value for the grub2 bootloader depends on the use of EFI. This Fixes bsc#1094883
* Mon May 28 2018 Marcus Schäfer - Added documentation for config-cdroot archive
* Mon May 28 2018 Marcus Schäfer - Added support for config-cdroot archive The image description now allows an optional file named: config-cdroot.tar[.compression_postfix]. The file gets unpacked as user data for live and install ISO images. This allows users to add e.g license files or reference documentation to the ISO image. This Fixes #737
* Mon May 28 2018 David Cassany - Verify file does not exist before creating symlink
* Mon May 28 2018 David Cassany - Add service dependencies in generators Correctly adding the initrd-root-fs.target service dependency to auto generated sysroot.mount for kiwi-live and kiwi-overlay dracut modules. Fixes #741
* Mon May 28 2018 Marcus Schäfer - Do not create static dev nodes in root init For compatibility reasons kiwi created a set of static device nodes when initializing a new image root system. With the presence of devtmpfs this should no longer be needed. In addition the static dev node setup now also causes problems on filesystems like btrfs which was the reason to delete this code now. This Fixes bsc#1087104
* Thu May 24 2018 David Cassany - Do not delete uncompressed base docker images Fixes #739
* Wed May 16 2018 Marcus Schäfer - Bump version: 9.15.1 → 9.15.2
* Wed May 16 2018 David Cassany - Fix zypper add lock operations This commit fixes the arguments passed to zypper in add lock operations.
* Tue May 15 2018 David Cassany - Add correct GPL-3.0-or-later license Add the correct license reference in the spec License field Fixes #732
* Tue May 15 2018 Marcus Schäfer - Make container compression a configuration option Change the ContainerBuilder class to evaluate on the configuration options to decide if the container archive should be compressed or not. By default the archive will be compressed, thus there is no change to the former behavior but can be setup in ~/.config/kiwi/config.yml as follows: container: - compress: none|xz This Fixes #725
* Tue May 15 2018 Marcus Schäfer - Return file name after archive or compression call Extend the ArchiveTar and Compress classes such that their archiving and compression methods returns the result file name after the operation
* Tue May 15 2018 Marcus Schäfer - Allow docker root import from uncompressed file Check the given file name for its compression format and only uncompress if a supported format could be detected. This Fixes #730
* Mon May 14 2018 David Cassany - Add additionaltags containerconfig attribute This commit adds `additionaltags` attribute, so multiple tags to a container image can be defined in a comma separated value. Fixes #713
* Wed May 09 2018 Marcus Schäfer - Bump version: 9.15.0 → 9.15.1
* Wed May 09 2018 David Cassany Viladomat - Add a chapter for uninstall package requests in docs (#726) Add a chapter for uninstall package requests in docs
* Tue May 08 2018 Marcus Schäfer - Update arm integration test Existing panda build was outdated and non functional. Move the test to a more popular target and write the image description to use technology matching the suse arm development effort. Target is now Rpi(64bit)
* Tue May 08 2018 Marcus Schäfer - Use latest version of sphinx Formerly sphinx==1.6.7 was used because travis-sphinx failed with latest sphinx. Now travis-sphinx fails with 1.6.7 and I hope using latest sphinx will fix that
* Tue May 08 2018 Marcus Schäfer - Bump version: 9.14.7 → 9.15.0
* Mon May 07 2018 David Cassany - Add comment in pinch_system calls
* Mon May 07 2018 David Cassany - Refining the uninstall type implementation
* Fri May 04 2018 David Cassany - Add uninstall pacakges type This commit adds a new `uninstall` type for packages. Packages listed with this type will be removed by the package manager cleaning also any unneeded dependency. The removal is executed after running `config.sh`. Also in this commit `delete` type for packages is now executed after `uninstall` packages, meaing it also happens after `config.sh`. Fixes #625
* Fri May 04 2018 Marcus Schäfer - Bump version: 9.14.6 → 9.14.7
* Fri May 04 2018 David Cassany - Some simple code cleaning
* Fri May 04 2018 Marcus Schäfer - Fixed check for volume group in use The former implementation evaluates the output of the vgs command and set the volume group as in use if one of the listed volume groups on the host contains the group name set by the image description. This would also match if the group name set in the image description is e.g \'System\' and the a volume group on the host with name \'SystemVG\' exists. However a conflict only exists on exact match of the name. The proposed fix is to use the --select feature from vgs and let it show information on exact match of the vg_name field. The code in kiwi then just evaluates if the selection by vgs has a value or not. This Fixes #721
* Fri May 04 2018 Marcus Schäfer - Fix setup of kiwi_lvm profile variable kiwi_lvm was always set to true if a volume management system is in use. However it should only be set to true if the selected volume management system is lvm. The same applies to the kiwi_lvmgroup variable which also only makes sense if the lvm volume management system is used. This Fixes bsc#1090427
* Mon Apr 30 2018 Marcus Schäfer - Bump version: 9.14.5 → 9.14.6
* Thu Apr 26 2018 Marcus Schäfer - Extend test-image-azure integration test Use xfs as filesystem and set a tag to also test image tags
* Thu Apr 26 2018 Marcus Schäfer - Use /dev/zero to really write a zero byte The cleanup of the 512 byte block for the vhdfixed tag was based on reading from /dev/null which does effectively nothing. As the block should be filled with zero bytes this patch changes the source from /dev/null to /dev/zero This was found by tests to reproduce the issue reported in bsc#1090953 but is not causing it
* Tue Apr 24 2018 David Cassany - Add test for the utils class StringToSize This commit adds a couple of unit tests for the StringToSize class.
* Tue Apr 24 2018 Marcus Schäfer - Bump version: 9.14.4 → 9.14.5
* Tue Apr 24 2018 Marcus Schäfer - Run doc target in travis test stage
* Tue Apr 24 2018 Marcus Schäfer - Fixup doc conf.py Do not load kiwi logging which is unneeded and causes many superfluous messages on the console when sphinx build runs
* Tue Apr 24 2018 Marcus Schäfer - Fixup docstring warning from sphinx build
* Tue Apr 24 2018 Marcus Schäfer - Fixup travis unit test stages Build docs in deployment stage only
* Tue Apr 24 2018 Marcus Schäfer - Include doc_travis_deploy in travis deploy stage
* Tue Apr 24 2018 Marcus Schäfer - Fixed syntax errors shown by travis lint
* Tue Apr 24 2018 Marcus Schäfer - Revert \"Fixup travis.yml\" This reverts commit 79ccbdff394e2aba4f1e8fb6390a9a8e0d1925e2.
* Tue Apr 24 2018 Marcus Schäfer - Revert \"Yet another try to get travis stages correct\" This reverts commit aca057c3554795b79c651f63a58967138d00f3c8.
* Tue Apr 24 2018 Marcus Schäfer - Yet another try to get travis stages correct
* Tue Apr 24 2018 Marcus Schäfer - Fixup travis.yml Looks like empty lines are not allowed
* Tue Apr 24 2018 Marcus Schäfer - Revert \"Clearly separate unittest stage from deployment\" This reverts commit 5fd27924c931b6b60903b0015d0a8cf31cf499f7.
* Tue Apr 24 2018 Marcus Schäfer - Bump version: 9.14.3 → 9.14.4
* Mon Apr 23 2018 David Cassany - Some improvements on size calculation This commit simplifies the unpartitioned area size calculation. Fixes #709 and it is related to fate#323874
* Mon Apr 23 2018 Marcus Schäfer - Clearly separate unittest stage from deployment
* Fri Apr 20 2018 Marcus Schäfer - Use travis stages feature for pypi deployment Problem ist that the deploy section is called for every item in the former matrix: setup. This means the pypi upload was triggered twice for the same archive which means one target always fails. In order to deploy only once travis provides a stages feature which is used in this commit
* Fri Apr 20 2018 Marcus Schäfer - Bump version: 9.14.2 → 9.14.3
* Fri Apr 20 2018 David Cassany - Adding unpartitioned size attribute This commit adds the possibility of setting some unpartitioned area after the systemdisl partition into the image. Fixes #709
* Fri Apr 20 2018 Marcus Schäfer - Fixed creation of machine settings file If no vmnic setup is present a request to iterator over a NoneType object is attempted and failed. This Fixes #710
* Thu Apr 19 2018 David Cassany - volume_manager API docs cleanup
* Thu Apr 19 2018 David Cassany - repository API docs cleanup
* Thu Apr 19 2018 David Cassany - system API docs cleanup
* Wed Apr 18 2018 David Cassany - package_manager API docs cleanup
* Wed Apr 18 2018 David Cassany - build API docs cleanup
* Wed Apr 18 2018 Marcus Schäfer - Fixed docstring :rtype: values In Python the string type name is str not string
* Tue Apr 17 2018 David Cassany - Cleanup of the iso_tools API docs
* Tue Apr 17 2018 David Cassany - Cleanup of the utils API docs
* Tue Apr 17 2018 Marcus Schäfer - Cleanup api doc strings This cleans up and fixes the api documentation for the public interface of the projects boot source code files and Fixes #700
* Tue Apr 17 2018 David Cassany - Cleanup of the solver API docs
* Tue Apr 17 2018 Marcus Schäfer - Fixup docstring typos per review
* Tue Apr 17 2018 Marcus Schäfer - Cleanup api doc strings This cleans up and fixes the api documentation for the public interface of the projects storage source code files and Fixes #698
* Mon Apr 16 2018 Marcus Schäfer - Fixup download url in setup.py Better point to installable packages. This Fixes #702
* Wed Apr 11 2018 Marcus Schäfer - Cleanup api doc strings This cleans up and fixes the api documentation for the public interface of the projects toplevel source code files and Fixes #697
* Tue Apr 10 2018 Marcus Schäfer - Fixup creation of vmware settings file The kiwi schema allows for multiple vmnic sections but kiwi only took the primary one into account. This patch uses all configured vmnic sections. This Fixes #688
* Tue Apr 10 2018 Marcus Schäfer - Support lookup for fstab.append on fstab creation At the time kiwi creates the fstab with all required fields to boot the system it now also looks for an optional fstab.append file and appends its contents to the fstab file. This allows to setup custom fstab entries for filesystem mounts which are established outside of the kiwi image building process by e.g a service at first boot
* Tue Apr 10 2018 Marcus Schäfer - Add auto release to pypi on release tags This will automatically release kiwi on pypi if a new tag in master is set. This happens when bumpversion is called followed by a push and push --tags. Only if the tag is pushed the travis deployment gets triggered. This Fixes #678
* Mon Apr 09 2018 Marcus Schäfer - Change variable quoting for Rm/Rpm shell helpers The two methods exists to overlay their call with a logging facility. Thus it is ok and expected that the caller can pass arguments for the program e.g (Rm -rf foo) which resulted in (rm \'-rf foo\') leading to a runtime error.
* Mon Apr 09 2018 Marcus Schäfer - Bump version: 9.14.1 → 9.14.2
* Fri Apr 06 2018 David Cassany - Fix default initrd_system values This commit fixes the default initrd_system value for some image types. Since this value is included in profile and potentially taken into account for some of the config script functions, it is important to have consistent values even when the image type has no initrd choice or it doesn\'t have initrd at all. Related to #689
* Fri Apr 06 2018 Marcus Schäfer - Check partition table after cow part creation Proceed with the persistent write partition setup only if the cow partition could have been created successfully
* Thu Apr 05 2018 Marcus Schäfer - Fixed detection of disk node in live iso images If the live iso is booted as disk the initrd code needs to find the correct disk node pointing to the iso image. This was formerly done by checking if the populated disk devices contains an iso header with an application id. The information was obtained using the isoinfo tool. isoinfo is a tool provided by the obsolete and xorriso replaced cdrtools kit. In addition the lookup was unsafe because any iso with an application id would have been valid. Thus this patch changes the detection mechanism to use the volume id as it is used in the root assignment on the cmdline. The volume id is populated as device label for the assigned block device and can therefore be used as a unique id. The volume id itself is a configuration option in the image XML description. If not set the default is \'CDROM\'. The information can be obtained via blkid and therefore also eliminates the isoinfo requirement
* Wed Apr 04 2018 Marcus Schäfer - Fixup test-image-docker unresolvable state genisoimage seems no longer present in the distro
* Wed Apr 04 2018 Marcus Schäfer - Update etc/default/grub setup kiwi writes optional grub boot parameters to the GRUB_CMDLINE_LINUX variable in default/grub. This information is then picked up by grub2-mkconfig and written to grub.cfg However there is also another variable named GRUB_CMDLINE_LINUX_DEFAULT which according to the documentation should be used preferably. While it does not seem to matter for grub it matters for yast. Thus this patch changes the configuration variable and fixes bsc#1084117
* Tue Apr 03 2018 Marcus Schäfer - Bump version: 9.14.0 → 9.14.1
* Tue Apr 03 2018 Marcus Schäfer - Fixed truncation of image when writing vhd tag When writing the vhd tag into a vhdfixed formatted image the image was opened with the wrong open bits \'wb\' and thus was truncated at the 64k offset. This patch fixes the open bits to allow in-place tag writing. This Fixes bsc#1077096
* Tue Apr 03 2018 David Cassany - Make use of autoremove in Yum and Dnf to clean dependencies
* Wed Mar 28 2018 David Cassany - Enable no forced deletion for dnf, yum and apt package managers This commit makes apt, yum and dnf support equivalent to zypper in terms of being capable to delete packages using the package manger tools (implies dependencies deletion is handled by the package manager) or deleting explicitly only listed packages using packager tools even if this implies breaking dependencies.
* Tue Mar 27 2018 Guilherme - fix vmx fileName parameter, bsc#1084157
* Fri Mar 23 2018 Marcus Schäfer - Update schema version in free schema doc generator
* Fri Mar 23 2018 Marcus Schäfer - Update schema version in headline of doc chapter
* Fri Mar 23 2018 Marcus Schäfer - Bump version: 9.13.9 → 9.14.0
* Fri Mar 23 2018 Marcus Schäfer - Rebuild online schema documentation
* Fri Mar 23 2018 Marcus Schäfer - XSL Auto update descriptions due to schema change
* Fri Mar 23 2018 Marcus Schäfer - Delete obsolete hybrid attribute from type Any iso image we create will be a hybrid image. That was already the default for any install iso image and was a configuration option for live images. The optional selection only existed for systems which do not provide tools to make an iso hybrid. All distributions kiwi supports provides this capabilities and there is no good reason why a live or install iso should not be hybrid and bootable as iso and as disk. Also the boot in disk mode became the preferred boot method for the majority of our users which requires to provide a hybrid iso
* Thu Mar 22 2018 David Cassany - Add efiparttable type attribute This commit allows to choose the partition table type for efi firmwares using the efiparttable type attribute. Fixes #638
* Thu Mar 22 2018 Marcus Schäfer - Update spec file to require xorriso
* Thu Mar 22 2018 Marcus Schäfer - Cleanup hybrid call and use of iso tool options The extra isohybrid call is only needed if the mkisofs tool category is used. Thus it should be only visible at the place where the isofs is created and not as an extra step in the builder tasks. Additionally the handling of extra options was mkisofs specific and should be better done as a common meta_data record. The tool specific options should only appear in the tool specific class implementations
* Thu Mar 22 2018 Marcus Schäfer - Allow to configure iso tool category Switch to xorriso by default but allow to setup cdrtools in the runtime configuration file
* Wed Mar 21 2018 David Cassany - Remove xml_parse.py shebang in spec It removes the shebang from the autogenerated file and also removes the exception in rpmlint to ignore non-executable-script warning. Fixes #666
* Mon Mar 19 2018 David Cassany - Remove unneeded shebangs from dracut modules Fixes #668
* Mon Mar 19 2018 Marcus Schäfer - Added IsoToolsXorrIso class As an alternative to mkisofs/genisoimage there is now the IsoToolsXorrIso class which implements the IsoTools interface by using xorriso. This Fixes #635
* Mon Mar 19 2018 Marcus Schäfer - Update package MANIFEST.in Include new iso_tools directory
* Fri Mar 16 2018 Marcus Schäfer - Added iso_tools api documentation
* Fri Mar 16 2018 Marcus Schäfer - Add list_iso method to iso_tools api
* Fri Mar 16 2018 David Cassany - Update FSF address The address has been taken from the header example published here https://www.gnu.org/licenses/old-licenses/gpl-2.0.html Fixes #667
* Fri Mar 16 2018 Marcus Schäfer - Add create_iso method to iso_tools api
* Thu Mar 15 2018 Marcus Schäfer - Seperate iso tool handling into its own namespace The Iso class only provides generic helper methods around the creation of ISO filesystems. For the creation of the filesystem itself we encapsulate the tool parameter handling into its own class. For the option compatible mkisofs/genisoimage tools the IsoToolsCdrTools class exists. This allows to create e.g IsoToolsXorrIso class as a future implementation
* Thu Mar 15 2018 Marcus Schäfer - Refactor iso helper tools There are several tools available to build iso images. genisoimage, mkisofs and also xorriso. The history of the tools shows them to be used in the range of available Linux distributions. Thus kiwi contains an abstraction layer to support them but assumed they are option compatible. With the xorriso implementation this is no longer correct and therefore a refactoring of the iso tools api is required before support for xorriso can be added. This references Issue #635
* Wed Mar 14 2018 David Cassany - Make build type mandatory in XMLState
* Wed Mar 14 2018 David Cassany - kiwi_inode_size value is no longer hardcoded in more than one place
* Wed Mar 14 2018 David Cassany - Add warning message for dasd
* Wed Mar 14 2018 David Cassany - Rearrange defaults and some comments
* Wed Mar 14 2018 David Cassany - Rearrange variable start_sector attribute to be a Partitioner attribute
* Tue Mar 13 2018 David Cassany - Add disk_start_sector type attribute This commit adds the disk start sector attribute to configure the first disk sector for the first partition of the disk. Fixes #575
* Tue Mar 13 2018 Marcus Schäfer - Rebuild online schema documentation
* Tue Mar 13 2018 Marcus Schäfer - Bump version: 9.13.8 → 9.13.9
* Tue Mar 13 2018 Marcus Schäfer - Bump version: 9.13.7 → 9.13.8
* Tue Mar 13 2018 Marcus Schäfer - Fixed base package requires kpartx is used by kiwi but was not required in spec
* Tue Mar 13 2018 Marcus Schäfer - Update gitignore Do not manage changes in .pytest_cache
* Tue Mar 13 2018 Marcus Schäfer - Tell plymouth to quit only if a dialog is called In case of a dialog kiwi uses the dialog program which conflicts with the plymouth splash system. Thus we tell plymouth to stop This patch changes the request to be send to plymouth prior to a dialog call and not in general
* Mon Mar 12 2018 Marcus Schäfer - Bump version: 9.13.6 → 9.13.7
* Mon Mar 12 2018 Marcus Schäfer - Update bootloader console for oem test image Set bootloader_console=\"serial\" for the oem test image to allow testing in the Kanku CI
* Mon Mar 12 2018 David Cassany - Add profile dependencies With this commit the profile can include other profiles as a dependency. This way it is possible build an image defined by multiple profiles by just calling a single composed profile from the command line. Fixes #658
* Mon Mar 12 2018 Marcus Schäfer - Bump version: 9.13.5 → 9.13.6
* Fri Mar 09 2018 Marcus Schäfer - Disable multipath from oem build test
* Fri Mar 09 2018 Marcus Schäfer - Fixup setup of root_filesystem_is_multipath The variable is set to a boolean value or None. If set to False due to a configuration of oem-multipath-scan this will cause the dracut multipath module to be omitted. In any other case the presence of the multipath module decides whether it will be included into the dracut generated initrd or not.
* Fri Mar 09 2018 Marcus Schäfer - Fixup python-kiwi base package requires There is no need for the base package to require multipath. Those tools are only needed for dracut modules
* Thu Mar 08 2018 Marcus Schäfer - Use dracut modules based on feature use As the kiwi build dracut initrd is a generic one which includes all installed dracut modules we missed a way to exclude modules from beeing incorporated even if we know it would not be needed. One example is the multipath module which would only be useful if the oem multipath scan is configured in the image description
* Wed Mar 07 2018 Marcus Schäfer - Update test-image-oem build Create hostonly dracut initrd on first boot and replace kiwi\'s grub config by the result of grub2-mkconfig
* Wed Mar 07 2018 Marcus Schäfer - Delete invalid motd file from build tests
* Wed Mar 07 2018 Marcus Schäfer - Prepare test-image-oem build test for Kanku Activate unattended mode and preselect the installation target Also specify a fixed swapsize value to be independent of the host main memory which is used to calculate swap if no size is specified
* Tue Mar 06 2018 Marcus Schäfer - Bump version: 9.13.4 → 9.13.5
* Tue Mar 06 2018 Marcus Schäfer - Fixed btrfs search path in earlyboot script If kiwi generates its own efi image for the boot process it does not setup the btrfs relative path setup in the earlyboot script embedded into the generated efi image. This has a bad impact on the file search because the btrfs setup done in kiwi puts root below the AATT volume which we then need to specify of the relative lookup is not activated. Fixes bsc#1082155
* Tue Mar 06 2018 Marcus Schäfer - Bump version: 9.13.3 → 9.13.4
* Mon Mar 05 2018 David Cassany - Use LABEL for the swap partition If multipath and device maps are active the fstab entry should use the LABEL reference. Systemd calls swapon and it only works properly with multipath devices when LABEL reference is used or calling directly on the /dev/dm-
* device file.
* Sat Mar 03 2018 Marcus Schäfer - Bump version: 9.13.2 → 9.13.3
* Fri Mar 02 2018 Marcus Schäfer - The order of the options for mkisofs matters Setting -eltorito-platform after -b causes mkisofs to fail
* Fri Mar 02 2018 Marcus Schäfer - Resize partition table after image resize The command \'kiwi image resize\' allows to resize the size of a disk image. Depending on the partition table type it is also required to resize the partition table inside of the image to let the file size change become effective This Fixes #534
* Fri Mar 02 2018 Michal Marek - APT: Support patternType in the bootstrap phase With patternType=\"onlyRequired\" (the default), run debootstrap with - -variant=minbase to install only essential packages. With patternType=\"plusRecommended\", let debootstrap also install important packages. This is not exactly what the patternType keyword means with other targets, but it allows to choose between an absolutely minimal image and a small but usable system.
* Fri Mar 02 2018 Marcus Schäfer - Bump version: 9.13.1 → 9.13.2
* Fri Mar 02 2018 David Cassany - Reactivate device mappings after repart. Fixes #645 This commit recreates removed device maps and triggers again systemd generators in order to adapt again device units to the new context. Fixes #645
* Fri Mar 02 2018 Marcus Schäfer - Refactor ovftool check The way this was done mask errors from the call with the check if the tool exists on the host. This patch refactors this and makes clear where we check for the tool to be installed and where we actually call it
* Fri Mar 02 2018 Marcus Schäfer - Extend has_option_in_help to also check error data
* Thu Mar 01 2018 Marcus Schäfer - Check if isotool supports eltorito-platform option Along with the change there is a small refactoring to populate the iso tool search to the public api of the Iso class
* Thu Mar 01 2018 Marcus Schäfer - Set eltorito-platform for efi The default eltorito platform is set to \"x86_64 PC\", however in an alternative bootloader spec for efi this would be the wrong platform spec. This patch adds the correct platform to the alt-boot setup for efi. References #643
* Wed Feb 28 2018 Marcus Schäfer - Fixup obs test status helper Use osc results output to get better status information
* Wed Feb 28 2018 Marcus Schäfer - Fixed get_free_disk_bytes in dracut kiwi-lib The method used any device from the lsblk output, but it can happen that some device nodes with different name point to the same physical device. The method would then calculate the free space wrong. This patch takes the PARTUUID value into account to make sure any partition device size is used only once. This Fixes #648
* Tue Feb 27 2018 Thomas Schraitle - Use pytest instead of py.test From pytest 3.0, it is recommended to use \"pytest\" as the main command. The use of \"py.test\" is deprecated and is potentially removed in the future.
* Tue Feb 27 2018 Marcus Schäfer - Update tox setup Add python 3.6 target and activate it for the travis and the local make targets Use major python version for the check(flake) and doc targets where the interpreter minor version is not primarily important This references #641
* Tue Feb 27 2018 Marcus Schäfer - Update yast setup documentation Incorporate changes per review by Tom
* Mon Feb 26 2018 Marcus Schäfer - Fixed oem build test bind-utils explicitly required for obs to be able to resolve the package dependencies
* Mon Feb 26 2018 Marcus Schäfer - Bump version: 9.13.0 → 9.13.1
* Mon Feb 26 2018 Marcus Schäfer - Only delete sub path if not empty
* Mon Feb 26 2018 Marcus Schäfer - Fixed package lists for azure and ec2 build tests
* Mon Feb 26 2018 Marcus Schäfer - Reference commit for bugzilla With regards to the changes done in Issue #637 this commit just creates a reference to a related bug bsc#1082163
* Fri Feb 23 2018 Marcus Schäfer - Cleanup config functions shell coding
* Fri Feb 23 2018 Adam Majer - Use mkisofs instead of wodim
* Fri Feb 23 2018 Marcus Schäfer - Delete obsolete/unused methods
* Fri Feb 23 2018 Marcus Schäfer - Add functions.sh to shellcheck
* Fri Feb 23 2018 Marcus Schäfer - Added doc page how to setup yast on firstboot
* Thu Feb 22 2018 Marcus Schäfer - Allow arch attribute for profiles specification A profile could be relevant for only a specific architecture. There was no way to express that in the XML description. With the change in this commit a specification like the following is possible: Profile A is only usable on the aarch64 architecture, whereas profile B would be usable on all architectures.
* Selecting an arch specific profile from the commandline via the --profile option on a system which is not of that architecture will result in an error message.
* Using the import=\"true\" attribute in the definition for an arch specific profile will cause the import of that profile only on that architecture and silently ignore the import on any other architecture This Fixes #637
* Thu Feb 22 2018 Marcus Schäfer - Update build-test descriptions for Kanku As part of the buildservice there is now also a CI system called Kanku which allows for image boot/run tests. The only requirement on the image level which is missing in our build test descriptions is the setup of the serial console. This patch updates those image descriptions which could be tested by kanku to provide a serial console at boot time. The plan is that our build-test images automatically gets boot tested by the Kanku CI. This should include boot, console-login, reboot, console login, shutdown. The required job description to do this needs to be worked out together with the Kanku team
* Tue Feb 20 2018 David Cassany - Adding publisher attribute for ISOs This commit adds the \'publisher\' attribute in type only for ISO image type. It sets the publisher name of the resulting ISO. Fixes #630
* Tue Feb 20 2018 Marcus Schäfer - Fixed yum vs. yum-deprecated binary lookup When using the yum package manager it could be either provided as yum or yum-deprecated binary. Because of this the search method to find the binary needs to know the context from which the call is performed. This could be either the host system or the created image root. This Fixes #624
* Tue Feb 20 2018 Michal Marek - APT: Run debootstrap with --variant=minbase This selects only packages with Priority: required, which is more in line with what the other package managers are doing. A patch for kiwi-descriptions has been submitted to adapt to this new behavior.
* Fri Feb 16 2018 Marcus Schäfer - Bump version: 9.12.9 → 9.13.0
* Fri Feb 16 2018 Alexander Graf - Do not emit linuxefi/initrdefi on non-x86 platforms Grub wants to have linuxefi/initrdefi commands to execute Linux via the UEFI calling convention on x86. However, all other platforms simply use the normal linux/initrd commands, because there grub assumes that an EFI grub wants to run an EFI payload. Reflect this architecture difference in the generated grub configuration. Signed-off-by: Alexander Graf
* Thu Feb 15 2018 Marcus Schäfer - Fixup grub2 theme setup The presence of a background file was mandatory for kiwi to use the theme. But the background information is optional
* Wed Feb 14 2018 Marcus Schäfer - Deleted obsolete boot descriptions The custom kiwi boot descriptions has been moved into the kiwi-descriptions github repo and builds the compat package kiwi-boot-descriptions from there. The build of the boot image(initrd) is done by dracut and the dracut module packages provided by kiwi. The classic custom boot descriptions can still be used as alternative method if the above package is installed. Related to Issue #576
* Tue Feb 13 2018 Marcus Schäfer - Create compatible boot options The boot option root=install:CDLABEL= is mandatory for install images which uses the dracut initrd system. But for the custom kiwi oemboot descriptions this is causing a problem when detecting the install device. Thus the above boot option is only applied for the initrd system which actually makes use of it
* Tue Feb 13 2018 Marcus Schäfer - Update boot description search path With the move of the boot descriptions in its own package the kiwi search path needs to be adapted to look for boot descriptions in /usr/share/kiwi/custom_boot. In addition a runtime check to exit early if the boot description could not be found or is not specified will be provided. Related to Issue #576
* Tue Feb 13 2018 David Cassany - Update the docs to the current example present in kiwi-descriptions
* Mon Feb 12 2018 Marcus Schäfer - Bump version: 9.12.8 → 9.12.9
* Mon Feb 12 2018 Marcus Schäfer - Update .virtualenv.dev-requirements.txt sphinx 1.7.0 is not compatible with travis-sphinx thus we stick with 1.6.7 until travis-sphinx followed the sphinx changes
* Mon Feb 12 2018 Marcus Schäfer - Add restrictions to Path.remove_hierarchy When an iso file is used as repo, this iso will be loop mounted on the host and bind mounted into the image root as long as the image builds. When the mount is released a recursive cleanup of the complete path happens. This is done by calling Path.remove_hierarchy. However if a sub path of the mount path contains a system root directory which is mandatory for the Linux root system it is not allowed to be deleted even if it is empty at the time of the mount cleanup. Thus this patch adds a lookup for protected directory names and only runs the recursive deletion as long as no protected member is part of the path. This fixes bsc#1080301
* Sun Feb 11 2018 Neal Gompa - Initial support for building Debian/Ubuntu packages in spec This adds support for producing the main kiwi package as well as the packages for the dracut modules to be used when building Debian-based distribution images with KIWI. The Debian/Ubuntu package is built using debbuild: https://github.com/ascherer/debbuild
* Fri Feb 09 2018 Marcus Schäfer - Fixed build_pxe_root_filesystem documentation The article still used filename references from v7 code stream This patch updates the docs to match the sources it refers to
* Wed Feb 07 2018 Marcus Schäfer - Update dropped features documentation The information on the partition based install method was unclear and misleading. This patch clarifies the documentation in this regard
* Wed Feb 07 2018 Marcus Schäfer - Delete obsolete ovf format value Support for ova has been added which makes the ovf format value obsolete and redundant
* Tue Feb 06 2018 Michal Marek - OVA: Print a user-friendly message if ovftool is not available
* Tue Feb 06 2018 Michal Marek - OVA: Require ovftype=\"vmware\"
* Tue Feb 06 2018 Robert Schweikert - - Expand consistency check for grub efi package to cover debian based and RH distros
* Mon Feb 05 2018 Marcus Schäfer - Bump version: 9.12.7 → 9.12.8
* Mon Feb 05 2018 Robert Schweikert - - Fix style error
* Mon Feb 05 2018 Marcus Schäfer - Exclude install source device from target list
* Mon Feb 05 2018 Marcus Schäfer - Fixed kiwi-dump timing issue The install code needs to wait in the pre-udev phase for the device containing the installation data to become ready before proceeding with the actual installation code.
* Mon Feb 05 2018 Robert Schweikert - - Early exit if firmware is efi or uefi but the expected grub module is not part of the package list
* Mon Feb 05 2018 Marcus Schäfer - Fixed dialog size of install confirmation dialog The size was too small to show device names which causes a line break to be displayed in the next line
* Sun Feb 04 2018 Marcus Schäfer - Cleanup misleading method name
* Sun Feb 04 2018 Marcus Schäfer - Fixed coverage report setup Latest version of the coverage module requires a report setup
* Sun Feb 04 2018 Marcus Schäfer - Fixed target path name for gce format get_target_name_for_format in case of the gce format does not return a path spec which leads to an incomplete result information for a later bundle command. This patch fixes this. In a follow up pull request we will also update the method name from the misleading get_target_name_for_format function name to get_target_path_name_for_format
* Sat Feb 03 2018 cyberorg - Use live-grub-stick
* Fri Feb 02 2018 David Cassany - Fix packages file generation This commit checks the %_dbpath value of the image rpm tool. This is needed since recent rpm versions switched the default database path, thus running rpm queries to different roots might lead to errors. Fixes #605
* Thu Feb 01 2018 Marcus Schäfer - Bump version: 9.12.6 → 9.12.7
* Thu Feb 01 2018 Marcus Schäfer - Update per review by Tom
* Thu Feb 01 2018 Marcus Schäfer - Update per review by David
* Wed Jan 31 2018 Marcus Schäfer - Update per review by Tom
* Tue Jan 30 2018 Marcus Schäfer - Added chapter for live-fat-stick deployment With the support for the iso-scan feature in KIWI live ISO image, also the ability to deploy file based on FAT32 usb sticks via the live-fat-stick tool exists. This chapter describes how to do it and Fixes #521
* Tue Jan 30 2018 Marcus Schäfer - Update pre review by Tom
* Tue Jan 30 2018 Marcus Schäfer - Update per review by Tom
* Tue Jan 30 2018 Marcus Schäfer - Update per review by Tom
* Tue Jan 30 2018 David Cassany - Remove vmdk metadata update procedure This commit removes the method _update_vmdk_descriptor from DiskFormatVmdk class. The code part causes vmdk format issues in current up to date hipervisors such as VMWarePlayer 14 or Virtualbox 5.2. Removing this code does not produce any failure, at most can only imply loosing some features provided by open-vm-tools package. Fixes #591
* Tue Jan 30 2018 Marcus Schäfer - Fixed use of profile variables in kiwi-dump module The profile environment was not imported in the dracut kiwi-dump module. Thus custom settings like oem-unattended did not had an effect
* Tue Jan 30 2018 Marcus Schäfer - Fixup docstrings in xml_state
* Tue Jan 30 2018 Marcus Schäfer - Allow only one dracut variable for kiwi debugging
* Mon Jan 29 2018 Marcus Schäfer - Bump version: 9.12.5 → 9.12.6
* Sat Jan 27 2018 Marcus Schäfer - Fixed kiwi dracut config for the final system Once the image has been deployed on the target and the system is up and running some of the kiwi dracut modules used for deployment are no longer needed and should not be taken into account when another dracut call happens on the system.
* Fri Jan 26 2018 Michal Marek - Add support for building OVA images Implement support for format=\"ova\" using VMware\'s ovftool. We use the vmdk format as a basis and then just call ovftool to convert
*.vmdk +
* .vmx to an OVA.
* Fri Jan 26 2018 Marcus Schäfer - Update documentation Update the documentation with regards to the move from the plain kiwi initrd to the dracut initrd system. This is related to Issue #576
* Fri Jan 26 2018 Michal Marek - flake8: Use a more conservative max-complexity setting Set the default threshold to 12 and annotate the outliers with \"noqa: C901\". Most of the cases are due to lack of switch statement in python, but there are some worth titying up. Now we can grep for them :).
* Fri Jan 26 2018 Marcus Schäfer - Bump version: 9.12.4 → 9.12.5
* Fri Jan 26 2018 Marcus Schäfer - Make sure there are no busy devices on reboot If the dracut kiwi-repart module skips the repartition step because the disk was already repartitioned it leaves devices in busy state which leads to a rescue shell at the system mount stage
* Thu Jan 25 2018 David Cassany - uboot-setup-panda.tgz was readded by mistake as boot hooks are no longer needed
* Thu Jan 25 2018 David Cassany - Adding opensuse ports repository
* Thu Jan 25 2018 Marcus Schäfer - Bump version: 9.12.3 → 9.12.4
* Thu Jan 25 2018 Marcus Schäfer - Don\'t lookup zImage symlink Due to the workaround to lookup the gzip compressed variant of a zImage to find its version, it\'s required to find the full name of the zImage in order to rematch the gzip variant. Looking at the zImage link will make this to fail because there is no vmlinux link
* Thu Jan 25 2018 Marcus Schäfer - Bump version: 9.12.2 → 9.12.3
* Thu Jan 25 2018 Marcus Schäfer - Fixed kernel version check for zImage kernels build as zImage contains the decompressor code as part of the kernel image and could be therefore compressed by any possible compression algorithm. In this case we assume/hope that there is also a standard gz compressed vmlinux version of the kernel available and check this one instead of the zImage variant. Fixes #587
* Thu Jan 25 2018 Marcus Schäfer - Bump version: 9.12.1 → 9.12.2
* Wed Jan 24 2018 Robert Schweikert - - Image name generation for GCE images + Fix the name generation for GCE images. The implementation assumed that GCE images are of a type that use a kiwi generated initrd, looking for image name components based on the boot attribute in the type element. This assumption is not correct, use the name provided in the XML to compose the image name.
* Wed Jan 24 2018 David Cassany - Update the man pages
* Wed Jan 24 2018 Marcus Schäfer - Fixed installation image builder Use get_boot_names from BootImage instance to ask for the name of the initrd instead of constructing this information from static values. The name of the initrd is different per distro and toolkit
* Wed Jan 24 2018 Marcus Schäfer - Provide a get_boot_names method in boot classes The naming schema for an initrd file name depends on the boot image type as well as on the underlaying initrd creation toolkit. In order to encapsulate that in a clear interface the code to know about the correct names has been moved into the classes which are responsible for it and out of the builder/disk class
* Wed Jan 24 2018 Marcus Schäfer - Bump version: 9.12.0 → 9.12.1
* Wed Jan 24 2018 Marcus Schäfer - Fixed dracut-kiwi-oem-dump requires setup on rhel/fedora multipath is provided by device-mapper-multipath
* Tue Jan 23 2018 David Cassany - Adding package_gpgcheck flag as an option for set-repo and add-repo Fixes #565
* Tue Jan 23 2018 David Cassany - Adding uboot-setup kiwi hooks For some reason the uboot-setup-panda.tgz file did not get into master branch, probably was not properly pushed in the former include_build_tests_arm branch.
* Tue Jan 23 2018 David Cassany Viladomat - Fix build tests to match new locale setting strategy (#586)
* Mon Jan 22 2018 Marcus Schäfer - Added timezone package to build tests With the latest update on how kiwi handles the locales with systemd-firstboot, only locales defined in timezone package can be set, thus Europe/Berlin is not possible if timezone is not installed
* Mon Jan 22 2018 Marcus Schäfer - Fixed build tests for azure and ec2 Packages yast2-storage and recode no longer provided
* Mon Jan 22 2018 Marcus Schäfer - Bump version: 9.11.30 → 9.12.0
* Mon Jan 22 2018 Marcus Schäfer - Update build test image descriptions Update to latest schema by auto conversion and delete use of oemboot kiwi code by switching to dracut
* Mon Jan 22 2018 Marcus Schäfer - Fixed reading device node path lsblk should be called with -p because it\'s a mistake to assume any device lives below /dev. There could also be subtree devices in /dev/mapper or /dev/disk/.. We leave it up to lsblk to provide us the correct information
* Mon Jan 22 2018 Marcus Schäfer - No need to actively stop the dialog service
* Mon Jan 22 2018 Marcus Schäfer - Added required packages for dmraid and multipath
* Sat Jan 20 2018 Marcus Schäfer - Added handling for dmraid and multipath devices
* Fri Jan 19 2018 David Cassany - Adding iso-scan feature to kiwi-live dracut module This commit adds the iso-scan scripts to kiwi-live module_setup if the former files are found in the system inside the dmsquash-live dracut module directory. Fixes #574 and is related to #521
* Fri Jan 19 2018 Marcus Schäfer - Fixed Arrays implicitly concatenate by shellcheck
* Thu Jan 18 2018 Marcus Schäfer - Add support for net install in dracut kiwi-dump This implementes one of the tasks from Issue #576
* Wed Jan 17 2018 Marcus Schäfer - Added runtime check for dracut-kiwi-oem-dump The installation of the above mentioned dracut module package is required for oem images which uses dracut as initrd system and have the creation of an installation image requested. This is related to Issue #576
* Wed Jan 17 2018 Marcus Schäfer - Update schema version in documentation
* Wed Jan 17 2018 Marcus Schäfer - Auto update all schema descriptions to v6.8
* Wed Jan 17 2018 Marcus Schäfer - Delete hwclock from profile and system setup
* Wed Jan 17 2018 Marcus Schäfer - Delete hwclock section from schema Deletes hwclock section from schema and provides xslt style sheet for schema auto conversion from schema version 6.7 to 6.8
* Tue Jan 16 2018 David Cassany - Deprecate suseConfig method and remove hardware config method This in this commit: - the contents of the suseConfig method from kiwi/config/functions.sh are replaced by a deprecated message. - the setup_hardware_clock method from SystemSetup is removed as it is not used anywere in the code.
* Tue Jan 16 2018 David Cassany - Extend CommandCapabilities to also check version
* Tue Jan 16 2018 Marcus Schäfer - Added dracut-kiwi-oem-dump subpackage to spec
* Tue Jan 16 2018 David Cassany Viladomat - Update locale settings (#579)
* Use systemd-firstboot in order config basic settings This commit updates locale and keyboard settings in order to make use of the systemd tools, as this will be the only valid method starting from SLE15. Fixes #577
* Added CommandCapabilities utils class
* Mon Jan 08 2018 Marcus Schäfer - Bump version: 9.11.29 → 9.11.30
* Mon Jan 08 2018 Marcus Schäfer - Deleted syslinux from ppc/oemboot/suse-SLES15 syslinux is not provided for ppc. This Fixes bsc#1073310
* Fri Dec 29 2017 Martin Mohring - [boot] fix double quote in grub menu which makes kernel updates for CentOS / RHEL / Fedora break grub.cfg
* Tue Dec 19 2017 David Cassany - Omit kiwi-repart dracut module in oemboot initrd KIWI\'s oemboot initrd with initrd_system=\"dracut\" together with installiso=\"true\" requires to have dracut-kiwi-oem-repart package installed in the system, thus it ends up also being included in the recreated dracut initrd after booting the oemboot initrd from the installation iso. This kiwi-repart module causes a boot failure in that case since no .profile file is present, moreover, it has no sense to run it at that stage, since the disk is already reparted by the oemboot code. This commit allows installiso=\"true\" and initrd_system=\"dracut\" to play well together.
* Fri Dec 15 2017 David Cassany - Improve locale pattern in schema Now the locale pattern in the schema also supports POSIX. Note that POSIX will be only accepted if listed in the first place of the comma separated list. This commit fixes #570
* Thu Dec 14 2017 Marcus Schäfer - Bump version: 9.11.28 → 9.11.29
* Wed Dec 13 2017 Marcus Schäfer - Allow to choose dracut live module There is the standard dracut dmsquash-live module based on the device mapper technology and the kiwi-live module based on the overlayfs technology. The setup of the live iso structure in kiwi is compatible to both modules. Thus it makes sense to allow to choose the technology via the flags attribute Please note both modules supports a different set of live features. This Fixes #568
* Tue Dec 12 2017 Marcus Schäfer - Bump version: 9.11.27 → 9.11.28
* Thu Dec 07 2017 Marcus Schäfer - Fixed ec2 and azure test builds cryptconfig is no longer provided
* Wed Dec 06 2017 Marcus Schäfer - Bump version: 9.11.26 → 9.11.27
* Wed Dec 06 2017 Marcus Schäfer - Apply target permissions only if target dir exists
* Wed Dec 06 2017 Marcus Schäfer - Bump version: 9.11.25 → 9.11.26
* Wed Dec 06 2017 Marcus Schäfer - Fixed use of stat result in os.chmod oct method returns a string representation which was mistakenly used in a subsequent os.chmod call. This Fixes #564
* Wed Dec 06 2017 Marcus Schäfer - Fixed tox doc target Correctly include schema pictures after travis-sphinx build
* Wed Dec 06 2017 Marcus Schäfer - Bump version: 9.11.24 → 9.11.25
* Tue Dec 05 2017 Marcus Schäfer - Update failsafe kernel option list Delete obsolete parameters and make sure a failsafe boot does boot into runlevel 3. This Fixes #554
* Tue Dec 05 2017 Marcus Schäfer - Apply xslt validation on boot images
* Tue Dec 05 2017 Michal Marek - Do not match comments and PIs in XSLT templates I wanted to add a simple vim modeline to my XML description: