Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: dracut-kiwi-oem-repart | Distribution: SUSE Linux Enterprise 15 |
Version: 9.24.43 | Vendor: SUSE LLC <https://www.suse.com/> |
Release: 150100.3.76.1 | Build date: Wed Apr 17 05:44:15 2024 |
Group: System/Management | Build host: h04-armsrv2 |
Size: 9235 | Source RPM: python-kiwi-9.24.43-150100.3.76.1.src.rpm |
Packager: https://www.suse.com/ | |
Url: https://github.com/OSInside/kiwi | |
Summary: KIWI - Dracut module for oem(repart) image type |
This package contains the kiwi-repart dracut module which is used to repartition the oem disk image to the current disk geometry according to the setup in the kiwi image configuration
GPL-3.0-or-later
* Thu Apr 04 2024 marcus.schaefer@suse.com - Set default output console to gfxterm for grub If no console setting is done in the image description for grub the default output console is set to: gfxterm and the default input console is set to: console. This Fixes bsc#1219074 * Mon Mar 25 2024 marcus.schaefer@gmail.com - Live ISO Wait for udev events after repart Make sure to wait for the event queue to become empty after the creation of the write partition. When kiwi calls the code to create the write partition this emits new udev events. It's important to wait for the event queue to become empty to avoid a potential regression on the use of the device nodes. In the processing of the events it can happen that a device gets removed and re-added. If we don't want for udev to process the entire queue it can happen that the wrong block device is used. This wrong selection is only possible because the way how hybrid ISOs are designed exposes both, the disk and the partition for the root device with the same label. This Fixes bsc#1213595 * Tue Mar 19 2024 marcus.schaefer@suse.com - Fixup cleanup of zipl templates Make sure temporary modifications to the zipl template and config file are not effective in the later system. This Fixes bsc#1221469 * Thu Jan 18 2024 marcus.schaefer@suse.com - Fixed grub terminal setup The grub terminal setup is divided into the setting for the output and the input console. For both settings different parameters exists. So far kiwi did not differentiate between the two parts of the console setup and that could lead to a wrong setting if only one value is provided in kiwi's console= attribute which lead to the grub setting, GRUB_TERMINAL=value. If value is set to e.g gfxterm grub takes this for both input and output and it's obviously wrong for the input. To make this less error prune the kiwi code changes with this commit to set GRUB_TERMINAL_INPUT and GRUB_TERMINAL_OUTPUT rather than GRUB_TERMINAL and also runs sanity checks on the provided values if they are applicable. The information for setting up the console in the schema stays untouched though. That's because it's used for all bootloaders and also because grub supports multiple values for the console in/out setting in one GRUB_TERMINAL variable even though kiwi does no longer use it. To make this clear for the users also the documentation for the console attribute setup has been updated. If we want to wish two distinct attributes for input and output console settings a schema change and also differentiation between bootloaders is needed and that I only see for the kiwi-10 branch if at all. This Fixes #2419 and Fixes bsc#1218095 * Thu Jan 04 2024 marcus.schaefer@gmail.com - Fix overwrite of kiwi_oemunattended In case rd.kiwi.oem.installdevice is set, there is an overwrite of the kiwi_oemunattended setting. However the variable was set in local scope of a function and therefore the change was not effective in other methods which also evaluates this variable. This commit fixes it such that the overwrite happens in the early initialize method which provides the environment for all code running in the dracut module. This is related to jira#PED-7180 * Wed Nov 22 2023 marcus.schaefer@gmail.com - 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 * Wed Nov 01 2023 marcus.schaefer@gmail.com - Add partx to module-setup of kiwi-lib too Part of bsc#1216465 (cherry picked from commit cf125437776b07e77900b6a53aeb065cd1572367) * Fri Oct 27 2023 marcus.schaefer@gmail.com - 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 Part of bsc#1216465 (cherry picked from commit db9042af8ed36ede0dfe9572d9fe2c546c25b901) * Thu Oct 26 2023 marcus.schaefer@gmail.com - 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 Part of bsc#1216465 (cherry picked from commit 53ddc4ecbedd6dc98294e4d0387370908f0bc657) * Tue Aug 29 2023 marcus.schaefer@gmail.com - Fixed linter errors Fixed white space issues now reported by flake8 * Tue Aug 29 2023 marcus.schaefer@gmail.com - Fixed unit tests * Tue Aug 29 2023 marcus.schaefer@gmail.com - Temporary disable mypy checking The current code base is not mypy clean when called on newer versions of mypy. This will be fixed with the next full upstream port * Tue Aug 29 2023 marcus.schaefer@gmail.com - Update CI workflows Update tox and workflow files to run with a newer tox version as it's been used upstream * Mon Jul 24 2023 marcus.schaefer@gmail.com - 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 * Tue Jul 18 2023 jesus.bv@suse.com - Add SECURE_BOOT no when the firmware is efi This Fixes bsc#1211102 * Tue Jul 04 2023 marcus.schaefer@gmail.com - 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 Part of bsc#1216465 (cherry picked from commit 4ab089ac5244c1d867be850ec99bc81814466bf7) * Wed Apr 12 2023 dcassany@suse.com - Adding a comment to explain the s390 specific path Signed-off-by: David Cassany <dcassany@suse.com> (cherry picked from commit 8b9c5d766eb2113e55132eb4b4043c960b981b90) * Wed Apr 12 2023 dcassany@suse.com - 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 <dcassany@suse.com> (cherry picked from commit 0947fce33a39eaa7c4f1f83481782c41b4e15488) * Mon Apr 03 2023 dcassany@suse.com - Expand DASD partition table with parted Fixes bsc#1209247 Signed-off-by: David Cassany <dcassany@suse.com> (cherry picked from commit b12ebcedb7cb18e05ce6a19e3312c16f5c5529a9) * Thu Mar 30 2023 dcassany@suse.com - Add parted dependency for s390 Signed-off-by: David Cassany <dcassany@suse.com> (cherry picked from commit cc993f47cd93551ae6b87ca9ac39cb2291ab57f6) * Wed Jan 18 2023 dcassany@suse.com - 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 and bsc#1221915 where it was noted hardlinks were not preserved inside the initrd. Signed-off-by: David Cassany <dcassany@suse.com> (cherry picked from commit ab4abf97dade534e51b32ad04b7202f649e40c4b) * Fri Oct 28 2022 dcassany@suse.com - 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 Backported from upstream c694e25b22 * Fri Oct 28 2022 dcassany@suse.com - Bump version up to 9.24.43 This version includes: * 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 * Prefer file based syscall in kexec when possible (bsc#1203896) 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 * 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. * 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 * 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(;) * 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 * Install all of QEMU to Ubuntu arm integration test * rename user to ubuntu for Ubuntu integration test * Move to sphinx>=5.0.0 * 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 * 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 * Added --target-arch for image info Allow cross arch dependency solving * 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: <users> <user groups="kiwi,admin:42,users" password="..." name="kiwi"/> </users> 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 * Tue May 24 2022 dcassany@suse.com - Remove mailmap so email is not updated for old changelog entries in IBS Signed-off-by: David Cassany <dcassany@suse.com> * Mon May 23 2022 dcassany@suse.com - Bump version up to v9.24.36 This version includes fixes for: * 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) * 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 <image><preferences><type [...] ensure_empty_tmpdirs="false">. Fixes: https://github.com/OSInside/kiwi/issues/2093 Signed-off-by: Tim Serong <tserong@suse.com> * 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. * Tue Mar 29 2022 dcassany@suse.com - Bump version: 9.24.16 → 9.24.17 This version includes fixes for: * 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 * Wed Mar 02 2022 dcassany@suse.com - Stick to pytest v6.x.y Signed-off-by: David Cassany <dcassany@suse.com> * Wed Mar 02 2022 fvogt@suse.de - Don't exit the script on deprecated function use (bsc#1196644) The "exit 0" there stops processing of the calling script with a success exit code, which leads to incomplete and broken images. * Mon Jan 31 2022 dcassany@suse.com - Ensure backward compatibility on deprecated methods This commit ensures backward compatibility for deprecated config bash script utilities. Fixes bsc#1195229 Signed-off-by: David Cassany <dcassany@suse.com> * Mon Jan 31 2022 dcassany@suse.com - Bump version: 9.24.15 → 9.24.16 This version upgrade includes several fixes: * 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 Fixes a regression in the scope of bsc#1192975 (#c16) * index.rst: Change title (bsc#1189294#c2) * 'KIWI NG 9: KIWI NG Documentation' -> 'Building Linux System Appliances with KIWI Next Generation (KIWI NG <VERSION>) * suggested in bsc#1189294#c2 for more clarity * change has been discussed with and approved by main author (Marcus S.) * 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 * 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 * Mon Oct 25 2021 ms@suse.de - Bump version: 9.23.20 → 9.24.2 This version upgrade includes several fixes: * 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 * 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 * 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 * 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 * 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 * Do not apply default subcommand for derivate containers This commit does not apply the default subcommand for derivate containers. Fixes bsc#1184823 * 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 * Fri Apr 16 2021 dcassany@suse.com - Fix appx manifest for WSL containers This patch is two fold * This commit prevents KIWI from setting Identity Name attribute and DisplayName and PublisherDisplayName elements. Fixes #1780 * 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. This is related to jsc#SLE-12986 * Mon Apr 12 2021 dcassany@suse.com - Recommend kiwi-systemdeps-containers This commit recommends kiwi-systemdeps-containers instead of a hard requirement in kiwi-systemdeps package for SLE builds. This is needed because the containers tool chain is spread in different SLE modules. * Thu Mar 11 2021 dcassany@suse.com - 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). (cherry picked from commit 4e91e028eba763321a0958ff0febee107d944af8) * Thu Mar 11 2021 dcassany@suse.com - 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. (cherry picked from commit 307b7e0234c01846587024c008166310e8d7d8b0) * Thu Mar 11 2021 dcassany@suse.com - Turn fb-util-for-appx requirement into a recommendation This commit relaxes the requirement for `fb-util-for-appx` since the utiliy is not part of all SLE-15 service packs. * Thu Mar 11 2021 dcassany@suse.com - Bump version: 9.23.19 → 9.23.20 This version upgrade includes several fixes: * 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 * 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, bsc#1182963 and bsc#1183059 * 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 * Tue Jan 12 2021 ms@suse.de - Reference commit for SUSE maintenance This commit adds a reference to bsc#1180781 * Tue Dec 08 2020 ms@suse.de - 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 * Thu Dec 03 2020 ms@suse.de - Reference commit for SUSE maintenance This commit adds a reference to Issue SUSE-Enceladus/azure-li-services#255 and the report in bugzilla bsc#1179562 * Thu Dec 03 2020 ms@suse.de - 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 <oem-multipath-scan> and not implicitly by the presence of tools * Wed Dec 02 2020 ms@suse.de - 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 Aug 12 2020 ms@suse.de - Bump version up to 9.21.7 This version upgrade includes several fixes: * 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 * 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 * 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 * 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 * 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 * 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 * 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 * Fri Jul 24 2020 dcassany@suse.com - Bump version up to 9.21.23 This version upgrade includes several fixes: * 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 (cherry picked from commit 44c0029ce5893bd4c68b21df14bda5bf32a5c869) * 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. (cherry picked from commit 836633c7b2b9b4aa31c1501c2e9817dc00af290d) * 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 (cherry picked from commit a6f56179b7879d160f0aab985ebda20bc49a83be) * 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 (cherry picked from commit 33c5780d5a8f4e6b41d51bce6bb3e838ac7ded4b) * 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 (cherry picked from commit 988404ff9f04384c3efb53644e69d520c022c03c) * Fri Jun 12 2020 ms@suse.de - 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 (cherry picked from commit 0ae7bbe74e2d2dddccddda40db6c2f8a04b53543) * Thu May 14 2020 ms@suse.de - 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 (cherry picked from commit aba2505524850557e03a3f315b05fe58b28bc07d) * Tue May 12 2020 dcassany@suse.com - Fix string formatting After a flake8 upgrade to v3.8.0 these changes were required to pass the `tox -e check` validation. (cherry picked from commit 7e43b86cd9e56de48a63943f671cd047dede7521) * Fri Apr 17 2020 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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. * Wed Apr 15 2020 dcassany@suse.com - 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 ms@suse.de - 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 ms@suse.de - 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 * Mon Mar 30 2020 dcassany@suse.com - Bump version up to 9.20.5 This version upgrade includes several fixes: * Fixed result map for OEM pxe install Fixes bsc#1165578 * Add SECURE_BOOT parameter for grub2 in efi mode This commit adds the SECURE_BOOT parameter on bootloader sysconfig for grub2. Fixes bsc#1167746 * 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 * 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 * 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 * Thu Dec 19 2019 dcassany@suse.com - Bump version: 9.19.7 → 9.19.8 * Thu Dec 19 2019 dcassany@suse.com - 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 dcassany@suse.com - 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 dcassany@suse.com - 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 dcassany@suse.com - 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 ms@suse.de - Fixed installation chapter in the documentation The chapter still outlines multipython support but we dropped support for python2 some time ago * Sun Dec 08 2019 ms@suse.de - Bump version: 9.19.6 → 9.19.7 * Sun Dec 08 2019 ms@suse.de - 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 and is related to bsc#1156908 * Thu Dec 05 2019 dcassany@suse.com - Bump version: 9.18.16 → 9.19.6 This version includes several fixes: * 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 * 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 * Reference commit for SUSE maintenance This commit adds a reference to Issue #1261 and the report in bugzilla bsc#1157104 * 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 * 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 <boot_dir>/EFI/BOOT. Fixes bsc#1155815 * 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 ms@suse.de - 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 * Fri Sep 06 2019 dcassany@suse.de - Bump version up to 9.18.16 This version upgrade includes several fixes: * Add --add-bootstrap-packages option (bsc#1149686) The prepare and build commands now allows to specify additional packages to be installed as part of the early bootstrap phase This Fixes #1151 * 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 * 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 * 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 * 99-kiwi-lib requires rmdir, install it Fixes bsc#1143033 * Do not crash on missing HOME Fixes bsc#1149686 * Extend spare partition setup The spare partition could be used to introduce one additional partition table entry. With this patch the following new type attributes will be added: * spare_part_fs="fsname" * spare_part_mountpoint="/location" * spare_part_is_last="true|false" Along with the setup of the partition size the filesystem and its mountpoint can be specified. If set the contents of the rootfs at the specified spare location will be synced to that partition. The spare_part_is_last attribute will place the spare partition at the end of the disk. Note this attribute is only available for the simple vmx disk type. This is related to bsc#1129566 * 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 <dcermak@suse.com> * 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. Fixes bsc#1149686 * 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 * 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 * 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. * 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 * 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 Aug 05 2019 dcassany@suse.com - Bump version: 9.17.15 → 9.17.16 * Mon Aug 05 2019 dcassany@suse.com - 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 (cherry picked from commit afd9b3019ae37980524554452e113d544e9676aa) * Mon Aug 05 2019 ms@suse.de - 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 (cherry picked from commit d09ccc520633c03d5393039ccbc4989779f803d0) * Mon Aug 05 2019 dcermak@suse.com - Extend the development documentation Co-Authored-By: Thomas Schraitle <tom_schr@web.de> (cherry picked from commit 5ba515236d817bfe50200abe5fdaa8a3ac8e6dc4) * Mon Aug 05 2019 dcermak@suse.com - Add GitLab CI pipeline badge to README.rst (cherry picked from commit af773d67b9e9ca18a851893b1604c2fa866e7bee) * Mon Aug 05 2019 ms@suse.de - Fixed permanent redirect links in documentation (cherry picked from commit 921fa17f4fe7415e4e5e21a8636c72e7d76dc1d3) * Mon Aug 05 2019 dcermak@suse.com - Add GitLab CI pipeline status to README.rst (cherry picked from commit 0681fb4d7335c1b496a62663fae4b56876ffdc8e) * Mon Aug 05 2019 dcermak@suse.com - Extend quickstart to be more viable as a stand-alone document (cherry picked from commit fe7c7f59bdf6d1970550a28fff479233e95b85d1) * Mon Aug 05 2019 dcermak@suse.com - 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 (cherry picked from commit 0fbc2c5ff950cb1857fe7b45e66983272bf1fc4d) * Wed Jul 10 2019 ms@suse.de - Update documentation The kiwi-descriptions repository has been moved into the OSInside organisation (cherry picked from commit 70bc4fdda17bab4d6760c708ac5b8c2d77139466) * Fri Apr 05 2019 ms@suse.de - Bump version: 9.17.14 → 9.17.15 * Mon Apr 01 2019 ms@suse.de - 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 * Wed Feb 27 2019 ms@suse.de - Bump version: 9.17.13 → 9.17.14 * Thu Feb 21 2019 ms@suse.de - 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 * Thu Jan 31 2019 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - Bump version: 9.16.19 → 9.17.13 This version upgrade contains fixes for: * 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 * 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 * 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 * 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 * 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 and bsc#1110869 and bsc#1108508 * Tue Dec 18 2018 dcassany@suse.de - 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 * Tue Dec 18 2018 dcassany@suse.de - Bump version: 9.16.18 → 9.16.19 * Tue Dec 18 2018 ms@suse.de - 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 Fixes bsc#1119792 * Tue Oct 30 2018 dcassany@suse.de - Update flake8 call in tox.ini This commit ignores some issues in the code style reported by recent flake8. A flake8 update on the CI raised new issues also for the branches in maintenance mode. In those cases, just to minimize changes and backports, new issues are just ignored. * Mon Oct 08 2018 dcassany@suse.de - 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 * Mon Oct 08 2018 dcassany@suse.de - 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 * Mon Oct 08 2018 ms@suse.de - Adding bugfix trace for bsc#1110869 bsc#1108508 ticket was fixed with request #831 from SUSE/fix_uri_handler * Fri Oct 05 2018 ms@suse.de - 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 * Sat Sep 29 2018 ms@suse.de - Fixed broken link to ec2uploadimg tool * Thu Sep 27 2018 ms@suse.de - Bugzilla reference commit This commit references the fix from commit:6b9e321048602945214 with the bug id bsc#1109882 in bugzilla. * Thu Sep 27 2018 ms@suse.de - Disable version tagging in maintenance branch * Thu Sep 27 2018 ms@suse.de - Disable deploy stage in Travis * Wed Sep 26 2018 ms@suse.de - Bump version: 9.16.17 → 9.16.18 * Wed Sep 26 2018 dcassany@suse.de - 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 ms@suse.de - Bump version: 9.16.16 → 9.16.17 * Wed Sep 26 2018 ms@suse.de - 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 ms@suse.de - Bump version: 9.16.15 → 9.16.16 * Wed Sep 26 2018 ms@suse.de - 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 ms@suse.de - Bump version: 9.16.14 → 9.16.15 * Wed Sep 26 2018 ms@suse.de - Customize latex output for look and feel * Wed Sep 26 2018 ms@suse.de - Update development doc chapter per review by Tom * Tue Sep 25 2018 dcassany@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - Update kiwi tools README Delete obsolete entries for tools no longer present * Thu Sep 20 2018 dcassany@suse.de - 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 ms@suse.de - 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 ms@suse.de - Bump version: 9.16.13 → 9.16.14 * Fri Sep 14 2018 ms@suse.de - Fixed spec template Directory delimiter missing in call for install_dracut target * Fri Sep 14 2018 ms@suse.de - Bump version: 9.16.12 → 9.16.13 * Thu Sep 13 2018 dcassany@suse.de - 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 dcassany@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 dcassany@suse.de - Enhance /etc/snapper/configs/root file parser * Tue Sep 04 2018 dcassany@suse.de - Fix quota groups management when snapper is present * Fixes the config file path if root is snapshot * Uses the correct QGROUP="<group>" syntax * Do not overwrite the config file if already present Fixes bsc#1093518 * Sat Aug 25 2018 ms@suse.de - 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 ms@suse.de - Bump version: 9.16.11 → 9.16.12 * Mon Aug 20 2018 ms@suse.de - 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 ms@suse.de - Bump version: 9.16.10 → 9.16.11 * Mon Aug 20 2018 ms@suse.de - Use skip_cleanup for deploy stage in travis We need the tox build environment to run the deployment * Mon Aug 20 2018 ms@suse.de - Bump version: 9.16.9 → 9.16.10 * Mon Aug 20 2018 ms@suse.de - 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 ms@suse.de - Bump version: 9.16.8 → 9.16.9 * Mon Aug 20 2018 ms@suse.de - 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 ms@suse.de - Bump version: 9.16.7 → 9.16.8 * Wed Aug 08 2018 ms@suse.de - 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 ms@suse.de - 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 dcassany@suse.de - use more meaningful variable names * Tue Aug 07 2018 dcassany@suse.de - 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 ms@suse.de - Added doc chapter for remote live boot * Mon Aug 06 2018 ms@suse.de - 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 ms@suse.de - Run schema validation/update per XSL stylesheets * Mon Aug 06 2018 ms@suse.de - Added XSL stylesheet to auto update schema Drop oem-ataraid-scan from oemconfig if specified * Mon Aug 06 2018 ms@suse.de - Update vagrant doc chapter redirect links * Mon Aug 06 2018 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - Fixed unresolvables in EC2 integration build For some reason libyui-ncurses-pkg8 is gone now * Mon Aug 06 2018 ms@suse.de - Fixed unresolvables in integration builds For some reason libyui-ncurses-pkg8 is gone now * Wed Aug 01 2018 ms@suse.de - Bump version: 9.16.6 → 9.16.7 * Wed Aug 01 2018 ms@suse.de - update vagrant doc chapter per review by Tom * Wed Aug 01 2018 ms@suse.de - 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 ms@suse.de - Use xattr 0.9.3 Latest xattr is broken on pip * Tue Jul 31 2018 ms@suse.de - 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 ms@suse.de - Bump version: 9.16.5 → 9.16.6 * Mon Jul 30 2018 dcassany@suse.de - Fix result bundle command This commits fixes a regression introduced in 98c9c77a * Mon Jul 30 2018 ms@suse.de - Bump version: 9.16.4 → 9.16.5 * Mon Jul 30 2018 ms@suse.de - 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 dcassany@suse.de - Add build tests for CentOS * Fri Jul 27 2018 dcassany@suse.de - 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 dcassany@suse.de - 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 ms@suse.de - 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 dcassany@suse.de - Modify python-yaml dependency for CentOS and RHEL 7 This commit fixes #785 * Fri Jul 20 2018 dcassany@suse.de - Do not run Codacy analysis on tests * Thu Jul 19 2018 ms@suse.de - 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 dcassany@suse.de - Exclude tests in codacy analysis * Mon Jul 16 2018 ms@suse.de - Bump version: 9.16.3 → 9.16.4 * Mon Jul 16 2018 ms@suse.de - Added grub2 module packages for GCE test build * Mon Jul 16 2018 ms@suse.de - Fixup timezone and keytable setup for GCE build * Mon Jul 16 2018 ms@suse.de - Second round of package fixes for GCE test build * Mon Jul 16 2018 ms@suse.de - Update schema for GCE build test to latest version * Mon Jul 16 2018 ms@suse.de - Fixup package list for GCE test build * Mon Jul 16 2018 ms@suse.de - Added Google Compute Engine build test * Mon Jul 16 2018 ms@suse.de - Deleted obsolete landscape setup Code quality is checked via codacy now * Mon Jul 16 2018 ms@suse.de - Rebuild schema documentation * Mon Jul 16 2018 ms@suse.de - 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 ms@suse.de - Rebuild schema documentation * Mon Jul 16 2018 ms@suse.de - Bump version: 9.16.2 → 9.16.3 * Fri Jul 13 2018 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 dcassany@suse.de - Add codacy.yml config file * Wed Jul 11 2018 dcassany@suse.de - Move from landscape.io to codacy.com * Wed Jul 11 2018 dcassany@suse.de - Updated Travis check icon to forked project * Wed Jul 11 2018 ms@suse.de - 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 ms@suse.de - Update schema tron rules for btrfs type attributes The btrfs_* attributes only applies for vmx and oem types * Tue Jul 10 2018 ms@suse.de - Fixed some code smells * Use of unused variables, and dangerous defaults * Update of design patterns on pylint and landscape * Fri Jul 06 2018 ms@suse.de - 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 dcassany@suse.de - Improve coding style, tests and label format validation * Fri Jul 06 2018 dcassany@suse.de - 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 ms@suse.de - 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@suse.de - avoid double quoting of disturl in label (...="'obs://...'"). avoid always printed warning of missing disturl make use of disturl variable * Wed Jun 20 2018 ms@suse.de - Bump version: 9.16.1 → 9.16.2 * Wed Jun 20 2018 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - Bump version: 9.16.0 → 9.16.1 * Wed Jun 13 2018 ms@suse.de - 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 dcassany@suse.de - 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 <ms@suse.de> Date: Tue May 29 16:42:55 2018 +0200 * Tue Jun 12 2018 ms@suse.de - 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 ms@suse.de - Bump version: 9.15.4 → 9.16.0 * Wed Jun 06 2018 ms@suse.de - Move fedora integration test build to fc28 distro * Wed Jun 06 2018 ngompa13@gmail.com - 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 * Tue Jun 05 2018 ms@suse.de - Bump version: 9.15.3 → 9.15.4 * Tue Jun 05 2018 ms@suse.de - 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 dcassany@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 dcassany@suse.de - Fix SC2164 complain of shellcheck * Thu May 31 2018 dcassany@suse.de - 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 dcassany@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - Bump version: 9.15.2 → 9.15.3 * Mon May 28 2018 ms@suse.de - 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 ms@suse.de - Added documentation for config-cdroot archive * Mon May 28 2018 ms@suse.de - 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 dcassany@suse.com - Verify file does not exist before creating symlink * Mon May 28 2018 dcassany@suse.com - 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 ms@suse.de - 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 dcassany@suse.com - Do not delete uncompressed base docker images Fixes #739 * Wed May 16 2018 ms@suse.de - Bump version: 9.15.1 → 9.15.2 * Wed May 16 2018 dcassany@suse.com - Fix zypper add lock operations This commit fixes the arguments passed to zypper in add lock operations. * Tue May 15 2018 dcassany@suse.com - Add correct GPL-3.0-or-later license Add the correct license reference in the spec License field Fixes #732 * Tue May 15 2018 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 dcassany@suse.com - 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 ms@suse.de - Bump version: 9.15.0 → 9.15.1 * Wed May 09 2018 davidcassany@gmail.com - Add a chapter for uninstall package requests in docs (#726) Add a chapter for uninstall package requests in docs * Tue May 08 2018 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - Bump version: 9.14.7 → 9.15.0 * Mon May 07 2018 dcassany@suse.com - Add comment in pinch_system calls * Mon May 07 2018 dcassany@suse.com - Refining the uninstall type implementation * Fri May 04 2018 dcassany@suse.com - 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 ms@suse.de - Bump version: 9.14.6 → 9.14.7 * Fri May 04 2018 dcassany@suse.com - Some simple code cleaning * Fri May 04 2018 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - Bump version: 9.14.5 → 9.14.6 * Thu Apr 26 2018 ms@suse.de - Extend test-image-azure integration test Use xfs as filesystem and set a tag to also test image tags * Thu Apr 26 2018 ms@suse.de - 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 dcassany@suse.com - Add test for the utils class StringToSize This commit adds a couple of unit tests for the StringToSize class. * Tue Apr 24 2018 ms@suse.de - Bump version: 9.14.4 → 9.14.5 * Tue Apr 24 2018 ms@suse.de - Run doc target in travis test stage * Tue Apr 24 2018 ms@suse.de - 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 ms@suse.de - Fixup docstring warning from sphinx build * Tue Apr 24 2018 ms@suse.de - Fixup travis unit test stages Build docs in deployment stage only * Tue Apr 24 2018 ms@suse.de - Include doc_travis_deploy in travis deploy stage * Tue Apr 24 2018 ms@suse.de - Fixed syntax errors shown by travis lint * Tue Apr 24 2018 ms@suse.de - Revert "Fixup travis.yml" This reverts commit 79ccbdff394e2aba4f1e8fb6390a9a8e0d1925e2. * Tue Apr 24 2018 ms@suse.de - Revert "Yet another try to get travis stages correct" This reverts commit aca057c3554795b79c651f63a58967138d00f3c8. * Tue Apr 24 2018 ms@suse.de - Yet another try to get travis stages correct * Tue Apr 24 2018 ms@suse.de - Fixup travis.yml Looks like empty lines are not allowed * Tue Apr 24 2018 ms@suse.de - Revert "Clearly separate unittest stage from deployment" This reverts commit 5fd27924c931b6b60903b0015d0a8cf31cf499f7. * Tue Apr 24 2018 ms@suse.de - Bump version: 9.14.3 → 9.14.4 * Mon Apr 23 2018 dcassany@suse.com - 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 ms@suse.de - Clearly separate unittest stage from deployment * Fri Apr 20 2018 ms@suse.de - 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 ms@suse.de - Bump version: 9.14.2 → 9.14.3 * Fri Apr 20 2018 dcassany@suse.com - 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 ms@suse.de - 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 dcassany@suse.com - volume_manager API docs cleanup * Thu Apr 19 2018 dcassany@suse.com - repository API docs cleanup * Thu Apr 19 2018 dcassany@suse.com - system API docs cleanup * Wed Apr 18 2018 dcassany@suse.com - package_manager API docs cleanup * Wed Apr 18 2018 dcassany@suse.com - build API docs cleanup * Wed Apr 18 2018 ms@suse.de - Fixed docstring :rtype: values In Python the string type name is str not string * Tue Apr 17 2018 dcassany@suse.com - Cleanup of the iso_tools API docs * Tue Apr 17 2018 dcassany@suse.com - Cleanup of the utils API docs * Tue Apr 17 2018 ms@suse.de - 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 dcassany@suse.com - Cleanup of the solver API docs * Tue Apr 17 2018 ms@suse.de - Fixup docstring typos per review * Tue Apr 17 2018 ms@suse.de - 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 ms@suse.de - Fixup download url in setup.py Better point to installable packages. This Fixes #702 * Wed Apr 11 2018 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - Bump version: 9.14.1 → 9.14.2 * Fri Apr 06 2018 dcassany@suse.com - 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 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - Fixup test-image-docker unresolvable state genisoimage seems no longer present in the distro * Wed Apr 04 2018 ms@suse.de - 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 ms@suse.de - Bump version: 9.14.0 → 9.14.1 * Tue Apr 03 2018 ms@suse.de - 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 dcassany@suse.com - Make use of autoremove in Yum and Dnf to clean dependencies * Wed Mar 28 2018 dcassany@suse.com - 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 gmoro@suse.de - fix vmx fileName parameter, bsc#1084157 * Fri Mar 23 2018 ms@suse.de - Update schema version in free schema doc generator * Fri Mar 23 2018 ms@suse.de - Update schema version in headline of doc chapter * Fri Mar 23 2018 ms@suse.de - Bump version: 9.13.9 → 9.14.0 * Fri Mar 23 2018 ms@suse.de - Rebuild online schema documentation * Fri Mar 23 2018 ms@suse.de - XSL Auto update descriptions due to schema change * Fri Mar 23 2018 ms@suse.de - 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 dcassany@suse.com - 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 ms@suse.de - Update spec file to require xorriso * Thu Mar 22 2018 ms@suse.de - 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 ms@suse.de - 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 dcassany@suse.com - 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 dcassany@suse.com - Remove unneeded shebangs from dracut modules Fixes #668 * Mon Mar 19 2018 ms@suse.de - 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 ms@suse.de - Update package MANIFEST.in Include new iso_tools directory * Fri Mar 16 2018 ms@suse.de - Added iso_tools api documentation * Fri Mar 16 2018 ms@suse.de - Add list_iso method to iso_tools api * Fri Mar 16 2018 dcassany@suse.com - 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 ms@suse.de - Add create_iso method to iso_tools api * Thu Mar 15 2018 ms@suse.de - 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 ms@suse.de - 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 dcassany@suse.com - Make build type mandatory in XMLState * Wed Mar 14 2018 dcassany@suse.com - kiwi_inode_size value is no longer hardcoded in more than one place * Wed Mar 14 2018 dcassany@suse.com - Add warning message for dasd * Wed Mar 14 2018 dcassany@suse.com - Rearrange defaults and some comments * Wed Mar 14 2018 dcassany@suse.com - Rearrange variable start_sector attribute to be a Partitioner attribute * Tue Mar 13 2018 dcassany@suse.com - 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 ms@suse.de - Rebuild online schema documentation * Tue Mar 13 2018 ms@suse.de - Bump version: 9.13.8 → 9.13.9 * Tue Mar 13 2018 ms@suse.de - Bump version: 9.13.7 → 9.13.8 * Tue Mar 13 2018 ms@suse.de - Fixed base package requires kpartx is used by kiwi but was not required in spec * Tue Mar 13 2018 ms@suse.de - Update gitignore Do not manage changes in .pytest_cache * Tue Mar 13 2018 ms@suse.de - 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 ms@suse.de - Bump version: 9.13.6 → 9.13.7 * Mon Mar 12 2018 ms@suse.de - 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 dcassany@suse.com - 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 ms@suse.de - Bump version: 9.13.5 → 9.13.6 * Fri Mar 09 2018 ms@suse.de - Disable multipath from oem build test * Fri Mar 09 2018 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - Delete invalid motd file from build tests * Wed Mar 07 2018 ms@suse.de - 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 ms@suse.de - Bump version: 9.13.4 → 9.13.5 * Tue Mar 06 2018 ms@suse.de - 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 @ volume which we then need to specify of the relative lookup is not activated. Fixes bsc#1082155 * Tue Mar 06 2018 ms@suse.de - Bump version: 9.13.3 → 9.13.4 * Mon Mar 05 2018 dcassany@suse.com - 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 ms@suse.de - Bump version: 9.13.2 → 9.13.3 * Fri Mar 02 2018 ms@suse.de - The order of the options for mkisofs matters Setting -eltorito-platform after -b causes mkisofs to fail * Fri Mar 02 2018 ms@suse.de - 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 MichalMarek1@eaton.com - 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 ms@suse.de - Bump version: 9.13.1 → 9.13.2 * Fri Mar 02 2018 dcassany@suse.com - 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 ms@suse.de - 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 ms@suse.de - Extend has_option_in_help to also check error data * Thu Mar 01 2018 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - Fixup obs test status helper Use osc results output to get better status information * Wed Feb 28 2018 ms@suse.de - 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 tom_schr@web.de - 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 ms@suse.de - 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 ms@suse.de - Update yast setup documentation Incorporate changes per review by Tom * Mon Feb 26 2018 ms@suse.de - Fixed oem build test bind-utils explicitly required for obs to be able to resolve the package dependencies * Mon Feb 26 2018 ms@suse.de - Bump version: 9.13.0 → 9.13.1 * Mon Feb 26 2018 ms@suse.de - Only delete sub path if not empty * Mon Feb 26 2018 ms@suse.de - Fixed package lists for azure and ec2 build tests * Mon Feb 26 2018 ms@suse.de - 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 ms@suse.de - Cleanup config functions shell coding * Fri Feb 23 2018 amajer@suse.de - Use mkisofs instead of wodim * Fri Feb 23 2018 ms@suse.de - Delete obsolete/unused methods * Fri Feb 23 2018 ms@suse.de - Add functions.sh to shellcheck * Fri Feb 23 2018 ms@suse.de - Added doc page how to setup yast on firstboot * Thu Feb 22 2018 ms@suse.de - 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: <profiles> <profile name="A" description="..." arch="aarch64"/> <profile name="B" description="..." </profiles> 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 <profile> 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 ms@suse.de - 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 dcassany@suse.com - 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 ms@suse.de - 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 MichalMarek1@eaton.com - 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 ms@suse.de - Bump version: 9.12.9 → 9.13.0 * Fri Feb 16 2018 agraf@suse.de - 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 <agraf@suse.de> * Thu Feb 15 2018 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - 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 dcassany@suse.com - Update the docs to the current example present in kiwi-descriptions * Mon Feb 12 2018 ms@suse.de - Bump version: 9.12.8 → 9.12.9 * Mon Feb 12 2018 ms@suse.de - 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 ms@suse.de - 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 * Sat Feb 10 2018 ngompa@datto.com - 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 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - Delete obsolete ovf format value Support for ova has been added which makes the ovf format value obsolete and redundant * Tue Feb 06 2018 MichalMarek1@eaton.com - OVA: Print a user-friendly message if ovftool is not available * Tue Feb 06 2018 MichalMarek1@eaton.com - OVA: Require ovftype="vmware" * Mon Feb 05 2018 rjschwei@suse.com - Expand consistency check for grub efi package to cover debian based and RH distros * Mon Feb 05 2018 ms@suse.de - Bump version: 9.12.7 → 9.12.8 * Mon Feb 05 2018 ms@suse.de - Exclude install source device from target list * Mon Feb 05 2018 ms@suse.de - 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 ms@suse.de - 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 * Mon Feb 05 2018 rjschwei@suse.com - Fix style error * Mon Feb 05 2018 rjschwei@suse.com - Early exit if firmware is efi or uefi but the expected grub module is not part of the package list * Sun Feb 04 2018 ms@suse.de - Cleanup misleading method name * Sun Feb 04 2018 ms@suse.de - Fixed coverage report setup Latest version of the coverage module requires a report setup * Sun Feb 04 2018 ms@suse.de - 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@cyberorg.info - Use live-grub-stick * Fri Feb 02 2018 dcassany@suse.com - 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 ms@suse.de - Bump version: 9.12.6 → 9.12.7 * Thu Feb 01 2018 ms@suse.de - Update per review by Tom * Thu Feb 01 2018 ms@suse.de - Update per review by David * Wed Jan 31 2018 ms@suse.de - Update per review by Tom * Tue Jan 30 2018 ms@suse.de - 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 ms@suse.de - Update pre review by Tom * Tue Jan 30 2018 ms@suse.de - Update per review by Tom * Tue Jan 30 2018 ms@suse.de - Update per review by Tom * Tue Jan 30 2018 dcassany@suse.com - 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 ms@suse.de - 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 ms@suse.de - Fixup docstrings in xml_state * Tue Jan 30 2018 ms@suse.de - Allow only one dracut variable for kiwi debugging * Mon Jan 29 2018 ms@suse.de - Bump version: 9.12.5 → 9.12.6 * Sat Jan 27 2018 ms@suse.de - 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 MichalMarek1@eaton.com - 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 ms@suse.de - 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 MichalMarek1@eaton.com - 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 ms@suse.de - Bump version: 9.12.4 → 9.12.5 * Fri Jan 26 2018 ms@suse.de - 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 dcassany@suse.com - uboot-setup-panda.tgz was readded by mistake as boot hooks are no longer needed * Thu Jan 25 2018 dcassany@suse.com - Adding opensuse ports repository * Thu Jan 25 2018 ms@suse.de - Bump version: 9.12.3 → 9.12.4 * Thu Jan 25 2018 ms@suse.de - 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 ms@suse.de - Bump version: 9.12.2 → 9.12.3 * Thu Jan 25 2018 ms@suse.de - 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 ms@suse.de - Bump version: 9.12.1 → 9.12.2 * Wed Jan 24 2018 dcassany@suse.com - Update the man pages * Wed Jan 24 2018 ms@suse.de - 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 ms@suse.de - 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 rjschwei@suse.com - 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 ms@suse.de - Bump version: 9.12.0 → 9.12.1 * Wed Jan 24 2018 ms@suse.de - Fixed dracut-kiwi-oem-dump requires setup on rhel/fedora multipath is provided by device-mapper-multipath * Tue Jan 23 2018 dcassany@suse.com - Adding package_gpgcheck flag as an option for set-repo and add-repo Fixes #565 * Tue Jan 23 2018 dcassany@suse.com - 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 davidcassany@gmail.com - Fix build tests to match new locale setting strategy (#586) * Mon Jan 22 2018 ms@suse.de - 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 ms@suse.de - Fixed build tests for azure and ec2 Packages yast2-storage and recode no longer provided * Mon Jan 22 2018 ms@suse.de - Bump version: 9.11.30 → 9.12.0 * Mon Jan 22 2018 ms@suse.de - 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 ms@suse.de - 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 ms@suse.de - No need to actively stop the dialog service * Mon Jan 22 2018 ms@suse.de - Added required packages for dmraid and multipath * Sat Jan 20 2018 ms@suse.de - Added handling for dmraid and multipath devices * Fri Jan 19 2018 dcassany@suse.com - 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 ms@suse.de - Fixed Arrays implicitly concatenate by shellcheck * Thu Jan 18 2018 ms@suse.de - Add support for net install in dracut kiwi-dump This implementes one of the tasks from Issue #576 * Wed Jan 17 2018 ms@suse.de - 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 ms@suse.de - Update schema version in documentation * Wed Jan 17 2018 ms@suse.de - Auto update all schema descriptions to v6.8 * Wed Jan 17 2018 ms@suse.de - Delete hwclock from profile and system setup * Wed Jan 17 2018 ms@suse.de - 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 dcassany@suse.com - 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 dcassany@suse.com - Extend CommandCapabilities to also check version * Tue Jan 16 2018 ms@suse.de - Added dracut-kiwi-oem-dump subpackage to spec * Tue Jan 16 2018 davidcassany@gmail.com - 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 ms@suse.de - Bump version: 9.11.29 → 9.11.30 * Mon Jan 08 2018 ms@suse.de - Deleted syslinux from ppc/oemboot/suse-SLES15 syslinux is not provided for ppc. This Fixes bsc#1073310 * Fri Dec 29 2017 martin.mohring@5eecosystems.com [boot] fix double quote in grub menu which makes kernel updates for CentOS / RHEL / Fedora break grub.cfg * Tue Dec 19 2017 dcassany@suse.com - 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 dcassany@suse.com - 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 ms@suse.de - Bump version: 9.11.28 → 9.11.29 * Wed Dec 13 2017 ms@suse.de - 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 <type image="iso" ... flags="overlay|dmsquash"/> Please note both modules supports a different set of live features. This Fixes #568 * Tue Dec 12 2017 ms@suse.de - Bump version: 9.11.27 → 9.11.28 * Thu Dec 07 2017 ms@suse.de - Fixed ec2 and azure test builds cryptconfig is no longer provided * Wed Dec 06 2017 ms@suse.de - Bump version: 9.11.26 → 9.11.27 * Wed Dec 06 2017 ms@suse.de - Apply target permissions only if target dir exists * Wed Dec 06 2017 ms@suse.de - Bump version: 9.11.25 → 9.11.26 * Wed Dec 06 2017 ms@suse.de - 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 ms@suse.de - Fixed tox doc target Correctly include schema pictures after travis-sphinx build * Wed Dec 06 2017 ms@suse.de - Bump version: 9.11.24 → 9.11.25 * Tue Dec 05 2017 ms@suse.de - 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 ms@suse.de - Apply xslt validation on boot images * Tue Dec 05 2017 MichalMarek1@eaton.com - Do not match comments and PIs in XSLT templates I wanted to add a simple vim modeline to my XML description: <!-- vim: et:sts=2:sw=2 --> This made kiwi consume insane amounts of memory during the XSLT transform step. While this may be a bug in my version of lxml, we do not transform comments on processing instructions in the conversion templates, so the easiest solution is not to match them. Signed-off-by: Michal Marek <MichalMarek1@eaton.com> * Mon Dec 04 2017 ms@suse.de - Make sure toplevel target dir keeps permissions When syncing data via rsync we make sure the toplevel target directory the data gets synced to does not change it's origin permissions. This Fixes #557 * Mon Dec 04 2017 ms@suse.de - Rebuild schema documentation * Mon Dec 04 2017 ms@suse.de - Fixed dependencies for dracut-kiwi-lib Adapt package names for gdisk/gptfdisk and btrfs-progs/btrfsprogs Install and require fdasd only on s390 architecture Delete fbiterm requirement since the project seems unmaintained and the use of the framebuffer terminal is an option in the code but not mandatory. This Fixes #559 * Fri Dec 01 2017 adrian@suse.de - add missing deps for docker builds. Moving kiwi-image:* provides to -requires package * Wed Nov 29 2017 ms@suse.de - Update text per review * Wed Nov 29 2017 ms@suse.de - Fix and cleanup tox setup Along with the cleanup of the tox setup also the workaround using an older version of the py module has been fixed * Wed Nov 29 2017 ms@suse.de - Fixed travis-sphinx call syntax * Wed Nov 29 2017 ms@suse.de - Update dropped feature list Legacy kiwi's oem recovery feature will not be ported due to technologes like ReaR, snapper, btrfs and due to the container, cloud and public cloud orientation of OS images * Thu Nov 23 2017 ms@suse.de - Implementation of dracut kiwi-dump module Provide the capabilities of the oem install code as dracut module. The implementation covers the result of the installiso="true" configuration. Installation from remote sources still needs to be done and will follow in an extra pull request. This addresses Issue #576 * Thu Nov 23 2017 ms@suse.de - Bump version: 9.11.23 → 9.11.24 * Thu Nov 23 2017 ms@suse.de - Fixed URL to semver.org in development guide * Thu Nov 23 2017 ms@suse.de - Bump version: 9.11.22 → 9.11.23 * Thu Nov 23 2017 ms@suse.de - Fixed module setup for dracut-kiwi-lib lsblk tool used in code but missing in dependencies * Thu Nov 23 2017 ms@suse.de - Fixed test-image-azure build test azurectl does not resolve because of missing AppScheduler but for the integration test image we also don't need azurectl Thus it was just deleted from the list * Thu Nov 23 2017 ms@suse.de - Fixed test-image-azure build test pam-modules package doesn't exist anymore * Wed Nov 22 2017 ms@suse.de - Bump version: 9.11.21 → 9.11.22 * Wed Nov 22 2017 ms@suse.de - Fixed typo in spec file The use of the suse_version macro from the last change introduced a syntax error which caused the package build to fail in obs * Wed Nov 22 2017 ms@suse.de - Bump version: 9.11.20 → 9.11.21 * Tue Nov 21 2017 dimstar@opensuse.org - package: Prepare for Tumbleweed moving to suse_version 1550 * Tue Nov 21 2017 ms@suse.de - Bump version: 9.11.19 → 9.11.20 * Tue Nov 21 2017 ms@suse.de - Only add package manager on image package requests (#550) If an image description only contains package requests from a bootstrap section but no image packages, it's not required to install a package manager package into the system * Tue Nov 21 2017 ms@suse.de - Add device-mapper requirement for dracut-kiwi-live * Mon Nov 20 2017 dcassany@suse.com - Post build constraint validation refactored * Mon Nov 20 2017 ms@suse.de - Bump version: 9.11.18 → 9.11.19 * Mon Nov 20 2017 ms@suse.de - Update gfxboot.cfg for iso images Don't move down one menu entry the first time a F-key is used This Fixes bsc#1068790 * Fri Nov 17 2017 dcassany@suse.com - Adding quotes to ensure '%_dbpath' is treated as string * Fri Nov 17 2017 dcassany@suse.com - Add max size post build command This commit includes a post build constraint validation into the Result class. With this commit any file included to the result tuple is verified not to exceed the maximum size configured into the runtime configuration file config.yml. Fixes #468 * Fri Nov 17 2017 ms@suse.de - Fixed ec2 integration test requirements for unneeded crash package broken * Fri Nov 17 2017 ms@suse.de - Fixed ec2 integration test nothing provides pam-modules * Thu Nov 16 2017 dcassany@suse.com - Removes the hardcoded path of the rpm database With this commit the rpmdb path is evaluated from the %_dbpath macro instead of being hardcoded. Fixes #537 * Thu Nov 16 2017 ms@suse.de - Bump version: 9.11.17 → 9.11.18 * Wed Nov 15 2017 ms@suse.de - Added runtime check for dracut-kiwi-oem-repart OEM images if configured to use dracut as initrd system requires the KIWI provided dracut-kiwi-oem-repart module * Wed Nov 15 2017 ms@suse.de - Fixup py vs. pytest-cov version incompatibility * Wed Nov 08 2017 ms@suse.de - Bump version: 9.11.16 → 9.11.17 * Wed Nov 08 2017 ms@suse.de - Delete atftp from SLE15 boot descriptions atftp will not be part of SLE15 per fate#323633. This Fixes #543 * Tue Nov 07 2017 ms@suse.de - Fixed blocksize setup in losetup The -L option was used to set the blocksize value for losetup However there is an option name clash between suse util-linux and upstream which now leads to the problem that option -L has changed its meaning and actually means --nooverlap which completely breaks the call in kiwi. This patch changes the call to use the long form --logical-blocksize. This Fixes bsc#1066873 * Tue Nov 07 2017 dcassany@suse.com - Code cleaning and enhancing variables names * Tue Nov 07 2017 dcassany@suse.com - Use usr/lib/rpm if present instead of var/lib/rpm With this commit OEM recovery tries to backup usr/lib/rpm if present, if the directory is not present it tries to backup the old default configuration, var/lib/rpm. * Mon Nov 06 2017 ms@suse.de - Extend checkmedia runtime check In addition to the correct architecture the check also includes the lookup of the required tagmedia tool to be present on the building host. This Fixes #538 * Mon Nov 06 2017 dcassany@suse.com - Remove hardcoded any /var/lib/rpm path This commit changes any /var/lib/rpm reference to the call 'rpm -E %_dbpath' which returns the path of the rpmdb which has been recently updated to a different location in recent rpm versions. Now the rpmdb path is determined dynamically. Fixes #537 * Fri Nov 03 2017 dcassany@suse.com - Adding a s390 oem test image * Fri Nov 03 2017 dcassany@suse.com - kiwi-hooks should be packed in tar Remote OBS source service is no capable of packaing a folder into a tar. * Fri Nov 03 2017 dcassany@suse.com - Include arm build test * Fri Nov 03 2017 davidcassany@gmail.com - Adding test image descriptions This commit adds the image descriptions used to test KIWI within the Open Build Service. * Thu Nov 02 2017 ms@suse.de - Add support for apt repository priorities Apt handles repository priorities in a preferences file per repository and calls that pin-priorities. The implementation here sets the configured priority for all packages of the given repository * Tue Oct 31 2017 Jellyfrog@users.noreply.github.com - Add missing hooks to the other architectures * Tue Oct 31 2017 Jellyfrog@users.noreply.github.com - Add pre/post mount hook for oem * Tue Oct 31 2017 Jellyfrog@users.noreply.github.com - Clarify how strip works * Mon Oct 30 2017 Jellyfrog@users.noreply.github.com - Add more OEM hooks * Wed Oct 25 2017 ryan@desfo.org - updated contributing link * Wed Oct 25 2017 ryan@desfo.org - s/42.1/42.3/ * Wed Oct 25 2017 ms@suse.de - Bump version: 9.11.15 → 9.11.16 * Wed Oct 25 2017 ms@suse.de - Fixed validation of isohybrid warnings The list of warning messages is evaluated line by line and those not matching the ignore warnings list are treated as errors. However if an empty line exists it did not match the ignore warnings list but is also not an error. This patch makes sure only non empty warning information has an effect * Wed Oct 25 2017 ms@suse.de - Bump version: 9.11.14 → 9.11.15 * Wed Oct 25 2017 ms@suse.de - Do not require cracklib-dict-full in boot images * Tue Oct 24 2017 ms@suse.de - Bump version: 9.11.13 → 9.11.14 * Tue Oct 24 2017 ms@suse.de - Cleanup SLE12 boot image descriptions * Tue Oct 24 2017 ms@suse.de - Bump version: 9.11.12 → 9.11.13 * Tue Oct 24 2017 ms@suse.de - Cleanup SLE boot image descriptions Don't use packages which does not exist on SLE, Fixes #523 * Mon Oct 23 2017 dcassany@suse.com - Improve coding style to make flake8 happy This commit includes the exact Exception class that the 'except' statement catches. According to the new flake8 3.5.0 version it should be explicit rather than implicit. * Mon Oct 23 2017 dcassany@suse.com - Add OCI reference in skopeo copy call and umoci config call Skopeo, since v1.24, does no longer assume 'latest' as the default tag/reference and requires explicit tag or reference in skopeo call. In KIWI the default was only used to import the base rootfs, with this commit the imported container is tagged as 'base_layer'. The current patch works for all skopeo versions. * Thu Oct 19 2017 Jellyfrog@users.noreply.github.com - Update hooks documentation * Thu Oct 19 2017 ms@suse.de - Bump version: 9.11.11 → 9.11.12 * Thu Oct 19 2017 Jellyfrog@users.noreply.github.com - Add more hooks for oemboot This follows netboot behavior * Wed Oct 18 2017 dcassany@suse.com - Fix vmdk descriptor file This commit fixes the descriptor file of the vmdk images. Before this commit the descriptior file was appended at the end of the image instead of overwritting the current one at the very beginning. Fixes bsc#1050665 * Wed Oct 18 2017 ms@suse.de - Bump version: 9.11.10 → 9.11.11 * Wed Oct 18 2017 ms@suse.de - Follow up fix for isohybrid error handling Allow to handle multiple messages from isohybrid as warnings. Only if the list of messages still contains information after all non error conditions had been checked out, an exception is thrown * Mon Oct 16 2017 ms@suse.de - Bump version: 9.11.9 → 9.11.10 * Mon Oct 16 2017 ms@suse.de - Cleanup boot descriptions The still existing kiwi boot descriptions contained wrong information about no longer existing packages and many other obsolete information. * Fri Oct 13 2017 ms@suse.de - Bump version: 9.11.8 → 9.11.9 * Fri Oct 13 2017 ms@suse.de - Prefer image packages section for bootincludes If a package is marked bootinclude prefer <packages type="image"> section in the target XML as primary target and only if no such section exists put the package in the <packages type="bootstrap"> section * Fri Oct 13 2017 ms@suse.de - Keep NVMe drivers in the initrd Support systems with the root filesystem on a NVMe device * Fri Sep 29 2017 ms@suse.de - Bump version: 9.11.7 → 9.11.8 * Fri Sep 29 2017 dimstar@opensuse.org - Changed permissions of /srv/tftpboot to be readable (bsc#940608) * Thu Sep 28 2017 ms@suse.de - Bump version: 9.11.6 → 9.11.7 * Thu Sep 28 2017 ms@suse.de - Also handle multiple error conditions * Thu Sep 28 2017 ms@suse.de - Allow to ignore certain isohybrid warnings kiwi treates warning from isohybrid as fatal errors becuase in most cases they are fatal. However some of them are kind of historical and should be ignored like the one described here: http://www.syslinux.org/archives/2015-March/023306.html * Wed Sep 27 2017 ms@suse.de - Bump version: 9.11.5 → 9.11.6 * Wed Sep 27 2017 ms@suse.de - Make sure xz options are used with pxe tarball The tar command used in the pxe builder did not utilize threading and/or the xz options provided by an optional kiwi config file. This Fixes #507 * Wed Sep 27 2017 ms@suse.de - Move depmod into baseUpdateModuleDependencies Kernel module dependencies should be resolved after kiwi has called all the stripping functions and not as part of the baseCreateCommonKernelFile which runs before. This Fixes #508 * Tue Sep 26 2017 ms@suse.de - Fixed order of volume mount list re-order mount_list by mountpoint hierarchy. This is needed because the handling of the fullsize volume and all other volumes is outside of the canonical order. If the fullsize volume forms a nested structure together with another volume the volume mount list must be re-ordered to avoid mounting the volumes in the wrong order * Mon Sep 25 2017 Jellyfrog@users.noreply.github.com - Update issue template * Fri Sep 22 2017 ms@suse.de - Bump version: 9.11.4 → 9.11.5 * Fri Sep 22 2017 ms@suse.de - Rebuild schema documentation * Thu Sep 21 2017 ms@suse.de - Show results in a dialog * Wed Sep 20 2017 ms@suse.de - Improve display of runMediaCheck results The splash screen should be switched off in order to let the user see the mediacheck results as well as a delay timeout before the boot continues or stops is useful * Wed Sep 20 2017 ms@suse.de - Call plymouth default theme setup in build command Make sure plymouth-set-default-theme is called as part of the system build command and not only as part of the system prepare command * Tue Sep 19 2017 ms@suse.de - Fixed package requires for dracut-kiwi-live On Fedora/RHEL cdrkit is only a source package building other packages. The package dracut-kiwi-live really needs is genisoimage * Tue Sep 19 2017 ms@suse.de - Added dracut kiwi oem module and library A new dracut module kiwi-repart used to be the successor of the custom kiwi oemboot code to repartition the disk has been added. Along with the module a dracut library kiwi-lib will also be delivered. * Mon Sep 18 2017 ms@suse.de - Fix trailing pipe character in .packages file In addition make sure the field layout is consistent across the .packages files no matter which package manager was used to create the information. This Fixes #501 * Fri Sep 15 2017 ms@suse.de - Bump version: 9.11.3 → 9.11.4 * Fri Sep 15 2017 ms@suse.de - Update documentation Link to the obs overview page to show build test results * Fri Sep 15 2017 ms@suse.de - Added Fedora integration test build to obs status * Fri Sep 15 2017 dcassany@suse.com - Limit the characters set for volid attribute This commit fixes #493 * Thu Sep 14 2017 ms@suse.de - Revert "Fixed package requires" This reverts commit a8d50a593911725965e09b0e8c2f3b9bc742202b. * Thu Sep 14 2017 ms@suse.de - Fixed package requires On Fedora xattr is provided by python[3]-pyxattr * Thu Sep 14 2017 ms@suse.de - kiwi-boot-requires only required for suse(obs) * Thu Sep 14 2017 ms@suse.de - Update project intro page * Thu Sep 14 2017 ms@suse.de - Update project intro layout * Thu Sep 14 2017 ms@suse.de - Update project intro page * Wed Sep 13 2017 ms@suse.de - Bump version: 9.11.2 → 9.11.3 * Tue Sep 12 2017 ms@suse.de - Added disk format="vhdx" support Support dynamic VHDX (gen2) image format for Hyper-V. This Fixes #490 * Tue Sep 12 2017 ms@suse.de - Added additional required attr schematron rule The new rule allows to check for required attributes for a specific image type and is used for the filesystem attribute which is required for the image type oem, vmx and pxe. This Fixes #476 * Mon Sep 11 2017 ms@suse.de - Bump version: 9.11.1 → 9.11.2 * Mon Sep 11 2017 ms@suse.de - Rebuild online schema documentation * Mon Sep 11 2017 ms@suse.de - Bump version: 9.11.0 → 9.11.1 * Mon Sep 11 2017 ms@suse.de - Fixed kernelList function The kernelList function searches for the installed kernels and applies the corresponding initrd name. The information the method provides is used in case of a custom initrd which should be used instead of the result of dracut. When requesting the use of the kiwi firsboot initrd also in the system via the <oem-kiwi-initrd> element, the information from the list is used to correctly link the kiwi initrd named initrd.vmx to the expected name of the system as dracut would create it. The creation of the list was broken which lead to an empty list and the after effect that the system was not able to reboot. This Fixes #483 * Mon Sep 11 2017 ms@suse.de - Update oemboot/rhel-07.0 due to isolinux changes With the move of the isolinux setup operation into the python code and the deletion of the old code from the images.sh scripts it's required to keep syslinux in the boot image otherwise the builder can't find it when explicitly deleted before the isolinux setup * Mon Sep 11 2017 ms@suse.de - Update device node names for devmapper nodes Partition devices created by the device mapper could use the _part or the -part naming schema. This patch allows for both variants and Fixes #480 * Mon Sep 11 2017 ms@suse.de - Added e2fsprogs to s390/netboot During bootup of a diskful netclient when it comes to e2 filesystem operations the tools were missing. Fixes #479 * Fri Sep 08 2017 dcassany@suse.com - Rename source label This commit renames the source label to a more explicit name. This commit also relates to bsc#1055542 and fixes #473 * Fri Sep 08 2017 ms@suse.de - Add mediacheck handler for live iso This fixes bsc#1049304 * Thu Sep 07 2017 ms@suse.de - Added live iso integration test build to obs status * Thu Sep 07 2017 ms@suse.de - Bump version: 9.10.6 → 9.11.0 * Thu Sep 07 2017 ms@suse.de - Delete atftp from boot descriptions In SLE15 / Leap15 atftp has been dropped. This Fixes bsc#1056951 * Thu Sep 07 2017 ms@suse.de - Deleted Leap 42.1 JeOS Leap 42.3 has been released * Thu Sep 07 2017 ms@suse.de - Fixed list of gfxboot modules Bad bug, missing comma caused the list to be interpreted differently by python which screwed up some list items * Thu Sep 07 2017 ms@suse.de - Delete obsolete suseGFXBoot kiwi boot code The code has been moved into the python source at bootloader/config/isolinux.py * Wed Sep 06 2017 ms@suse.de - Delete vmxboot descriptions vmx boot is now fully integrated with dracut * Wed Sep 06 2017 ms@suse.de - Make get_initrd_system a state method Make sure the default initrd_system is set to dracut for the vmx image type and to kiwi if no initrd_system is specified. This allows to simplify other code parts as we can trust there is a value set * Wed Sep 06 2017 ms@suse.de - Update schematron rules for boot and initrd_system The boot and initrd_system attributes are no longer used by the vmx image type and are therefore not allowed anymore. * Wed Sep 06 2017 ms@suse.de - Added runtime checks for overlay disk images Checking if the dracut-kiwi-overlay package will be installed as part of the build and also for the supported EFI setup since the EFI secure boot setup would try to perform changes on the filesystem which is a readonly squashfs, this is not supported * Tue Sep 05 2017 ms@suse.de - Fix isohybrid call isohybrid errors printed on stderr were not treated as fatal but should be treated as such. In addition isohybrid should distinguish for efi setup according to the efi setup of the image itself * Tue Sep 05 2017 dcassany@suse.com - Refactor _get_source and _get_source_label methods * Tue Sep 05 2017 ms@suse.de - Support overlay disk images via dracut Using the kiwi-overlay module to boot up systems configured with the overlayroot="true" attribute in the system image XML configuration. Fixes #65 * Tue Sep 05 2017 ms@suse.de - Added kiwi-overlay dracut module and package Package dracut-kiwi-overlay providing kiwi-overlay dracut module * Mon Sep 04 2017 ms@suse.de - update README Use normal style dash character * Mon Sep 04 2017 ms@suse.de - update README * Sun Sep 03 2017 ms@suse.de - Delete isoboot descriptions Live ISO boot is now fully integrated with dracut * Sun Sep 03 2017 ms@suse.de - Added runtime check for dracut module on live iso Live ISO images uses a dracut initrd to boot and requires the KIWI provided kiwi-live dracut module to be installed at the time dracut is called. Thus this runtime check examines if the required package is part of the package list in the image description * Fri Sep 01 2017 dcassany@suse.com - Include the source label in container images This commit fixes bsc#1055542, it includes the DISTURL parameter as a label into the container metadata when the build happens inside the buildservice. The new label included is named: * org.opencontainers.image.source in line with the current OCI annotations schema. * Fri Aug 25 2017 ms@suse.de - Added kiwi-live dracut module and package Package dracut-kiwi-live providing kiwi-live dracut module * Wed Aug 23 2017 ms@suse.de - Update schematron rule for boot attribute The boot attribute is no longer used by the iso image type and is therefore not allowed anymore * Wed Aug 23 2017 ms@suse.de - Update allowed values for iso image attribute With the move to dracut only the options implemented for the kiwi-live dracut module are available * Tue Aug 22 2017 ms@suse.de - Move to dracut for live ISO images Instead of the kiwi isoboot layout the live layout has been changed to follow the rules of the live system support offered by dracut. The initrd used to boot up the system is now a dracut generated initrd and can be customized via the 'flags' attribute in the kiwi XML description. In order to meet the kiwi live requirements a custom dracut module called kiwi-live is provided along with the changes in kiwi. This Fixes #470 * Tue Aug 22 2017 ms@suse.de - Bump version: 9.10.5 → 9.10.6 * Mon Aug 21 2017 ms@suse.de - Added boot descriptions for SLE15 on ppc * Mon Aug 21 2017 ms@suse.de - Added boot descriptions for SLE15 on s390 * Mon Aug 21 2017 ms@suse.de - Bump version: 9.10.4 → 9.10.5 * Fri Aug 11 2017 ms@suse.de - Added handling of formatoptions attribute Custom disk format options passed in the formatoptions attribute were not handled. In addition options with a value passed to qemu were handled in the wrong way. This commit addresses both problems and Fixes #463 * Fri Aug 11 2017 ludwig.nussel@suse.de - s/sles/openSUSE/ * Fri Aug 11 2017 ludwig.nussel@suse.de - copy SLE15 files for Leap 15 * Fri Aug 11 2017 ludwig.nussel@suse.de - add Leap 15 macros * Fri Aug 11 2017 ludwig.nussel@suse.de - leap_version is deprecated. use sle_version+is_openuse instead * Thu Aug 10 2017 ms@suse.de - Added azure integration test build to obs status * Wed Aug 09 2017 ms@suse.de - Bump version: 9.10.3 → 9.10.4 * Wed Aug 09 2017 ms@suse.de - Fixed resize if all free volume in oemboot/repart * Wed Aug 09 2017 ms@suse.de - Fix space calculation for lvm volumes It is required to take the other configured volumes into account in order to solve the problem of nested volumes. The size of e.g the root volume must be reduced by the size other volumes inside of the root volume needs. This is especially required if the root volume is not the fullsize volume * Tue Aug 08 2017 ms@suse.de - Fixed setup.py requirements record PyYAML is required by KIWI * Fri Aug 04 2017 ms@suse.de - Add description of Overlay Files to Terminology * Thu Aug 03 2017 ms@suse.de - Bump version: 9.10.2 → 9.10.3 * Wed Aug 02 2017 dcassany@suse.com - Export *.verified also for images based on apt-get This commit includes support in system/setup.py to run a package verification also for images based in apt-get package-manger Related to #457 * Wed Aug 02 2017 dcassany@suse.com - Include .packages file for apt-get based images This commit renames export_rpm_packages_list method to export_packages_list and it includes support for listing debian packages if apt-get package manager is used. Fixes #457 * Wed Aug 02 2017 ms@suse.de - Fix calculation of needed disk space for oem types The calculation did not include the minimum volume requirements if a volume setup exists * Tue Aug 01 2017 ms@suse.de - Update expected compatible major version every version of umoci/skopeo <= major v1.x.x is expected to work with the implementation used in kiwi * Tue Aug 01 2017 ms@suse.de - Extend scope of check_docker_tool_chain_installed The runtime check only checks for the presence of the docker tools umoci and skopeo but as we are expecting incompatible api changes in the next major version release the check has been extended to look at the major versions of the installed tools as well. Fixes #454 * Fri Jul 28 2017 ms@suse.de - Fixup schema version in chapter topic * Fri Jul 28 2017 ms@suse.de - Bump version: 9.10.1 → 9.10.2 * Thu Jul 27 2017 ms@suse.de - Fixup XSL stylesheet v6.7 Apply templates matching all processing instructions in order to match <section>text</section> * Thu Jul 27 2017 ms@suse.de - Rebuild schema documentation * Thu Jul 27 2017 dcassany@suse.com - Remove xml_state.get_build_type_mediacheck method The method was not needed since a direct call to xml_state.build_type.get_mediacheck was already producing an equivalent output (True, False or None), where 'None' can be easily treated in the same way as False. * Thu Jul 27 2017 dcassany@suse.com - Add runtimecheck for mediacheck attribute on non x86 hosts This commit rearranges some method and variable names and includes a new runtimecheck to ensure the mediacheck attribute is not set when building non x86 images. Patch related to bsc#1049304 * Thu Jul 27 2017 ms@suse.de - Auto update image descriptions to schema v6.7 * Thu Jul 27 2017 ms@suse.de - Update schema to version v6.7 Cleanup of the schema, delete obsolete and unused attributes and sections. Details of the change can be found in the conversion stylesheet convert66to67.xsl * Thu Jul 27 2017 ms@suse.de - Add XSL stylesheet to convert from v6.6 to v6.7 Delete the following obsolete and unhandled attributes and sections * <image ... kiwirevision="..."/> * <type ... checkprebuilt="..."/> * <type ... fsnocheck="..."/> * <repository ... status="..."/> * <repository ... prefer-license="..."/> * <package replaces="..."/> * <defaultprebuilt> * <defaultdestination> * <defaultroot> * <partitioner> * <rpm-force> * Wed Jul 26 2017 dcassany@suse.com - Adding mediacheck menu entry for liveCDs This commit adds the checkiso attribute in type tag, only available for iso image types. Checkiso is boolean that determines the presence of0 a Mediacheck menu entry or not in the bootloader. This patch is related to bsc#1049304 * Tue Jul 25 2017 ms@suse.de - Fixup encoding handling for profile file If an element like displayname or oem-boot-title contains characters outside of the ascii table this causes trouble when kiwi writes out the profile file and the code is called through python2. The reason here is that the default encoding on write() (and other methods) is set to ascii in python2 and when it receives unicode characters outside of the ascii spec a UnicodeEncodeError is thrown. Now all of kiwi is using Unicode which means this does not produce a problem when calling the code through python3 because the default encoding is utf-8 there. This patch introduces a method which allows to change python's default encoding and calls it at the code point where we write the profile because we got unicode and we want to write unicode in any case. This fixes at least one situation for python2-kiwi to allow the use of non ascii characters in the XML setup. If other places will be found the same approach should allow to fix it for python2 * Tue Jul 25 2017 Jellyfrog@users.noreply.github.com - Fix RHEL spec check * Tue Jul 25 2017 ms@suse.de - Bump version: 9.10.0 → 9.10.1 * Tue Jul 25 2017 ms@suse.de - Add LVM overhead for lvm based images LVM itself requires metadata stored in the metadata block kiwi did not take a size value for this data into account * Tue Jul 25 2017 ms@suse.de - Use dmsetup to cleanup device maps Instead of the broken kpartx -d we use dmsetup remove directly on the maps kiwi has created * Mon Jul 24 2017 ms@suse.de - Evaluate file strip before kernel strip Information from the optional <strip type="delete"> section was handled as part of the suseStripInitrd method which is called after suseStripKernel. However if a request to delete a driver file is part of the above mentioned strip section the checks for the driver dependency and also for potential superfluous firmware is not applied. Thus the evaluation of the <strip type="delete"> section happens earlier in the suseStripKernel method. Fixes #442 * Mon Jul 24 2017 ms@suse.de - Added ec2 integration test build to obs status * Mon Jul 24 2017 ms@suse.de - Added Xen setup runtime validation Added check_xen_uniquely_setup_as_server_or_guest runtime check to check for a unique dom0 or domU guest setup Fixes #429 * Mon Jul 24 2017 ms@suse.de - Rebuild schema documentation * Mon Jul 24 2017 ms@suse.de - Make vmdisk optional for the machine setup The guest machine information might not require information about the disk. Issue #429 * Fri Jul 21 2017 Jellyfrog@users.noreply.github.com - Fix some spelling * Fri Jul 21 2017 Jellyfrog@users.noreply.github.com - Fix some spelling * Fri Jul 21 2017 ms@suse.de - Use the same option type (long form) for clarity * Thu Jul 20 2017 ms@suse.de - Use kernel compatible XZ options for kiwi initrd The kernel requires specific XZ options for the initrd in order to read the compressed data. This values should not be configurable by the user and are set to the same options as used by dracut now. Fixes #435 * Thu Jul 20 2017 ms@suse.de - Change default XZ compression options Use all cpu cores by default. Fixes #433 * Thu Jul 20 2017 ms@suse.de - Update spec file provides for schema version * Thu Jul 20 2017 ms@suse.de - Bump version: 9.9.5 → 9.10.0 * Thu Jul 20 2017 martin.mohring@5eecosystems.com - fixed: fdupes is also available on Fedora * Thu Jul 20 2017 martin.mohring@5eecosystems.com - changed: simplify diff to orig spec file template * Thu Jul 20 2017 martin.mohring@5eecosystems.com - added: support for Fedora 25 / 26, fixed support for CentOS 7 in the spec file * Thu Jul 20 2017 dcassany@suse.com - Include default container name This commit includes a default container name for KIWI container images. This makes possible to create OCI and Docker containers without forcing the user to include a <contaierconfig> section in the description file. * Thu Jul 20 2017 ms@suse.de - Refactor code which deals with Xen Provide two methods is_xen_guest and is_xen_server which are used instead of the former machine domain and firmware processing. Issue #429 * Thu Jul 20 2017 ms@suse.de - Apply schema v6.6 stylesheet to XML descriptions Updates all XML descriptions to latest schema version and also includes adaptions to the test XML descriptions for testing the new Xen guest and server setup * Wed Jul 19 2017 ms@suse.de - Fixup shell test condition Variables used in shell conditions should be quoted * Wed Jul 19 2017 ms@suse.de - Update schema to version 6.6 * Deleted domain attribute from machine section * Added xen_server attribute to specify a type to be a Xen dom0 * Added xen_loader attribute in machine section to specify the target guest loader this image is expected to become loaded with * Wed Jul 19 2017 ms@suse.de - Added schema 6.5 to 6.6 conversion Delete the Xen domain attribute from the machine section and introduce a new xen_server attribute which is set to true for any machine section with a Xen dom0 configuration * Tue Jul 18 2017 ms@suse.de - Added Makefile target obs_test_status Call make obs_test_status and get an overview about the current integration test builds and their status * Tue Jul 18 2017 ms@suse.de - Bump version: 9.9.4 → 9.9.5 * Tue Jul 18 2017 ms@suse.de - Added s390 tumbleweed boot descriptions * Mon Jul 17 2017 ms@suse.de - Bump version: 9.9.3 → 9.9.4 * Mon Jul 17 2017 dcassany@suse.com - This commit fixed root_init when running inside the buildservice This commit fixes regression bug introduced in #422 * Mon Jul 17 2017 dcassany@suse.com - Exclude kiwi files from images This commit from one hand includes a get_exclude_list_for_root_data_sync method in Defaults which returns a list of the files used by KIWI that should not be part of the resulting image. From the other hand makes use of the exclusion default list in live, archive and container images, it fixes #423. * Mon Jul 17 2017 ms@suse.de - Bump version: 9.9.2 → 9.9.3 * Mon Jul 17 2017 dcassany@suse.com - Revert "Include .buildenv file inside the buildroot" This reverts commit d30bf4a19ff11f7132c9a31528ddfa103e01b299. This also includes the get_buildservice_env_name method in Defaults to centralize '.buildenv' occurrences. * Mon Jul 17 2017 ms@suse.de - Fixup helper/kiwi-boot-packages Make sure the code also works in python2 * Mon Jul 17 2017 ms@suse.de - Search for python interpreter in path Allow more flexible path spec to find python interpreter * Fri Jul 14 2017 ms@suse.de - More comfort in calling with compat arguments In addition to the 'kiwi --compat -- ...' style we also support calling the kiwi compat mode as a service via 'kiwi compat ...' The preferred way of calling kiwi with legacy options is via the new compat service. Thus the documentation also changed to no longer mention the --compat option but it still exists for compatibility reasons. Fixes #407 * Fri Jul 14 2017 ms@suse.de - Allow use of more fine grain ignore repos options The meaning of the --ignore-repos option has changed back to ignore all configured repositories. A new option named --ignore-repos-used-for-build has been added which allows to ignore all except imageonly repositories. The command manual pages has been changed to document the options. This Fixes #410 * Fri Jul 14 2017 ms@suse.de - Cleanup use of python interpreter invocation Prevent strict call of a specific version of the python interpreter. All code has been written to work with py2 and py3 thus the venv environment setup should decide what version a call of python is. Fixes #424 * Thu Jul 13 2017 dcassany@suse.com - Make sure the KIWI buildroot has the /.buildenv file This commit makes sure the that the KIWI build root will always contain the /.buildenv file. Fixes #421 * Thu Jul 13 2017 dcassany@suse.com - Include .buildenv file inside the buildroot With this patch if KIWI is running inside the buildservice the /.buildenv file is copied from the build environment to the build root of KIWI. At installation time some packages test the existance of this file in order to know if they are being installed inside the buildservice or not. Fixes #421 * Tue Jul 11 2017 davidcassany@gmail.com - Fix url validation in buildservice (#420) This patch changes the remote URL validation strategy when running inside the build service. By design, inside the build service build environment connections to the outside world are not allowed, thus any validation attempting to do that will fail. With this patch, when running inside the build service, KIWI will not try to test if any download URL is reachable. Fixes #418 * Mon Jul 10 2017 ms@suse.de - Bump version: 9.9.1 → 9.9.2 * Mon Jul 10 2017 ms@suse.de - Refactor Uri is_public method Don't call a nested is_remote from is_public, instead the method was rewritten to explicitly cover the responsibility to check under which conditions we treat an uri as publicly available or not * Sun Jul 09 2017 ms@suse.de - Fixed Uri is_remote method If called inside of the buildservice the obs uri type is not a remote uri because the translation ends in a local path * Fri Jul 07 2017 ms@suse.de - Bump version: 9.9.0 → 9.9.1 * Fri Jul 07 2017 ms@suse.de - Fixup setup and package requirements python requests is needed due to latest changes * Fri Jul 07 2017 ms@suse.de - Bump version: 9.8.1 → 9.9.0 * Fri Jul 07 2017 ms@suse.de - Update doc string for Uri::translate method The method was missing doc info about the check_build_environment parameter and the return type of the method * Fri Jul 07 2017 ms@suse.de - Delete obsolete --obs-repo-internal switch * Fri Jul 07 2017 ms@suse.de - Create obs project download link like obs does it In reference to _download_repository_link.html.erb from https://github.com/openSUSE/open-build-service, we use the same mechanism to create the download link from an obs:// project definition * Thu Jul 06 2017 ms@suse.de - Fixup unit test for help command * Thu Jul 06 2017 ms@suse.de - Follow up fix for man page move make sure kiwi calls the man page from the now changed section level 8 * Wed Jul 05 2017 ngompa@datto.com - Move man pages to correct section The man pages were incorrectly written to section 2, which is for syscalls. Since KIWI is an administrator's tool, it has been moved to section 8. * Wed Jul 05 2017 dcassany@suse.com - Make sure system image strip sections are applied in boot image This commit calls copy_strip_sections from the system image xml to the boot image xml. This is needed to make sure strip sections are applied into the boot image. Fixes #414 * Tue Jul 04 2017 ms@suse.de - Refactor handling of obs repositories * Delete kiwi internal ibs: and suse: types * Delete handling for --obs-repo-internal and provide a compatibility message to the user * Buildservice download server url and scope can be configured via ~/.config/kiwi/config.yml * Translate obs urls to http in import_repositories_marked_as_imageinclude * Use new Uri.is_public method in renamed runtime check check_image_include_repos_publicly_resolvable * Tue Jul 04 2017 dcassany@suse.com - Fix a code block in workflow.rst Fixes #412 * Tue Jul 04 2017 dcassany@suse.com - Fix xml_state test * Mon Jul 03 2017 dcassany@suse.com - Accept an empty string as a repo priority xml_parse code is autogenerated, thus no changes there should be considered. When adding a repository from the command line it can happen that the repository priority is mapped to an empty instead to a None valuei, when the priority is not specifically set. xml_parse will only support a parseable string to int or a None value as the default option, so, if an empty string is used, it throws an exception. With the current patch anything that cannot be casted to an int, will be considered as None. Fixes #408 * Mon Jul 03 2017 ms@suse.de - Move check_image_include_repos_http_resolvable Call the check_image_include_repos_http_resolvable runtime check after the check and setup for the obs runtime environment. In case of obs uri types and a kiwi build outside of the buildservice those source locations could be translated into a public url and thus allow for use with the imageinclude attribute. However building inside of the buildservice maps those to a local path which is private to the used worked instance. In such a case the obs uri type is translated into a suse uri type and running the check_image_include_repos_http_resolvable after that translation will run from the translated and thus correct source uri information * Mon Jul 03 2017 ms@suse.de - Bump version: 9.8.0 → 9.8.1 * Fri Jun 30 2017 ms@suse.de - Add unit tests for compat mode * Fri Jun 30 2017 dcassany@suse.com - Do not translate obs scheme to suse scheme for imageonly repos Fixes #404 * Fri Jun 30 2017 ms@suse.de - Fixed compat setup for upgrade command Value for --root option was added after other options * Fri Jun 30 2017 dcassany@suse.com - Translate obs to suse derived from image uris This commit performs a translation from obs scheme to suse scheme for derived from image uris when kiwi is running in a buildservice worker. Fixes #399 * Fri Jun 30 2017 ms@suse.de - Bump version: 9.7.4 → 9.8.0 * Fri Jun 30 2017 ms@suse.de - Fix content layout of zypper credentials file Missing line break for entries in zypper credentials file * Thu Jun 29 2017 dcassany@suse.com - Allow imageinclude repositories inside the build service Fixes #397 * Thu Jun 29 2017 ms@suse.de - Fixed doc_travis tox target using shell syntax requires calling a shell process * Thu Jun 29 2017 ms@suse.de - Allow imageinclude in add|set-repo commandline The --set-repo and --add-repo commandline options now allows additionally to specify a true|false value to indicate if the repository should be part of the system image repository setup or not. This Fixes #398 * Thu Jun 29 2017 ms@suse.de - Fixed travis whitelist_externals test command is used in target * Thu Jun 29 2017 ms@suse.de - Fixed travis whitelist_externals commands cp and/or true are used in target * Thu Jun 29 2017 ms@suse.de - Fixup travis doc deployment Custom diagram images needs to be deployed manually * Thu Jun 29 2017 ms@suse.de - Update schema documentation * Thu Jun 29 2017 ms@suse.de - Delete unused data from schema docs processing * Tue Jun 27 2017 dcassany@suse.com - Flag --ignore-repos do not ignore imageonly repos This commit fixes #395, with it, using --ignore-repos, does not delete imageonly repositories from the description file. This way imageonly is prepared to be used in the buildservice even when using the 'obsrepositories:/' reference style. * Fri Jun 23 2017 ms@suse.de - Build schema documentation with Oxygen Given there is a valid Oxygen license owned by the company as described in https://www.oxygenxml.com/oxygen_scripting.html the schema documentation can be created using Oxygen. This commit allows building the schema docs with alternative doc builders and in case of Oxygen would change the way the schema docs are generated in the following way: 1. Install Oxygen and setup the license to activate the tool 2. Setup the KIWI development shell environment to export the schema_tool variable to point to the schemaDocumentation.sh script provided by the Oxygen installation export oxygen_tool=/path/to/Oxygen/schemaDocumentation.sh 3. In any case of a schema change manually call: tox -e schema This step was done before as part of the tox doc target but can't be done automatically because it would require a correctly licensed Oxygen installation in the travis environment. Thus the result data has to be part of the pull request 4. Build the documentation and review the result tox -e doc 5. Create the pull request * Wed Jun 21 2017 ms@suse.de - Update schema docstring for oem-systemsize * Tue Jun 20 2017 ms@suse.de - Bump version: 9.7.3 → 9.7.4 * Tue Jun 20 2017 ms@suse.de - Fixed setup_plymouth_splash The schema generated get_bootsplash_theme() method returns a list because it's section content. The return value of the method was used as a string which caused a runtime error * Tue Jun 20 2017 ms@suse.de - Added creation of zsync control file in bundler If a --zsync_source url is provided to the bundler call a zsync control file is created for the compressed parts of the bundle. This Fixes #364 * Tue Jun 20 2017 dcassany@suse.com - Add package manager in image info task solving process This commit includes the package manager package in the packages list to be solved in image info task. * Tue Jun 20 2017 ms@suse.de - Bump version: 9.7.2 → 9.7.3 * Tue Jun 20 2017 ms@suse.de - Fixed gce disk format The order of the files in the tarball is important. The first entry must be the manifest.json followed by disk.raw * Mon Jun 19 2017 ms@suse.de - Make sure CliTask instance reads the config file Any instance of a CliTask has to read the runtime config file if present * Mon Jun 19 2017 ms@suse.de - Add generic access for attributes The layout of the yaml runtime config is based on an element topic containing a list of attributes. For now only the xz topic with its options attribute is in use but for the future more elements might be supported which can use the same access method * Mon Jun 19 2017 ms@suse.de - Setup plymouth splash in the image prepare process In case the plymouth-set-default-theme tool can be found in the image root system and a bootsplash theme is configured in the XML description, the tool is used to setup the theme configuration This Fixes #366 * Mon Jun 19 2017 dcassany@suse.com - Include patternType information to resolv packages in image info task This commit includes ingore_recommended flag in the Sat.solve method. This way if the description file states to include only required packages (without recommendations) it is respected and taken into account to resolv the packages list. Fixes #381 * Mon Jun 19 2017 ms@suse.de - Added custom xz option handling for ArchiveTar Allow to pass custom xz options for create_xz_compressed method. Issue #373 * Mon Jun 19 2017 ms@suse.de - Make sure options are returned as list * Mon Jun 19 2017 ms@suse.de - Added custom xz option handling for Compress Allow to pass custom options for xz method. Issue #373 * Mon Jun 19 2017 ms@suse.de - Activate reading of runtime config in tasks Implement reading of runtime configuration file in base commandline class. Issue #373 * Mon Jun 19 2017 ms@suse.de - Cleanup doc string of base task class * Sun Jun 18 2017 ms@suse.de - Add runtime config man page section Describe the contents of the KIWI runtime config file * Wed Jun 14 2017 ms@suse.de - Added RuntimeConfig class An instance of RuntimeConfig reads in ~/.config/kiwi/config.yml if present and provides access methods to the expected information of the config file * Wed Jun 14 2017 ms@suse.de - Added PyYAML requirement to package and venv The KIWI config file is yaml based and thus we need support for reading the file in KIWI * Wed Jun 14 2017 ms@suse.de - Implement custom argument handling for xz_options Evaluate and hand over custom_args processing for the xz_options argument to all classes which performs xz compression tasks. This Fixes #373 * Wed Jun 14 2017 ms@suse.de - Read xz options from runtime config Read xz options from the kiwi runtime configuration file and pass along the information to the commands which performs compression tasks * Wed Jun 14 2017 ms@suse.de - Fixed alpha order of options in build command * Wed Jun 14 2017 ms@suse.de - Update custom_args doc for DiskBuilder class * Wed Jun 14 2017 ms@suse.de - Fixup class docstrings The attribute list should provide information about the construction of an object of this class. Some fields were missing or superfluous * Wed Jun 14 2017 dcassany@suse.com - Consider only repositories used for build in image info This commit makes sure that the repositories marked with imageonly flag are not included in the packages solve procedure. This is related to #362 * Wed Jun 14 2017 dcassany@suse.com - Removing has_repositories_marked_as_imageinclude method With the current repository management this method is not required anymore, since the setup repositories method does not modify the image if no repositories are present. It is related to #305 and #191 * Tue Jun 13 2017 ms@suse.de - Fixed typo in isoboot/fedora-25.0 It does not really matter because the package manager setup is inherited from the system image XML configuration to the boot image, but for consistency it should be correct in the isoboot description too * Tue Jun 13 2017 ms@suse.de - Added isoboot/fedora-25.0 boot description * Tue Jun 13 2017 dcassany@suse.com - Change to more explicit method names * Mon Jun 12 2017 ms@suse.de - Cleanup use of suseGFXBoot regarding grub The shell method suseGFXBoot from the config/functions contains code which should be better moved to the python code base dealing with the bootloader configuration. In this commit all grub parts of it has been moved to the BootLoaderConfigGrub2 class * Mon Jun 12 2017 ms@suse.de - Cleanup isoboot descriptions There is no need to install bootloader packages to the initrd, all information regarding the bootloader setup is taken from the system root directory * Mon Jun 12 2017 ms@suse.de - Fixup iso image builder(s) lookup path Don't lookup bootloader required files in the boot image root directory. Those needs to be looked up in the system image root directory * Mon Jun 12 2017 ms@suse.de - Refactor boot image factory Make sure the root directory of the base image is always accessible by any boot image type for consistency. In addition introduce a post_init method which explicitly setup the boot image root directory as needed for the selected boot image type and document it as such * Mon Jun 12 2017 dcassany@suse.com - Include imageonly attribute for repositories This commit adds imageonly attribute support for the repository element. imageonly is a boolean attribute that if true indicates that the repository is no used for the build but needs to be configured for the resulting image. Fixes #362 * Fri Jun 09 2017 ms@suse.de - Fixup use of syslinux v6 modules There is support for library loading in syslinux modules which requires to provide the lib modules when available. This Fixes #351 * Fri Jun 09 2017 ms@suse.de - Bump version: 9.7.1 → 9.7.2 * Fri Jun 09 2017 dcassany@suse.com - Update rpm-check-signatures documentation * Fri Jun 09 2017 dcassany@suse.com - Fix default location repository config file for apt This commit fixes the apt config file management for default locations. The template subsitution always needs to be executed providing all the substitution parameters, as it does not make any kind of default assumption when parameters are missing. Fixes #370 * Fri Jun 09 2017 ms@suse.de - Revert "Refactor detection code for grub directory name" The former detection of the grub directory name in boot was correct whereas the new code introduced a problem. This reverts commit b3e4b871d52da2b5ab579d592ccc7ae39de75339. This Fixes #371 * Thu Jun 08 2017 dcassany@suse.com - Include repository_gpgcheck and package_gpgcheck documentation * Thu Jun 08 2017 dcassany@suse.com - Improve package/repository signature checking setup This commit adds repository_gpgcheck and package_gpgcheck attributes to the repository tag in schema. With this change each repository can be configured individualy to enable repository signatures check and/or enable signature package check. The configuration is done at repository level, thus it is not conflicting with the wide package manager configuration flag <rpm-signatures-check>. Fixes #358 * Thu Jun 08 2017 ms@suse.de - Update PXE building chapter Redesign PXE building chapter to follow style guide. Thanks to Thomas Schraitle for review and additional contributions to this topic. This Fixes #323 * Thu Jun 08 2017 ms@suse.de - Update chapter due to review * Thu Jun 08 2017 ms@suse.de - Update OEM building chapter Redesign building chapter to follow style guide. Issue #323 * Thu Jun 08 2017 ms@suse.de - Bump version: 9.7.0 → 9.7.1 * Thu Jun 08 2017 ms@suse.de - Refactor detection code for grub directory name The method get_grub_boot_directory_name was based on checking for the name of the grub2 install tool, but this is not always reliable because the name of the grub2 install tool has no direct connection to the grub2 path. The method changes in a way that it checks for the presence of the grub2 installation directory which is /usr/lib/grub or /usr/lib/grub2. Depending on the result the location in boot is /boot/grub or /boot/grub2 which seems to be a more reliable check * Wed Jun 07 2017 ms@suse.de - Fixup detection of grub directory name In order to put grub data to boot/grub2 or boot/grub a check for the grub2-tool vs. grub-tool name is performed. This requires access to the image root directory on a file basis which is not always applicable. When setting up the grub bootloader for e.g EFI boot on an iso image the rootfs can't be directly accessed because the iso image contains the rootfs in a compressed format. This commit refactors the check to be generic for all image types * Wed Jun 07 2017 ms@suse.de - Fixup EFI setup for iso images The embedded efi fat image on the iso filesystem must follow the same rules compared to the setup on a disk * Wed Jun 07 2017 toms@suse.de - Fix docstring and apply ReST markup Avoids the the following warning: Definition list ends without a blank line; unexpected unindent. Docstring contains ReST markup from http://www.sphinx-doc.org/en/stable/domains.html#cross-referencing-python-objects * Tue Jun 06 2017 dcassany@suse.com - Some corrections for Building Docker image docs * Tue Jun 06 2017 dcassany@suse.com - Rearrange Docker docs This commit rearranges the Docker image builds documentation in order to match the criteria exposed in #323 * Fri Jun 02 2017 ms@suse.de - Bump version: 9.6.2 → 9.7.0 * Thu Jun 01 2017 ms@suse.de - Make sure all required yum repo options are set enabled and gpgcheck parameters has to be set for any configured yum repository * Thu Jun 01 2017 ms@suse.de - Fixup repository setup for yum Yum cannot handle spaces between the key and the value. This patch provides a method to tell ConfigParser to use no spaces for the '=' delimiter and thus Fixes #357 * Thu Jun 01 2017 ms@suse.de - Reactivate warnings report in pytest * Thu Jun 01 2017 ms@suse.de - Fixup kernel name lookup If multiple abi compatible kernel module packages are installed the kernel version of the boot kernel could be different from the kernel module versions. In order to find the boot kernel all kernel versions found must be checked. Fixes #355 * Thu Jun 01 2017 ms@suse.de - Fix/workaround invalid xsd pattern translation The data structures are auto generated by the generateDS tool which works nicely except for the arch-name xsd pattern used in the RelaxNG schema. For some reason the used regular expression is translated by generateDS into a python expression not matching the original expression from the schema. The result is an invalid python warning message after the schema has successfully validated the arch string. The problem has been reported to the generateDS developer. As long as their is no fix available in generateDS the following workaround in kiwi applies: The original xs:token pattern validation will be disabled on the generateDS level and applies only to the schema. This Fixes #347 * Wed May 31 2017 ms@suse.de - Allow vendor specific grub config file location On e.g Fedora systems the EFI grub config file for secure boot systems is expected to be located in the vendor specific efi boot directory from where the shim loader gets loaded by the firmware * Wed May 31 2017 dcassany@suse.com - Some fine tune updates * Updated the docs for system_create command * Reverted dracut image initialization * Updated yum comment about repo_gpgcheck option * Updated variable name in disk builder * Typo correction * Wed May 31 2017 dcassany@suse.com - Include signing-key feature for boot images This commit extends the behavior of --signing-key options in order to import the provided key file into the boot image, in addition to the regular image root tree. Related to #342 * Tue May 30 2017 ms@suse.de - Fix use of pre requires in spec file * Tue May 30 2017 ms@suse.de - Fixup working dir for editboot scripts editbootconfig and editbootinstall scripts needs to be called from within the correct directory to allow access to the written bootloader config files. For live images the working directory was set to the wrong place. This Fixes #353 * Mon May 29 2017 ms@suse.de - remove duplicated code from dhclient setup IPADDR is assigned within dhclientImportInfo original patch by Dinar Valeev <k0da@opensuse.org> * Mon May 29 2017 dimstar@opensuse.org - Fix spelling of 'processor' https://bugzilla.opensuse.org/show_bug.cgi?id=957927 * Mon May 29 2017 ms@suse.de - Use glob pattern to match shim modules * Sun May 28 2017 ms@suse.de - Fixed pre-req for kiwi-pxeboot subpackage the binaries groupadd and useradd used in the preinstall scriptlet and provided by the shadow package needs a pre requirement on shadow to make sure they exist when the package gets installed. Fixes (bsc#1040256) * Fri May 26 2017 dcassany@suse.com - Fix existing root check, fixes #349 This commit fixes the validation of an existing root directory for the command 'system build'. System build used to create the root directory before performing the root existance check, thus the check was always failing in any case. The root directory is created inside the RootInit class within the 'create' method. Fixes #349 * Wed May 24 2017 ms@suse.de - Added fallback setup for grub secure boot The current implementation is based on the presence of the shim-install tool. This tool does not exist on all distributions. In case shim-install is not present a kiwi fallback solution applies. Fixes #337 * Wed May 24 2017 dcassany@suse.com - Extend --signing-key to Apt package manager This commit extends support for --siging-key to the Apt package manager. However it has only been included for the chrooted operations, as current implementation of the bootstrap procedure does not provide signature check capabilities. Related to #342 * Wed May 24 2017 dcassany@suse.com - Extend --signing-key option to Yum and Dnf This commit extends the --signing-key options support to Yum and Dnf package managers. In addition, signature check for repositories had to be disabled for Yum and Dnf, as kiwi unrelated issues were found while testing. Nevertheless, package signature checks are fully functional. Related to #342 * Wed May 24 2017 dcassany@suse.com - Add --signing-key option This commit adds --signing-key option which sets a key file to import into the package manager trusted keys database. This commit adds this flag support only for zypper. Fixes #342 * Tue May 23 2017 ms@suse.de - Don't print warning report The auto generated xml_parse.py uses the python warnings module The unit tests uses the coverage module in py.test to create a report. The latest py.test update now also creates a warnings report which is unwanted because some of the unit tests intentionally causes the creation of a warning as the expected result but we don't want to see that in a py.test warnings report. Therfore this patch switches off the creation of that warnings report * Tue May 23 2017 ms@suse.de - Update manual page of build command Add information for --allow-existing-root option * Tue May 23 2017 ms@suse.de - Fixup default behavior of build command The build command automatically used an existing root tree from a former build attempt. However this could cause an inconsistent image if the former build root was not based on the same image type setup. Thus it is better to allow this only if the --allow-existing-root option is specified along with the build command call * Tue May 23 2017 ms@suse.de - Fixed alpha sorting of options * Tue May 23 2017 ms@suse.de - Complete zypper cache cleanup also the raw and solv cache needs to be deleted * Mon May 22 2017 ms@suse.de - Update manual pages Add information and use case for --clear-cache option * Mon May 22 2017 ms@suse.de - Added --clear-cache option The system prepare and build commands now provides the option --clear-cache which deletes all cache data associated with the repositories to build the image. This Fixes #341 * Mon May 22 2017 ms@suse.de - Let dracut create a compressed initrd dracut was called in a way to create an uncompressed initrd archive and kiwi later runs the xz compression on it. That way the default compression parameters used by dracut get lost. Fixes #335 * Fri May 19 2017 dcassany@suse.com - Improve rpm-check-signatures support This commit ensures the signatures are checked for both: the repository and the rpm package. It applies for zypper, dnf and yum package managers. * Fri May 19 2017 ms@suse.de - Fixup boot-load-size for efi loader in iso Pass the real boot-load-size of the used loader as number of 512byte blocks to the iso creation call. Related to (bsc#939456) * Fri May 19 2017 ms@suse.de - Update documentation to meet review results * Thu May 18 2017 ms@suse.de - Added GCE image primary setup information * Thu May 18 2017 ms@suse.de - Added Azure image primary setup information * Thu May 18 2017 ms@suse.de - Added EC2 image primary setup information * Thu May 18 2017 ms@suse.de - Map partition ID's from sgdisk to lowercase * Thu May 18 2017 ms@suse.de - rework building virtual disk image chapter Adapt to style as used in the live iso chapter and add references to low level topics regarding the setup of the image to work in the public cloud. Related to #323 * Wed May 17 2017 dcassany@suse.com - Get the first two characters of the gdisk partition code output According to the gdisk documentation the gdisk maps the partitions IDs to the MBR codes, but they are multiplied by 0x0100 in hexa. Meaning 0x8300 code is equivalent to 0x83 in MBR. This commit only considers the first two characters of the sgdisk partition code output. With this change the partition types are comparable, regardless of using MBR or GPT. * Wed May 17 2017 dcassany@suse.com - Fixes OEM deployments on a free partition, bnc#1039469 This commit updates the boot code for oem images. In case oem-partition-install flag was set, the boot code was not capable to find an appropriate partition due to not attaching properly the raw image as a loopback device. KIWI was calling 'losetup' command with wrong arguments. Fixes bnc#1039469 * Wed May 17 2017 ms@suse.de - Bump version: 9.6.1 → 9.6.2 * Tue May 16 2017 ngompa@datto.com - Use 'yum-deprecated' if it exists when using Yum On Fedora and Mageia systems, the Yum package manager binary is named 'yum-deprecated', and 'yum' redirects to DNF. This is a problem for being able to build images of Linux systems that use Yum as its package manager, like RHEL/CentOS 7. So, in order to ensure we use the right package manager, we check for the 'yum-deprecated' binary and use it if it exists. * Tue May 16 2017 ms@suse.com - Restructure low level topic (iso_to_usb) The low level topic references information from the base topic. In this case the name of the previously built image. I think we should provide information on each low level topic which references information from a base topic. * Mon May 15 2017 dcassany@suse.com - Handle rpm-check-signatures flag for each package manager This commit adds support for the rpm-check-signatures flag, which sets the package manager to verify or not each package signature. By default KIWI assumes no gpg checks are done. * Mon May 15 2017 toms@suse.de - Separate low-level topics (dumping) * Separate the high-level (building) from the low-level part (dumping) * Introduce a subsection ("Working with Images"); not sure, if this is useful under "Building Images" * Enhance with some (general) advise about booting from USB * Mon May 15 2017 toms@suse.de - Provide missing _hybrid_iso label * Mon May 15 2017 ms@suse.com - Fixup check_target_directory_not_in_shared_cache The runtime check compared the given target path if it starts with the cache directory /var/cache/kiwi. This however also matches for e.g /var/cache/kiwi-foo which would be a valid target directory. This patch changes the matcher in a way to really check if the target directory points to the same cache directory structure. * Fri May 12 2017 ms@suse.com - Set default dracut output format to match upstream * Fri May 12 2017 ms@suse.com - Added dracut output file format detection Unfortunately the dracut initrd output file format varies between the different Linux distributions. Tools like lsinitrd, and also grub2 rely on the initrd output file to be in that format. Thus when kiwi uses dracut the same file format should be used all over the place in order to stay compatible with what the distribution does. Fixes #325 * Fri May 12 2017 toms@suse.de - Revised example for issue #323 * Add abstract (use `.. sidebar`, not sure if we should use it) * Collect all concept oriented text in the beginning * Introduce procedure and create steps * Remove lonely subsection and combine it with the procedure TODO: * Review * Decide, if `.. sidebar` is ok (or should we better use `.. topic`?) * Add additional, related information? * Thu May 11 2017 ms@suse.com - Bump version: 9.6.0 → 9.6.1 * Thu May 11 2017 dcassany@suse.com - Update build docker images documentation This commit includes steps to install umoci and skopeo, descriptions for the configurable metadata in KIWI and some simple style fixes. * Tue May 09 2017 ms@suse.com - Fixed tox.ini doc target location of schema docs has changed, and we better disable the spell check as long as not all unknown technical terms are added to the wordlist.txt * Mon May 08 2017 Jellyfrog@users.noreply.github.com - Use correct service name variable * Sun May 07 2017 ms@suse.com - Refactor documentation layout and structure The current design of the documentation does not allow for continous improvement and development. It's missing a basic structure and concept for documenting step-by-step workflows and generic explanations. * Fri May 05 2017 ngompa@datto.com - Remove erroneous statement in request_package_exclusion() for Yum+DNF * Fri May 05 2017 ms@suse.com - Fixed markup in contributing chapter The headline of a subsection wrongly indicates a toplevel entry * Fri Apr 28 2017 dcassany@suse.com - Evaluate UNIONFS_CONFIG filesystem This commit makes sure the filesystem is parsed from the UNIONFS_CONFIG configuration variable when the PXE image is loaded to a block device. This commit fixes #316 * Fri Apr 28 2017 ms@suse.com - Fixed GPL license text to match headers and spec source headers and spec file is pointing to GPL v3 but the license file was still at version 2 * Thu Apr 27 2017 ngompa@datto.com - Add support for excluding packages when using DNF * Thu Apr 27 2017 ngompa@datto.com - Add support for excluding packages when using Yum * Thu Apr 27 2017 ngompa@datto.com - Fix comment about Zypper locks to reflect reality * Wed Apr 26 2017 ms@suse.com - Bump version: 9.5.0 → 9.6.0 * Wed Apr 26 2017 ms@suse.com - Additional container commandline options Added --set-container-derived-from and --set-container-tag commandline options which allows to overwrite the data set in the XML configuration * Tue Apr 25 2017 ms@suse.com - Implement obsrepositories source on derived_from The following reference to a derived container: obsrepositories:/container#latest Will be translated into the following buildservice local path: /usr/src/packages/SOURCES/containers/_obsrepositories/container#latest * Tue Apr 25 2017 ms@suse.com - Implement obs source on derived_from The following reference to a derived container: obs:/project/repo/container#tag Will be translated into the following buildservice local path: /usr/src/packages/SOURCES/containers/project/repo/container#tag * Tue Apr 25 2017 ms@suse.com - Use urlparse to detect uri scheme The source location postfix can contain several different formats e.g :/, or :// or even just :, python's urlparse is able to cope with all that which allows to work with the url scheme base name and thus makes handling this code more robust * Mon Apr 24 2017 ms@suse.com - Bump version: 9.4.11 → 9.5.0 * Mon Apr 24 2017 dcassany@suse.com - Include '--delete' in OCI images DataSync This commit includes #310 patch for OCI images. It also corrects the end of line format for kiwi/container/docker.py and test/unit/container_image_docker_test.py, so flake tests are all green. * Thu Apr 20 2017 dcassany@suse.com - Include --delete flag in DataSync for docker images This commit includes the --delete flag in order to synchronize the docker images. This is relevant for derived images where the new layer might not only add files, but also remove something from the base image. Fixes #309 * Thu Apr 13 2017 ngompa@datto.com - Define correct default locations for sources-dir and preferences-dir In order to ensure that the defined repositories in the KIWI configuration are set to the correct places for installing into the image, the sources-dir and preferences-dir need to be redefined to point to the in-image location, as it is done for the other package managers. * Thu Apr 13 2017 ngompa@datto.com - Do not purge the repositories before inserting them There are no good reasons to be purging the repo directories, especially when it is common for some distributions (Red Hat/CentOS/Fedora, for example) to ship repository configuration as packages. Deleting them puts the package manager in the system into a weird state, so we want to avoid this. * Thu Apr 13 2017 ngompa@datto.com - Fix default reposdir path for Yum * Thu Apr 13 2017 dcassany@suse.com - Add support for OCI images This commit adds support for OCI images. Most of the docker related code is reused for OCI classes and Docker classes have been refactored so now they are a splecialization of the OCI classes. It is done this way since KIWI internally only uses OCI format to operate with containers, therefore docker images just differ from OCI images by the way they are packaged or unpackaged. * Wed Apr 12 2017 dcassany@suse.com - Add clear attribute for entrypoint and subcommand sections This commit adds the possibility of clearing asny subcommand or entrypoint. This is relevant for docker derived images, as they inherit the configuration and it might lead to some bad behavior. * Wed Apr 12 2017 ms@suse.com - Bump version: 9.4.10 → 9.4.11 * Wed Apr 12 2017 dcassany@suse.com - Add require/recommend installation support for yum This commit adds support to install required only or required plus recommended packages using yum as the package manager. * Wed Apr 12 2017 dcassany@suse.com - Add support for required/recommended packages This commit enables support to install only required packages or install required plus recommended packages. * Tue Apr 11 2017 dcassany@suse.com - Include 'plusRecommended' management for dnf Add support to enable/disable installation of recommended packages for dnf package manager. With this commit 'plusRecommended' patternType triggers on installation of recommended packages, which is turned off by default. * Tue Apr 11 2017 dcassany@suse.com - Make sure debian repositories database is populated before install This commit includes an 'apt-get update' call before any 'apt-get install' command. This way the packages database is always ready, even if no bootstrap procedure has been executed. * Mon Apr 10 2017 ms@suse.com - Bump version: 9.4.9 → 9.4.10 * Mon Apr 10 2017 dcassany@suse.com - Add warning logs for unkown base image URIs * Mon Apr 10 2017 dcassany@suse.com - Update spec template for SLE13->SLE15 * Mon Apr 10 2017 dcassany@suse.com - Rename SLE13 to SLE15 * Mon Apr 10 2017 ms@suse.com - Follow up fix for grub2 setup in live builder The live iso builder still used a fixed boot/grub2 path but due to the refactoring this path is now distro dependant and should be obtained dynamically * Mon Apr 10 2017 ms@suse.com - Cleanup use of bootloader path in boot code Instead of repeating the bootloader path only specify it once per setup path * Mon Apr 10 2017 dcassany@suse.com - Add method to setup installation of recommended packages With this commit package manager are always set to include only required packages or set to include required and recommended packages. This commit fixes #285 * Thu Apr 06 2017 ms@suse.com - Bump version: 9.4.8 → 9.4.9 * Thu Apr 06 2017 ms@suse.com - Update development and contribution chapter Fix some minor inconsistencies due to latest code changes with regards to py2 and py3 compatibility and also change the style of the chapter to be more straight forward for people who would like to contribute from scratch * Wed Apr 05 2017 dcassany@suse.com - Bypass bootstrap procedure if no bootstrap packages section This commit updates kiwi to bypass bootstrap procedure in case there is no bootstrap packages section. It also adds extra validation in root_bind. * Wed Apr 05 2017 ms@suse.com - Bump version: 9.4.7 → 9.4.8 * Wed Apr 05 2017 ms@suse.com - Fixup grub2 template parameters The boot_directory_name parameters was missing for live and install image builds * Wed Apr 05 2017 ms@suse.com - Bump version: 9.4.6 → 9.4.7 * Wed Apr 05 2017 ms@suse.com - Fixup grub2 bios module setup Only copy grub2 bios modules if the architecture supports it * Wed Apr 05 2017 ms@suse.com - Bump version: 9.4.5 → 9.4.6 * Tue Apr 04 2017 ms@suse.com - Avoid GRUB_DISTRIBUTOR setup in etc/default/grub The GRUB_DISTRIBUTOR information can't be provided in a generic way for all distributions. The information should be either placed by a package post script (as done by most of the distributions) or by a custom kiwi config.sh or images.sh script. Fixes #286 Fixes (bsc#1032119) * Tue Apr 04 2017 dcassany@suse.com - Added support for unknown uri types for base image references This commits bypasses any URI check if the uri schema is unknown in RootImport class. This way the URI is bypassed to skopeo if it couldn't be translated to any known type. That enables referencing images with any URI supported by skopeo, i.e. DockerHub images. * Tue Apr 04 2017 dcassany@suse.com - Keep imported image in OCI format instead of docker Kiwi always uses OCI format for container manipulations, so it is easier to assume the image kept between prepare and create step is also in OCI format, this way less format convertions are needed. * Tue Apr 04 2017 ms@suse.com - Fixup bootloader menu title setup If the menu title is setup via the displayname attribute in the XML configuration, kiwi should not change this text by a prefix or any other style adaptions. Fixes #287 Fixes (bsc#1032118) * Tue Apr 04 2017 ms@suse.com - Fixup copy of array in boot code The filtered nic interface names are stored in an array and copied back into the original array. The copy of the array was semantically wrong * Mon Apr 03 2017 ms@suse.com - Fixup grub2 setup and tool calls Depending on the distribution the grub tools are either named grub2-tool or grub-tool. Additionally the grub configuration data is expected to live in boot/grub2 or boot/grub. This commit handles the tool calls and also the grub boot directory setup in a generic way * Thu Mar 30 2017 dcassany@suse.com - Include SLE13 boot descriptions for x86_64 and arm This commit includes boot descriptions for SLE13, the descriptions are based on leap 42.3. * Thu Mar 30 2017 ms@suse.com - Delete obsolete ec2 disk format The ec2 value in the format attribute is deprecated and no longer supported It remained in the schema for a while and has now reached EOL * Thu Mar 30 2017 ms@suse.com - Bump version: 9.4.4 → 9.4.5 * Tue Mar 28 2017 ms@suse.com - Fixup theme setup in boot Make sure grub theme data is populated in the boot directory. Checking only for the presence of the theme directory is not enough. If the theme directory in boot does not contain the requested theme it must be provided including a warning if the theme data could not be found in the system * Tue Mar 28 2017 ms@suse.com - Do not change the API in an incompatible way * Tue Mar 28 2017 ms@suse.com - Use request_package_exclusion method in prepare * Mon Mar 27 2017 ms@suse.com - Refactor method name of package manager interface The request_package_lock was renamed into request_package_exclusion because that is the goal, to actually exclude(skip) a package. From an implementation point of view this is done to set a lock in the zypper case. However other package managers might do it differently. The interface should stay consistent with regards to the user goal and not with the package manager specific implementation. This Fixes #248 * Mon Mar 27 2017 ms@suse.com - Added <oem-nic-filter> element Allow network interface names to be filtered by the given regular expression. The expression is handled by the bash regexp operator. Interface names matching the rule will be filtered out, all others stay. It is also possible to pass the variable kiwi_oemnicfilter as kernel command line in a PXE deployment. Fixes #245 * Mon Mar 27 2017 ms@suse.com - Bump version: 9.4.3 → 9.4.4 * Mon Mar 27 2017 ms@suse.com - Delete no longer needed btrfs bootpath setup The adaption of the bootpath in the grub.cfg file with regards to the btrfs toplevel volume named '@' was the wrong solution. The fixes in the btrfs filesystem setup and the config files etc/default/grub and sysconfig/bootloader caused the grub toolchain to work properly. This Fixes (bsc#1030038) * Fri Mar 24 2017 dcassany@suse.com - Convert user input to absolute paths This commit converts the paths provided by the user with the command line to absolute paths. The effected arguments are: * --root * --target-dir * --bundle-dir This supersedes and fixes #271 * Fri Mar 24 2017 ms@suse.com - Support editbootconfig also for the iso type This Fixes #274 * Thu Mar 23 2017 ms@suse.com - ensure grub.cfg exists in EFI path for iso images For live and install iso image boot configurations the bootloader configuration must also exist in the EFI boot path * Wed Mar 22 2017 ms@suse.com - Throw a proper msg on missing filesystem reference Don't set a filesystem factor if no filesystem reference is set * Wed Mar 22 2017 ms@suse.com - Throw a proper exception on missing boot reference * Wed Mar 22 2017 ms@suse.com - Update schema documentation Add explanation for attributes with no documentation Fixup explanation for hybrid attribute * Wed Mar 22 2017 ms@suse.com - Recommend jing in case of XML validation errors, jing is used to provide good error messages. jing as a requirement will pull in all of java which is unwanted, but a Recommends seems appropriate * Wed Mar 22 2017 ms@suse.com - Update flags attribute and its documentation Delete the seed and compressed value as it is not implemented and won't be supported in the future. Properly document the existing overlay methods * Wed Mar 22 2017 ms@suse.com - Added doc info for kiwinoswapsearch boot parameter * Tue Mar 21 2017 ms@suse.com - Bump version: 9.4.2 → 9.4.3 * Tue Mar 21 2017 ms@suse.com - Fixed checksum file creation If the checksum should be created from a compressed file it is expected that the checksum of the uncompressed file is added to the checksum file. This is because in a pxe deployment the uncompressed version of the file is put on disk and compared with the reference information in the checksum file * Tue Mar 21 2017 ms@suse.com - Refactor ip link detection There is no reliable way to check if a link is unplugged, thus the code has changed into the following workflow 1. use interfaces which returns success on ip link set up 2. wait for the UP state on all of these interfaces and return if one of them enters the UP state 3. call a fixed wait state to allow to kernel network drivers to settle 4. run through all remaining interfaces, discover the link state and call a DHCP discovery * Mon Mar 20 2017 ms@suse.com - Bump version: 9.4.1 → 9.4.2 * Mon Mar 20 2017 ms@suse.com - Fixup pxe builder filesystem image rootfs was not in toplevel * Mon Mar 20 2017 ms@suse.com - Bump version: 9.4.0 → 9.4.1 * Mon Mar 20 2017 ms@suse.com - Fixup pxe builder Generate a tarball containing all relevant pxe boot result files instead of a bunch of extra files. This also turns the pxe builder to be compatible again with the legacy kiwi pxe bundler * Fri Mar 17 2017 ms@suse.com - Don't create shasum over an md5 file * Thu Mar 16 2017 ms@suse.com - Bump version: 9.3.3 → 9.4.0 * Wed Mar 15 2017 ms@suse.com - Allow https location as repository source * Wed Mar 15 2017 dcassany@suse.com - Refactor RootImport to keep images with a default name RootImport has been refactored so the image is kept with a known name that can be obtained with the Defaults class. * Tue Mar 14 2017 ms@suse.com - Added SLE13 distribution matcher * Tue Mar 14 2017 ms@suse.com - Update distribution matcher in spec file * Tue Mar 14 2017 ms@suse.com - Refactor ContainerBuilder Use Checksum instance to run a checksum match Check for existence of base image at earliest opportunity when constructing a ContainerBuilder * Tue Mar 14 2017 ms@suse.com - Added checksum matcher method to Checksum class * Tue Mar 14 2017 ms@suse.com - Delete unused code Also fixed corresponding unit test * Mon Mar 13 2017 ms@suse.com - Make sure LICENSE and README got installed * Mon Mar 13 2017 ms@suse.com - Handle derived image as Uri instance * Mon Mar 13 2017 ms@suse.com - Add completion for versioned binaries when installing kiwi via pip, no alternatives setup done when installing via rpm will be performed. In order to allow the bash completion to work also the versioned binaries needs to be added in the completion script * Mon Mar 13 2017 ms@suse.com - Bump version: 9.3.2 → 9.3.3 * Fri Mar 10 2017 ms@suse.com - Add documentation hint for multipython package * Thu Mar 09 2017 ms@suse.com - Setup package for multipython build Build package for both python2 and python3 * Thu Mar 09 2017 dcassany@suse.com - Refactored RootImport and included checksum validation First, commit refactors RootImport in order to also copy the imported image after sychronizing the import. Second, it includes a checksum of the copied image which is validated in later steps. * Wed Mar 08 2017 ms@suse.com - Added Leap42.3 boot descriptions * Wed Mar 08 2017 ms@suse.com - Deleted openSUSE 13.2 boot descriptions * Wed Mar 08 2017 ms@suse.com - Refactor Uri constructor Make repo_type an optional parameter, which is only required if the specified uri leaves a type choice * Wed Mar 08 2017 ms@suse.com - Fixup PyPI entry registry The wrong project url was referenced * Wed Mar 08 2017 dcassany@suse.com - Support for layered docker images This commit includes support for building layered docker. A new layer is added on top of the base image referenced by `derived_from` attribute. * Tue Mar 07 2017 ms@suse.com - Bump version: 9.3.1 → 9.3.2 * Tue Mar 07 2017 ms@suse.com - Fixed MANIFEST.in kiwi.solver code was not included into source archive * Tue Mar 07 2017 ms@suse.com - Bump version: 9.3.0 → 9.3.1 * Tue Mar 07 2017 ms@suse.com - Fixed doc api build for renamed source file * Tue Mar 07 2017 ms@suse.com - Bump version: 9.2.4 → 9.3.0 * Tue Mar 07 2017 ms@suse.com - Flake8 fixes for unit tests * Tue Mar 07 2017 ms@suse.com - Apply code quality checks for unit tests too * Tue Mar 07 2017 ms@suse.com - Fixed import of solv module * Tue Mar 07 2017 dcassany@suse.com - Import root system from a given image This commit includes the root import feature. A `derived_from` attribute has been included with the <type> section to make reference to the image file to import. The image format to import is assumed to be the same as the build type to import. The current format supported is docker * Tue Mar 07 2017 ms@suse.com - Flake cleanup for unit tests * Mon Mar 06 2017 ms@suse.com - Prevent use of project relative import statements For details on the motivation of this change please visit: https://wiki.python.org/moin/FutureProofPython * Mon Mar 06 2017 ms@suse.com - Allow activation/deactivation of sysV services systemd is still legacy sysV init compatible, thus the kiwi helper scripts to activate/deactivate services should not only be limited to systemd services. Fixes #256 * Mon Mar 06 2017 ms@suse.com - Support package capabilities in sat solver A solver operation can receive a package or pattern name but a capability name was considered a package name and failed to resolve. This commit fixes the solver operation with regards to package capabilities * Mon Mar 06 2017 ms@suse.com - Add runtime check for kernel match If a kiwi initrd is used, the kernel used to build the kiwi initrd and the kernel used in the system image must be the same in order to avoid an inconsistent boot setup. This is related to (bsc#1027610) * Fri Mar 03 2017 ms@suse.com - Added runtime check for boot image reference If an initrd_system different from kiwi is selected for a vmx (simple disk) image, it does not make sense to setup a reference to a kiwi boot image description, because no kiwi boot image will be built. Despite that it does not hurt it's still an inconsistent setup. This is related to (bsc#1027610) * Fri Mar 03 2017 ms@suse.com - Bump version: 9.2.3 → 9.2.4 * Fri Mar 03 2017 ms@suse.com - Update documentation the docker build container is now build with the correct namespace. Thus no image tagging is required anymore * Fri Mar 03 2017 ms@suse.com - Bump version: 9.2.2 → 9.2.3 * Thu Mar 02 2017 davidcassany@gmail.com - Support container names with slashes (#254) Umoci tool doesn't require any other parameter than a tag to identify the container. So container_name value is not used in umoci. This Fixes#253 * Wed Mar 01 2017 dcassany@suse.com - Use default command only if no entrypoit and subcommand aren't set Fixes #251 * Wed Mar 01 2017 dcassany@suse.com - Fix tagging for OCI images This commit fixes the tagging schema for umoci. An OCI image name is path[:tag], this commit rearranges some variable names to avoid confusions between names and tags. Fixes #249 * Tue Feb 28 2017 ms@suse.com - Add support for repository credentials The package and solver repository classes did not provide an interface to deal with repository credentials. This commit add support for the zypper package manager and the generic urlopen based download method of the solver class. This Fixes #246 * Tue Feb 28 2017 ms@suse.com - Bump version: 9.2.1 → 9.2.2 * Tue Feb 28 2017 ms@suse.com - Update documentation Add detailed information how to update the docker Build Container on the official dockerhub registry. This is needed to use custom or newer versions of the currently published Build Container * Tue Feb 28 2017 ms@suse.com - Bump version: 9.2.0 → 9.2.1 * Tue Feb 28 2017 ms@suse.com - Update documentation The changes in building docker images now allows for using the docker load command to import the dice container * Tue Feb 28 2017 ngompa13@gmail.com - Fix default reposdir path for DNF * Mon Feb 27 2017 ms@suse.com - Bump version: 9.1.0 → 9.2.0 * Mon Feb 27 2017 ms@suse.com - Added support for exclude docs for dnf * Mon Feb 27 2017 ms@suse.com - Fixup default cache and plugin dir for dnf * Fri Feb 24 2017 ms@suse.com - Update distribution support status Add information that Fedora systems are now supported as well * Fri Feb 24 2017 ms@suse.com - Make sure bootenv can be initialized An existing grub bootenv file should be deleted prior to calling grub2-install in order to allow grub2 to create a new correct bootenv file * Thu Feb 23 2017 ms@suse.com - Added DNF package management implementation DNF is the package manager used on Fedora systems and will also most likely replace yum for the next generation of RHEL. Along with the implementation here an example JeOS image description for Fedora can be found on: https://github.com/SUSE/kiwi-descriptions. This Fixes #36 * Tue Feb 21 2017 ms@suse.com - Follow up fix for network driver delay Each network interface will be switched off for a short moment when the kernel network driver is loaded. During that time the link status information would be misleading. Thus we wait a short time before the link status check is started * Mon Feb 20 2017 dcassany@suse.com - Include compression optimization flags for mksquashfs command This commit includes some flags for mksquashfs command in other to achieve higher compression rates. Also note that those flags were already present in KIWI former versions, thus they have been included again for compatibility reasons. This commit fixes #242 * Mon Feb 20 2017 ms@suse.com - Allow to convert GPT into MBR The type attribute force_mbr allows to convert a system selected for use with a GPT to use an MBR (msdos table). The attribute only takes effect on image configurations which would select the GPT partitioner. This Fixes #236 * Mon Feb 20 2017 ms@suse.com - Wait for network drivers to pass init Before we check for the link status a waid period of 3 seconds should guarantee that the network drivers have passed the init routines * Thu Feb 16 2017 ms@suse.com - Refactor waitForLinkUp Put code which does not belong into the loop outside of the loop. Also maintain sleep timeout and retry count in variables * Thu Feb 16 2017 ms@suse.com - Fixed waitForLinkUp and setIPLinkUp The setIPLinkUp method did not handle the return value of the waitForLinkUp call and always returned success even if waitForLinkUp ran into a timeout The waitForLinkUp method was improved in a way that it does not wait if the link detection discovered the interface is unplugged. The detection if a cable is connected or not only works if the ifplugstatus tool was found in the initrd * Fri Feb 10 2017 ms@suse.com - Bump version: 9.0.2 → 9.1.0 * Thu Feb 09 2017 ms@suse.com - Implement handling for efipartsize * Thu Feb 09 2017 ms@suse.com - Decrease default EFI partition size to 20MB The former default of 200MB was way too large and is a waste of space. Related to Issue #237 * Thu Feb 09 2017 ms@suse.com - Added efipartsize attribute in type setup The attribute allows to specify a custom size for the EFI partition. Fixes #237 * Thu Feb 09 2017 ms@suse.com - Allow bootloader="custom" for bootloader attribute If specified as such the bootloader configuration and installation will be skipped. However the editbootinstall and editbootconfig scripts will still be called. This Fixes #235 * Thu Feb 09 2017 ms@suse.com - Fixed create_repository_solvable If the solvable already exists, the method should return it * Wed Feb 08 2017 ms@suse.com - Added handling for spare_part attribute Add a spare partition right before the root partition of the configured size. Fixes #234 * Wed Feb 08 2017 ms@suse.com - Added new type attribute spare_part spare_part receives a size value with an optional unit (M|G) and is used for disk images to allow the creaton of a spare partition of the configured size. Issue #234 * Wed Feb 08 2017 ms@suse.com - Delete all traces of vboot firmware The vboot firmware setup was a workaround on arm for the chromebook platform several years ago. From a todays perspective the setup and the way to boot would be different and obsoletes the special case implementation. Thus this is gone now. Related to Issue #234 * Wed Feb 08 2017 ms@suse.com - Prevent quoted domain name in dhclientImportInfo We're getting domain name by parsion a lease file. Unfortunately in lease file domain name is quoted, which breaks linux resolver. This commit gets domainname unquoted * Tue Feb 07 2017 ms@suse.com - Add manual page for image info command * Mon Feb 06 2017 ms@suse.com - Added kiwi image info command Allow to list information about the image description. In a first implementation one can show the image name as well as run a dependency resolution for the packages listed in the XML description * Fri Feb 03 2017 ms@suse.com - Bump version: 9.0.1 → 9.0.2 * Fri Feb 03 2017 ms@suse.com - Added uri translation for SUSE factory The obs uri 'obs://openSUSE:Factory/standard' does not follow the standard http url translation schema and needed a special handling in order to resolve correctly * Thu Feb 02 2017 ms@suse.com - Eliminate instsource element and requirements The schema defintions for kiwi v8 still contained the product schema definitions aka instsource which is no longer supported by this version of kiwi. Building SUSE products is done with the kiwi v7 code base and will most probably be handled by an extra product builder tool in the future maintained and developed by the buildservice team. We would be proud if the api of the kiwi v8 code base can be helpful for the product builder in the future * Wed Feb 01 2017 ms@suse.com - Bump version: 9.0.0 → 9.0.1 * Wed Feb 01 2017 ms@suse.com - Added arch attribute for ignore section The packages subsection <ignore> only accepted a package name to become ignored. However a <package> subsection to install a package allows for an arch selection. The same should apply to ignore a package. In addition the allowed content for the arch attribute has been changed from simple text to a regular expression. Allowed is a comma seperated list of reserved architecture words like they are displayed by uname -m * Wed Feb 01 2017 ms@suse.com - User format method to form the message * Wed Feb 01 2017 ms@suse.com - Added support for package locking for zypper Zypper supports the al (add lock) command which allows to ignore a package in the dependecny resolution process. This is useful to prevent installation of a package which was pulled in by e.g a recommendation flag from the spec file. Packages marked to be ignored are not handled for apt and yum right now. Using this feature together with an unsupported package manager backend results in a warning to the user * Wed Feb 01 2017 dcassany@suse.com - Included some file naming convetions * Mon Jan 30 2017 dcassany@suse.com - Components of an Image Description section This commit extends the doc/sources/workflow.rst documentation by including details about config.sh and images.sh files. * Fri Jan 27 2017 ms@suse.com - Bump version: 8.29.6 → 9.0.0 * Thu Jan 26 2017 ms@suse.com - Update documentation Add information about new hook: handleMachineID * Thu Jan 26 2017 ms@suse.com - Bump version: 8.29.5 → 8.29.6 * Thu Jan 26 2017 ms@suse.com - Fixup isolinux timeout configuration isolinux counts the timeout in units of 1/10 seconds. Thus the value provided in the image description needs to be adapted correctly. This Fixes #228 * Thu Jan 26 2017 ms@suse.com - Bump version: 8.29.4 → 8.29.5 * Thu Jan 26 2017 ms@suse.com - Fixup setupMachineID Cleaning up existing machine id files by deleting them causes an interactive session to be started by systemd This is something we don't want. As the consequences of touching the machine id files seems to be too critical the method has been turned into a hook caller. This allows the user to make use of it on their own purpose and by default doesn't mess with the machine id files * Tue Jan 24 2017 ms@suse.com - Bump version: 8.29.3 → 8.29.4 * Tue Jan 24 2017 ms@suse.com - Change processing of setupMachineID Instead of creating new machine ids for systemd and dbus the method now cleans up all existing machine ids and leave it up to systemd to initialize and create new ids. This allows to make use of the native way how systemd retrieves and handles machine ids * Tue Jan 24 2017 ms@suse.com - Fixup typo in ReST style * Tue Jan 24 2017 ms@suse.com - Bump version: 8.29.2 → 8.29.3 * Mon Jan 23 2017 ms@suse.com - Add utils.sysconfig to api documentation * Mon Jan 23 2017 ms@suse.com - Completion for grub bootloader configuration The configuration files /etc/sysconfig/bootloader and /etc/default/grub needs to be created/updated with the relevant values regarding the bootloader setup done by kiwi. This Fixes #226 * Fri Jan 20 2017 ms@suse.com - Apply volume attributes for btrfs and lvm The chattr utility is used to apply file attributes So far only the no-copy-on-write attribute can be specified in a volume setup. If further attributes are needed they will be added on demand * Fri Jan 20 2017 ms@suse.com - Added attributes element in volume type * Thu Jan 19 2017 ms@suse.com - Added volume attribute copy_on_write The copy_on_write attribute allows to activate or deactivate the copy on write functionality for the desired volume. This Fixes #218 * Thu Jan 19 2017 ms@suse.com - Make sure there is a storage default setup on s390 Storage disks on s390 requires an information about the type and the blocksize. In case these information is not provided in the kiwi XML configuration, None was set as value in the zipl configuration which lead to an error. This commit provides default values for those parameters * Wed Jan 18 2017 ms@suse.com - Bump version: 8.29.1 → 8.29.2 * Tue Jan 17 2017 ms@suse.com - Allow unix device names in oem-unattended-id setup In order to allow a raw device name in oem-unattended-id the /dev tree has been added to search list. This is useful if e.g a ramdisk device which is not part of any /dev/disk/... or /dev/mapper device map should be used as target disk for the deployment. Thus a setup to stick the deployment to e.g /dev/ram1 would look like this <oem-unattended-id>ram1</oem-unattended-id> This Fixes #221 * Tue Jan 17 2017 ms@suse.com - Don't delete ip tools from oemboot network tools are needed for oem disk deployment via pxe * Tue Jan 17 2017 ms@suse.com - Added .coveragerc Clearly indicate which source files are excluded from the coverage report * Tue Jan 17 2017 ms@suse.com - Make sure setupMachineID also cares for dbus Systemd and dbus should use the same machine-id. Therefore a symlink /var/lib/dbus/machine-id pointing to /etc/machine-id is created right after systemd-machine-id-setup. Fixes #219 * Mon Jan 16 2017 dcassany@suse.com - Fixup duplication of btrfs toplevel volume If using root btrfs snapshot, the default toplevel subvolume is set to /@/.snapshots/1/snapshot, thus all defined subvolumes are mounted under that cusomized default subvolume. For the first time subvolumes are mounted it is fine to include /@/.snapshots/1/snapshot prefix as root is not yet set to that specific path, however in any future mount this path prefix is not needed any more, as the root get mounted in /@/.snapshots/1/snapshot by default. Fixes (bsc#1015549) * Fri Jan 13 2017 ms@suse.com - Add check_docker_tool_chain_installed Runtime check to check for required docker tools umoci and skopeo. As long as tools tools are not available in the core distro of all distributions we avoid spec file requirements and check at runtime if they can be found * Tue Jan 10 2017 ms@suse.com - Bump version: 8.29.0 → 8.29.1 * Tue Jan 10 2017 ms@suse.com - Rebuild schema documentation * Tue Jan 10 2017 ms@suse.com - Bump version: 8.28.3 → 8.29.0 * Mon Jan 09 2017 dcassany@suse.com - Running config.sh after including the image repositories This commit rearranges some code lines in order to run the config.sh script after the repositories of the image have been included, this way repositories can be trusted and refreshed in config.sh script. * Mon Jan 09 2017 ms@suse.com - Refactor docker container creation Instead of creating a simple tarball the tools umoci and skopeo from the docker tool chain are used to create official docker images. Along with those tools more information to describe a container has been added to the schema. A complete container setup now consists of the following elements <type image="docker"> <containerconfig name="..." maintainer="..." user="..." workingdir="..."> <entrypoint execute="command"> <argument name="option"/> ... </entrypoint> <subcommand execute="command"> <argument name="option"/> ... </subcommand> <expose> <port number="..."/> ... </expose> <volumes> <volume name="..."/> ... </volumes> <environment> <env name="variable" value="value"/> ... </environment> <labels> <label name="..." value="..."/> ... </labels> </containerconfig> </type> * Mon Jan 09 2017 ms@suse.com - Update container builder code to new schema layout * Mon Jan 09 2017 ms@suse.com - Auto update image descriptions to schema v6.5 * Mon Jan 09 2017 ms@suse.com - Update schema for container setup In preparation to support creation of native docker containers the way docker likes it, the kiwi schema has to be adapted. So far there was no way to specify additional metadata information for containers. With this commit a new section called <containerconfig> is provided. containerconfig is a subsection of the type and only allowed for the docker image type. This constraint is checked via a schematron rule. In addition an xslt stylesheet moves the currently existing container attribute, which was used to set a name for the container, into the new containerconfig section as name attribute * Tue Dec 20 2016 ms@suse.com - Bump version: 8.28.2 → 8.28.3 * Tue Dec 20 2016 ms@suse.com - Fixed quadruple_token tokenizer Information not provided should end up as a None type in the list in any case. If an empty string was provided via e.g --add-repo source,type,, the tokenizer puts in an empty string. If the information was provided as --add-repo source,type a None type was used. The code handling the information expected a None type for not provided information, with an empty string we end up in validation code which e,g complains that an empty string can't be converted into an integer base repo priority * Sun Dec 18 2016 ms@suse.com - Bump version: 8.28.1 → 8.28.2 * Sun Dec 18 2016 ms@suse.com - Update documentation Default provider must be set in the caller environment if different from the default docker provider * Fri Dec 16 2016 ms@suse.com - Bump version: 8.28.0 → 8.28.1 * Fri Dec 16 2016 ms@suse.com - Update container builder documentation Add information about the now available kiwi build box and the use of it as part of libvirt provider setup for vagrant * Thu Dec 15 2016 ms@suse.com - Bump version: 8.27.5 → 8.28.0 * Tue Dec 13 2016 ms@suse.com - Bump version: 8.27.4 → 8.27.5 * Tue Dec 13 2016 ms@suse.com - Fixup spec file build requires shadow tools are needed for %pre tasks using groupadd/useradd tools * Tue Dec 13 2016 ms@suse.com - Bump version: 8.27.3 → 8.27.4 * Mon Dec 12 2016 ms@suse.com - Fixup spec file tftp group/user setup Let %pre fail if groupadd/useradd failed and show the error to the user * Thu Dec 08 2016 ms@suse.com - Added DiskFormatVagrantLibVirt class Allow to build vagrant boxes for the libvirt provider This Fixes #15 * Thu Dec 08 2016 ms@suse.com - Update vagrantconfig schema setup Delete the virtualbox provider, As long as there is no opensource variant for the ovf creation available we won't support that provider * Wed Dec 07 2016 ms@suse.com - Bump version: 8.27.2 → 8.27.3 * Tue Dec 06 2016 ms@suse.com - Adapt documentation to rtd schema replace topic node used for abstract by a hint. This results in a color box for the abstract which looks better than what rtd does with simple topics * Tue Dec 06 2016 ms@suse.com - Adapt schema generator to rtd doc schema * Tue Dec 06 2016 ms@suse.com - Move to rtd sphinx schema The read-the-docs schema fits better into the mainstream of online documentation * Mon Dec 05 2016 ms@suse.com - Bump version: 8.27.1 → 8.27.2 * Mon Dec 05 2016 ms@suse.com - Added check_volume_setup_has_no_root_definition The root volume in a systemdisk setup is handled in a special way. It is not allowed to setup a custom name or mountpoint for the root volume. Therefore the size of the root volume can be setup via the @root volume name. This check looks up the volume setup and searches if there is a configuration for the '/' mountpoint which would cause the image build to fail * Mon Dec 05 2016 ms@suse.com - Prevent warning about unknown opt in workflow doc * Mon Dec 05 2016 ms@suse.com - Bump version: 8.27.0 → 8.27.1 * Mon Dec 05 2016 ms@suse.com - Rebuild schema documentation * Mon Dec 05 2016 ms@suse.com - Add a docstring for the extension section Short description what the extension section is good for * Mon Dec 05 2016 ms@suse.com - Prevent any type from attribute recursion The schema parser to create the documentation run into an endless recursion for the new k.any type. As any could be anything there is not much do document for this type. Thus it is now skipped from the traversal * Mon Dec 05 2016 ms@suse.com - Bump version: 8.26.1 → 8.27.0 * Fri Dec 02 2016 ms@suse.com - Update documentation per review * Thu Dec 01 2016 dcassany@suse.com - Including minimum volume size offset in disk size calculation This commit adds Defaults:get_min_volume_mbytes() to the disk size calculation algorithm. This should be sufficient to hold fdisk default offset when creating the first partition and also to hold the LVM metadata. * Thu Dec 01 2016 ms@suse.com - Added extension documentation * Thu Dec 01 2016 ms@suse.com - Make sure to catch exceptions from xsltproc * Wed Nov 30 2016 ms@suse.com - Add extension validation and data access If an extension section exists the xml data in this section is validated against the RelaxNG schema which must be part of the xmlcatalog for the used extension namespace. If the data validates the method get_extension_xml_data can be used to access the etree parse result for each of the extension configurations * Wed Nov 30 2016 dcassany@suse.com - LVM volumes management during grub2 install During the grub2 install process volumes were not mounted properly, a proper mount order was not taken into consideration and LV device information was not given by the method get_volumes in VolumeManger. This commit forces the mount (and umount) operations to be done in coherent order and also modifies the get_volumes method in order to return the device associated to each volume. * Mon Nov 28 2016 ms@suse.com - Allow <extension> section for custom plugins For the use case to add additional image description information an extension section exists which allows to add custom section and attributes. Custom XML information must be connected to a namespace in order to avoid conflicts with the existing structure. The following example shows how to place additional XML information: <image> <extension xmlns:my_plugin="http://www.my_plugin.com"> <my_plugin:my_feature> <my_plugin:title name="cool stuff"/> </my_plugin:my_feature> </extension> </image> * Fri Nov 25 2016 ms@suse.com - Fixed expansion of msdos disks If the target disk size is beyond 2TB it can't be expanded to the full size if the msdos partition table layout is in use. Because of this the disk expansion will be limited to the allowed maximum for the msdos partition table type which is at 2TB. This fixes bnc#1010966 * Thu Nov 24 2016 ms@suse.com - Bump version: 8.26.0 → 8.26.1 * Thu Nov 24 2016 ms@suse.com - Fixup of string + operator vs. join use * Thu Nov 24 2016 ms@suse.com - Fixed setup_disk_image_config in bootloader setup The parameter for the uuid is not enough to handle all supported disk geometries. If the disk has an extra boot partition the bootloader setup must read the boot data from the boot partition but must set the root for the kernel cmdline to the root partition. Therefore the interface needs to change and must provide both the boot_uuid and the root_uuid in oder to allow the method to setup the correct values * Thu Nov 24 2016 dcassany@suse.com - Parse arch attribute as a comma separated list This commit ensure that the arch attribute of each package section is parsed as a comma separated list. This way, as in previous kiwi versions, each package might be suitable for one or more specified architectures. * Thu Nov 24 2016 ms@suse.com - Fixup kernel name setup in disk builder The Kernel instance is the only correct place to ask for the kernel name. This class has the responsibility to know information about the selected kernel. The additional arch based assumption on the kernel name in the disk builder were wrong. This fixes bnc#1011936 * Tue Nov 22 2016 ms@suse.com - Fixed typo in solver api documentation * Tue Nov 22 2016 ms@suse.com - Bump version: 8.25.5 → 8.26.0 * Mon Nov 21 2016 dcassany@suse.com - No more hard links in result bundle This commit changes the copy command of the result bundle task. Now instead of creating hardlinks a relugar copy is performed. This way we ensure that the bundled files will not be modified by overwritting a linked file. * Mon Nov 21 2016 dcassany@suse.com - Documentation workflow review * Mon Nov 21 2016 ms@suse.com - The Sat solver class - an example The Sat solver class can be used to run a solver operation over a list of packages and/or patterns in order to receive a dependency solved list of all required packages according to the request. In order to do that a set of repositories is required which provides the package metadata and their requirements. The following is an example how to use the Sat class in your application: ```python from kiwi.solver.sat import Sat from kiwi.system.uri import Uri from kiwi.solver.repository import SolverRepository solver = Sat() solver.add_repository( SolverRepository(Uri('obs://leap/42.2/repo/oss', 'yast2')) ) print(solver.solve(['vim'])) ``` * Mon Nov 21 2016 ms@suse.com - Fixup code smell for kernel name list Iterating over only one list item doesn't need a loop * Mon Nov 21 2016 ms@suse.com - Fixup style to be more pythonic * Fri Nov 18 2016 ms@suse.com - Fixed release network using ip tool Apply the cidr fix from setupNic and introduce a new method called deleteNic which replaces the wrong ip call from the releaseNetwork method. Fixes bnc#1003091 * Fri Nov 18 2016 dcassany@suse.com - KIWI workflow documentation This commit ports the workflow documentation from previous KIWI version and also adds a sections for listing the boot parameters configurable in the Kernel command line. * Fri Nov 18 2016 ms@suse.com - Fixed kernel name lookup Complete the list of kernel names for the lookup. Normally the kernel package provides a symlink to the actual kernel image file. However if the link does not exist we extend the search to a collection of names for possible kernel images. The new list now also covers kernel names as used for arm Along with the change this patch also provides an option to raise an exception if the kernel lookup did not find any kernel, which is used for the get_kernel() request in the dracut initrd system setup where it is mandatory to find a kernel image. This fixes bnc#1010874 * Thu Nov 17 2016 ms@suse.com - Added Sat solver class Added implementation for Solver class based on the SUSE libsolv C library and the solv python binding * Thu Nov 17 2016 ms@suse.com - Bump version: 8.25.4 → 8.25.5 * Thu Nov 17 2016 ms@suse.com - Fixup lease time in setupNetworkWicked The default lease time with 300s used by wicked is relatively short and different from the default lease time of the former dhcpcd. This change causes wicked to use a lease time of 3600s This is related to bnc#1003091 * Thu Nov 17 2016 ms@suse.com - Fixup default behavior of releaseNetwork If no tool was found to communicate with the dhcp server in order to free the lease the method did nothing. However it should at least bring down the network. This is related to bnc#1003091 * Wed Nov 16 2016 ms@suse.com - Bump version: 8.25.3 → 8.25.4 * Wed Nov 16 2016 ms@suse.com - Fixup get_volumes for lvm manager The method also returned the root volume in the list of volumes but it should only return a list of volumes excluding root volume * Wed Nov 16 2016 ms@suse.com - Fixup setupNic for address information in cidr Ignore netmask if address is already in cidr format * Wed Nov 16 2016 ms@suse.com - Bump version: 8.25.2 → 8.25.3 * Tue Nov 15 2016 ms@suse.com - Fixup btrfs property setup The readonly property is set on the filesystem toplevel. kiwi has set the toplevel before any property is set. * Tue Nov 15 2016 dcassany@suse.com - vhdfixed images result compression This commit adds compression to the Result instance of the vhdfixed disk. This concrete format is not compressed or dynamic, so that, it makes sense compress them. Also this was the behavior in previous kiwi versions. * Tue Nov 15 2016 kukuk@thkukuk.de - Replace tabs with spaces * Tue Nov 15 2016 ms@suse.com - Fixup handling for root_is_readonly_snapshot The information was not passed to the VolumeManager instance * Tue Nov 15 2016 ms@suse.com - Fixup mount_volumes in VolumeManagerBtrfs It is required to mount the toplevel btrfs filesystem if not already mounted, prior to mounting the subvolumes * Tue Nov 15 2016 ms@suse.com - Fixed busy mount state Make sure subvolumes are umounted first. This prevents a busy state in a partition setup with an extra boot partition * Mon Nov 14 2016 ms@suse.com - Bump version: 8.25.1 → 8.25.2 * Mon Nov 14 2016 ms@suse.com - Fixup creation of etc/default/grub config file Only create the file if the base directory structure in etc/default exists. * Sun Nov 13 2016 kukuk@thkukuk.de - Remove empty line too much * Sun Nov 13 2016 kukuk@thkukuk.de - Implement loading of snapshots and fix snapshot menu layout. If you want to boot an old snapshot, but not to do a rollback, we need to tell the kernel which snapshot to use. This patch also fixes the broken layout of the grub snapshot menu. * Sat Nov 12 2016 kukuk@thkukuk.de - Move source of grub-snapshot.cfg to the right position grub-snapshot.cfg should not be sourced at the begining, but at the end of grub.cfg. Else with creating the first snapshot this entry is getting the default boot target and the system does not boot automatically anymore. * Fri Nov 11 2016 ms@suse.com - Fixup netboot code for multipath boot device If the root disk in a netboot deployment is a multipath device we have to make sure the multipathd is started and the boot device is mapped to the wwn * Thu Nov 10 2016 ms@suse.com - Bump version: 8.25.0 → 8.25.1 * Thu Nov 10 2016 ms@suse.com - Update doc string for download_from_repository The doc string for this method contained a mime string which is spuriously validated by the sphinx url checker. This commit rewords the text in a way that the checker is happy again * Thu Nov 10 2016 ms@suse.com - Bump version: 8.24.10 → 8.25.0 * Thu Nov 10 2016 davidcassany@gmail.com - Do not delete all repositories if there aren't repositories to import (#191) This commit adds a tester method to check if there is any repository marked as imageinclude. The method is used to execute import_repositories_marked_as_imageinclude method only when it is actually needed. * Wed Nov 09 2016 ms@suse.com - grub.cfg: Fixes for btrfs as rootfs This addresses the following issues * An image based on btrfs using the entire boot as a subvolume causes grub to be unable to find its config file. Thus kiwi now raises an exception in this situation * Don't prefix the bootpath with the snapshot path if the btrfs root is placed in a snapshot. Instead the file etc/default/grub must be written/updated with the SUSE_BTRFS_SNAPSHOT_BOOTING variable set to true. Once this is done the bootpath is consistently set to /boot no matter which snapshot is active * Wed Nov 09 2016 ms@suse.com - grub.cfg: Source grub-snapshot.cfg if present Add a lookup for /.snapshots/grub-snapshot.cfg to the generated grub.cfg. The file is shell sourced if it exists * Wed Nov 09 2016 dcassany@suse.com - No need to mock Path.which There is no need to mock Path.which as isoinfo binary from the platform is needed to run the test, so better let the system look for it, note that the binray can be located in the alternate location (/usr/lib/genisoimage/) which is not part of the PATH. In that particular case the iso_test would fail if we mock Path.which. * Tue Nov 08 2016 dcassany@suse.com - Updated system size calculations test * Tue Nov 08 2016 dcassany@suse.com - Updated test for vhd-fixed subformat type * Tue Nov 08 2016 dcassany@suse.com - Increase the default image size for XFS filesystems When no size is specified in type section the resulting image size is calculated using the size of the whole build-root increased by an empiric factor. Some tests revealed that this factor was not enough for XFS filesystems. The empiric factor has been increased. This commit fixes #186 * Tue Nov 08 2016 dcassany@suse.com - vhd-fixed name corrected in subformat init class This commit reverts the previous one and it applies the name change to the subformat class initializer. This way the schema is not altered and we keep compatibility with previous description files. * Tue Nov 08 2016 dcassany@suse.com - vhdfixed format naming inconsistency vhdfixed storage format name was not updated according its real name in the kiwi schema, making it impossible to build any vhdfixed image. The schema used to expect 'vhd-fixed', however, internally, the code was expecting 'vhdfixed'. The schema has been updated. This commit fixes #184 * Tue Nov 08 2016 ms@suse.com - Implemented SolverRepositoryRpmDir Add support for local rpm-dir repositories * Tue Nov 08 2016 dcassany@suse.com - ActivateImage links correction Loading the iso image into a read-only ramdisk caused some issues due to the activatImage method cp commands. With this commit the symlinks are consistent during the preinit phase and also before running the cp command it is tested we are not in a read-only filesystem. This commit is a port form openSUSE/kiwi#613 PR * Tue Nov 08 2016 ms@suse.com - Implemented SolverRepositoryRpmMd Add support for rpm-md repository types * Mon Nov 07 2016 ms@suse.com - Fixup ip setup in setupNic The invocation of ip in setupNic was invalid. The way this was done causes the netmask to be set as broadcast address Related to bnc#1003091 * Mon Nov 07 2016 ms@suse.com - Implemented SolverRepositorySUSE Add support for SUSE online and media repository types * Mon Nov 07 2016 ms@suse.com - Add repo_type info to Uri class This allows to eliminate the repo_type from the paramter list of the SolverRepository class, which then only needs an instance of Uri * Sun Nov 06 2016 ms@suse.com - Implement SolverRepositoryBase Base class and interface for building a SAT solvable from a given repository * Fri Nov 04 2016 ms@suse.com - Added API doc hook for solver path * Fri Nov 04 2016 ms@suse.com - Bump version: 8.24.9 → 8.24.10 * Fri Nov 04 2016 ms@suse.com - Delete sphinxcontrib-programoutput setup Deleted it from virtualenv development requirements and from the sphinx configuration file * Fri Nov 04 2016 ms@suse.com - Delete use of sphinxcontrib-programoutput The developers of this sphinx extension decided to delete the module on pip and also the source from git... it's dead. Thus I replaced the dynamic usage output in the manual pages with the static version * Fri Nov 04 2016 ms@suse.com - Initial structure to support SAT solvables A SAT solvable can be used together with python-solv to implement performant package solving tasks. This is the initial structure to allow the creation of such solvable files from specified repositories. We will support the repo types yast2, rpm-md and rpm-dir in the first place. * Thu Nov 03 2016 dcassany@suse.com - updateOtherDeviceFstab did not get the fstab location parameter This is port from the kiwi v7 code base openSUSE/kiwi#610 * Wed Nov 02 2016 dcassany@suse.com - Load the default unicode font in grub2 This commit fixes #179. The default font was never loaded, the loadfont call for the default was missing. * Wed Nov 02 2016 ms@suse.com - Bump version: 8.24.8 → 8.24.9 * Wed Nov 02 2016 ms@suse.com - Fixed waitForStorageDevice Value for storage_size was not really used * Wed Nov 02 2016 ms@suse.com - Bump version: 8.24.7 → 8.24.8 * Wed Nov 02 2016 ms@suse.com - Make sure kiwiserver/kiwiservertype is used If kiwiserver and/or kiwiservertype is specified on the kernel commandline they should take over precedence for up- and download of image files compared to the host setup in the IMAGE variable. * Wed Nov 02 2016 ms@suse.com - Don't mix python module requirements The tox setup mixes the deps modules depending on the tox target with either virtualenv.dev-requirements.txt or fixed deps lists in tox.ini. This change clean up the module dependencies for development targets to be taken from virtualenv.dev-requirements.txt exclusively * Tue Nov 01 2016 ms@suse.com - Update travis runtime requirements Installing python modules from source via pip requires git * Tue Nov 01 2016 ms@suse.com - Bump version: 8.24.6 → 8.24.7 * Tue Nov 01 2016 ms@suse.com - sphinxcontrib-programoutput no longer on pypi Use the version from git directly to build the documentation In the long we should find an alternative for this sphinx extension * Mon Oct 31 2016 ms@suse.com - Fixup root init with existing host cache Creating a new root init with a shared location which already provides directories of the system failed on init of those directories. Only create the not yet existing directories * Mon Oct 31 2016 ms@suse.com - Fixup the wicked thing again * Mon Oct 31 2016 ms@suse.com - Put setupNetworkWicked in line with former dhcpcd The way setupNetworkWicked implements the dhcp discovery was incomplete. This Fixes bnc#1003091 * Fri Oct 28 2016 ms@suse.com - Fixup assembling of mdraid array when udev discovers an mdraid array it partially starts the array. That is interfering with the mdadm --assemble call by kiwi which leads to a busy state and an array in inactive state. Therefore the method should wait until the raid array really exists no matter if the assembling is started by udev or kiwi's mdadm call. In addition if the array got assembled but is incomplete because devices are missing or the timout is fired, an additional call to start any array that has been partially assembled is required. pxeRaidAssemble will throw an exception if after this call no md device with a size > 0 will show up after a timeout. This Fixes bnc#1000742 * Fri Oct 28 2016 ms@suse.com - Fixup waitForStorageDevice The function will return success if the size of the storage device can be obtained and is greater than zero. The pure success on reading from the block layer is not enough. In order to actually work with the device it must provide a size > 0. Related to bnc#1000742 * Thu Oct 27 2016 ms@suse.com - Bump version: 8.24.5 → 8.24.6 * Thu Oct 27 2016 ms@suse.com - Fixup initial directory creation for new root During testing of alternative cache locations an init problem with the var/ directory was observed * Thu Oct 27 2016 ms@suse.com - Do not allow imageinclude for images build in obs Fixes #178 * Wed Oct 26 2016 dcassany@suse.com - SystemPrepare instance delete before runnig SystemSetup This commit fixes#175, now multiple profiles in OBS are possible using kiwi boot initrd. * Tue Oct 25 2016 ms@suse.com - Use docopt's default value feature for cache dir * Tue Oct 25 2016 ms@suse.com - Cleanup unit tests using sys.argv The tests should restore to the default argv option set as provided by the test_helper * Tue Oct 25 2016 ms@suse.com - Update manual page Include information for new --shared-cache-dir option * Tue Oct 25 2016 ms@suse.com - Added global option --shared-cache-dir The option allows to specify an alternative shared host_to_image cache directory. The default location is /var/cache/kiwi. Fixes #92 * Tue Oct 25 2016 dcassany@suse.com - Fixed a couple of constraints * Tue Oct 25 2016 dcassany@suse.com - Redo of xml_parse.py with updated generateDS * Tue Oct 25 2016 ms@suse.com - Initialize the systemd machine ID on first boot The systemd machine id is considered to be a unique information Thus it is required to initialize it on first boot of the image. If the image uses the kiwi boot code (initrd) this action is performed and and Fixes #169 * Mon Oct 24 2016 ms@suse.com - Bump version: 8.24.4 → 8.24.5 * Mon Oct 24 2016 dcassany@suse.com - Some tests slightly modified in order to improve coverage This commit improves some example kiwi files and tests in order to achieve a 100% code coverage. * Mon Oct 24 2016 dcassany@suse.com - Corrections on test kiwi description files Some attributes needed to be changed in the test xmls. With this commit all the description files are consistent with the new co- occurrence constraints. * Fri Oct 21 2016 dcassany@suse.com - Co-occurrence constraints included in the schema Constraints for pxe, iso, vmx, oem and docker image types have been included. * Fri Oct 21 2016 ms@suse.com - config.partids only required for kiwi initrd If dracut is used as initrd system an unused config.partids file is generated. The partition id information is only used by kiwi boot code not by dracut boot code. Related to bnc#1005246 * Thu Oct 20 2016 ms@suse.com - Bump version: 8.24.3 → 8.24.4 * Thu Oct 20 2016 ms@suse.com - Make sure dracut initrd is copied correctly * Thu Oct 20 2016 dcassany@suse.com - Fixed a rounding error in partedMBToCylinder method bc truncates number of cylinders to zero decimal places, which results in a partition that is slightly smaller than the requested size. Add one cylinder to compensate. * Thu Oct 20 2016 dcassany@suse.com - Integrating Schematron syntax in schema Using Schematron syntax in schema co-occurrence constraints can be easily defined. This commit provides the schematron integration. * Wed Oct 19 2016 ms@suse.com - Bump version: 8.24.2 → 8.24.3 * Wed Oct 19 2016 ms@suse.com - Write fstab to kiwi boot image only For the dracut initrd system the call happens in the system root tree which already provides the fstab data * Wed Oct 19 2016 ms@suse.com - Bump version: 8.24.1 → 8.24.2 * Wed Oct 19 2016 ms@suse.com - Dereference boot arch symlinks * Wed Oct 19 2016 ms@suse.com - Bump version: 8.24.0 → 8.24.1 * Wed Oct 19 2016 ms@suse.com - Fixed typo in build Makefile target * Wed Oct 19 2016 ms@suse.com - Bump version: 8.23.0 → 8.24.0 * Wed Oct 19 2016 ms@suse.com - Use format method for messages in image_resize There are more places where this cleanup from %x format attributes to the format() method is required. Here it is done in the scope of the image resize task * Wed Oct 19 2016 ms@suse.com - Bump version: 8.22.0 → 8.23.0 * Wed Oct 19 2016 ms@suse.com - Fixed setup.py custom install target Make install method aware of --single-version-externally-managed This option is passed to the call by pip if not installed as egg * Wed Oct 19 2016 ms@suse.com - Added setuptools to development requirements * Tue Oct 18 2016 ms@suse.com - Delete travis pypi deployment After weeks of try and error, this simply does not work for me Manual deployment via make pypi and a local account works fine Maybe this can be solved in the future but for now I can live with a manual step * Tue Oct 18 2016 ms@suse.com - Package kiwi/boot/arch into sub archive The sdist target runs into an infinite loop if installed via pip. It seems the symlink files below boot/arch confuses distutils * Tue Oct 18 2016 ms@suse.com - Bump version: 8.21.1 → 8.22.0 * Tue Oct 18 2016 ms@suse.com - Revert "pycparser 2.15 does not play well with xattr" This reverts commit 428436988d1db1017adfb6e92dbc3235d54e06b3. * Tue Oct 18 2016 ms@suse.com - Only resize disk format if required Only resize the disk format if the raw disk has been changed If the size of the raw disk is the same as the requested size just print a message to the user * Tue Oct 18 2016 ms@suse.com - Simplify help call * Tue Oct 18 2016 ms@suse.com - Smarter way to calculate bytes from a size unit * Tue Oct 18 2016 ms@suse.com - Explicitly bool check for the service name option From docopt we expect a True/False value for the selected service name positional parameter. Thus the code should also make it clear what we expect * Tue Oct 18 2016 ms@suse.com - Use format method instead of printf like style * Tue Oct 18 2016 ms@suse.com - Update resize_raw_disk method Do not resize the disk if an attempt to resize to the same size was made. Do not fail in this situation but indicate via a bool return value if an action has happened(True) or not(False) * Tue Oct 18 2016 ms@suse.com - Use latest version of pip for tox setup * Tue Oct 18 2016 ms@suse.com - Revert "Fixup travis setup" This reverts commit ee9e633d78833d02a535e6f4d2ce775425082872. * Tue Oct 18 2016 ms@suse.com - Revert "Fixup travis.yml" This reverts commit 1c80841e8c264ba1957e2ae6b53d2af2929479b0. * Tue Oct 18 2016 ms@suse.com - Fixup travis.yml Make sure python-tox gets installed * Tue Oct 18 2016 ms@suse.com - Fixup travis setup No need to install requirements, this is all done by tox * Tue Oct 18 2016 ms@suse.com - pycparser 2.15 does not play well with xattr Use pycparser 2.14 in setup.py and virtual env requirements * Tue Oct 18 2016 ms@suse.com - Fixed setup.py install target pip calls the install target but not the build target. For kiwi's tools this means they need to run the tools compilation if not already done prior to the installation of the tools * Tue Oct 18 2016 ms@suse.com - Call dracut in system root tree Change BootImageDracut class to call dracut in the specified system root directory and not in a self prepared new root environment. dracut reads scripts and dracut module configurations from the installed system components, e.g kdump. Therefore calling it from an isolated runtime environment creates an initrd which is not matching the system components. Fixes bnc#1005246 * Mon Oct 17 2016 ms@suse.com - Added kiwi image resize command The image resize command allows to resize a disk image and its optional disk format to a new disk geometry * Mon Oct 17 2016 ms@suse.com - Added manual page for image resize command * Mon Oct 17 2016 ms@suse.com - Add raw format to subformat factory * Mon Oct 17 2016 ms@suse.com - Allow ftp:// uri style for package repositories * Mon Oct 17 2016 ms@suse.com - Add grub2-efi-modules in rhel boot descriptions This package provides the efi modules which are needed if a custom efi module is build by kiwi via grub2-mkimage * Mon Oct 17 2016 ms@suse.com - Fixup doc string for target_removable attribute The default behaviour was not explained clear enough * Sat Oct 15 2016 ms@suse.com - Added resize_raw_disk method in DiskFormatBase Allow to increase the disk geometry of a disk image file in order to create free space on this disk * Thu Oct 13 2016 ms@suse.com - Handle target_removable in kiwi disk builder * Thu Oct 13 2016 ms@suse.com - Handle target_removable in kiwi boot code * Thu Oct 13 2016 ms@suse.com - Store kiwi_target_removable in profile env * Thu Oct 13 2016 ms@suse.com - Added target_removable attribute Indicate if the target disk for oem images is deployed to a removable device e.g a USB stick or not. This only affects the EFI setup if requested and in the end avoids the creation of a custom boot menu entry in the firmware of the target machine on first boot. This is related to bnc#993130 * Thu Oct 13 2016 ms@suse.com - Use XML parser to test XML output for info.xml * Thu Oct 13 2016 ms@suse.com - parenthesis in imports only for multi-line imports * Thu Oct 13 2016 ms@suse.com - Delete unused textwrap import * Thu Oct 13 2016 ms@suse.com - Move info.xml test data into its own file * Thu Oct 13 2016 ms@suse.com - Fixup code smells per review Only import what is needed, concat strings by a join * Thu Oct 13 2016 ms@suse.com - Create info.xml file for btrfs snapshot If the system is installed into a btrfs snapshot a metadata file called info.xml is created which is used by tools like snapper. Fixes bnc#1000117 * Wed Oct 12 2016 ms@suse.com - Cleanup use of cache location * Tue Oct 11 2016 dcassany@suse.com - Updated hideSplash method hideSplash method now hides the splash image regardless of an active console is detected or not. This commit is port from openSUSE/kiwi#601 * Tue Oct 11 2016 dcassany@suse.com - Fixing wrong spaces * Tue Oct 11 2016 dcassany@suse.com - Updated fetchFile method Now it makes sure the splash is hidden before showing any progress dialog. This commit is port from openSUSE/kiwi#601 * Tue Oct 11 2016 ms@suse.com - Bump version: 8.21.0 → 8.21.1 * Mon Oct 10 2016 ms@suse.com - Fixup wicked DNS data validation wicked provides DNS info in DNSSERVERS with a space as separator and not with a ',' as it was the case in dhcpcd * Mon Oct 10 2016 ms@suse.com - Do not bundle the raw disk if a format is setup Only bundle the compressed version of the .raw disk image if no disk format like qcow2, vmdk, etc... is specified. Fixes #159 * Mon Oct 10 2016 ms@suse.com - Do not compress disk formats Stay compatible with the former version of kiwi and do not compress disk formats like qcow2, vmdk, etc... It also does not make much sense since the disk formats itself are using a compression algorithm. Fixes #159 * Mon Oct 10 2016 ms@suse.com - Support yum repository priorities yum normally installs the latest version of a package, regardless of which repository provides it. The yum-plugin-priorities provides a method to prefer a package from a repository with a higher priority. Fixes #153 * Fri Oct 07 2016 ms@suse.com - Bump version: 8.20.22 → 8.21.0 * Fri Oct 07 2016 ms@suse.com - Fix attributes_not_used helper script The script is used to check which parts of the XML schema are not used by the new (kiwi v8) version. The information is helpful to find missing or obsolete attribute handling in v8 vs. v7 * Thu Oct 06 2016 dcassany@suse.com - Modified few code lines to match landscape's quality standards * Thu Oct 06 2016 ms@suse.com - Use tmpfs for write overlay in netboot via nbd/aoe * Wed Oct 05 2016 dcassany@suse.com - Added support for multiple `--add-profile` options * Wed Oct 05 2016 dcassany@suse.com - Added '--add-profile' option in compat mode This commit fixes #154. With this, the compatiblity mode accepts the `--add-profile` option which was present in previous kiwi versions and that is translated to `--profile` in the current version. * Wed Oct 05 2016 ms@suse.com - Add set_property_readonly_root for volume manager The custom option root_is_readonly_snapshot is evaluated for the method set_property_readonly_root(). If set and the root filesystem has been installed into a btrfs snapshot the filesystem is turned into read-only mode * Wed Oct 05 2016 ms@suse.com - Evaluate root_is_readonly_snapshot in disk builder * Wed Oct 05 2016 ms@suse.com - Added btrfs_root_is_readonly_snapshot attribute The attribute allows to specify if the root filesystem should be set to read-only if it is created as a btrfs snapshot. The option only has an effect if a btrfs snapshot is used as root filesystem. Fixes bnc#1000080 * Sat Oct 01 2016 ms@suse.com - Bump version: 8.20.21 → 8.20.22 * Fri Sep 30 2016 dcassany@suse.com - Added test for -udf flag for genisoimage/mkisofs * Fri Sep 30 2016 dcassany@suse.com - Added forcing UDF filesystem for large images Included -udf flag to force UDF filesystem usage * Fri Sep 30 2016 ms@suse.com - Fixed secure boot setup for iso media Provide the shim loader and the shim signed grub loader in the required boot path. Normally this task is done by the shim-install tool. However, shim-install does not exist on all distributions and the script does not operate well in CD environments from which we generate live and/or install media. Thus shim-install is used if possible at install time of the bootloader because it requires access to the target block device. In any other case the kiwi fallback code applies * Fri Sep 30 2016 dcassany@suse.com - Added support for mkisofs genisoimage and mkisofs tools are slightly different so this commit makes sure all flags are supported in both tools. * Fri Sep 30 2016 ms@suse.com - Fixed hybrid setup for large ISO images The isohybrid tool uses fseek() to locate the bootloader files. That's unfortunately not 64-bit safe. In case of an ISO image bigger than 4G this leads to 32-bit offset issues. kiwi can workaround this problem by putting the bootloader files near the top of the iso image, which is done by a change in the sortfile of this commit * Thu Sep 29 2016 ms@suse.com - Added rpm_excludedocs handling for yum rpm supports the --excludepath option. However, yum can not be configured to pass along options to rpm or the python interface it uses. Thus only a warning about excludedocs not being supported by kiwi for yum is issued. Fixes #133 * Thu Sep 29 2016 ms@suse.com - Added rpm_excludedocs handling for apt Setup the appropriate dpkg options to avoid the installation of manual pages and package documentation if rpm_excludedocs is set in the kiwi XML description. Related to #133 * Tue Sep 27 2016 ms@suse.com - Make sure netboot code populates kiwi_RootPart For disk based images the file config.partids is written and imported. However, for netboot stations a disk is optional and no partids information exists. In order to provide at least the partition number for the root partition on netboot stations with a disk, the kiwi_RootPart is exported from the provided client configuration file. Fixes bnc#1000194 * Tue Sep 27 2016 ms@suse.com - Bump version: 8.20.20 → 8.20.21 * Tue Sep 27 2016 ms@suse.com - Call grub2-install as chroot operation In addition to the chrooted call make sure all volumes from the volume manager (if used) are mounted at call time * Tue Sep 27 2016 ms@suse.com - Fixup grub default module list The test module is a required module in any case * Tue Sep 27 2016 ms@suse.com - Make sure fstab exists in initrd creation system * Tue Sep 27 2016 ms@suse.com - Umount volumes prior to bootloader installation * Mon Sep 26 2016 ms@suse.com - Bump version: 8.20.19 → 8.20.20 * Mon Sep 26 2016 ms@suse.com - Respect setup of devicepersistency for swap part If a swap boot partition is requested it should be added to the fstab file according to the device persistency setup or its uuid default * Mon Sep 26 2016 ms@suse.com - Update schema documentation * Mon Sep 26 2016 ms@suse.com - Bump version: 8.20.18 → 8.20.19 * Mon Sep 26 2016 ms@suse.com - Respect setup of devicepersistency for boot part If an extra boot partition is requested it should be added to the fstab file according to the device persistency setup or the default uuid persistency type * Mon Sep 26 2016 ms@suse.com - Only sync .mod grub2 module files When syncing the grub2 modules to the boot directory only the .mod version of the module needs to be present * Mon Sep 26 2016 ms@suse.com - Mount boot volumes on grub install If there are volumes below /boot they need to be mounted before grub2-install / shim-install is called in order to make sure all data is available in the volume * Fri Sep 23 2016 ms@suse.com - Bump version: 8.20.17 → 8.20.18 * Fri Sep 23 2016 ms@suse.com - Make sure boot image dump is cleaned up * Fri Sep 23 2016 ms@suse.com - Refactor DiskBuilder class The DiskBuilder class is able to build a disk its corresponding format and the installation image to install this disk by using the InstallImageBuilder. However all three tasks were handled in a row which lead to the problem that resources like active mount processes were still open when e.g the disk format is created. The race conditions produced here lead to an undefined state of the resulting disk format and/or install image. In order to avoid this the DiskBuilder class has been refactored in a way that each tasks is an atomic operation which is freeing its resources after success * Thu Sep 22 2016 ms@suse.com - Delete root, boot, efi fstab setup from kiwi boot The kiwi boot code was responsible for setting up the contents of the fstab file on first boot. However the build process now provides an fstab with the generic label or uuid based fstab entries which allows to remove that part from the kiwi boot code * Thu Sep 22 2016 ms@suse.com - Add root, boot and efi partitions to fstab Make sure the above partitions are added to the generic fstab with their label or uuid at build time * Thu Sep 22 2016 ms@suse.com - Added BlockID class Class to provide support for retrieving block device metadata * Thu Sep 22 2016 ms@suse.com - Use BlockID class for block operations * Thu Sep 22 2016 ms@suse.com - Fixed fstab entries for btrfs subvolumes mount options must be part of the subvol information which itself is also a mount option * Thu Sep 22 2016 dcassany@suse.com - Corrected DEVICE_TIMEOUT variable validation Now it uses regex in order to validate the variable is an integer * Wed Sep 21 2016 ms@suse.com - Bump version: 8.20.16 → 8.20.17 * Wed Sep 21 2016 ms@suse.com - Normalize mount path in get_fstab for lvm volumes * Wed Sep 21 2016 ms@suse.com - Fixed get_fstab parameter order for lvm * Wed Sep 21 2016 ms@suse.com - Bump version: 8.20.15 → 8.20.16 * Wed Sep 21 2016 ms@suse.com - Delete fstab setup for volumes from kiwi boot code For persistent devices like LVM volumes or btrfs sub volumes the fstab setup can be done at build time. Fixes #142 * Wed Sep 21 2016 dcassany@suse.com - Custom device timeout variable added This commit patches the issue bnc#992992. Now DEVICE_TIMEOUT variable can be used in order to set the device waiting timeout in watForStorageDevice function. Must be a numeric value expressed in seconds. * Wed Sep 21 2016 ms@suse.com - Implement get_fstab for btrfs volume management * Wed Sep 21 2016 ms@suse.com - Fixed btrfs mount_volumes if root is snapshot The provided subvolume name contained the snapshot path which is invalid. In addition nested volumes e.g /var/cache were reduced to /cache which is wrong * Wed Sep 21 2016 ms@suse.com - Cleanup unit test Use only one instance of context manager for all tests * Tue Sep 20 2016 ms@suse.com - Create fstab entries for persistent devices Instead of creating the fstab at boot time, those entries which are generic and not depending on an unknown device name can be created as part of the image building process. * Tue Sep 20 2016 ms@suse.com - Implement get_fstab for LVM volume management * Tue Sep 20 2016 ms@suse.com - Added get_fstab to volume manager interface The volume manager interface should allow to provide fstab entries for the volumes it manages * Tue Sep 20 2016 ms@suse.com - Bump version: 8.20.14 → 8.20.15 * Tue Sep 20 2016 ms@suse.com - Fixed evaluation of Dialog return value The return code from the Dialog boot code was evaluated after other shell code was executed. Thus the return code from the call in question was lost and misinterpreted * Tue Sep 20 2016 ms@suse.com - Make sure volumes are mounted prior to install * Tue Sep 20 2016 ms@suse.com - Fixup invalid character in bash source * Tue Sep 20 2016 ms@suse.com - Bump version: 8.20.13 → 8.20.14 * Mon Sep 19 2016 ms@suse.com - Fixup chroot adaption for caller environment The ZYPP_CONF path is provided as part of the caller environment and not as a zypper caller parameter. However the path adaptions when calls happens chrooted was only done for the commandline arguments but not for the command environment. This patch also adapts the environment, related to Issue #133 * Mon Sep 19 2016 ms@suse.com - Make ifplugstatus available in boot images Added ifplugd to kiwi oem|netboot images for leap and tumbleweed * Mon Sep 19 2016 ms@suse.com - Prefer ifplugstatus for link up check Use ifplugstatus if present to check if the network link is up. Fallback is the old ip based method * Fri Sep 16 2016 ms@suse.com - Fixup theme setup in grub2 config template Only set the theme if the .txt file describing it exists * Thu Sep 15 2016 ms@suse.com - Fixup yum group install yum groups can contain spaces, thus quoting is required Fixes #138 * Thu Sep 15 2016 ms@suse.com - Bump version: 8.20.12 → 8.20.13 * Thu Sep 15 2016 ms@suse.com - Follow up fix for setupNetworkWicked IP address information from wicked is imported twice. However the plain IPv4 address validation happened only on the first import. Fixes bnc#992989 * Tue Sep 13 2016 ms@suse.com - Fixed pxe install archive md5 file The md5 sum must be created from the uncompressed version of the disk image * Tue Sep 13 2016 ms@suse.com - Added missing trigger file for oem pxe install The config.vmxsystem trigger file was missing in the oem install initrd used when deploying a disk image over pxe * Mon Sep 12 2016 ms@suse.com - Bump version: 8.20.11 → 8.20.12 * Mon Sep 12 2016 ms@suse.com - Integrate schema documentation into doc process The schema documentation is auto generated via the schema_parser helper tool. The tox doc target now also generates schema docs Fixes #53 * Mon Sep 12 2016 ms@suse.com - Schema docs generation helper A simple script to parse the RelaxNG schema that grabs relevant information in order to produce autogenerated documentation from the schema inline comments. * Mon Sep 12 2016 ms@suse.com - Added handling for rpm-excludedocs for zypper In zypper zypp.conf can be setup to prevent the installation of %doc marked items from rpm packages. The <rpm-excludedocs> section in the kiwi XML description is used to provide this functionality. So far this feature is only implemented for zypper. References #133 * Sun Sep 11 2016 ms@suse.com - Make sure EFI modules are provided in uefi mode For EFI secure boot (uefi) the grub2 efi modules were not copied to the target directory. shim-install normally does that by invoking grub2-install. However shim-install does not allow to call grub2-install with the required parameters as needed for loop (image) based targets. Thus kiwi calls shim-install but skips grub2-install and takes care to provide the needed EFI modules. * Sun Sep 11 2016 ms@suse.com - Revert WaitForStorageDevice patch The logic to setup a wait timeout by asking a device property from a device which does not yet exist raises a chicken and egg problem * Sun Sep 11 2016 ms@suse.com - Fixed message typo (bnc#996255) * Wed Sep 07 2016 tbechtold@suse.com - travis: Update pypi password Next try to get the automatic deployment on pypi fixed. * Thu Aug 25 2016 ms@suse.com - Move to tar.gz as sdist target PyPI is planning to support only .tar.gz in the near future. See https://www.python.org/dev/peps/pep-0527. This Fixes #132 * Thu Aug 25 2016 ms@suse.com - Activate partition using parted instead of sfdisk sfdisk changes their caller semantics incompatible. Therefore we move to a tool which is still stable in the caller options Fixes #129 * Thu Aug 25 2016 ms@suse.com - Update baseStripRPM Method is a noop and only exists for compatibility kiwi handles the deletion of packages in the core builder code * Thu Aug 25 2016 ms@suse.com - Bump version: 8.20.10 → 8.20.11 * Thu Aug 25 2016 ms@suse.com - Revert "Update doc string for kiwi_compat.py" docopt strings are not allowed to be interrupted by a newline This reverts commit b1b92ed830820530bfd7bdc5256525f3dfc01a4a. * Thu Aug 25 2016 ms@suse.com - Bump version: 8.20.9 → 8.20.10 * Thu Aug 25 2016 ms@suse.com - Use os.linesep Python's os module provides a portable version for the line separator which should be used whenever possible. Fixes #130 * Thu Aug 25 2016 ms@suse.com - Bump version: 8.20.8 → 8.20.9 * Thu Aug 25 2016 ms@suse.com - Fixed custom entries in vmdk machine config Each custom entry must be written in a separate line * Wed Aug 24 2016 ms@suse.com - Update API documentation Recall sphinx-apidoc and update the generated result markup * Wed Aug 24 2016 ms@suse.com - Update doc string for kiwi_compat.py Make sphinx happy * Wed Aug 24 2016 tbechtold@suse.com - travis: Update pypi password Next try to get the automatic deployment on pypi fixed. * Wed Aug 24 2016 ms@suse.com - Bump version: 8.20.7 → 8.20.8 * Tue Aug 23 2016 ms@suse.com - Fixup get_build_type_vmconfig_entries Make sure we can rely on a list return even if no machine section exists at all. * Tue Aug 23 2016 ms@suse.com - Add evaluation of machine's vmconfig_entry As part of the machine section it is possible to setup a custom entry which is stored in the machine configuration file. The evaluation of such an entry for the vmdk (.vmx) config file was still missing. This Fixes #122 * Tue Aug 23 2016 tbechtold@suse.com - travis: Next try to fix automatic pypi deployment Also the travis command which added the pypi deployment part formatted the yaml file. * Mon Aug 22 2016 ms@suse.com - Fixed bootloader configuration custom kernel parameters should be added to GRUB_CMDLINE_LINUX and not GRUB_CMDLINE_LINUX_DEFAULT Fixes bnc#994910 * Fri Aug 19 2016 dcassany@suse.com - Use str.format for int to string convertion * Fri Aug 19 2016 dcassany@suse.com - Setup tests corrected #124 * Fri Aug 19 2016 dcassany@suse.com - Fixes #124 * Fri Aug 19 2016 dcassany@suse.com - Rearranged waitForStorageDevice code comments * Fri Aug 19 2016 dcassany@suse.com - Added a case statement for transport types * Fri Aug 19 2016 dcassany@suse.com - Removed some backquotes in favour of $() * Thu Aug 18 2016 ms@suse.com - Bump version: 8.20.6 → 8.20.7 * Thu Aug 18 2016 ms@suse.com - Make repository an optional element So far one repository was mandatory in the XML description. However, this is not required because all repositories can be specified on the commandline * Thu Aug 18 2016 dcassany@suse.com - Added quotes to protect against spaces * Thu Aug 18 2016 dcassany@suse.com - Added getDeviceTransportType method The method gets the transport type of the given device. WaitForStorageDevice reacts according to the transport type by having a shorter timeout in case the device is a usb. * Thu Aug 18 2016 dcassany@suse.com - WaitForStorageDevice patch The function has been modified in order to distinguish a shorter timeout if the device is a usb. * Wed Aug 17 2016 ms@suse.com - Bump version: 8.20.5 → 8.20.6 * Wed Aug 17 2016 ms@suse.com - Update compat options for create step The --ignore-repos, --set-repo and --add-repo options are allowed to be specified for compatibility reasons if --create is specified in the compat commandline. However, they are not used in the next generation kiwi create step because the repo information is persistently stored after the prepare step has finished, which is not the case for the legacy kiwi version * Wed Aug 17 2016 ms@suse.com - Support --ignore-repos in compat mode * Wed Aug 17 2016 ms@suse.com - Added --ignore-repos for build and prepare tasks The option allows to ignore all repos configured in the XML description. This allows to specify a complete set of repositories via the commandline * Tue Aug 16 2016 ms@suse.com - Bump version: 8.20.4 → 8.20.5 * Tue Aug 16 2016 ms@suse.com - Preserve timestamp on grub2-install copy In order to workaround the bug in shim-install which unnecessarily calls grub2-install we replace the binary by a noop before calling shim-install. However all file attributes of the grub2-install binary, timestamp, modes, etc should stay untouched (bnc#993825) * Mon Aug 15 2016 ms@suse.com - Update documentation Move information about legacy kiwi in its own chapter * Fri Aug 12 2016 ms@suse.com - Bump version: 8.20.3 → 8.20.4 * Fri Aug 12 2016 ms@suse.com - Update documentation Prevent to use non public url references * Fri Aug 12 2016 ms@suse.com - Bump version: 8.20.2 → 8.20.3 * Fri Aug 12 2016 ms@suse.com - Fixup vmdk header update due to the wrong file open mode the result image was truncated on update of the vm tools version * Fri Aug 12 2016 ms@suse.com - Bump version: 8.20.1 → 8.20.2 * Fri Aug 12 2016 ms@suse.com - Update documentation delete broken links to online ssh key blogs * Fri Aug 12 2016 ms@suse.com - Bump version: 8.20.0 → 8.20.1 * Fri Aug 12 2016 ms@suse.com - Binary opened file should receive bytes Avoids TypeError: 'str' does not support the buffer interface for the vmdk header update * Thu Aug 11 2016 ms@suse.com - Fixed setupNetworkWicked IP address information from wicked dhcp reply consists out of two parts but we are only interested in the plain IPv4 address information at this point. Fixes bnc#992989 * Thu Aug 11 2016 ms@suse.com - Make sure DHCPCHADDR is upercase Fixes bnc#992988 * Thu Aug 11 2016 ms@suse.com - Delete obsolete <except> section The <except> section was formerly used as part of the <split> section. kiwi no longer supports static split images in favour of overlay systems based on e.g overlayfs. Fixes #120 * Thu Aug 11 2016 ms@suse.com - Better logging if Path.which doesn't find the file * Wed Aug 10 2016 ms@suse.com - Added docstring for KiwiDescriptionConflict * Wed Aug 10 2016 ms@suse.com - Fixup Command.run if called with raise_on_error set to False * Wed Aug 10 2016 dcassany@suse.com - indentation fix * Wed Aug 10 2016 dcassany@suse.com - Updated logging message Updated logging formating in a way that landscape does not complain * Wed Aug 10 2016 dcassany@suse.com - Updated Command to use Path.which Command.run and Command.call now make use of Path.which in order to test if the command is available or not. Also Path.which has been extended in order to support custom environments and to be able to test file permissions (read. write, execute) * Tue Aug 09 2016 ms@suse.com - protect systemd-detect-virt Protect systemd-detect-virt from being deleted in the kiwi initrd * Fri Aug 05 2016 dcassany@suse.com - Command validation This commit includes a validation in Command.run and Command.call in order to verify the existance of the command before running it. It case it is not found in the specified environment it raises a KiwiCommandNotFound Exception. * Fri Aug 05 2016 dcassany@suse.com - Detailed schema validation report This commit adds the execution of a jing process if the validation fails, that way the user has more information about what is actually failing during the validation process. If jing command is not found, it just produces an info message to warn the user and kiwi finalizes as expected. * Thu Aug 04 2016 ms@suse.com - Workaround Fix for pypi travis deployment Use all_branches: true, as we do only tag with bumpversion for a release this workaround works for us. For reference see https://github.com/travis-ci/travis-ci/issues/1675 * Wed Aug 03 2016 ms@suse.com - Bump version: 8.19.6 → 8.20.0 * Wed Aug 03 2016 ms@suse.com - Fixed suseSetupProduct Avoid shell complaining about binary operator * Wed Aug 03 2016 ms@suse.com - Fixed baseUpdateSysConfig Check if referenced config file exists * Wed Aug 03 2016 ms@suse.com - Delete obsolete use of SuSEconfig SuSEconfig was a tool long time ago and does not exist anymore * Wed Aug 03 2016 ms@suse.com - Delete obsolete sysV init boot code Traces of chkconfig, inittab, etc/init.d are gone now * Wed Aug 03 2016 ms@suse.com - Fixed suseSetupProduct Fixed shell variable evaluation syntax * Wed Aug 03 2016 ms@suse.com - Less complex user, group traversal * Wed Aug 03 2016 dcassany@suse.com - Simplified example config file * Wed Aug 03 2016 dcassany@suse.com - Updated get_users and get_user_groups methods Get_users method has been updated in order to be able to append the groups attribute when a user is defined in multiple <users> sections in the description file. Appart from groups, all other user attributes are ignored if the user was already processed when parsing the description file. Get_users_groups method has been also updated so it returns a list of groups with unique values, keeping the description file order. * Tue Aug 02 2016 dcassany@suse.com - Updated xml_state The changes here modify the method get_users in xml_state in order to provide a simple list of users instead of nested lists. Also a new method to get the groups for a given user has been included in xml_state. This is done in order to slim down and facilitate the code in kiwi/system/setup.py. This way users and groups can be handled in more natural way. * Mon Aug 01 2016 ms@suse.com - Rebuild RNG schema and parser for 6.4 * Mon Aug 01 2016 ms@suse.com - Auto validate XML descriptions for schema 6.4 * Mon Aug 01 2016 ms@suse.com - Added schema conversion convert63to64.xsl * Mon Aug 01 2016 ms@suse.com - Bump kiwi schema version 6.3 -> 6.4 * Mon Aug 01 2016 ms@suse.com - Fixed 6.2 to 6.3 XSL conversion Deletion of attributes of the same section must be handled in one iteration * Wed Jul 27 2016 dcassany@suse.com - Updated the user schema layout Now each user item may or may not have a groups attribute. The groups attribute is a comma separated list of group names. If present the first group name will be the login or primary group, if not present, the underlying toolchain will assign the default login group for that user. * Tue Jul 26 2016 dcassany@suse.com - New generated schema and parser * Tue Jul 26 2016 dcassany@suse.com - Some corrections needed after rebuilding schema and parser * Tue Jul 26 2016 ms@suse.com - Update true/false handling of text nodes The latest version of generateDS handles <section>true|false</section> text values in a way that it returns a boolean python type instead of the text string. With this change the kiwi code has to be adapted at the level of writing the shell profile which needs the string value of boolean information * Tue Jul 26 2016 ms@suse.com - Regenerate data structures Regenerate xml_parse with latest version of generateDS. The call works in the python2.7 tox virtual environment as part of the following make target: $ make kiwi/schema/kiwi.rng * Tue Jul 26 2016 ms@suse.com - Switch to latest version of generateDS Data Structures are auto generated from the XML schema. So far the development environment has requested an older version of generateDS which will go out of service soon * Tue Jul 26 2016 dcassany@suse.com - fixing user schema layout * Tue Jul 26 2016 ms@suse.com - Fixed typo in boot headers OpenSuSE vs. openSUSE * Tue Jul 26 2016 ms@suse.com - Fixed typo in translation OpenSUSE vs. openSUSE * Mon Jul 25 2016 ms@suse.com - Make sure awk is available in oemboot * Mon Jul 25 2016 ms@suse.com - Explain why bytes type is redefined In python2 bytes is string which is different from the bytes type in python3. The bytes type from the builtins generalizes this type to be bytes always. However the redefinition of the bytes type is marked as Smell in landscape. Thus the code should at least inform why this is done * Mon Jul 25 2016 ms@suse.com - Use six.Iterator instead of global object builtin The use of six.Iterator as base class for the CommandIterator seems more clear and explicit compared to the global object type overwritten by the builtins import. Fixes Smell reported by landscape * Fri Jul 22 2016 dcassany@suse.com - Added kiwi/archive/tar class description * Fri Jul 22 2016 dcassany@suse.com - extending kiwi/archive/tar * Thu Jul 21 2016 ms@suse.com - Fixing gce format build The patch is two fold, first it fixes the name of the raw disk when it is copied as disk.raw. Second it fixes the content list of the tarball to be dynamicly build instead of a static allocation. Reason for this change is that the list of files depends on the XML description whether or not a gce disk tag is configured. Fixes #113 * Wed Jul 20 2016 dcassany@suse.com - Fixes #111: Included support for vdi format * Mon Jul 18 2016 ms@suse.com - Bump version: 8.19.5 → 8.19.6 * Mon Jul 18 2016 ms@suse.com - Fixed changelog generator * Mon Jul 18 2016 ms@suse.com - Don't ask to start recovery in unattended mode If oem-recovery is setup in the XML description along with oem-unattended set to true as well we don't ask for confirmation to run the recovery when the recovery menu entry is selected at boot time * Mon Jul 18 2016 tbechtold@suse.com - Release automatically on pypi (2nd try) Last try from 142ca22d8e was not working. Update the secure hash and also set explcitly the master branch when looking for tags. * Wed Jul 13 2016 ms@suse.com - Added integration build test link to doc index * Tue Jul 12 2016 ms@suse.com - Bump version: 8.19.4 → 8.19.5 * Tue Jul 12 2016 ms@suse.com - Don't require an iso creation toolkit * Tue Jul 12 2016 ms@suse.com - Bump version: 8.19.3 → 8.19.4 * Mon Jul 11 2016 ms@suse.com - prefer newer overlayfs mount method mount succeeds in compat mode but this mode should only be used on older overlayfs implementations * Fri Jul 08 2016 ms@suse.com - Bump version: 8.19.2 → 8.19.3 * Fri Jul 08 2016 ms@suse.com - Message commit for bug reference Fixup of VMware disk tag references (bnc#988086) * Fri Jul 08 2016 ms@suse.com - Prevent duplication of context manager in test * Thu Jul 07 2016 ms@suse.com - Bump version: 8.19.1 → 8.19.2 * Thu Jul 07 2016 ms@suse.com - Complete doc string for Path.which method * Thu Jul 07 2016 ms@suse.com - Implement Path.which Python provides methods to do this but we can't rely on them to be available in all python versions * Thu Jul 07 2016 jmason@suse.com - Conditionally prefix encoding to vmware disk tag Prior code was always adding the encoding statement to vmware disk tag; in the event it is already present there's no need to add it a second time. See also https://github.com/openSUSE/kiwi/pull/586/commits/af1fed77af862dc44bd4322680425299ef5ad654 * Thu Jul 07 2016 jmason@suse.com - Remove null padding on the vmware disk tag The block of data read via dd is null padded; adding the tools data after the padding breaks detection of the data. We need to remove the nulls (0x0) so appends can occur adjacent to the block of strings. See also https://github.com/openSUSE/kiwi/pull/586/commits/ee8931c76c17c79d30a128c05cc6f839a1de7156 * Thu Jul 07 2016 ms@suse.com - Update documentation Cleanup structure of contribution guide * Thu Jul 07 2016 ms@suse.com - Update documentation Complete documentation about required C libraries which needs to be installed prior to setting up the python virtual development environment * Wed Jul 06 2016 ms@suse.com - Fixup dependency on genisoimage Only for SLE12 the package requires genisoimage for any other distribution mkisofs is required. The community variant with genisoimage seems to be quite outdated. However, on SLE12 only genisoimage exists. Fixes #106 * Wed Jul 06 2016 ms@suse.com - Lookup tool name by path lookup * Wed Jul 06 2016 ms@suse.com - Update import statement parenthesis only needed for multi-line multi-import * Wed Jul 06 2016 ms@suse.com - Refactor block depth on get_volumes return early if the condition makes it clear that there is nothing more to do in this method * Wed Jul 06 2016 ms@suse.com - Lookup iso creation tool Instead of strictly using genisoimage allow for using either the community variant or mkisofs as provided by J.Schilling * Tue Jul 05 2016 ms@suse.com - Refactor reading of volume variables in boot code Use new style profile variables without name limitations Related to #39 * Tue Jul 05 2016 ms@suse.com - Refactor profile for volume setup Don't use volume names in bash variables. In addition that removes the name limitations we had for volume names Related to #39 * Tue Jul 05 2016 ms@suse.com - Delete obsolete volume condition checks No need to check for LVSwap or LVComp in volume setup. If at all those volumes are created at boot time. Related to #39 * Tue Jul 05 2016 ms@suse.com - Refactor use of kiwi_allFreeVolume_ Do not expect the value to come from an exported variable Instead a method to provide the information is implemented Related to #39 * Mon Jul 04 2016 ms@suse.com - Bump version: 8.19.0 → 8.19.1 * Fri Jul 01 2016 ms@suse.com - Fixup cleanup of intermediate config files kiwi uses e.g etc/hosts from the host system for proper name resolution during the build. The temporary variant of that file will be deleted by kiwi at the end of the installation process. However depending on the package manager and the distribution it could happen that the intermediate config file added by kiwi is treated as existing config variant. In case of rpm a .rpmnew file variant of the config file is created and that needs to be handled by kiwi. Therefore this patch adds a private restore method for the .rpmnew case. It might be needed to add other restore methods to deal with this issue depending on how other (non rpm) based package managers handles the situation. Fixes #104 * Thu Jun 30 2016 ms@suse.com - Bump version: 8.18.9 → 8.19.0 * Thu Jun 30 2016 ms@suse.com - Make sure mtab link exists in kiwi initrd On Debian systems the filesystem tools requires the presence of the mtab file, thus we make sure this file exists and links to proc/self/mounts * Wed Jun 29 2016 ms@suse.com - Refactor use of dialog program in boot code Cleanup the mess, provide only one method to run a dialog Prevent use of subshells for running the dialog program * Wed Jun 29 2016 ms@suse.com - Fixed use of shutil.copytree The target dir must not exist. However in order to force copy a potentially existing target is deleted before * Wed Jun 29 2016 ms@suse.com - udev console init requires kbd_mode on Ubuntu keep kbd_mode in initrd * Wed Jun 29 2016 ms@suse.com - Added oemboot description for ubuntu-xenial Also add kiwi linuxrc/preinit links for vmxboot * Wed Jun 29 2016 ms@suse.com - Allow alternative location for udev console init yet another name and location for the console init utility * Wed Jun 29 2016 cbruckmayer@suse.com - Remove lxc configuration from docker images Docker does not use LXC execdriver anymore. Fixes #40 * Mon Jun 27 2016 ms@suse.com - Bump version: 8.18.8 → 8.18.9 * Mon Jun 27 2016 ms@suse.com - Fix linkcheck in container_builder.rst * Mon Jun 27 2016 ms@suse.com - Fix linkcheck in container_builder.rst * Mon Jun 27 2016 ms@suse.com - Bump version: 8.18.7 → 8.18.8 * Mon Jun 27 2016 ms@suse.com - Update Documentation Update state of supported distributions * Mon Jun 27 2016 ms@suse.com - Apply editorial review changes * Mon Jun 27 2016 ms@suse.com - Apply editorial review changes * Mon Jun 27 2016 ms@suse.com - Apply editorial review changes * Mon Jun 27 2016 ms@suse.com - Delete traces of obsolete code * Mon Jun 27 2016 ms@suse.com - Prevent unconditional deletion of toplevel data The kiwi initrd descriptions calls suseStripInitrd() as part of the images.sh script. This function unconditionally removes toplevel directories like /home. Instead of deleting the data it is better to exclude them when the cpio archive is created * Fri Jun 24 2016 ms@suse.com - Bump version: 8.18.6 → 8.18.7 * Fri Jun 24 2016 ms@suse.com - Added serial console support for isolinux loader Generate a serial line setup for the isolinux.cfg file according to the bootloader_console attribute from the XML description. In addition delete the use of the obsolete vga kernel parameter and work with the MENU RESOLUTION ui configuration parameter instead * Fri Jun 24 2016 ms@suse.com - Bump version: 8.18.5 → 8.18.6 * Fri Jun 24 2016 ms@suse.com - Fixed setup of default install menu entry The attribute installboot allows to specify the default boot menu entry in an install image. It can be set to harddisk, install or failsafe install. The setup of that information in the bootloader configuration was not properly processed * Thu Jun 23 2016 ms@suse.com - Fix landscape Smells * Thu Jun 23 2016 ms@suse.com - Update location of build container * Thu Jun 23 2016 ms@suse.com - Update dice source link * Thu Jun 23 2016 ms@suse.com - Update Dice project location * Thu Jun 23 2016 ms@suse.com - Apply editorial review changes * Wed Jun 22 2016 ms@suse.com - Bump version: 8.18.4 → 8.18.5 * Wed Jun 22 2016 ms@suse.com - Fixed building of install image If dracut is requested as initrd_system in combination with building an installiso we have to overrule the initrd_system setup for building the install image. The code to install an image is kiwi's oem install code and unknown to dracut. The process will end up using dracut as initrd in the system image but kiwi's initrd on the install image * Wed Jun 22 2016 ms@suse.com - Delete kiwi-tools from rhel boot descriptions kiwi-tools is no longer a requirement but an optional package It contains tools like utimer or dcounter which provides nice boot timer or progress dialogs for showing data transfer progress. In the Virtualization:Appliances:CommonBoot repo we provide mandatory and optional packages used by kiwi if they don't exist for the target distribution * Wed Jun 22 2016 ms@suse.com - Better warning message for root cmdline setup Under certain circumstance the root=UUID=<uuid> parameter must be setup in the cmdline of the image. If the required uuid value is not provided a warning message is shown to the user. This commit makes the warning message more meaningful * Wed Jun 22 2016 ms@suse.com - Extend unit tests for boot image setup Expect kiwi_initrdname to be set in the profile of the boot image root system * Wed Jun 22 2016 ms@suse.com - Call plymouth only when installed * Wed Jun 22 2016 ms@suse.com - Add delete method for profile variables * Tue Jun 21 2016 ms@suse.com - Added article about self contained building The article describes how to make use of the dice project to control and maintain image build processes in a contained environment * Tue Jun 21 2016 ms@suse.com - Fix grub bootloader template Keep gfxpayload * Tue Jun 21 2016 ms@suse.com - Update bootloader console setup in boot code Use the variable kiwi_bootloader_console which represents the setup of the bootloader console from the XML description and setup the GRUB_TERMINAL configuration option to allow grub2-mkconfig to pick up the value. If no console setup exists in the XML description, gfxterm is used by default * Tue Jun 21 2016 ms@suse.com - Make bootloader_console availabe in profile The variable kiwi_bootloader_console is exposed into the profile environment * Tue Jun 21 2016 ms@suse.com - Delete obsolete code All traces of lilo and elilo are gone now * Tue Jun 21 2016 ms@suse.com - Fixed grub2 bootloader config template Load fonts only when they exist, do not duplicate font setup in template * Tue Jun 21 2016 ms@suse.com - Fixed bootloader theme check The check for the theme was not always called, but this is required since the theme check will reset the bootloader console if no graphics theme could be found * Mon Jun 20 2016 ms@suse.com - Bump version: 8.18.3 → 8.18.4 * Mon Jun 20 2016 ms@suse.com - Apply back openSUSE 13.2 support Until Leap42.2 is not yet released we should keep the support for 13.2 * Mon Jun 20 2016 ms@suse.com - Added support for setting the bootloader console Some bootloader e.g grub supports graphics, text and also serial consoles to hand over the output of the bootloader menu. With this patch we allow to customize the console used by the bootloader. So far only grub makes use of the new attribute <type ... bootloader_console="serial|console|gfxterm"/> This references Trello: https://trello.com/c/q9EhNKKV/155-support-for-grub2-serial-console * Mon Jun 20 2016 ms@suse.com - Bump version: 8.18.2 → 8.18.3 * Mon Jun 20 2016 ms@suse.com - Fixed typo in message text * Mon Jun 20 2016 ms@suse.com - Fixed vmxboot/ubuntu-xenial boot description dracut should be installed to support initrd_system="dracut" * Mon Jun 20 2016 ms@suse.com - Update iso|vmxboot debian boot descriptions * Mon Jun 20 2016 ms@suse.com - Fixup ldd check for unused libraries * Sun Jun 19 2016 ms@suse.com - Update vmxboot/ubuntu-xenial boot description Complete description to be usable with kiwi initrd boot code too * Sun Jun 19 2016 ms@suse.com - Added baseCreateCommonKernelFile The stripKernel functions return early if the dracut initrd system is requested. However it is required in any case to lookup the kernel and provide a common name kiwi expects to be present * Sun Jun 19 2016 ms@suse.com - Set logger mode to append * Sat Jun 18 2016 ms@suse.com - Bump version: 8.18.1 → 8.18.2 * Sat Jun 18 2016 ms@suse.com - Add distro flag match for Leap42.2 * Sat Jun 18 2016 ms@suse.com - Bump version: 8.18.0 → 8.18.1 * Sat Jun 18 2016 ms@suse.com - Preserve zypper package cache zypper deletes the package cache if a repo is removed. For the purpose of image building this should not happen * Sat Jun 18 2016 ms@suse.com - Pass initrd_system to profile The common functions baseStripInitrd and baseStripKernel need to be skipped if the initrd system is set to dracut. They read that information from the exported kiwi_initrd_system profile environment variable * Sat Jun 18 2016 ms@suse.com - Don't delete dracut from boot image environment If the dracut initrd system is requested we need dracut to stay in the environment from which it is called * Fri Jun 17 2016 ms@suse.com - Fixup copy_boot_delete_packages if no <packages type="delete"/> section exists in the target the code does not add the packages to become deleted. This patch changes the behavior in a way that a new section is created * Thu Jun 16 2016 ms@suse.com - Add isoboot support for Ubuntu system Next step to allow creation of Debian based live systems Related to Issue #37 * Thu Jun 16 2016 ms@suse.com - Added suse-leap42.2 descriptions Obsolete suse-13.2 * Thu Jun 16 2016 ms@suse.com - Update hyper links in project README * Thu Jun 16 2016 ms@suse.com - Rename kiwi boot code files Maintain them as common code base for all distributions During the years of development it has turned out that differences in the boot process between the distros can be handled in one code base. There is no need to maintain a basically identical copy for the different distributions * Thu Jun 16 2016 ms@suse.com - Style fixes: E275 missing whitespace after keyword * Thu Jun 16 2016 ms@suse.com - Delete obsolete C tools * Thu Jun 16 2016 ms@suse.com - Prevent use of setctsid setctsid is a suse extension to start a program on a new controlling terminal. While it is very useful it does not exist on other distributions which causes a problem in kiwi's common initrd code. This patch replaces the use of setctsid with setsid and sulogin * Thu Jun 16 2016 ms@suse.com - Open log file in mode 'w' and in utf-8 locale * Thu Jun 16 2016 ms@suse.com - Delete obsolete mkinitrd code This version of kiwi supports only distros using dracut * Thu Jun 16 2016 ms@suse.com - Delete obsolete sysV init console setup code * Thu Jun 16 2016 ms@suse.com - Make use of utimer in kiwi initrd optional * Wed Jun 15 2016 ms@suse.com - Bump version: 8.17.0 → 8.18.0 * Wed Jun 15 2016 ms@suse.com - Adapt to common python style Private methods should start with _f() not __f() * Wed Jun 15 2016 ms@suse.com - Prevent temporary files to be synced to image The package manager instances created temporary package manager configuration files. The instance destructor and thus the cleanup of the instance should be called prior to the sync of the root filesystem data in order to prevent temporary configuration files to be present in the image * Wed Jun 15 2016 ms@suse.com - Grammar fixes for doc strings * Wed Jun 15 2016 ms@suse.com - Syntax change for Importing one module * Wed Jun 15 2016 ms@suse.com - Update test_load_schema_from_xml_content test Read schemaversion from RelaxNG instead of using a fixed value * Wed Jun 15 2016 ms@suse.com - debootstrap errors deserve their own exception * Tue Jun 14 2016 ms@suse.com - Avoid glob imports This could start a series of further changes in the unit test as we have allowed for glob imports there. So treat this one as a start * Tue Jun 14 2016 ms@suse.com - Add documentation for Exceptions * Tue Jun 14 2016 toms@suse.de - Support Tox with interactively positional arguments Use posargs for py.test, see http://tox.readthedocs.io/en/latest/example/general.html * Tue Jun 14 2016 ms@suse.com - Format message with named format parameters * Tue Jun 14 2016 ms@suse.com - Avoid re-assigning variable * Tue Jun 14 2016 ms@suse.com - Fixed unit test for profile variables * Tue Jun 14 2016 ms@suse.com - Handle XML per content or file more explicit * Tue Jun 14 2016 toms@suse.de - Differentiate between Python 2.7 and 3 in doc * Tue Jun 14 2016 toms@suse.de - State Python 2.7 in Trove category of setup.py * Mon Jun 13 2016 toms@suse.de - Refactor RootInit class Instead of calling multiple subprocesses make use of the os capabilities for directories, symlinks and device nodes * Fri Jun 10 2016 ms@suse.com - Fixed use of shutil.copytree * Fri Jun 10 2016 ms@suse.com - Update ubuntu xenial vmxboot description Make sure all drivers exists when dracut is called to allow inclusion of potentially all needed driver modules * Thu Jun 09 2016 bo@suse.de - Fix Lithuanian translation * Thu Jun 09 2016 bo@suse.de - Fix Ukrainian translation * Thu Jun 09 2016 ms@suse.com - Update grub2 config tempplate Load font collection * Thu Jun 09 2016 ms@suse.com - Refactor use of os.walk result * Thu Jun 09 2016 ms@suse.com - Integrate python improvement suggestions * Thu Jun 09 2016 ms@suse.com - Integrate python improvement suggestions * Thu Jun 09 2016 ms@suse.com - don't intermingle suse namespace with debian * Thu Jun 09 2016 ms@suse.com - Deleted libxslt-tools from spec template * Thu Jun 09 2016 ms@suse.com - Fixup indentation of travis setup * Thu Jun 09 2016 ms@suse.com - Fixed license setup in spec file * Thu Jun 09 2016 bo@suse.de - Remove unused import (F401) and an extra line (W391) * Thu Jun 09 2016 bo@suse.de - Fix tests for Python3 * Thu Jun 09 2016 bo@suse.de - Fix tests for the XPath processing * Thu Jun 09 2016 bo@suse.de - Allow XMLDescription to be loaded also from the XML string * Thu Jun 09 2016 tbechtold@suse.com - Release automatically on pypi for new tags When a new tag gets created, automatically release it on pypi so we don't have todo it manually. * Thu Jun 09 2016 bo@suse.de - Reimplement XSLT processing using LXML instead of calling 3rd party tools * Thu Jun 09 2016 ms@suse.com - Added tox 2.7 target for travis * Thu Jun 09 2016 ms@suse.com - Fixed creation of password hashes kiwi uses the openssl command for this purpose but did not strip the newline at the end of the hash output * Wed Jun 08 2016 ms@suse.com - Apply python 2.x compatibility decorators * Wed Jun 08 2016 ms@suse.com - Added tox target for python 2.7 * Wed Jun 08 2016 ms@suse.com - python 2.x compatibility added new requirements six and future modules are needed for the compat layer * Wed Jun 08 2016 ms@suse.com - Fixup grub2 theme setup We can't expect that specific fonts to exist for all theme packages in all distributions. The code here should rely only on theme.txt In addition we check if any theme or font related data is found in the legacy grub location boot/grub which imho should not be used for grub2 * Wed Jun 08 2016 ms@suse.com - Update ubuntu-xenial boot description No need for a drivers setup here, vmxboot is only the container to run dracut * Wed Jun 08 2016 bo@suse.de - Bring byte strings to Py2 compatibility in ISO * Tue Jun 07 2016 bo@suse.de - Make iterators Py2 comptible * Tue Jun 07 2016 ms@suse.com - Added boot image description vmxboot/ubuntu-xenial * Tue Jun 07 2016 bo@suse.de - Replace 'builtins.open' with patch_open decorator * Tue Jun 07 2016 bo@suse.de - Add mock_open and patch_open helpers * Tue Jun 07 2016 bo@suse.de - Remove double requirement * Tue Jun 07 2016 bo@suse.de - Use ConfigParser from six * Tue Jun 07 2016 bo@suse.de - Move urlparse to the Six package * Tue Jun 07 2016 bo@suse.de - Remove duplicate key * Tue Jun 07 2016 bo@suse.de - Add print function for Python 2 * Tue Jun 07 2016 bo@suse.de - Add missing init file * Tue Jun 07 2016 bo@suse.de - Add Python2 compatibilitiy requirements * Mon Jun 06 2016 ms@suse.com - debootstrap installs apt-get Don't add the specified package manager to the list of bootstrap packages for apt-get, because that is covered by debootstrap * Mon Jun 06 2016 ms@suse.com - Allow additional bootstrap packages for apt-get * Sun Jun 05 2016 ms@suse.com - Don't run apt-get with mounted /dev * Sun Jun 05 2016 ms@suse.com - Fixed force-yes option for apt-get * Sat Jun 04 2016 ms@suse.com - Allow unattended installation of debian packages * Fri Jun 03 2016 ms@suse.com - Added PackageManagerApt class Support installation/removal of deb packages Related to #37 * Fri Jun 03 2016 ms@suse.com - Support for apt-get package manager Starting to support Debian based distributions also means to support the deb repository types. This commit adds the RepositoryApt class to handle deb repositories for image building. Related to #37 * Wed Jun 01 2016 ms@suse.com - Bump version: 8.16.5 → 8.17.0 * Wed Jun 01 2016 ms@suse.com - Added pypi make target for upload Please note an appropirate ~/.pypirc file and registered user is required to upload * Wed Jun 01 2016 ms@suse.com - switch_root / pivot_root quiet call * Wed Jun 01 2016 ms@suse.com - Increase default boot partition size to be 300M * Wed Jun 01 2016 ms@suse.com - Delete obsolete isFSTypeReadOnly from boot code The check was used to detect if a read-only root filesystem is in use, which can be done by checking if kiwi_ROPart is defined * Wed Jun 01 2016 ms@suse.com - Refactor use of global FSTYPE variable The kiwi boot code populates a global FSTYPE variable which was used at several places. However there was no clarity for which storage device this filesystem value was detected for. Thus the entire handling has been refactored and there is no global FSTYPE variable anymore * Tue May 31 2016 ms@suse.com - Add attribute <type ... overlayroot=true|false/> Allow to activate the overlay root setup for disk images * Tue May 31 2016 ms@suse.com - Bump version: 8.16.4 → 8.16.5 * Tue May 31 2016 ms@suse.com - Update development status Status :: 5 - Production/Stable * Tue May 31 2016 ms@suse.com - Don't search for kiwicompat in fixed absolute path Allow alternative locations from search PATH * Tue May 31 2016 ms@suse.com - Integrate git attribute setup to sdist command * Tue May 31 2016 ms@suse.com - Add C tools binaries to git ignore list * Tue May 31 2016 ms@suse.com - Fixed command class name for distutils The overwritten build and install commands should not change their name in order to stay consistent on e.g --help * Tue May 31 2016 ms@suse.com - Fixed kiwicompat binary lookup The test for os.path.exists on just the binary name without a path specification always fails if not present in current directory. Let execvp do the job for us * Tue May 31 2016 ms@suse.com - Fixed entry point for kiwicompat * Tue May 31 2016 ms@suse.com - Use path lookup for kiwi-ng in kiwi_compat Instead of a fixed path use the PATH lookup. This would allow to install kiwi at alternative places as long as the path is part of the shell search PATH * Tue May 31 2016 ms@suse.com - Create completion data at build time * Mon May 30 2016 ms@suse.com - Move all build and install tasks to setup.py In an effort to distribute kiwi on pypi it should not be required to call make targets for a complete installation. Therefore the compilation of the C tools as well as the installation of the man pages and the bash completion has been added to setup.py. The spec file to build an rpm package has been changed to use setup.py exclusively * Fri May 27 2016 ms@suse.com - Delete obsolete .releasetags from MANIFEST.in This avoids a warning on setup.py build * Fri May 27 2016 ms@suse.com - Fixed warnings in C written tools * Fri May 27 2016 ms@suse.com - Bump version: 8.16.3 → 8.16.4 * Fri May 27 2016 ms@suse.com - Fixed spec file update-alternatives is used, thus needs to be required * Fri May 27 2016 ms@suse.com - Support for overlay disk images overlay disk images uses a readonly root partition and are overlayed using overlayfs to hook in a cow based read-write space. This commit implements the basic disk setup. Implementation to boot such a disk in the kiwi boot code is still missing, as well as the investigation if dracut is able to boot such a disk too. References #65 * Thu May 26 2016 ms@suse.com - Bump version: 8.16.2 → 8.16.3 * Thu May 26 2016 ms@suse.com - Fixed completion generator In addition cleanup the main docopt definition * Wed May 25 2016 ms@suse.com - Fixed completion conflict with legacy kiwi * Tue May 24 2016 ms@suse.com - Bump version: 8.16.1 → 8.16.2 * Tue May 24 2016 ms@suse.com - Fixed spec file rpmlintrc file must be mentioned as source * Tue May 24 2016 ms@suse.com - Bump version: 8.16.0 → 8.16.1 * Tue May 24 2016 ms@suse.com - Update quickstart documentation kiwi can also be used as a module in other python3 projects. An example how to do that has been added to the quickstart * Mon May 23 2016 ms@suse.com - Bump version: 8.15.5 → 8.16.0 * Mon May 23 2016 ms@suse.com - Added support for grub2 console switch entry An additional hidden entry allows the user to switch between the graphics and the serial console by pressing the 't' key. The kiwi grub2 template adds this switch if the terminal mode is set to graphics. The additional entries are only effective of the grub_platform is set to efi. Fixes #80 * Mon May 23 2016 ms@suse.com - Fixed add_repo for zypper repositories Always run zypper addrepo in order to make any change in the repository definition to become effective * Mon May 23 2016 ms@suse.com - Fixed add_repo for yum repositories Always create the repo file from scratch in order to make any change in the repository definition to become effective * Sat May 21 2016 ms@suse.com - Bump version: 8.15.4 → 8.15.5 * Sat May 21 2016 ms@suse.com - Split quickstart into two parts Split the quickstart information into a development and a user part * Sat May 14 2016 ms@suse.com - Bump version: 8.15.3 → 8.15.4 * Fri May 13 2016 ms@suse.com - Added readonly check for persistent data When creating a partition for persistent data, check if the device class has the readonly flag set before trying to write anything there. Fixes #74 * Fri May 13 2016 ms@suse.com - Bump version: 8.15.2 → 8.15.3 * Fri May 13 2016 ms@suse.com - Fixed removal of a package in XMLState If a <package> was unwanted in a <packages> section the former code sets the name of the package to a python None type. This causes the rest of the code to operate on potential None types which causes unexpected TypeError's under certain conditions. Instead of leaving an inconsistent package section the entire package section reference should be deleted from the packages instance holding it. Fixes #76 * Thu May 12 2016 ms@suse.com - Exit code for --version call should be zero * Thu May 12 2016 ms@suse.com - Bump version: 8.15.1 → 8.15.2 * Thu May 12 2016 ms@suse.com - Set config.sh and images.sh scripts as optional * Thu May 12 2016 ms@suse.com - Bump version: 8.15.0 → 8.15.1 * Wed May 11 2016 ms@suse.com - Fixed landscape smell Unused variable 'key' * Wed May 11 2016 ms@suse.com - Fixed landscape smell Redefining built-in 'help' * Wed May 11 2016 ms@suse.com - Fixed landscape error Dangerous default value [] as argument * Wed May 11 2016 ms@suse.com - Refactor import_description split code into more readable parts * Wed May 11 2016 ms@suse.com - Make sure mandatory vmdk settings exists Even without a machine section configuration the minimum required information must be presented to the settings template * Wed May 11 2016 ms@suse.com - Added store_to_result for vmdk format The vmdk format provides more than the standard result store. for vmdk we need to store the vmdk and the settings file * Wed May 11 2016 ms@suse.com - Reduce amount of mountpoint check calls * Wed May 11 2016 ms@suse.com - Refactor subformat classes Add a generic store_to_result method which allows to store the format result files into an instance of Result. This allows to customize result handling per format when needed * Wed May 11 2016 ms@suse.com - Create VMware settings file for vmdk subformat In order to run or convert the vmdk with VMware products a settings file is required. * Tue May 10 2016 ms@suse.com - Added dropped features information for lxc * Tue May 10 2016 ms@suse.com - Bump version: 8.14.2 → 8.15.0 * Tue May 10 2016 ms@suse.com - Fixed script/archive lookup If a script or archive is specified with an absolute path in the image description, kiwi should not assume this path to exist below the image description directory but just take the absolute path as it is. Fixes #70 * Sun May 08 2016 ms@suse.com - Load logging at runtime for MountManager * Sun May 08 2016 ms@suse.com - Runtime checker message fixes Start with an empty line to improve readability * Sun May 08 2016 ms@suse.com - Integrate runtime checks for tasks Call appropriate runtime checks for prepare, create and build tasks. Fixes #20 * Sun May 08 2016 ms@suse.com - Create instance of runtime_checker for any CliTask * Fri May 06 2016 ms@suse.com - Fixed building documentation * Thu May 05 2016 tom_schr@web.de - Reuse env in tox.ini Reuse virtualenv directory with envdir. Should speed up things a bit. Taken from https://blog.ionelmc.ro/2015/04/14/tox-tricks-and-patterns/#partial-environment-reuse https://blog.ionelmc.ro/2015/04/14/tox-tricks-and-patterns/#environment-reuse * Thu May 05 2016 tom_schr@web.de - Use more compact config for tox.ini Rewrite basepython to make it more compact Taken from https://blog.ionelmc.ro/2015/04/14/tox-tricks-and-patterns/#compact-configuration * Thu May 05 2016 tom_schr@web.de - Add requirements section in Quick Start * Describe what KIWI needs to run, further requirements, and for development * Introduce 'ghkiwi' as prefix in "extlinks" to shorten external links and to make linking to KIWI's GitHub repository more intuitive and consistent. For example, the string :ghkiwi:`tox.ini` is replaced with https://github.com/SUSE/kiwi/blob/master/tox.ini * Wed May 04 2016 ms@suse.com - Added check_target_directory_not_in_shared_cache Runtime checker method to check if the target directory was set to - or below the shared cache directory * Wed May 04 2016 ms@suse.com - Bump version: 8.14.1 → 8.14.2 * Wed May 04 2016 ms@suse.com - Move creation of mountpoint dir to setup method The volume management classes should create the temporary mountpoint directory when it is needed and not when an instance of the class is created * Wed May 04 2016 ms@suse.com - Cleanup use of temporary directories All mkdtemp created directories are created with the 'kiwi_' prefix. In addition all code parts which leaves tmpdirs in the system after kiwi is done were fixed * Mon May 02 2016 ms@suse.com - Bump version: 8.14.0 → 8.14.1 * Mon May 02 2016 ms@suse.com - Added python3-xattr dependency * Mon May 02 2016 ms@suse.com - Added xattr checker for DataSync class The method target_supports_extended_attributes() checks if the sync target directory supports extended filesystem attributes. The method is called on sync_data() and will remove the -X / -A options if provided. A warning message is issued to the caller if the rsync option list has changed because of the underlaying filesystem limitations * Mon May 02 2016 ms@suse.com - Fixed subformat creation The option -c makes only sense for the qcow2 subformat, whereas on all other format it cause qemu-img convert to fail * Sun May 01 2016 tom_schr@web.de - Use iterator protocol instead of StopIteration CommandIterator contains already the __iter__ magic method. We don't need to manually use while and next() in order to advance to the next element. => Code refactored to "for line in self.command" which does exactly the same job, but is better readable. Plus we avoid the nasty try...except block. * Sat Apr 30 2016 tom_schr@web.de - Remove kiwi.logger.init() function The init function is mostly unneccessary and can be directly created in the kiwi.logger module. * Sat Apr 30 2016 tom_schr@web.de - Remove useless __init__.py * Fri Apr 29 2016 ms@suse.com - Fixup usage messages * Fri Apr 29 2016 ms@suse.com - Bump version: 8.13.4 → 8.14.0 * Fri Apr 29 2016 ms@suse.com - Added support for custom rootfs label A new attribute <type ... rootfs_label="name"/> has been added This Fixes #66 * Fri Apr 29 2016 ms@suse.com - Update grub2 bootloader template menuentries Mark all menuentries as --unrestricted. Fixes #64 * Fri Apr 29 2016 ms@suse.com - Bump version: 8.13.3 → 8.13.4 * Fri Apr 29 2016 ms@suse.com - Fixed shared local repository mounts * Thu Apr 28 2016 ms@suse.com - Bump version: 8.13.2 → 8.13.3 * Thu Apr 28 2016 ms@suse.com - Added evaluation of imageincluded repositories repositories marked as imageinclude needs to be added permanently to the image. Fixes #56 * Thu Apr 28 2016 ms@suse.com - Make xz the default compressor for squashfs When creating squashfs compressed files use xz as compressor if not other compressor is specified. Fixes #63 * Thu Apr 28 2016 ms@suse.com - Added --add|delete package for prepare command Allow additional packages to be installed/deleted when calling system prepare. Fixes #62 * Thu Apr 28 2016 ms@suse.com - Alpha sort option documentation Alpha sort options in usage and man pages * Thu Apr 28 2016 ms@suse.com - Added --add|delete package for build command Allow additional packages to be installed/deleted when calling system build. Related to Issue #62 * Thu Apr 28 2016 ms@suse.com - Fixed completion generator complete for kiwi and kiwi-ng * Thu Apr 28 2016 ms@suse.com - Prevent double render on usage * Wed Apr 27 2016 ms@suse.com - Add check_image_include_repos_http_resolvable Runtime checker method to check if repositories marked with the imageinclude attribute are using a publicly available protocol * Wed Apr 27 2016 ms@suse.com - Add shared cache location to Defaults * Wed Apr 27 2016 ms@suse.com - Bump version: 8.13.1 → 8.13.2 * Wed Apr 27 2016 ms@suse.com - Allow alternative if isolinux-config failed If the setup of the base directory failed because isolinux-config was not able to identify the isolinux.bin signature, we create a compat /isolinux directory and hardlink all loader files * Wed Apr 27 2016 ms@suse.com - Fixed typo in message Fix condition to show the grub module info message * Wed Apr 27 2016 ms@suse.com - Use program output for synopsis in documentation * Tue Apr 26 2016 ms@suse.com - Provide custom usage message Instead of the docopt way to show the usage information we provide a kiwi specific usage information. The usage data now always consists of: 1. the generic call kiwi [global options] service <command> [<args>] 2. the command specific usage defined by the docopt string short form by default, long form with -h | --help 3. the global options * Tue Apr 26 2016 ms@suse.com - Fixed loadSELinuxPolicy enforce policy is located in /sys/fs/selinux * Tue Apr 26 2016 ms@suse.com - No authconfig on RHEL >= 7 * Tue Apr 26 2016 ms@suse.com - Activate SELinux for RHEL systems Added new boot method loadSELinuxPolicy and call it as part of the rhel-preinit phase. This put SELinux in enforcing mode also from the kiwi initrd * Tue Apr 26 2016 ms@suse.com - Handle fsmountoptions attribute in all builders * Tue Apr 26 2016 ms@suse.com - Refactor custom_args handling for VolumeManager class Allow for two elements fs_create_options and fs_mount_options in a VolumeManager instance and pass along the information to the FileSystem and MountManager instances * Tue Apr 26 2016 ms@suse.com - Refactor custom_args handling for FileSystem class Any FileSystem class can receive a custom_args dictionary which by defaults ensures the presence of an empty list for create_options and mount_options. The create_options are used in the subclasses when the filesystem is being created and the mount_options are passed to the MountManager when the filesystem is mounted for e.g data_sync * Tue Apr 26 2016 ms@suse.com - Make kiwicompat understand --version | -v option * Tue Apr 26 2016 toms@suse.de - Small spelling corrections Apply title style: * package -> Package * module -> Module * Use backticks for kiwi.* modules to avoid spelling problems * Tue Apr 26 2016 toms@suse.de - Update spell-checking wordlist GitHub, JeOS, KIWI, LXC, squashfs, stderr, stdin, stdout, Submodules, Subpackages, zypper * Tue Apr 26 2016 toms@suse.de - Add "spell" rule in Makefile Also included in the help target * Tue Apr 26 2016 toms@suse.de - Enable Acronyms, importable modules, and builtins * Mon Apr 25 2016 toms@suse.de - First draft to "beautify" HTML appearance * Add GitHub button and "Fork me" widgets * Add Travis button * Remove obsolete code * Mon Apr 25 2016 ms@suse.com - Bump version: 8.13.0 → 8.13.1 * Mon Apr 25 2016 ms@suse.com - Added support for SELinux file security contexts Systems using SELinux require the filesystem data to be labeled according to a security context configuration. kiwi now checks for the presence of /etc/selinux/targeted/contexts/files/file_contexts and labels accordingly if it exists. This Fixes #52 * Mon Apr 25 2016 ms@suse.com - Make grub2 installation path lookup dynamic Not all linux systems installs grub2 below /usr/lib/grub2 For example RHEL7 packages it below /usr/lib/grub. Therefore kiwi needs to be flexible with this path * Fri Apr 22 2016 toms@suse.de - Used :returncode: for sphinxcontrib-programoutput Fix a warning when calling "kiwi-ng". As the script returns 1, it is considered to have failed by the program-output directive. The returncode line fixes that. See more info here: https://pythonhosted.org/sphinxcontrib-programoutput/#error-handling * Fri Apr 22 2016 toms@suse.de - Integrate version string from placeholder Use |version| placeholder, no bumpversion etc. is needed. Actually, it's taken from conf.py * Fri Apr 22 2016 ms@suse.com - Added RuntimeChecker class An instance of RuntimeChecker allows to semantically check for error conditions according to the provided image description and build options. Related to #20 * Fri Apr 22 2016 toms@suse.de - Spell checking doc and extended word list * Thu Apr 21 2016 ms@suse.com - Add filesystem requires in kiwi-boot-requires In order to have all filesystem creation tools available when building in the buildservice we need to require them in kiwi-boot-requires * Thu Apr 21 2016 ms@suse.com - Bump version: 8.12.0 → 8.13.0 * Thu Apr 21 2016 ms@suse.com - Set ident export-subst git attribute on version.py * Thu Apr 21 2016 ms@suse.com - Bump version: 8.11.0 → 8.12.0 * Thu Apr 21 2016 ms@suse.com - Fixed documentation link references Use redirected target and fix broken targets according to link check on make build * Thu Apr 21 2016 ms@suse.com - Fixed typo in documentation Missing question mark at end of sentence * Thu Apr 21 2016 ms@suse.com - Bump version: 8.10.1 → 8.11.0 * Thu Apr 21 2016 ms@suse.com - Fixed typo * Thu Apr 21 2016 ms@suse.com - Added Legacy KIWI vs. Next Generation chapter * Thu Apr 21 2016 toms@suse.de - md -> rst, radically shortend README * Wed Apr 20 2016 toms@suse.de - More substantial changes of the doc * Overall: try to be more consistent * index.rst * Move "Supported Distributions" and "Dropped Features" sections * Quick Start: * Add abstract * Add note about automatic link creation * Move "example appliance description" sections and subsections further down * Streamlined "Contributing" section * Corrected titles and distinguish more between descriptive and procedural * Wed Apr 20 2016 toms@suse.de - Remove useless substitutions (placeholders) * Wed Apr 20 2016 toms@suse.de - Add KIWI logo * Wed Apr 20 2016 toms@suse.de - Move Motivation section from quickstart to index * Wed Apr 20 2016 toms@suse.de - Correct heading and remove build status * Wed Apr 20 2016 toms@suse.de - Add QuickStart Guide and improve documentation * Added Quick Start Guide, taken from README.md * Improve index/main file: * Shortend main entry page * Make more headings * Add feature highlights to draw attention * Add sidebar with important KIWI links * Use ordered list of KIWI concept (prep and creation step) * Wed Apr 20 2016 ms@suse.com - Add package manager requirements in spec file * Tue Apr 19 2016 ms@suse.com - Update README * Tue Apr 19 2016 ms@suse.com - Update README * Tue Apr 19 2016 ms@suse.com - Update README * Tue Apr 19 2016 ms@suse.com - Move program name from kiwi-py3 to kiwi-ng * Tue Apr 19 2016 ms@suse.com - Added genisoimage requirement to kiwi spec file On SLE12 we only have genisoimage, on Leap and Tumbleweed we have both genisoimage and mkisofs. For the moment both toolkits produces working iso images with kiwi, thus I chose the save default with genisoimage * Tue Apr 19 2016 ms@suse.com - Be more flexible for isoinfo lookup isoinfo can either be provided by the community package in /usr/lib/genisoimage/isoinfo or by the mkisofs package from J. Schilling in /usr/bin/isoinfo. kiwi should be smart enough to lookup which tool is installed. /usr/bin/isoinfo will be preferred * Tue Apr 19 2016 ms@suse.com - Update README Added link to documentation * Mon Apr 18 2016 ms@suse.com - Try with latest version of travis-sphinx * Mon Apr 18 2016 ms@suse.com - ghp-import required for travis-sphinx deploy * Mon Apr 18 2016 ms@suse.com - Make sure enchant library is present for travis * Mon Apr 18 2016 ms@suse.com - Update tox setup Update TOXENV targets * Mon Apr 18 2016 ms@suse.com - Move travis-sphinx build tox target to script section * Mon Apr 18 2016 ms@suse.com - Use tox target for travis-sphinx * Mon Apr 18 2016 ms@suse.com - Put travis-sphinx build into script section * Mon Apr 18 2016 ms@suse.com - Make travis-sphinx deploy work It's required to call travis-sphinx build in order to be able to run the deploy command * Mon Apr 18 2016 ms@suse.com - Fixed documentation linkcheck results * Mon Apr 18 2016 ms@suse.com - Make sure shared mount directories exists Create shared directory path on the host _and_ in the new root directory to make sure the bind mount works * Mon Apr 18 2016 ms@suse.com - Update documentation entry page * Mon Apr 18 2016 ms@suse.com - Use travis-sphinx to deploy doc to github https://suse.github.io/kiwi * Mon Apr 18 2016 ms@suse.com - Fixed package requirements libxslt-tools provides required xsltproc * Mon Apr 18 2016 ms@suse.com - Update README for style and markup * Mon Apr 18 2016 ms@suse.com - Fixed README, wrong markup * Mon Apr 18 2016 ms@suse.com - Update README Add information how to build with dice * Mon Apr 18 2016 ms@suse.com - Add part_msdos module for self build EFI image * Fri Apr 15 2016 ms@suse.com - Update tox.ini Documentation building requires sphinx_rtd_theme and sphinxcontrib-programoutput * Fri Apr 15 2016 ms@suse.com - Update volume_manager inline API documentation References #49 * Fri Apr 15 2016 ms@suse.com - Update utils inline API documentation References #49 * Fri Apr 15 2016 ms@suse.com - Update tasks inline API documentation References #49 * Fri Apr 15 2016 ms@suse.com - Complete system inline API documentation References #49 * Fri Apr 15 2016 ms@suse.com - Use Path.wipe instead of directly calling rm * Fri Apr 15 2016 ms@suse.com - Update system inline API documentation References #49 * Fri Apr 15 2016 ms@suse.com - Update storage inline API documentation References #49 * Thu Apr 14 2016 ms@suse.com - Fixed typo * Thu Apr 14 2016 ms@suse.com - Cleanup use of partition id maps For the partition setup the Disk class uses dictionaries to map the partition name to the partition number. However there are public partition names such as 'kiwi_BootPart' and kiwi internal partition names such as 'boot'. The code should make it more clear which mapping table is used * Thu Apr 14 2016 ms@suse.com - Update repository inline API documentation References #49 * Thu Apr 14 2016 ms@suse.com - Update partitioner inline API documentation References #49 * Thu Apr 14 2016 ms@suse.com - Complete bootloader inline API documentation References #49 * Thu Apr 14 2016 ms@suse.com - Update README Add chapter about signing commits * Thu Apr 14 2016 ms@suse.com - Update README * Thu Apr 14 2016 ms@suse.com - Update README * Wed Apr 13 2016 ms@suse.com - Update package_manager inline API documentation References #49 * Wed Apr 13 2016 ms@suse.com - Update filesystem inline API documentation References #49 * Wed Apr 13 2016 ms@suse.com - Update container inline API documentation References #49 * Wed Apr 13 2016 ms@suse.com - Update builder inline API documentation References #49 * Wed Apr 13 2016 ms@suse.com - Update bootloader/template inline API documentation References #49 * Wed Apr 13 2016 ms@suse.com - Complete bootloader install interface * Wed Apr 13 2016 ms@suse.com - Update bootloader/install inline API documentation References #49 * Wed Apr 13 2016 ms@suse.com - Move get_failsafe_kernel_options to Defaults * Wed Apr 13 2016 ms@suse.com - Update bootloader/config inline API documentation References #49 * Tue Apr 12 2016 ms@suse.com - Update boot/image inline API documentation References #49 * Tue Apr 12 2016 ms@suse.com - Update archive inline API documentation References #49 * Tue Apr 12 2016 ms@suse.com - Delete traces of zfs support * Tue Apr 12 2016 ms@suse.com - Update inline API documentation References #49 * Mon Apr 11 2016 ms@suse.com - Update inline API documentation * Mon Apr 11 2016 ms@suse.com - Update inline API documentation * Mon Apr 11 2016 ms@suse.com - Update inline API documentation * Mon Apr 11 2016 ms@suse.com - Update inline API documentation * Sun Apr 10 2016 ms@suse.com - Ignore auto generated code for API docs * Sun Apr 10 2016 ms@suse.com - Update inline API documentation * Fri Apr 08 2016 ms@suse.com - Update api documentation setup * Fri Apr 08 2016 ms@suse.com - package kiwi-pxeboot must not be noarch We want to specify for which arch we provide it. Thus it's not allowed to specify it as noarch even though it provides only noarch data * Thu Apr 07 2016 ms@suse.com - Create Initial autodoc structure Called 'sphinx-apidoc -o source/api ../kiwi' * Thu Apr 07 2016 ms@suse.com - Fixup docstring for kiwi/command.py * Thu Apr 07 2016 ms@suse.com - Move manual page documentation in subdirectory Separate api documentation from manual pages * Thu Apr 07 2016 ms@suse.com - Update virtualenv development setup make sure we can build the docu in the development environment * Wed Apr 06 2016 ms@suse.com - Add docstrings for Cli class References Issue #49 * Wed Apr 06 2016 ms@suse.com - Fixed ppc setup of etc/default/grub_installdevice On power grub must be installed into the Prep partition into the master boot record of the disk * Mon Apr 04 2016 toms@suse.de - Add Python 3.5 to be consistent with Travis * Sat Apr 02 2016 ms@suse.com - Fixed logger unit test * Fri Apr 01 2016 ms@suse.com - Make color output an option By default no color output is used * Wed Mar 30 2016 ms@suse.com - Added missing kiwi-packagemanager provides The buildservice looks up for a package manager capability * Wed Mar 30 2016 ms@suse.com - Fixed spec file syslinux is not a requirement for the base package * Thu Mar 24 2016 ms@suse.com - Check for derived description path in prepare too * Thu Mar 24 2016 ms@suse.com - Refactor SystemSetup class the information about the description_dir is part of the provided xml_state instance. There is no need to pass that information along twice * Thu Mar 24 2016 ms@suse.com - Fixed use of derived_description_dir Only in import_description we need to check for both locations * Thu Mar 24 2016 ms@suse.com - Make sure import_description preserves archives * Thu Mar 24 2016 ms@suse.com - Refactor InstallBootLoaderGrub2 constructor architecture dependant device setup belongs to the install method where it is actually needed. That prevents the construction of the instance to be architecture specific * Wed Mar 23 2016 ms@suse.com - Make list of efi grub modules arch dependant * Wed Mar 23 2016 ms@suse.com - Revert "Delete efi_uga module from list" This reverts commit 191d423eb571d3cc08f34b5e4ef15eb6296a6563. * Wed Mar 23 2016 ms@suse.com - Delete efi_uga module from list * Wed Mar 23 2016 ms@suse.com - add multiboot grub module only on demand multiboot is only needed for self build grub images in Xen guest mode * Wed Mar 23 2016 ms@suse.com - Don't raise if kversion exits with error In this case a default value applies * Wed Mar 23 2016 ms@suse.com - Activate partitioner support for arm * Wed Mar 23 2016 ms@suse.com - Add optional derived_from param to XMLDescription An instance of XMLDescription can now optionally become constructed with a path to an image description this instance was derived from. This is currently used for building the kiwi boot image to tell the boot image XML description instance from which system image instance it was derived from * Wed Mar 23 2016 ms@suse.com - Evaluate default video mode for iso images * Wed Mar 23 2016 ms@suse.com - Added custom profile for arm/oemboot/suse-tumbleweed * Wed Mar 23 2016 ms@suse.com - Update firmware types for arm architectures Add efi and uefi as allowed types, complete architecture name list set efi as default firmware for arm * Wed Mar 23 2016 ms@suse.com - Added pre/post hooks for bootloader setup/install preInstallBootLoader, postInstallBootLoader preSetupBootLoader, postSetupBootLoader * Wed Mar 23 2016 ms@novell.com - Fixed architecture dependant tests * Tue Mar 22 2016 ms@suse.com - Added support for virtual boot partition on arm Triggered by the firmware="vboot" setup an EFI setup plus a raw partition without filesystem is created as first partition. The size of the partition can be controlled by the vbootsize attribute. The vboot feature is used by the arm architecture to provide a space in the partition table for custom code as required by e.g the chromebook. The final customization of the vboot space is board specific and can't be implemented in a generic way in kiwi. For finalizing the vboot space the script hooks editbootconfig and editbootinstall can be used This is related to Issue #17 * Tue Mar 22 2016 ms@suse.com - Rename partition id kiwi_JumpPart to kiwi_EfiPart This makes it explicit for what purpose the partition is really used. EFI is not configured the same for all architectures but what is consistent is that on this partition an efi image is located to become loaded by some firmware * Tue Mar 22 2016 ms@suse.com - Activate boot partition only for msdos tables * Tue Mar 22 2016 ms@suse.com - have tar preserve all xattrs By default tar will only preserve a subset of the capabilities with --xattrs. Adding --xattrs-include=* should preserve all capabilities (e.g. user.*, security.capability etc.). * Tue Mar 22 2016 ms@suse.com - Preserve hybrid GPT status on boot Added createHybridGPT method and setup the hybrid GPT/MBR table if requested by the XML configuration. In addition move the partition activation call also into the partition table finalize method. This is related to Issue #17 * Mon Mar 21 2016 ms@suse.com - Refactor partition table setup code Added two methods preparePartitionTable and finalizePartitionTable which are used to prepare the partition table to allow resizing and to finalize for partition flags after resizing. This replaces the updatePartitionTable method * Mon Mar 21 2016 ms@suse.com - Delete obsolete GPT fixup code Related to bnc#825221 code was added to recreate the disk with a new GPT label. The reason was that parted created a gpt_sync_mbr partition table when kiwi repartitioned the disk to use the full geometry. This was an unwanted behavior by parted and causes the additional code in kiwi. The current parted version behaves correctly and thus makes this additional code obsolete * Fri Mar 18 2016 ms@suse.com - Added support for hybrid GPT Embedding an MBR into a GPT is required for a collection of boards, e.g arm rapberry PI. The kiwi configuration provides a new attribute called <type ... gpt_hybrid_mbr="true|false" which allows to control if the GPT should be hybrid or not. On build procedures which do not create a GPT the attribute has no effect. This references Issue #17 * Fri Mar 18 2016 ms@suse.com - Update all XML descriptions to schema v6.3 * Fri Mar 18 2016 ms@suse.com - Added make valid target to Makefile make valid applies the latest XSLT processing to the boot and test image descriptions * Fri Mar 18 2016 ms@suse.com - Added XSL stylesheet convert62to63.xsl auto convert from schema v6.2 to v6.3 * Fri Mar 18 2016 ms@suse.com - Update schema to version 6.3 - Deleted obsolete split section - Deleted zfsoptions, fsreadwrite and fsreadonly attributes - Updated allowed values for bootloader and filesystems * Fri Mar 18 2016 ms@suse.com - Delete obsolete support for syslinux(extlinux) grub2 or the architecture specific loader requirement is supported but the alternative x86 loaders syslinux/extlinux were not really used * Fri Mar 18 2016 ms@suse.com - Delete obsolete support for uboot arm boot is using grub2 efi images loaded by a firmware. The firmware could be uboot but due to the non generic way to setup the board that it loads the firmware all of these tasks are handled by custom scripts called via the kiwi editbootconfig / editbootinstall script hooks. Therefore kiwi itself does not have to setup or install uboot * Fri Mar 18 2016 ms@suse.com - Delete obsolete support for yaboot grub2 is used for ppc64 platforms, so far no older ppc platform is supported * Fri Mar 18 2016 ms@suse.com - Delete obsolete kernelCheck method * Fri Mar 18 2016 ms@suse.com - Delete obsolete support for legacy grub * Fri Mar 18 2016 ms@suse.com - Delete obsolete support for split(combined) image * Fri Mar 18 2016 ms@suse.com - Delete obsolete support for reiserfs * Fri Mar 18 2016 ms@suse.com - Delete support for ZFS filesystem btrfs is the way to go these days and zfs still has some proprietary bits in it * Fri Mar 18 2016 ms@suse.com - Avoid the copy of the kiwi initrd to /run the kiwi initrd copies itself to /run/initramfs in order to have a way to jump into the initrd system from the later system. However the kiwi initrd is unpacked pretty big and exists also only for the very first boot. * Fri Mar 18 2016 ms@suse.com - Execute haveged in udevStart if fips is enabled This ensure there is at least a source of entropy for /dev/random when the fips mode is enabled. Without it, VMware virtual machines hang at boot (bnc#964204) * Thu Mar 17 2016 ms@suse.com - Fixed use of dracut initrd system for arm platform * Thu Mar 17 2016 ms@suse.com - Added EFI images name for 32bit arm architectures * Thu Mar 17 2016 ms@suse.com - Refactor data subpackage Move from data to utils, data is generally considered as text data and not code * Wed Mar 16 2016 ms@suse.com - Fixed 32bit x86 builds Put it all under the ix86 namespace * Wed Mar 16 2016 ms@suse.com - Refactor grub2 EFI support EFI support was target specific to the x86_64 architecture This commit changes the structure to allow more architectures supporting EFI. Thus the arm64 EFI support has been added as a plus * Mon Mar 14 2016 toms@suse.de - Add {toxinidir} variable for check target * Mon Mar 14 2016 ms@suse.com - Delete nose reference from virtualenv setup * Mon Mar 14 2016 ms@suse.com - Prevent file duplicate badness in spec file * Mon Mar 14 2016 ms@suse.com - Revert "Added pv kernel profile" There is no kernel-pv This reverts commit f0c37709e941e18a1f9b963811a85bd772ee96ac. * Mon Mar 14 2016 ms@suse.com - Move from nose to pytest nose is no longer maintained, thus we have to move to another testing system. This commit updates the tox setup and all tests to use pytest instead of nose. * Fri Mar 11 2016 ms@suse.com - Fixed boot mount path at grub2 install * Fri Mar 11 2016 ms@suse.com - Revert "Revert "Call shim-install with --removable"" Try again using --removable for shim-install This reverts commit e3d7d0239d58e901e7d61e215317b93cf0ee1bfb. * Fri Mar 11 2016 ms@suse.com - Fixed normalizing paths between host and image * Fri Mar 11 2016 ms@suse.com - Revert "Call shim-install with --removable" With --removable shim-install does not work for image building This reverts commit d03baa9ee1d0ff44c76afadfc388791b1c5d29fa. * Fri Mar 11 2016 ms@suse.com - Added pv kernel profile * Thu Mar 10 2016 ms@suse.com - Add handling for OPAL firmware setup on ppc64 This adds a capability of creating an image for Bare metal POWER platform, where firmware parses grub2.cfg and simply kexecs into an image kernel * Thu Mar 10 2016 ms@suse.com - Refactor FirmWare class provide a default firmware for each supported architecture Avoid special sauce in the FirmWare constructor * Thu Mar 10 2016 ms@suse.com - Adding opal firmware type for ppc64 architectures * Thu Mar 10 2016 toms@suse.de - First draft of issue#43 Add templates for contributing, issue, and pull requests * Thu Mar 10 2016 ms@suse.com - Call shim-install with --removable The --removable is to prevent shim-install from writing host's uefi boot entry by pretending itself as removable disk * Wed Mar 09 2016 ms@suse.com - Delete obsolete shim setup code from kiwi Due to the use of shim-install the code in kiwi to setup for secure boot is no longer needed * Wed Mar 09 2016 ms@suse.com - Use shim-install to setup EFI secure boot * Wed Mar 09 2016 ms@suse.com - Fixed completion generator Some global options were missing * Wed Mar 09 2016 ms@suse.com - Update README Fixed pyvenv call to use python3 * Wed Mar 09 2016 ms@suse.com - Update README style fixes * Wed Mar 09 2016 ms@suse.com - Update README Fixed url to packages on the buildservice * Wed Mar 09 2016 ms@suse.com - Update README Be more clear about semantic versioning as documented here: http://semver.org/ * Wed Mar 09 2016 ms@suse.com - Continue Refactor into subpackage Move container_setup from toplevel into container.setup * Tue Mar 08 2016 ms@suse.com - Fixed completion generator The generated completion code was confused by the -py3 in the program name if used with kiwi-py3 * Tue Mar 08 2016 ms@suse.com - Continue Refactor into subpackage Move task classes into tasks namespace * Tue Mar 08 2016 ms@suse.com - Move storage and subformat tests to match namespace * Tue Mar 08 2016 ms@suse.com - Move builder test cases to match namespace * Tue Mar 08 2016 ms@suse.com - Continue Refactor into subpackage Move DataSync, Checksum and Compress into the data namespace * Tue Mar 08 2016 ms@suse.com - Continue Refactor into subpackage Move Kernel class to system namespace * Mon Mar 07 2016 ms@suse.com - Package new system namespace * Mon Mar 07 2016 ms@suse.com - Continue Refactor into subpackage system install, update, size, users, result should have their own namespace * Mon Mar 07 2016 ms@suse.com - Consolidate all rsync calls into DataSync class * Sun Mar 06 2016 ms@suse.com - Release mount after data sync for volume managers * Fri Mar 04 2016 ms@suse.com - Fixed LVM volume setup for oem image type For the oem image type the requested volume sizes are applied on first boot of the appliance. Therefore inside of the image the volumes only needs to be created with their minimum required size * Fri Mar 04 2016 ms@suse.com - Refactor use of kiwi_LVM_ profile variables Reduce code duplication and encapsulate the reading of the data from the profile into a readVolumeSetup function. This is related to Issue #39 * Fri Mar 04 2016 ms@suse.com - Preserve extended attributes in tar archives tar doesn't preserve extended attributes by default, causing Docker images to not have any correct set-capabilities bits set on binaries such as ping. This is fixed by adding the --xattrs flag to the tar command * Thu Mar 03 2016 ms@suse.com - Sort output from helper/kiwi-boot-packages * Thu Mar 03 2016 ms@suse.com - Fixed gce disk format The order of the files in the tarball is important. The first entry must be the manifest.json followed by disk.raw. In addition the style of the manifest.json has been adapted too. A space after colon seems to be required for gce to accept the data * Wed Mar 02 2016 ms@suse.com - Fixed kernel names for dracut initrd system If dracut is used as initrd system we should not use the kiwi one shot names linux.vmx, initrd.vmx but stick with the official naming convention for kernel and initrd which is kernel-<version>, initrd-<version> * Wed Mar 02 2016 ms@suse.com - Skip local repos if they don't exist Instead of raising an exception if a local repository does not exist, we will continue with a warning message. This is needed for a flawless integration with the buildservice. Inside of a buildservice environment only those repos are setup from which packages were taken. Thus it can happen that a configured repository does not exist in the buildservice build environment if the resolver would not take any package from this repository. kiwi should not fail to build such an image * Tue Mar 01 2016 ms@suse.com - Avoid lvcreate to ask for wiping swap signature When kiwi creates the logical volume for the swap space and there is already a swap signature at the place on disk, lvm stops and asks what to do with it. This should be generally avoided at that stage in the boot process Fixes (bnc#968601) * Tue Mar 01 2016 ms@suse.com - Calculate checksum in chunks * Mon Feb 29 2016 ms@suse.com - Don't prevent an oem image from a custom disk size An oem disk ist a self expandable disk and thus it normally doesn't make sense to specify a disk size for it. However there are filesystems like btrfs which are very hard to precalculate a minimum required disk space for X bytes of data. In this situation a user should have the opportunity to specify a size * Mon Feb 29 2016 ms@suse.com - Don't call dracut in background from kiwi initrd This was useful to speedup the boot but opens a potential race condition if a reboot happens while dracut is still processing. With the last extension to use dracut as initrd system people now have the choice what fits their needs better and this allows us to revert the background call * Mon Feb 29 2016 ms@suse.com - Added support for using dracut initrd As of today only the kiwi initrd could be used with an image build. This commit adds a new initrd_system attribute and allows to select between kiwi and dracut as initrd system. Please note the dracut initrd does not support all features of the kiwi initrd. This fixes #25 * Mon Feb 29 2016 ms@suse.com - Add a feature drop list to the README * Mon Feb 29 2016 ms@suse.com - update MANIFEST.in due to structure changes * Mon Feb 29 2016 ms@suse.com - Update README Use the real executable name for the documentation * Mon Feb 29 2016 ms@suse.com - Continue Refactor into subpackage storage operations should have their own namespace * Mon Feb 29 2016 ms@suse.com - Continue Refactor into subpackage container and container_setup should have their own namespace * Mon Feb 29 2016 ms@suse.com - Continue Refactor into subpackage disk namespace init is not a factory, thus the Disk class should have its own namespace. We choose disk.storage * Mon Feb 29 2016 ms@suse.com - Continue Refactor into subpackage rename dformat to subformat * Mon Feb 29 2016 ms@suse.com - Continue Refactor into subpackage The builder classes should have their own namespace * Mon Feb 29 2016 ms@suse.com - Fixed update alternative setup for kiwi completion kiwi itself is provided as update alternative for kiwi-py3 Thus the completion should be based on kiwi-py3 * Fri Feb 26 2016 tom_schr@web.de - Refactor into subpackage to fix #23 Codecoverage are 100% and tests are green Changes: * Refactor archive_*.py -> archive subpackage * Refactor partitioner_*.py -> partitioner subpackage * Refactor package_manager_*.py -> package_manager/ subpackage * Refactor bootloader_config*.py -> bootloader/config/ subpackage * Refactor bootloader_template*.py -> bootloader/template/ subpackage * Refactor bootloader_install*.py -> bootloader/install/ subpackage * Refactor repository*.py -> repository/ subpackage * Refactor filesystem*.py -> filesystem/ subpackage * Refactor dist_*.py -> dist/dformat subpackage The name `dformat` as package name is needed to avoid any name conflicts with the built-in function `format`. * Refactor volume_manager*.py -> volume_manager/ subpackage * Refactor boot_image*.py -> boot/image/ subpackage * Fri Feb 26 2016 tom_schr@web.de - Remove unecessary Travis requirements * Fri Feb 26 2016 tom_schr@web.de - Fix check target Didn't have a basepython line, fixed strange tox error * Fri Feb 26 2016 tom_schr@web.de - Enhanced Contributing, add new Developing section * Create a procedure in section Contributing * Add new Developing section to describe how to use tox * Fri Feb 26 2016 ms@suse.com - Fixed device map for VolumeManagerBtrfs The return value from get_device must be a map containing an instance of a DeviceProvider, not only the DeviceProvider * Fri Feb 26 2016 ms@suse.com - Refactor use of mount/umount calls Provide a MountManager class and handle all mount/umount calls in instances of MountManager * Fri Feb 26 2016 ms@suse.com - Don't write grub.cfg to EFI directory Originally the file was written there as reference, but nothing will ever update that file if the real grub configuration changes. Thus it doesn't make sense to provide this information (bnc#968270) * Fri Feb 26 2016 dvaleev@suse.com - Add support for POWER architecture Implements requirements for the partition and bootloader setup in order to build images for ppc64 architectures. Fixes #18 * Thu Feb 25 2016 ms@suse.com - Refactor grub2 bootloader installation Make use of grub2-install to install the bootloader * Thu Feb 25 2016 ms@suse.com - Changed debug log in case of failed command Also log the stdout data from a failed command. So far we expected error data on stderr but there are also commands which print error messages on stdout. It should us at least worth a debug message with this information * Wed Feb 24 2016 toms@suse.de - Use tox in .travis.yml, remove .travis.script * Wed Feb 24 2016 ms@suse.com - Fixed helper/kiwi-boot-packages Take care for packages marked for a specific architecture * Wed Feb 24 2016 ms@suse.com - Delete unused helper/run-pep8 * Wed Feb 24 2016 ms@suse.com - Adapt make flake target to changed tox target * Wed Feb 24 2016 toms@suse.de - Add --cover-min-percentage=100 and helper script * Wed Feb 24 2016 ms@suse.com - Fixed spec file for kiwi-boot-requires The meta package for the buildservice has to require the new python3-kiwi package * Wed Feb 24 2016 toms@suse.de - Use --cover-min-percentage=100 instead of coverage * Wed Feb 24 2016 toms@suse.de - Replace helper/coverage-check with coverage Use --fail-under=99 option which fails for tests under 100% * Wed Feb 24 2016 ms@suse.com - keep packages in yum cache * Wed Feb 24 2016 toms@suse.de - Rename flake -> check, move spell * Move spell target/step to doc.spell * Call doc.spell in the doc target/step * Rename flake to check (to make it independant of any tool) * Wed Feb 24 2016 ms@suse.com - Spelling fixes * Wed Feb 24 2016 ms@suse.com - Tox setup updates Integrate with Makefile, delete pep8 target from Makefile, use flake8, update travis script, delete coverage reference, we want 100% anywhere * Wed Feb 24 2016 ms@suse.com - Fixed raid_device_test The test did not mock os.path.exists and thus could fail on systems which uses a raid system * Wed Feb 24 2016 toms@suse.de - Update word list * Tue Feb 23 2016 tom_schr@web.de - Remove empty line to avoid error message Avoid following error message: CRITICAL **: enchant_is_title_case: assertion `word && *word' failed * Tue Feb 23 2016 tom_schr@web.de - Activate personal spellchecking dictionary * Tue Feb 23 2016 ms@suse.com - Open travis check for all branches * Tue Feb 23 2016 ms@suse.com - Added kiwi-filesystem provides to spec template The main python3-kiwi package provides support for these filesystem image types * Tue Feb 23 2016 toms@suse.de - Integrated Tox * First incarnation of tox.ini * Extend MANIFEST.in * Add doc/requirements.txt * Extend conf.py with 'sphinxcontrib.spelling' extension * Add wordlist to doc/source/spelling_wordlist.txt * Add flake8 section in setup.cfg * Tue Feb 23 2016 ms@suse.com - Fixed cmdline lookup Only check contents of cmdline if it is not None * Tue Feb 23 2016 ms@suse.com - No fdupes checking required anymore * Tue Feb 23 2016 ms@suse.com - Don't track root/usr/share/locale in boot images The data there is now generated by the make po target * Tue Feb 23 2016 ms@suse.com - Fixed fuzzy i18n for en_US/LC_MESSAGES/kiwi.po * Tue Feb 23 2016 ms@suse.com - Added kiwi-image provides to spec template The main python3-kiwi package provides support for these image types. * Tue Feb 23 2016 ms@suse.com - Prevent any output if quiet is set If exec >/dev/null is run before setterm clears the screen, then "Failed to find cpu0 device node" is displayed even if quiet is set. * Tue Feb 23 2016 ms@suse.com - Fixed shell syntax in grub2 template Fixes (bnc#961334) * Mon Feb 22 2016 ms@suse.com - Refactor suseStripKernel The way the method downsizes the kernel tree is wrong in several places and very hard to read. Therefore the code has been refactored and splitted into task methods which can run independently from each other. As one result the kernel tree is not missing any metadata and/or update weak-updates paths anymore. Fixes (bnc#965830) * Mon Feb 22 2016 ms@suse.com - Remove flush before resize filesystem According to the manpage, -F is flushing the fileystem buffer caches. which is only really useful for doing resize2fs time trials. With current Tumbleweed installed on MMC, -F triggers a Inappropriate ioctl for device while trying to flush error, and then fails to resize. * Mon Feb 22 2016 ms@suse.com - Update arm boot image descriptions Grub2 adds 35MB to the initrd for no reason on armv6/v7, as those images use u-boot scripts for booting. * Mon Feb 22 2016 ms@suse.com - Fixed checkFileSystem call In the refactoring fc363cc, the parameters of checkFileSystem got changed to expect the device name, but one of the invocations didn't pass down the device name due to a typo. * Mon Feb 22 2016 ms@novell.com - Ignore fdasd errors Like fdisk, fdasd also reports an error when re-reading the partition table. But the table was written correctly so we continue for the moment and add a debug message * Sun Feb 21 2016 ms@suse.com - Fixed boot image result filename Has to follow the naming convention * Sun Feb 21 2016 ms@suse.com - Fixed pxe builder kernel/hypervisor target path * Sun Feb 21 2016 ms@suse.com - Use bytes type with hashlib * Sun Feb 21 2016 ms@suse.com - Refactor result bundler instead of being clever in the result bundler we should be more explicit when adding a result to the result instance. Therefore the result.add method now also allows to specify if this result should be part of a result bundle and whether it should be placed compressed or uncompressed in this bundle * Sun Feb 21 2016 ms@suse.com - Added metadata rpm files to all builders rpm packages and verification information is now added to all builder results. Fixes #13 * Sun Feb 21 2016 tom_schr@web.de - Fixing code smells from Landscape.io https://landscape.io/github/SUSE/kiwi/161/messages/smell Fixed issues: * Unused imports * Unused variables * Specify string format arguments as logging function parameters (log.warning("%s bla" % x) -> log.warning("%s bla", x) * Sun Feb 21 2016 tom_schr@web.de - Ignore backup files * Sun Feb 21 2016 ms@suse.com - Added the following system setup methods export_rpm_package_list and export_rpm_package_verification Used to provide rpm package metadata and verification information for rpm based image builds * Fri Feb 19 2016 tom_schr@web.de - Improve doc * Consistently use KIWI * Fixed punctuation * Added zypper ar for adding KIWI's OBS repo * Fri Feb 19 2016 ms@suse.com - Fixed unit test read return result Unit test mocking read should return a bytes array and not a string because that's what python3 would do in reality * Fri Feb 19 2016 ms@suse.com - Fixed path location in disk_format_image result * Fri Feb 19 2016 ms@suse.com - Fixed disk format builder This one was missing the output image name adaptions * Fri Feb 19 2016 ms@suse.com - Regenerate xml_parse data structures for python3 * Fri Feb 19 2016 ms@suse.com - Better error response in debug output If a Command.run fails with an error code != 0 but not data was produced on the stderr channel, we provide this as information to the caller * Fri Feb 19 2016 ms@suse.com - Port kiwicompat to python 3 * Thu Feb 18 2016 ms@suse.com - Port helper tools to python3 Also fixes completion to correctly parse the toplevel --compat option * Thu Feb 18 2016 ms@suse.com - Do not activate dmraid paritions Only activate the device itself, not the partitions, that may also exist. If partitions exist, the UDEV rules will create the corresponding "_partX" symlinks for each partition within "/dev/mapper, which is totally sufficient. * Thu Feb 18 2016 ms@suse.com - Fixed cut and paste error in spec template correct the project Url * Thu Feb 18 2016 ms@suse.com - Update README add install information for python3-devel * Thu Feb 18 2016 ms@suse.com - Fixed README wrong reference to env2 where it should be env3 * Thu Feb 18 2016 ms@suse.com - Update README * Wed Feb 17 2016 ms@suse.com - Update travis env to python 3.4 * Wed Feb 17 2016 ms@suse.com - Port application from python 2.7 to 3.4 For new applications like this kiwi version and its use cases it is better to base it on a more recent python version * Wed Feb 17 2016 ms@suse.com - Fixed bundling container results Container images are already compressed, there is no need for the bundler to do that again * Wed Feb 17 2016 ms@suse.com - Use pinch_system with force in any case Deletion of packages should be done with the force flag set. Otherwise the package manager computes a resolved list for the deletion targets which causes other packages to be deleted which is unwanted * Wed Feb 17 2016 ms@suse.com - Fixed host to image root data setup On bind mounts check if the origin path exists on the host. On copy check if the origin file exists on the host * Wed Feb 17 2016 ms@suse.com - Fixed deactivate_systemd_service Check if the service file exists, if not there is no need to deactivate an non existing service. * Tue Feb 16 2016 ms@suse.com - Use alternatives mechanism for completion file This avoids the package conflict with the legacs kiwi version * Tue Feb 16 2016 ms@suse.com - Weaken kiwi-tools requirement * Mon Feb 15 2016 ms@suse.com - Handle 32bit Intel arch as ix86 in boot code * Mon Feb 15 2016 ms@suse.com - Allow building 32bit bios images * Mon Feb 15 2016 ms@suse.com - Delete %post from kiwi-pxeboot We do not provide a default config file for the pxe setup anymore. There is no good default file we can provide here because we don't know how the user has configured a pxe image. The documentation should explain how to setup the pxe config and infrastructure with the help of the static data provided by the kiwi-pxeboot package * Mon Feb 15 2016 ms@suse.com - Don't require python-Sphinx at build time Sphinx is not available on all platforms and required only to build the manual pages. Thus the make build target can build the man pages and pack the result into the source tarball * Mon Feb 15 2016 ms@suse.com - Don't strip ctc_configure from initrd ctc_configure is used on s390 images * Mon Feb 15 2016 ms@suse.com - Added man page for result bundle command * Mon Feb 15 2016 ms@suse.com - Added result bundler * Fri Feb 12 2016 ms@suse.com - Added kiwi-boot-requires buildservice meta package * Thu Feb 11 2016 ms@suse.com - Delete unused .releasetags helper Fixes #9 * Thu Feb 11 2016 ms@suse.com - Update README * Thu Feb 11 2016 ms@suse.com - Update README * Thu Feb 11 2016 ms@suse.com - Added system update manual page * Thu Feb 11 2016 ms@suse.com - Create manual pages Create man pages for result list, system build, prepare and create * Thu Feb 11 2016 ms@suse.com - Added pv xen drivers to boot descriptions Beginning with SLE12 SP2 the default kernel is a pvops capable kernel. This means it can be used in a Xen HVM full virtual machine as well as in a PV - paravirtual machine. However it's required to keep the paravirtual net, block modules in the initrd. As their location also has move an update of the boot image descriptions was necessary * Thu Feb 11 2016 ms@suse.com - Fixed wait message in waitFor boot functions Better indicate for what we are waiting * Thu Feb 11 2016 ms@suse.com - Load xen modules by alias only * Thu Feb 11 2016 ms@suse.com - Fixed validation of custom root cmdline variable A variable of the format root=LABEL=x was not correctly validated * Thu Feb 11 2016 ms@suse.com - Change default ec2 root_cmdline_parameter For ec2 based firmware the value root=UUID=x is provided instead of a static device node * Thu Feb 11 2016 ms@suse.com - Refactor internal boot image task Make a factory out of the task and allow to have e.g a dracut boot image task at a later point in time. The BootImageBase class creates an interface for this implementation. So far only BootImageKiwi is implemented * Wed Feb 10 2016 ms@suse.com - Added export_modprobe_setup method to SystemSetup export_modprobe_setup copies the contents of etc/modprobe.d to a specified target root directory. The method is used to transfer the modprobe configuration from the system image to the boot image * Wed Feb 10 2016 ms@suse.com - Fixed archive_builder_test Mock platform value * Wed Feb 10 2016 ms@suse.com - Added compatibility information to main man page * Wed Feb 10 2016 ms@suse.com - Put arch and version to output image file name * Wed Feb 10 2016 ms@suse.com - Added quick start example to main kiwi manual page * Tue Feb 09 2016 ms@suse.com - Fill master manual page with content * Tue Feb 09 2016 ms@suse.com - Added git like command completion Provide a 'Did you mean' log message for unclear task names * Tue Feb 09 2016 ms@suse.com - Update README * Tue Feb 09 2016 ms@suse.com - Fixed non-executable-script rpmlint warning * Tue Feb 09 2016 ms@suse.com - Man pages are below level 2 * Tue Feb 09 2016 ms@suse.com - Fixed rpm-buildroot-usage rpmlint warning * Tue Feb 09 2016 ms@suse.com - Fixed non-executable-script rpmlint warning * Tue Feb 09 2016 ms@suse.com - Delete unused .md5 script * Tue Feb 09 2016 ms@suse.com - Fixed rpm package build * Tue Feb 09 2016 ms@suse.com - Fixed dracut call Always create a generic initrd, don't pass -H * Tue Feb 09 2016 ms@suse.com - Fixed custom args setup for vmdk format custom args is a hash with option/value pairs. For vmdk the option could be e.g adapter_type=value and the value is None. This is by intention because qemu which receives those type of options allows only the syntax "-o option=value". The kiwi code setting up the options did not check correctly if there really is a value for e.g adapter_type * Tue Feb 09 2016 ms@suse.com - Allow alternative locations for grub installation Different distributions install grub2 to different places. Therefore kiwi should not use a fixed location but allow to lookup grub data at several places * Tue Feb 09 2016 ms@novell.com - Fixed unit test for fix_boot_catalog on big endian * Tue Feb 09 2016 ms@suse.com - Fixed unit test for fix_boot_catalog on big endian * Sun Feb 07 2016 ms@suse.com - Make sure to cleanup yum requests after processing * Sun Feb 07 2016 ms@suse.com - Fixed CommandIterator check for output before sending an iteration stop * Sun Feb 07 2016 ms@suse.com - Fixed stateful copy of repository section Profiles are not copied because they might not exist in the target description * Sun Feb 07 2016 ms@suse.com - Fixed host to root path patcher Don't be confused by multiple /'es * Sun Feb 07 2016 ms@suse.com - Added support for yum package manager * Sun Feb 07 2016 ms@suse.com - Fixed use of iso mounted repositories When using an iso as repo, kiwi mounts it to a temporary location. The location is different for each build and therefore the zypper repo file needs to be recreated for any new build in this situation * Sun Feb 07 2016 ms@suse.com - Check if config file exists Before updating a config file, check if it exists. If it is not present skip the configuration and print a warning message * Sat Feb 06 2016 ms@suse.com - Added yum repository support * Sat Feb 06 2016 ms@suse.com - Make man install target more stable * Sat Feb 06 2016 ms@suse.com - Update source manifest include only doc Makefile and source, the pages are build at build time * Sat Feb 06 2016 ms@suse.com - Include installation of man pages to spec file * Sat Feb 06 2016 ms@suse.com - Added man page templates for all commands * Fri Feb 05 2016 ms@suse.com - Added man page templates Added template for master page and result_list * Fri Feb 05 2016 ms@suse.com - Added initial sphinx documentation structure The documentation will cover kiwi manual pages. more detailed documentation will be written and maintained in colaboration with the documentation department * Fri Feb 05 2016 ms@suse.com - Fixed use of noglob shell option * Thu Feb 04 2016 ms@suse.com - Added support for kiwi --compat The --compat call will trigger the call of the kiwicompat tool written to support legacy kiwi commandlines. An example could look like the following call: sudo kiwi --compat -- --build /my/description --type vmx -d /my/dest Please be aware the -- is required to tell docopt to treat all options as parameters * Wed Feb 03 2016 ms@suse.com - Prevent duplicate error logging * Wed Feb 03 2016 ms@suse.com - Refactor CommandProcess class Use an iterator class to run through the process. implement poll variants explicit and clear structured * Wed Feb 03 2016 ms@suse.com - Fixed updateRootDeviceFstab Support by-label mount entries for btrfs subvolumes This fixes bnc#964474 * Wed Feb 03 2016 ms@suse.com - Add kiwicompat to Makefile build and install target * Wed Feb 03 2016 ms@suse.com - Update README * Wed Feb 03 2016 ms@suse.com - Update README * Wed Feb 03 2016 ms@suse.com - Bump version: 8.10.0 → 8.10.1 * Tue Feb 02 2016 ms@suse.com - Prepare for package building * Tue Feb 02 2016 ms@suse.com - Follow up fix for fstab setup Use the system installed fstab as default if present * Tue Feb 02 2016 ms@suse.com - Support building in buildservice worker The repo setup inside of a buildservice worker uses a static path below /usr/src/packages/SOURCES/repos/. We need to adapt the provided obs uri type to match this criteria * Tue Feb 02 2016 ms@suse.com - Don't add kernel filesystems to fstab Systems with systemd which this kiwi version aims for, doesn't need proc, sysfs, debugfs and friends to be part of the fstab This fixes bnc#964472 * Fri Jan 29 2016 ms@suse.com - Fixed btrfs build with snapshots * Fri Jan 29 2016 ms@suse.com - Allow system to be installed on btrfs snapshot This fixes (bnc#946648) * Fri Jan 29 2016 ms@suse.com - Put kiwi_btrfs_root_is_snapshot to boot profile * Fri Jan 29 2016 ms@suse.com - Recompile schema and data structures New attribute btrfs_root_is_snapshot and methods * Wed Jan 27 2016 ms@suse.com - Evaluate kiwi_btrfs_root_is_snapshot in boot code If set it's required to mount the subvolumes like it is done with lvm volumes. In addition this patch fixes the update of the fstab file which has to contain an entry for each subvolume excluding snapshots and the toplevel This is related to (bnc#946648) * Wed Jan 27 2016 ms@suse.com - Added btrfs_root_is_snapshot attribute This is related to (bnc#946648) * Wed Jan 27 2016 ms@suse.com - Added fix_boot_catalog and relocate_boot_catalog * Tue Jan 26 2016 ms@suse.com - Prevent duplicate validation of cmdline * Tue Jan 26 2016 ms@suse.com - Fixed grub2 xen guest bootloader config * Mon Jan 25 2016 ms@suse.com - More modules not present for grub2/x86_64-xen * Mon Jan 25 2016 ms@suse.com - There is no multiboot module for grub2/x86_64-xen * Mon Jan 25 2016 ms@suse.com - Make sure get_partition_table_type returns a value * Mon Jan 25 2016 ms@suse.com - Use bash to call config scripts * Mon Jan 25 2016 ms@suse.com - Fixed regular expression pattern use re.escape to make sure the search string has special regular expression characters quoted correctly * Mon Jan 25 2016 ms@suse.com - Added support for using internal build service An option --obs-repo-internal was added * Mon Jan 25 2016 ms@suse.com - Add support for alternative config file *.kiwi * Mon Jan 25 2016 ms@suse.com - Allow to build directly from buildservice checkout * Mon Jan 25 2016 ms@suse.com - Fix misleading variable name * Mon Jan 25 2016 ms@suse.com - Move default boot timeout to Defaults class * Mon Jan 25 2016 ms@novell.com - Fixed boot exclude for zipl case * Mon Jan 25 2016 ms@novell.com - Fixed zipl bootloader setup and install quote special characters in title for menu. refactor the zipl bootloader install class to know about the boot partition device node * Mon Jan 25 2016 ms@novell.com - Added title quoting method for older loaders * Mon Jan 25 2016 ms@novell.com - Move VTOC creation into Disk class * Mon Jan 25 2016 ms@novell.com - Fixed missing setup_disk_boot_images for zipl The interface class implements this with a raise condition by default. For zipl no bootloader images needs to be created Thus implement the method and pass * Mon Jan 25 2016 ms@novell.com - Fixed typo in list assignment * Mon Jan 25 2016 ms@novell.com - Fixed LoopDevice class custom blocksize value must be passed as string to the command level not as integer * Mon Jan 25 2016 ms@novell.com - Platform fixes for XML tests * Mon Jan 25 2016 ms@suse.com - Platform endian fix for vhd tag test * Mon Jan 25 2016 ms@novell.com - Platform fixes for unit tests * Mon Jan 25 2016 ms@suse.com - Platform mock for grub2 bootloader tests * Mon Jan 25 2016 ms@suse.com - Platform mock for grub2 bootloader tests * Sun Jan 24 2016 ms@suse.com - Added BootLoaderInstallZipl class * Sun Jan 24 2016 ms@suse.com - Activate zipl bootloader config in factory class * Fri Jan 22 2016 ms@suse.com - Finished BootLoaderConfigZipl class and tests * Fri Jan 22 2016 ms@suse.com - Delete unused patch statement from test * Thu Jan 21 2016 ms@suse.com - Added BootLoaderConfigZipl class The implementation is still unfinished * Thu Jan 21 2016 ms@suse.com - Pass the disk device to the bootloader config As a custom option the BootLoaderConfig instance now receives the target disk device node. So far this is only used in the zipl case where it is needed which is the reason why it is kept as a custom argument * Thu Jan 21 2016 ms@suse.com - Allow custom options for bootloader config classes * Thu Jan 21 2016 ms@suse.com - Added zipl bootloader template * Wed Jan 20 2016 ms@suse.com - Added partitioner_dasd for s390 * Wed Jan 20 2016 ms@suse.com - Refactor Firmware class more information from the XML description is needed in order to make e.g decisions about the partition table type to use according to the firmware setup in combination with e.g the target loader type on s390. Thus the class now receives an instance of the XML state and not only the firmware attribute value * Wed Jan 20 2016 ms@suse.com - Disable setup of hwclock hwclock seems not exist on all supported architectures. In addition the build process should not fiddle with the build host hardware clock * Wed Jan 20 2016 ms@suse.com - No need for a condition if there is no alternative * Wed Jan 20 2016 ms@suse.com - No need for a condition if there is no alternative * Wed Jan 20 2016 ms@suse.com - Use 800x600 default for grub2 gfxmode * Wed Jan 20 2016 ms@suse.com - Close progress line with CR when finished * Wed Jan 20 2016 ms@suse.com - Added ImageBuilder factory * Tue Jan 19 2016 ms@suse.com - Added system build command Allows to combine prepare and create into one big task * Tue Jan 19 2016 ms@suse.com - Better error message for pickle exceptions There is no meaningfull error message for pickle.load exceptions. Thus only provide the exception type and our own message * Tue Jan 19 2016 ms@suse.com - Use pickle instead of marshal * Tue Jan 19 2016 ms@suse.com - Fixes for the container builder in the setup if the files to update do not exist the process failed. This patch adds a check prior to changing the file * Tue Jan 19 2016 ms@suse.com - Make sure the create task creates the target dir * Tue Jan 19 2016 ms@suse.com - Fixed result object dump marshal.dump requires an open file object not a filename * Tue Jan 19 2016 ms@suse.com - Added ContainerBuilder currently supports building of docker containers * Tue Jan 19 2016 ms@suse.com - Added ContainerImage class Factory plus implementation for docker * Tue Jan 19 2016 ms@suse.com - Refactor variable name for root directory If it is clear the source directory is the root directory of the image the variable should be named root_dir not source_dir * Mon Jan 18 2016 ms@suse.com - Fixing landscape issues * Mon Jan 18 2016 ms@suse.com - Added ContainerSetup classes Base and Factory plus implementation for docker * Fri Jan 15 2016 ms@suse.com - Refactor user/groups setup Provide an easier to travers data type in xml_state for the user and groups. The get_users() method returns a list of tuples which assigns each user list the group name and id it belongs to * Fri Jan 15 2016 ms@suse.com - Use normpath to avoid double slash in output * Fri Jan 15 2016 ms@suse.com - Added kiwi result task Implementing 'kiwi result list' which marshal loads the serialized result instance from a previous build and shows the build results * Fri Jan 15 2016 ms@suse.com - Dump the result instance as a marshal dump * Thu Jan 14 2016 ms@suse.com - Add clic as supported live media build target * Thu Jan 14 2016 ms@suse.com - Added FileSystemClicFs class * Wed Jan 13 2016 ms@suse.com - Fixed contents of header_end block off by one bug * Wed Jan 13 2016 ms@suse.com - Finished LiveImageBuilder for overlay iso type * Wed Jan 13 2016 ms@suse.com - Added check if UDF extension is needed or not * Wed Jan 13 2016 ms@suse.com - Put supported live image iso types into defaults * Wed Jan 13 2016 ms@suse.com - Added live ISO grub2 efi template and setup * Wed Jan 13 2016 ms@suse.com - pep8 fixes * Tue Jan 12 2016 ms@suse.com - Rebuild schema and data structures * Tue Jan 12 2016 ms@suse.com - Allow xfs as hybrid RW file system * Tue Jan 12 2016 ms@suse.com - Continue with LiveImageBuilder class Added isolinux bootloader setup, finished live build procedure Live metadata injection still missing. grub2 efi boot for live image still missing * Tue Jan 12 2016 ms@suse.com - Don't use filesystem specific mount option When mounting the read write filesystem, prevent using filesystem specific options like barrier * Tue Jan 12 2016 ms@suse.com - Use HYBRID_EXT4_OPTS in fat container filesystem * Tue Jan 12 2016 ms@suse.com - Check read write filesystem prior to mounting If a filesystem type could be identified on the read write partition check it before mounting to eliminate a potential dirty state * Tue Jan 12 2016 ms@suse.com - Cascade exfat mount try normal mount first, if this does not work try fuse mount Normally this is done automatically by the mount program but if not we will give the direct fuse mount a chance * Tue Jan 12 2016 ms@suse.com - Fixed Makefile target to build data structures A change in kiwi/schema/kiwi.rnc triggers the build of the schema rng version as well as an auto update of the data structures via python's generateDS. The intermediate xsd schema format is only relevant for the data structure creation process * Mon Jan 11 2016 ms@suse.com - Make createFileSystem more robust When passing in a loop file instead of a device name, the method should be smart enough to handle the name without shell evaluation * Mon Jan 11 2016 ms@suse.com - Added support for exfat as hybrid filesystem In addition to fat also exfat is now supported as persistent write filesystem. Because of the limitations of a fat filesystem fat and exfat are only used as a container filesystem providing an ext4 linux filesystem as a cowfile. The algorithm to create the size of the cow file has also been changed to use half of the size of the write partition or on fat a max size of 4G. The size of the cowfile is also prepared to become overwritten. However the XML definition and implementation to do this is still missing * Mon Jan 11 2016 ms@suse.com - Reread partition table after hybrid setup The hybrid write partition is created via fdisk. Some version of fdisk does not send the ioctl to let the kernel reread the table or fdisk itself holds it busy. Thus we actively initiate a reread via blockdev * Mon Jan 11 2016 ms@suse.com - Optimize ext4 hybrid write filesystem options Optimized for 512kB erase block size * Mon Jan 11 2016 ms@suse.com - Use mount options to increase overlay performace For overlay filesystems not writing into a tmpfs performance is more important than safety. We use this combination of options for now, if you encounter stability problems please let us know * Mon Jan 11 2016 ms@suse.com - Use -f force option for extX filesystem checker * Mon Jan 11 2016 ms@suse.com - Refactor and cleanup setupReadWrite Fix misleading error message and refactor the code to be less complex and more clear in the processing of tasks * Mon Jan 11 2016 ms@suse.com - Allow custom cowfile name for persistent data Instead of a fixed name 'cowfile' we allow a custom name which is predefined in HYBRID_PERSISTENT_FILENAME and prepared to become overwritten by an XML defintion whose implementation will follow later. Reason for the change is that a cowfile is visible as plain data file to the operating system if e.g used on a live stick. It should be more clear to the user what this file is good for * Mon Jan 11 2016 ms@suse.com - Protect mkfs.exfat from being deleted Added to the strip tools section in order to keep it in the initrd * Mon Jan 11 2016 ms@suse.com - Added support for exfat creation and probing In preparation to use exfat instead of vfat in a loop container for persistent data it's required to provide support for mkfs.exfat * Mon Jan 11 2016 ms@suse.com - Make loop_setup and loop_delete more robust The methods did not cope well with filenames containing bash characters with special meaning e.g spaces. For use with a iso hybrid cowfile whose name is visible in the OS the methods should be able to work with any given filename * Sun Jan 10 2016 ms@suse.com - Started with LiveImageBuilder class Added interface and required steps. tests and implementation are missing and will follow * Sun Jan 10 2016 ms@suse.com - Added archive builder * Sat Jan 09 2016 ms@suse.com - Added repo handling to compat caller Also added process execution with translated arguments * Fri Jan 08 2016 ms@suse.com - Add compat translation for prepare/create/upgrade * Tue Jan 05 2016 ms@suse.com - Added kiwicompat to support legacy commandline * Tue Jan 05 2016 ms@suse.com - Added install pxe archive support * Tue Jan 05 2016 ms@suse.com - Added warning message if pxedeploy section is used At the moment there is no class to build the pxe client config file from information provided with the optional pxedeploy section. However this is not fatal to the build because the file could be created manually too. Thus a warning message is shown which will go away when the pxe client config file creation has been ported * Tue Jan 05 2016 ms@suse.com - cleanup test data to be consistent * Tue Jan 05 2016 ms@suse.com - Added recovery setup * Mon Jan 04 2016 ms@suse.com - Added DiskFormatGce class implementation * Mon Jan 04 2016 ms@suse.com - Fixed suffix name for compressed archives * Sat Jan 02 2016 ms@suse.com - Added creation of gnu and xz archives to tar class * Sat Jan 02 2016 ms@suse.com - Refactor result collection Put the creation of a result object into the builder classes and return them from there. The builder instances knows about the results not the task instances * Fri Jan 01 2016 ms@suse.com - Fixed option handling for vmdk format * Fri Jan 01 2016 ms@suse.com - Activate disk format building in disk builder If disk format and install media is configured together only the install media will be built and a warning message for skipping the disk format is shown * Fri Jan 01 2016 ms@suse.com - Added custom argument handling for disk formats * Fri Jan 01 2016 ms@suse.com - Added DiskFormat factory * Fri Jan 01 2016 ms@suse.com - Added DiskFormatVmdk class implementation * Tue Dec 29 2015 ms@suse.com - pep8 fixes * Tue Dec 29 2015 ms@suse.com - Added DiskFormatVhdFixed class implementation * Tue Dec 29 2015 ms@suse.com - Delete unused test data symlinks * Wed Dec 23 2015 ms@suse.com - Added DiskFormatVhd class implementation * Wed Dec 23 2015 ms@suse.com - Added DiskFormat base class Also added implementation for DiskFormatQcow2. More format classes will follow next * Wed Dec 23 2015 ms@suse.com - Fixed import of kernel parameters including spaces Kernel parameters like PRODUCT_TYPE=“PRODUCT BANANA” breaks the code in includeKernelParameters. This patch allows spaces for values in a way that it replaces the embedded whitespace with \030 before parsing and then reverting after parsing. Thanks to Jay Nitikman for providing the patch * Tue Dec 22 2015 ms@suse.com - Fixed LUKS setup for dracut The system image has to provide /etc/crypttab to allow dracut to create a working initrd for reboot. In addition the name of the luks map must be 'luks' to make dracut happy. * Tue Dec 22 2015 ms@suse.com - luks setup triggers boot partition by default * Tue Dec 22 2015 ms@suse.com - Add LuksDevice class and implementation Also implemented luks support in DiskBuilder * Tue Dec 22 2015 ms@suse.com - Handle /boot/vc files for Raspberry Pi openSUSE Tumbleweed raspberrypi-firmware[-branding-openSUSE] packages have been updated to install files to /boot/vc rather than /boot. Ensure that all files in /boot/vc are provided in image/loader for further reference * Tue Dec 22 2015 ms@suse.com - Refactor file system check in boot code * Mon Dec 21 2015 ms@suse.com - Make sure VolumeManager instance updates root map An instance of volume manager could cause the creation of a new device e.g in case of LVM. The master device map in the disk builder has to be updated with this device * Mon Dec 21 2015 ms@suse.com - Fixed unconditional lookup of boot partition id * Mon Dec 21 2015 ms@suse.com - Package check for packages marked for deletion If none of the packages to become deleted are installed we will raise an error, basically to force people to fixup the image description * Mon Dec 21 2015 ms@suse.com - Better error message for call with unknown command If kiwi is called with an unknown command an error message showing which commands actually exists should be shown * Mon Dec 21 2015 ms@suse.com - Fixed user group creation The command name is groupadd not addgroup * Mon Dec 21 2015 ms@suse.com - Fixed label and UUID support for XFS creation * Mon Dec 21 2015 ms@suse.com - Traverse dictionary in ordered mode * Mon Dec 21 2015 ms@suse.com - Return sorted lists for packages/archives * Mon Dec 21 2015 ms@suse.com - Traverse dictionary in ordered mode * Mon Dec 21 2015 ms@suse.com - Traverse dictionary in ordered mode * Mon Dec 21 2015 ms@suse.com - Traverse dictionary in ordered mode * Fri Dec 18 2015 ms@suse.com - Added __githash__ to version.py Any time the version.py is changed and committed the git ident will be reset by git. After a checkout of version.py the ident will be updated in version.py to the git commit id of version.py Whenever we relase a new kiwi version the process is as follows: 1. run bumpversion to set the version for the release 2. run tox to create the source tarball for the release We have to make sure tox calls a git checkout of version.py * Thu Dec 17 2015 ms@suse.com - Consolidate use of Makefiles for schema conversion As we are going to switch to tox the Makefile setup should be cleaned up. The make targets to build xsd and rng schemas has been moved to the master Makefile * Thu Dec 17 2015 ms@suse.com - Consolidate use of Makefiles for locale setup As we are going to switch to tox the Makefile setup should be cleaned up. The make targets to handle po files and their installation has now been moved to the master Makefile * Thu Dec 17 2015 ms@suse.com - Update translation po files with template * Thu Dec 17 2015 ms@suse.com - Consolidate use of Makefiles for compiling tools As we are going to switch to tox the Makefile setup should be cleaned up. I'm going to move the various places and its tasks into one master Makefile to make it easier to move the targets one after the other into a tox setup. * Thu Dec 17 2015 ms@suse.com - Refactor source code structure All files referenced by kiwi should live below the kiwi namespace and should be referenced by the resource_filename() method from the pkg_resources * Wed Dec 16 2015 ms@suse.com - Update exclude list for boot image runtime data There are some directories needed during boot image creation time, e.g grub2 modules to create grub images. But at boot time this data is no longer required and would just waste space in the initrd * Wed Dec 16 2015 ms@suse.com - Delete dracut from boot images dracut is needed in the system and also called from there by the kiwi boot image, but inside of the boot image it is not needed and just wastes space * Wed Dec 16 2015 ms@suse.com - Add some paths not needed in the boot image * Wed Dec 16 2015 ms@suse.com - Added boot messages translations * Wed Dec 16 2015 ms@suse.com - Exclude /image from boot images * Wed Dec 16 2015 ms@suse.com - Change default boot image description path Let the default boot image description path point to boot/arch * Wed Dec 16 2015 ms@suse.com - Make sure the boot image profile provides its name The variable kiwi_initrdname was added to the .profile environment for boot image builds * Wed Dec 16 2015 ms@suse.com - Update boot image functions Delete a lot of legacy code from the bash boot code * Wed Dec 16 2015 ms@suse.com - Added boot image descriptions Provide boot(initrd) image descriptions for supported architectures and distributions * Tue Dec 15 2015 ms@suse.com - Fixed unit tests, mock NamedTemporaryFile * Tue Dec 15 2015 ms@suse.com - Added coverage to developer requirements * Tue Dec 15 2015 toms@suse.de - Use "next generation" string To distinguish it between old and new KIWI * Tue Dec 15 2015 toms@suse.de - Review and add corrections * Consistent spelling: kiwi -> KIWI, python -> Python * Add punctuation * Use backticks for scripts and dirs * Tue Dec 15 2015 ms@suse.com - Update development status to be inline with setup.py * Tue Dec 15 2015 ms@suse.com - Deleted no longer needed bin/kiwi script * Tue Dec 15 2015 ms@suse.com - Update README Added developer information how to contribute * Tue Dec 15 2015 ms@suse.com - Minor changes in virtualenv setup file names Moved the requirements.txt setup files into a namespace called .virtualenv in order to stay compatible with the .travis requirement files * Tue Dec 15 2015 ms@suse.com - Update development status in setup.py * Mon Dec 14 2015 tom_schr@web.de - Fix #5: Improve setup.py * setup.py: - use setuptools always, no need to check for distutils - include keywords 'include_package_data', 'zip_safe', and 'classifiers' * setup.cfg: - add bdist_wheel and sdist section * Add missing MANIFEST.in (needed for setup.py dist) * Remove executable bit for LICENSE and README.md * Mon Dec 14 2015 tom_schr@web.de - Fix #3: Requirement for Virtual Envs * Add requirements.txt and dev-requirements.txt The dev-requirements.txt installs requirements.txt automatically * Ignore .env, .env2, and .env3 virtual env directories * Mon Dec 14 2015 tom_schr@web.de - Fix #4: support bumpversion with .bumpversion.cfg * Mon Dec 14 2015 ms@suse.com - Added RaidDevice class implementation in disk_builder * Fri Dec 11 2015 ms@suse.com - Fixed hybrid call offset number should be passed as string to Command * Fri Dec 11 2015 toms@suse.de __VERSION__ -> __version__ * Fri Dec 11 2015 toms@suse.de - Rename __VERSION__ -> __version__ * Thu Dec 10 2015 ms@suse.com - Added hybrid ISO setup * Thu Dec 10 2015 ms@suse.com - Refactor creation of a PackageManager factory * Thu Dec 10 2015 ms@suse.com - Refactor creation of a Repository factory * Thu Dec 10 2015 ms@suse.com - Refactor creation of a BootLoaderInstall factory * Thu Dec 10 2015 ms@suse.com - Refactor creation of a VolumeManager factory * Thu Dec 10 2015 ms@suse.com - Refactor creation of a BootLoaderConfig factory * Thu Dec 10 2015 ms@suse.com - Refactor creation of a Partitioner factory * Thu Dec 10 2015 ms@suse.com - Refactor creation of a FileSystem factory * Thu Dec 10 2015 ms@suse.com - Fixed travis setup * Thu Dec 10 2015 ms@suse.com - Refactor InstallImageBuilder no need to provide the name of the disk image, this information can be created from the xml state * Thu Dec 10 2015 ms@suse.com - Fixed missing md5 file on install media * Wed Dec 09 2015 ms@suse.com - Travis testing needs cdrtools for isoinfo * Wed Dec 09 2015 ms@suse.com - Added two pass ISO creation system The kiwi ISO's are prepared to be hybrid by adding an end header block so that isohybrid can place its gpt header at the correct offset address * Wed Dec 09 2015 ms@suse.com - Added user log messages for install media builder * Wed Dec 09 2015 ms@suse.com - Fixed grub bootloader template for install case Template was missing the cdinst option * Wed Dec 09 2015 ms@suse.com - Added create_header_end_block method in Iso class * Wed Dec 09 2015 ms@suse.com - Added isols method in Iso class * Wed Dec 09 2015 ms@suse.com - Fixed ui theme setup in isolinux.cfg * Wed Dec 09 2015 ms@suse.com - Added isolinux bootloader support * Mon Dec 07 2015 ms@suse.com - Prevent zypper failing on outdated system solvable * Sun Dec 06 2015 ms@suse.com - landscape: fix unused imports * Sun Dec 06 2015 ms@suse.com - Refactor boot data extraction from boot image Allow data extraction multiple times, don't move files away from their original location * Sat Dec 05 2015 ms@suse.com - landscape: fix unused imports * Sat Dec 05 2015 ms@suse.com - landscape: fix unused variables * Sat Dec 05 2015 ms@suse.com - Add debug message for repo cleanup * Sat Dec 05 2015 ms@suse.com - landscape: fix unused variables * Sat Dec 05 2015 ms@suse.com - landscape: fix unused imports * Sat Dec 05 2015 ms@suse.com - landscape: fix dangerous defaults * Sat Dec 05 2015 ms@suse.com - landscape: fix dangerous defaults * Sat Dec 05 2015 ms@suse.com - Added landscap config file skip checking auto generated code * Sat Dec 05 2015 ms@suse.com - Update README * Sat Dec 05 2015 ms@suse.com - Set naster branch for travis setup * Sat Dec 05 2015 ms@suse.com - Update README * Sat Dec 05 2015 ms@suse.com - Update README Travis and Landscape status * Sat Dec 05 2015 ms@suse.com - Update README * Sat Dec 05 2015 ms@suse.com - Update README
/usr/lib/dracut/modules.d/90kiwi-repart /usr/lib/dracut/modules.d/90kiwi-repart/kiwi-repart-disk.sh /usr/lib/dracut/modules.d/90kiwi-repart/module-setup.sh
Generated by rpm2html 1.8.1
Fabrice Bellet, Tue Jul 9 20:14:19 2024