Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

kiwi-systemdeps-containers-wsl-10.1.16-slfo.1.1.2 RPM for x86_64

From OpenSuSE Leap 16.0 for x86_64

Name: kiwi-systemdeps-containers-wsl Distribution: SUSE Linux Framework One
Version: 10.1.16 Vendor: SUSE LLC <https://www.suse.com/>
Release: slfo.1.1.2 Build date: Wed Oct 23 12:21:32 2024
Group: System/Management Build host: reproducible
Size: 0 Source RPM: python-kiwi-10.1.16-slfo.1.1.2.src.rpm
Packager: https://www.suse.com/
Url: https://github.com/OSInside/kiwi
Summary: KIWI - host requirements for WSL container images
Host setup helper to pull in all packages required/useful on
the build host to build WSL container images

Provides

Requires

License

GPL-3.0-or-later

Changelog

* Wed Oct 23 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.15 → 10.1.16
* Wed Oct 23 2024 marcus.schaefer@gmail.com
  - Fix erofs requires in spec
    erofs-utils for SUSE only exists in Tumbleweed. The
    former conditon would also add the requirement for ALP
    and SLFO which is wrong. This commit fixes it
* Tue Oct 22 2024 marcus.schaefer@gmail.com
  - Add vagrantconfig rule for vagrant format
    If the format="vagrant" attribute is set, a vagrantconfig
    section becomes mandatory. This commit enforces this rule
    on the schema. This Fixes #2666
* Mon Oct 21 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.14 → 10.1.15
* Thu Oct 17 2024 marcus.schaefer@gmail.com
  - Fixed sphinx_rtd_theme setup
    Delete obsolete display_version attribute
* Thu Oct 17 2024 marcus.schaefer@gmail.com
  - Evaluate eficsm everywhere
    Fixed _supports_bios_modules() to take an eventually
    provided eficsm setup into account. The grub config still
    searches for i386 grub modules even if eficsm="false"
    is set.
* Thu Oct 17 2024 marcus.schaefer@gmail.com
  - Fixed debian bootstrap script calls
    Run scripts as commands with their native shebang and not
    through bash. Not all debian package scripts uses bash, some
    of them uses sh which can be a link to dash or other
    interpreters. This Fixes #2660
* Thu Oct 17 2024 marcus.schaefer@gmail.com
  - Update TW integration tests
    The package x86info was dropped from TW
* Wed Oct 16 2024 dcermak@suse.com
  - Turn DiskFormat into an ordinary class
    - it does not need to be an abstract base class
    - use f-strings where applicable instead of format()
    - change return type of _custom_args_for_format from list to tuple
* Tue Oct 15 2024 marcus.schaefer@gmail.com
  - Add new containers section
    Allow to specify references to OCI containers in the
    image description like in the following example:
    <containers source="registry.suse.com" backend="podman">
    <container name="some" tag="some" path="/some/path"/>
    </containers>
    During the kiwi process the containers are fetched into a
    temporary location and a systemd service is configured to
    one time load the containers into the local registry at
    first boot of the system. This Fixes #2663
* Fri Oct 04 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.13 → 10.1.14
* Fri Oct 04 2024 marcus.schaefer@gmail.com
  - Revert "Install usrmerge for Debian integration test"
    This reverts commit 95ac861741f14c4f35611c16328384c18e53dcfb.
    Solution needs to be provided in code
* Fri Oct 04 2024 marcus.schaefer@gmail.com
  - Install usrmerge for Debian integration test
* Mon Sep 30 2024 marcus.schaefer@gmail.com
  - Support older apt versions for bootstrap
    This Fixes #2660
* Fri Sep 27 2024 marcus.schaefer@gmail.com
  - Run package scripts in apt bootstrap phase
    The bootstrap procedure based on apt only runs a manual
    collection of package scripts. This commit refactors the
    code that unpacks the bootstrap packages to a python
    implementation and adds a method to run the bootstrap
    scripts from all packages resolved by apt.
* Thu Sep 26 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.12 → 10.1.13
* Thu Sep 26 2024 marcus.schaefer@gmail.com
  - Fix bundle extension for vagrant type
    When bundling result files that uses a vagrant type,
    kiwi creates them with the extension .vagrant.virtualbox.box
    or .vagrant.libvirt.box. The bundler code renames them using
    only the .box suffix which is too short as it is missing
    the subformat information. This commit fixes it and keeps
    this information in the result bundle file name.
    This Fixes #2656
* Thu Sep 26 2024 marcus.schaefer@gmail.com
  - Use simple quotas (squota) for volumes
* Wed Sep 25 2024 marcus.schaefer@gmail.com
  - Add quota attribute to volume section
    Allow to set quota per volume for the btrfs filesystem
    This Fixes #2651
* Tue Sep 24 2024 alyssa@rosenzweig.io
  - Fix globbing with exclude with regex
    This fixes a collection of bugs when producing erofs images.
    On one hand, this ensures that an exclude of `/sys` doesn't accidentally
    match `/lib/libsystemd.so`, only `/sys/whatever`.
    On the other hand, this ensures that `/dev/*` does match `/dev/vda` and
    not just `/dev///////////`.
    This fixes libsystemd.so getting dropped in Kiwi-built FEX images.
    Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
* Tue Sep 24 2024 alyssa@rosenzweig.io
  - Honour custom exclude for filesystem builds
    All other call sites honour the custom exclude file, it's just this one
    that needs to be fixed. This unblocks use of Kiwi for generating FEX
    rootfs.
    Closes: #2652
    Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
* Mon Sep 23 2024 isaac@is.having.coffee
  - test: storage: update clone_device tests with new block size
    Signed-off-by: Isaac True <isaac@is.having.coffee>
* Fri Sep 20 2024 isaac@is.having.coffee
  - storage: clone_device: increase dd block size
    Increasing the block size used for dd reduces the time needed to clone a
    device.
    Signed-off-by: Isaac True <isaac@is.having.coffee>
* Tue Sep 17 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.11 → 10.1.12
* Tue Sep 17 2024 marcus.schaefer@gmail.com
  - Add missing erofscompression validation
    In the filesystem builder I forgot to evaluate the
    erofscompression attribute. This Fixes #2647
* Mon Sep 16 2024 marcus.schaefer@gmail.com
  - Include PI and comments in XSL stylesheets
    So far comments and processing instructions (PI) were
    ignored when applying the XSL stylesheets. This commit
    updates all stylesheets to take them into account
* Fri Sep 13 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.10 → 10.1.11
* Fri Sep 13 2024 marcus.schaefer@gmail.com
  - doc: Add login information test build test images
* Fri Sep 13 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.9 → 10.1.10
* Thu Sep 12 2024 msuchanek@suse.de
  - bootloader: Fix up ppc64 bootinfo again
    To make the code look pretty extra newline is inserted at the start of
    bootinfo file. This appears to break boot on Power9 PowerVM LPARs.
* Thu Sep 12 2024 marcus.schaefer@gmail.com
  - Add support for erofs
    erofs is an alternative readonly filesystem that can be
    used as alternative to squashfs. This Fixes #2633
* Thu Sep 12 2024 marcus.schaefer@gmail.com
  - Fixed enclave integration test
    The SELinux policy of Fedora Rawhide when running completely in
    an initrd is not suitable to let the system boot up. Thus the
    current solution is to boot in permissive mode. A better solution
    for the future would probably be a selinux policy for enclaves
* Wed Sep 11 2024 marcus.schaefer@gmail.com
  - limit eif_build requires to fedora >= 42
* Wed Sep 11 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.8 → 10.1.9
* Wed Sep 11 2024 marcus.schaefer@gmail.com
  - Added sshd to nitro-enclave integration test
* Wed Sep 11 2024 marcus.schaefer@gmail.com
  - Fixed container sync options
    Do not exclude/filter any security/xattr capabilities.
* Wed Sep 11 2024 marcus.schaefer@gmail.com
  - Update container integration test
    Add getcap to check on filesystem capabilities
* Wed Sep 11 2024 marcus.schaefer@gmail.com
  - Add new build type provides for enclave
    Add a provides tag (read by the open buildservice) for the new
    enclave builder. Also add a recommends to eif_builder in
    the systemdeps-core meta package
* Tue Sep 10 2024 marcus.schaefer@gmail.com
  - Update enclave documentation
    Fixup repo setup in the build documentation
* Tue Sep 10 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.7 → 10.1.8
* Tue Sep 10 2024 marcus.schaefer@gmail.com
  - Fixed enclave documentation
    Path to the build test was not correct
* Tue Sep 10 2024 marcus.schaefer@gmail.com
  - Update test-image-nitro-enclave package list
    Fixup package list to match Fedora rawhide
* Tue Sep 10 2024 marcus.schaefer@gmail.com
  - Move test-image-nitro-enclave to rawhide
* Tue Sep 10 2024 msuchanek@suse.de
  - Fix ppc64 chrp bootinfo generation
* Mon Sep 09 2024 marcus.schaefer@gmail.com
  - Fixed documentation header
    Fixed double H1 headers from the boxbuild tweaks chapter.
* Mon Sep 09 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.6 → 10.1.7
* Mon Sep 09 2024 marcus.schaefer@gmail.com
  - Move EXEC log message to the right place
    The log information of the command execution was not printed
    directly before the actual command invocation. There are other
    actions after the log information (e.g Path.which) which itself
    produce log information prior the real subprocess execution.
    This is very misleading when reading the log file and fixed
    in this commit.
* Mon Sep 09 2024 marcus.schaefer@gmail.com
  - Add support for architectures in deb source file
    When apt resolves packages on a multiarch repo it can happen
    that dependencies for packages from other architectures are
    pulled into the solver process but are not provided by any
    repository. To overcome this behavior the repository can
    be setup to serve packages only for a specified architecture
    or list of architectures. This is related to
    OSInside/kiwi-descriptions#102
* Fri Sep 06 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.5 → 10.1.6
* Thu Sep 05 2024 16296930+kastakhov@users.noreply.github.com
  - add allowExtraConfig and exportFlags to ovftool options
    Add allowExtraConfig and exportFlags to ovftool options
* Thu Sep 05 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.4 → 10.1.5
* Wed Sep 04 2024 wfeldt@opensuse.org
  - create EFI/BOOT only if UEFI boot is intended
* Wed Sep 04 2024 wfeldt@opensuse.org
  - Fix boot support for ISO media on ppc64
    add CHRP boot support for ppc64 and add xorriso option to avoid
    file name reduction to MS-DOS compatible 8.3 format
* Tue Sep 03 2024 marcus.schaefer@gmail.com
  - Fix initrd permissions
    kiwi stored the initrd for ISO images as 600 which might
    be too restrictive. This commit makes sure the initrd is
    stored as 644 and Fixes bsc#1229257
* Tue Sep 03 2024 marcus.schaefer@gmail.com
  - Fixed ramdisk size setup
    For setting up the brd rd_size option kiwi creates
    99-brd.conf used at load time of the kernel brd driver.
    The location for the conf file is set to /etc/modprobe.d/
    However, in newer versions the location has changed to
    /usr/lib/modprobe.d/ and /etc/modprobe.d is no longer
    expected to exist. This commit makes sure /etc/modprobe.d
    is created if not present.
* Tue Sep 03 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.3 → 10.1.4
* Mon Sep 02 2024 16296930+kastakhov@users.noreply.github.com
  - Add note about guestOS values for vmware ovftools.
* Mon Sep 02 2024 16296930+kastakhov@users.noreply.github.com
  - Add note about guestOS values for vmware platform.
* Mon Sep 02 2024 marcus.schaefer@gmail.com
  - Fixed resize of dos table type on s390
    On s390, parted is used to detect the partition table type.
    In contrast to blkid the name for DOS tables is reported
    as 'msdos' and not 'dos' which impacts several conditions
    in the kiwi initrd code which checks for 'dos'. This commit
    fixes the get_partition_table_type() method to return a
    consistent table name for DOS tables. This Fixes bsc#1228729
* Mon Sep 02 2024 marcus.schaefer@gmail.com
  - Revert "remove dependency on /usr/bin/python"
    This reverts commit 15b450188483b567ca10bb459bf50ed90e905bb7.
    The change provided here entirely broke kiwi in OBS. With this
    patch applied every image build in OBS fails with the following
    message: 'line 1: /usr/sbin/kiwi: No such file or directory'
* Mon Sep 02 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.2 → 10.1.3
* Sun Sep 01 2024 marcus.schaefer@gmail.com
  - Fix bundle extension for archive types
    When bundling result files that uses an archive type like
    tbz or docker, kiwi creates them with the extension tar.xz/tar.gz
    The bundler code only uses the extension from the last tuple
    in a "." split which is wrong for "tar." filenames. This commit
    adds an exception to the prefix rule for this output filenames
    and Fixes #2628
* Sun Sep 01 2024 marcus.schaefer@gmail.com
  - Fix ImageSystem mount procedure
    The mount() method did not take custom partitions into account.
    This commit fixes it. This Fixes #2619
* Tue Aug 27 2024 pgajdos@suse.cz
  - remove dependency on /usr/bin/python
* Sun Aug 25 2024 ngompa@velocitylimitless.com
  - Add support for isomd5sum for tagging iso files
    The isomd5sum tool suite is used and available on all supported
    distributions except SUSE distributions, and is necessary to produce
    conformant ISOs for most Linux distributions.
    This change adds support for isomd5sum tool suite for kiwi, though
    it does not extend the kiwi-live dracut module to use it. The upstream
    dracut dmsquash-live module must be used instead.
    Co-authored-by: Dan Čermák <dcermak@suse.com>
* Sat Aug 24 2024 ngompa@velocitylimitless.com
  - kiwi/builder/live: Log the correct value for Application ID
    Since it is now possible to set a custom application ID, we want
    to see this when it is being used for the image.
* Sat Aug 24 2024 ngompa@velocitylimitless.com
  - kiwi/builder/live: Clean up leftover dracut configuration file
    The existence of this file breaks installers on live media that
    sync the full filesystem to disk and are not aware of this configuration
    before generating the target system initramfs.
* Fri Aug 23 2024 ngompa@velocitylimitless.com
  - Allow string versions and test "word" versions
    There are descriptions out in the wild that use "non-numeric" versions
    in their descriptions, particularly without separators for splitting.
    This change switches all of this to strings rather than assuming
    numbers and gracefully handles the single word case.
* Sat Aug 17 2024 holdenrf2021@gmail.com
  - Add documentation for boxbuild tweaks
* Fri Aug 16 2024 marcus.schaefer@gmail.com
  - Fixed wrong log level on --logfile
    When using --logfile, the log generated there matches the
    stdout log (which without --debug, does not include any debug info).
    This is in contrast to the automatically generated one in the
    output directory, which always does and also not following the
    way how it is documented. This Fixes #2503
* Mon Aug 12 2024 marcus.schaefer@gmail.com
  - Fixed arch flag for namedCollection
    The arch flag in a namedCollection was not taken into account.
    This commit fixes this and also makes sure the result information
    is sorted and unique like we have it for the package lists.
    This Fixes #2600
* Fri Aug 09 2024 marcus.schaefer@gmail.com
  - Fix handling of zipl.conf in plain zipl bootloader
    When using the plain zipl bootloader kiwi created a /etc/zipl.conf
    file. However, this file was only useful during image build as it
    points to a loop target device and geometry but does not represent
    a proper config file to be used in the running system. In addition
    the different distributors provides their own version and layout
    of the zipl.conf to be used inside of the system and with their
    respective tools. Thus this commit changes the way how kiwi operates
    in a way that the zipl.conf used in the initial image only exists
    during the image build process. An eventual present /etc/zipl.conf
    will not be touched by kiwi. This Fixes #2597
* Thu Aug 08 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.1 → 10.1.2
* Thu Aug 08 2024 marcus.schaefer@gmail.com
  - Improve error reporting for remote deployment
    Add new method called show_log_and_quit which displays
    the written error log file as a file box to the user
* Thu Aug 08 2024 marcus.schaefer@gmail.com
  - Update test-image-orthos integration test
    Update the test such that you can also build it locally.
    Change the remote installation target to be a ramdisk
    for easy testing of remote deployments
* Thu Aug 08 2024 marcus.schaefer@gmail.com
  - Setup default minimum volume size per filesystem
    The former method provided a static value but there are huge
    differences for the minimum size requirement of a filesystem.
    For example extX is fine with 30MB whereas XFS requires 300MB.
    This commit adds a more dynamic default value based on the
    used filesystem.
* Wed Aug 07 2024 marcus.schaefer@gmail.com
  - Increase default volume size
    So far 30MB was set as default volume size which is by far
    too small for a number of filesystems, e.g btrfs and also XFS.
    This commit increases the default volume size such that all
    modern filesystems builds if the default volume size is used.
* Wed Aug 07 2024 marcus.schaefer@gmail.com
  - Update test-image-raid
    Apart from testing raid this integration test also tests
    a certain LVM volume setup. The test has been updated
    to use the btrfs filesystem because it has the most strict
    size requirements.
* Tue Aug 06 2024 dcermak@suse.com
  - Use shutil.which for Path.which
* Tue Aug 06 2024 dcermak@suse.com
  - Drop Path.remove & Path.rename
    Both methods were only used in one place each and it makes much more sense to
    use the pathlib builtin methods instead
* Tue Aug 06 2024 dcermak@suse.com
  - Replace Path.create implementation with pathlib builtin
* Tue Aug 06 2024 marcus.schaefer@gmail.com
  - Bump version: 10.1.0 → 10.1.1
* Mon Aug 05 2024 marcus.schaefer@gmail.com
  - Mandatory package scripts for Debian bootstrap
    Make sure to run some mandatory package pre/post scripts
    such that settings like /etc/passwd, a root user, etc..
    exists. This action can also be done in post_bootstrap.sh
    but I think it's better to do this in the core code
* Mon Aug 05 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.28 → 10.1.0
* Mon Aug 05 2024 marcus.schaefer@gmail.com
  - kiwi no longer uses debootstrap
    For building Debian based images we used debootstrap to
    bootstrap an empty root until apt-get could be used to
    complete the job. This has now changed such hat apt-get
    is also used for bootstrapping a new system. The concept
    and also potential alternatives to the way kiwi bootstraps
    Debian based systems can be found here:
    * https://osinside.github.io/kiwi/working_with_images/build_without_debianbootstrap.html
    Due to the drop of debootstrap it might happen that
    package lists of existing image descriptions needs to be
    extended with packages that were formerly pulled in by
    debootstrap but did not get properly pulled in with the
    new apt based bootstrap. As reference please check out the
    integration tests from here:
    * https://github.com/OSInside/kiwi/tree/main/build-tests/x86/ubuntu
    * https://github.com/OSInside/kiwi/tree/main/build-tests/x86/debian
    Thanks
* Mon Aug 05 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.27 → 10.0.28
* Sat Aug 03 2024 marcus.schaefer@gmail.com
  - Update documentation
    kiwi no longer uses debootstrap
* Fri Aug 02 2024 marcus.schaefer@gmail.com
  - Fix test_process_result_bundle_as_rpm
* Fri Aug 02 2024 marcus.schaefer@gmail.com
  - Fix Debian/Ubuntu integration tests
    Remove package hacks for debootstrap, explicitly add
    required packages and or configurations.
* Fri Aug 02 2024 marcus.schaefer@gmail.com
  - Drop types-pkg_resources
    Got removed from PyPI
* Wed Jul 31 2024 marcus.schaefer@gmail.com
  - Fix test_process_result_bundle_as_rpm
    os.path.basename was called on a MagicMock object which
    sometimes confused pytest
* Wed Jul 31 2024 marcus.schaefer@gmail.com
  - Fix kiwi-repart restrictions
    The kiwi repart dracut module reads a profile file and if it
    does not exists it dies in the initrd. However, that profile
    file is not mandatory for the main resize functionality. Thus
    this commit turns this into a warning message. In addition
    the module-setup for 90kiwi-repart makes sure to include
    the required and optional profile files.
    This Fixes bsc#1228118
* Tue Jul 30 2024 marcus.schaefer@gmail.com
  - Do not exclude the .profile env file by default
    kiwi's initrd modules read a .profile file which gets included
    into the initrd produced at build time. To allow rebuild of a
    host-only initrd from the booted system this information should
    be present such that it is possible to re-use kiwi initrd code.
* Tue Jul 30 2024 marcus.schaefer@gmail.com
  - Get rid of debootstrap
    Replace debootstrap with an apt-get based pre-download of
    packages followed by a dpkg-deb extraction.
    This Fixes #2599
* Tue Jul 30 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.26 → 10.0.27
* Tue Jul 30 2024 fvogt@suse.de
  - Fix dracut-interactive with systemd 256
    With systemd 256, /usr (and thus also /bin/) is read-only in the initrd.
    Move dracut-interactive and its .service into /run instead.
* Sun Jul 21 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.25 → 10.0.26
* Fri Jul 19 2024 dpopov@suse.com
  - Revise scripts_testing.rst
* Fri Jul 19 2024 dpopov@suse.com
  - Revise schema_extensions.rst
* Wed Jul 17 2024 marcus.schaefer@gmail.com
  - Pass kernel cmdline to agama
    In the agama integration test make sure to pass along
    the kernel boot parameters to allow controlling the
    behavior of agama better
* Mon Jul 15 2024 marcus.schaefer@gmail.com
  - Add <file> directive to incorporate custom files
    Usually custom files are managed by placing them as overlay
    files or archives. However, overlay files must be structured
    inside of a root/ subdirectory and archive files are binary
    data. It is therefore not straight forward to just reference
    one or more files as source files to the image description
    to be placed into the image. This commit adds a new <file>
    element which allows to do this. This Fixes #1953
* Sun Jul 14 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.24 → 10.0.25
* Fri Jul 12 2024 marcus.schaefer@gmail.com
  - Fix mocking of test_process_result_bundle_as_rpm
* Fri Jul 12 2024 marcus.schaefer@gmail.com
  - Fixed logging behavior of Compress::get_format
    The get_format() method allows to check which compression format
    a given input stream has. This is done by calling the supported
    compression tools in a row and let them check if they can deal
    with the provided data or not. As a result error messages are
    logged for streams that some tool doesn't understand. However,
    those error messages are no errors and only the result of the
    checking. This information in the kiwi log file is confusing
    and several users already complained when they see information
    like:
    EXEC: Failed with stderr: /usr/bin/xz: ...: File format not recognized
    This commit changes how the compression tooling is called in a
    way that no exception is raised (which leads to the above error message)
    but the result returncode is used to decide on the success or
    error of the respective compression tooling.
* Fri Jul 12 2024 marcus.schaefer@gmail.com
  - Allow to set custom ISO Application ID
    Add new <type ... application_id="..."/> attribute to be set in
    the ISO header main block. The application ID was used as identifier
    in the legacy initrd code from former kiwi versions. Because of
    this there is still the compat layer which sets an App ID as MBR
    identifier string unless the new application_id overwrites it.
    This Fixes #1810
* Fri Jul 12 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.23 → 10.0.24
* Thu Jul 11 2024 marcus.schaefer@gmail.com
  - Added integration test for SUSE agama installer
    This integration test builds a self-install ISO image which
    drops the SUSE Agama installer into a ramdisk for performing
    an interactive installation procedure to test Agama
* Thu Jul 11 2024 marcus.schaefer@gmail.com
  - Add --set-type-attr and --set-release-version
    Allow to set/overwrite type section attributes via the cmdline.
    Allow to set/add the release-version element via the cmdline.
    This Fixes #2478 and Fixes #2588
* Wed Jul 10 2024 marcus.schaefer@gmail.com
  - Update integration test for eficsm
    Update the type of the Secure profile of the live image integration
    test as well as the type of the simple-disk test to make use of the
    eficsm="false" attribute to switch off CSM mode and test an EFI only
    layout.
* Wed Jul 10 2024 marcus.schaefer@gmail.com
  - Add new eficsm type attribute
    Allow to produce EFI/UEFI images without hybrid CSM
    capabilities. This Fixes #2407
* Wed Jul 10 2024 dpopov@suse.com
  - kiwi_plugin_architecture.rst
* Wed Jul 10 2024 dpopov@suse.com
  - Revise kiwi_from_python.rst
* Wed Jul 10 2024 marcus.schaefer@gmail.com
  - Wait for loop device detach to complete
    Detaching a loop device via 'losetup -d' is an async operation.
    Once the command returns the loop can still be associated with
    the block special. Therefore this commit waits until the block
    device got released or a timeout is hit. This Fixes #2580
* Tue Jul 09 2024 marcus.schaefer@gmail.com
  - Update requires for kiwi-systemdeps-disk-images
    On Tumbleweed several changes caused tools like strings
    or the codepage for mtools to be missing in a standard
    installation. For building disk images especially EFI
    capable ones with vendor information kiwi needs the above
    tool. This commit adds the packages providing them on
    Tumbleweed to the meta systemdeps for disk images.
    This Fixes #2585
* Mon Jul 08 2024 marcus.schaefer@gmail.com
  - Supplements are not understood by Debian/Ubuntu
* Fri Jul 05 2024 marcus.schaefer@gmail.com
  - Add new builder for enclaves
    Add new EnclaveBuilder class which allows to build initrd-only
    image types. The first enclave implementation covers aws-nitro
    images produced via the eif_build tooling.
* Thu Jul 04 2024 marcus.schaefer@gmail.com
  - Split out bash completion into a sub-package
    Per review of the SUSE packaging team we should split out
    the bash completion into its own sub-package to give users
    better control over the completion feature.
* Thu Jul 04 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.22 → 10.0.23
* Thu Jul 04 2024 neal@gompa.dev
  - package: Add fully qualified provides for python3-kiwi in spec
    On SUSE distributions, currently the expectation is that packages
    built against the Python interpreter should have fully qualified
    names in the form of pythonXY-<modulename>. Additionally, all other
    Linux distributions prefer something similar in the form of
    pythonX.Y-<modulename>.
    This ensures we have those names so that distribution dependency
    generation works as expected.
* Thu Jul 04 2024 marcus.schaefer@gmail.com
  - Add support for arch selector on volumes
    The optional <volume ... arch=""/> attribute allows to create
    the volume only if it matches the specified host architecture.
    Multiple architecture names can be specified as comma separated
    list.
* Wed Jun 26 2024 marcus.schaefer@gmail.com
  - Add rd.kiwi.oem.force_resize boot option
    Forces the disk resize process on an OEM disk image.
    If set, no sanity check for unpartitioned/free space
    is performed and also an eventually configured
    <oem-resize-once> configuration from the image description
    will not be taken into account. This Fixes bsc#1224389
* Tue Jun 25 2024 marcus.schaefer@gmail.com
  - Fixed leap integration tests
    For whatever reason procps is not longer pulled in by the
    core dependencies. Thus we have to explicitly request it
* Thu Jun 20 2024 marcus.schaefer@gmail.com
  - Fix potential race condition in loop detach
    The call to 'losetup -d' is in fact an async operation. Once
    the command returns the loop can still be associated with the
    former file because it gets lazy unbound and releases later.
    Prior re-use of the same loop device it is therefore required
    to wait until the kernel event queue is processed.
* Wed Jun 19 2024 marcus.schaefer@gmail.com
  - Fixed repository include to image with dnf
    When specifying a repository element with imageinclude="true",
    kiwi permanently adds the repo file inside of the image.
    The distribution standard path is used to store the repo
    file in this case. With dnf a package manager exists that is
    primarily used on Fedora and RHEL systems. Thus the standard
    path for the repo files is set to "/etc/yum.repos.d".
    However, dnf can also be used for other rpm based distributions
    e.g SUSE. On such a system the default path does not exist
    or is different because another package manager is the
    default. This commit makes sure that the expected path is
    created prior adding any repo files.
* Tue Jun 18 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.21 → 10.0.22
* Mon Jun 17 2024 marcus.schaefer@gmail.com
  - Fixed selinux labels for boot files
    When kiwi calls the bootloader config and installation modules
    several files gets created as unlabeled_t because the labeling
    happened earlier. This commit ensures that setfiles gets called
    after BootLoaderConfig and/or BootLoaderInstall has done its
    job. This Fixes #2568
* Mon Jun 17 2024 marcus.schaefer@gmail.com
  - Add bash to package requirements
    If there are script evaluations that does not specify
    an interpreter, kiwi uses bash for it. The same applies
    for sub-process invocations using shell pipelines. Thus
    the bash shell is a required tool for kiwi under certain
    circumstances. Further details in Issue #2567
* Wed Jun 12 2024 pavel@zhukoff.net
  - test-image-live: add shadow package
    Fixes:
    KiwiCommandError: chroot: stderr: /usr/bin/chroot: failed to run command ‘usermod’: No such file or directory
* Tue Jun 11 2024 fvogt@suse.de
  - Fix displaying the image verification failure dialog
    Kiwi must wait for the previous dialog to finish before showing another
    one as it's the same systemd service behind it.
* Mon Jun 10 2024 marcus.schaefer@gmail.com
  - Allow to customize the path of the isoscan cowfile
    Added rd.live.cowfile.path option to specify the cowfile at
    any path below the isoscan-loop-mount. This Fixes #2554
* Mon Jun 10 2024 marcus.schaefer@gmail.com
  - Better error handling on grub vendor dir lookup
    The strings command is used to lookup the in-efi binary encoded
    vendor path. However, if the strings or bash command is not availabe
    on the build host, the command silently failed and moved into the
    standard (non vendored) EFI boot path. This can lead to a broken
    boot for those distros and image targets which requires a vendor
    directory and should lead to an error message instead of a
    successful image build. This Fixes #2565
* Mon Jun 10 2024 marcus.schaefer@gmail.com
  - Fixed profile variable settings for preferences
    It's allowed to have multiple preferences sections. If those
    sections provides the same value multiple times, e.g keytable,
    the last one in the row will win. The setup of the variables
    in .profile environment file for the preferences elements is
    not following this rule and used the first section not the
    last. This commit fixes the profile variables to match the
    actual setup and Fixes #2560
* Thu Jun 06 2024 dpopov@suse.com
  - Revise users.rst
* Thu Jun 06 2024 dpopov@suse.com
  - REvise systemdeps.rst
* Thu Jun 06 2024 dpopov@suse.com
  - Revise shell_scripts.rst
* Thu Jun 06 2024 marcus.schaefer@gmail.com
  - Add initrd boot option rd.kiwi.allow_plymouth
    By default kiwi stops plymouth if present and active in the
    initrd. Setting rd.kiwi.allow_plymouth will keep plymouth
    active in the initrd including all effects that might have
    to the available consoles. This is related to bsc#1214824
* Thu Jun 06 2024 marcus.schaefer@gmail.com
  - Drop use of obsolete tool isconsole
    isconsole was provided with the dropped kiwi-tools package.
    It was a simple C application that checked the capabilities
    of the current console. In the context of fbiterm it was just
    used to provide proper error messages which fbiterm on its
    own did not show. As also fbiterm is on its way to become
    obsolete and isconsole is already no longer present, it's ok
    to just drop that extra check and therefore keep the fbiterm
    mode functional if one manages to include fbiterm and its
    fonts into the initrd
* Tue Jun 04 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.20 → 10.0.21
* Mon Jun 03 2024 marcus.schaefer@gmail.com
  - Add missing write_meta_data method to BLS base
    The standard bootloader interface class provided a method
    named write_meta_data which is expected to be implemented
    in the specialized bootloader implementation. For BLS
    bootloaders this method was missing in the BLS base class.
    write_meta_data can provide additional cmdline options
    for booting. If not covered some boot options might be
    missing. This patch fixes it
* Mon Jun 03 2024 marcus.schaefer@gmail.com
  - Fix TW integration test to build outside OBS
* Mon Jun 03 2024 marcus.schaefer@gmail.com
  - Make sure BootLoaderConfig fixes are effective
    The BootLoaderConfigGrub2 class has methods to fix the grub-mkconfig
    generated files. It does that by mounting the system and changing the
    respective files after the mkconfig call. However, after the change
    the class instance stays open in combination with BootLoaderInstallGrub2
    instance which itself under certain circumstances also mounts the
    system to call grub-install. At the time grub-install is called it
    cannot be guaranteed that all changes has been written unless an
    explicit umount in the BootLoaderConfigGrub2 class instance happened.
    This commit address the potential race condition.
* Mon Jun 03 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.19 → 10.0.20
* Mon Jun 03 2024 marcus.schaefer@gmail.com
  - Update rawhide integration test
    Use new arch attribute for testing in the repository
    element of the rawhide/test-image-live-disk integration
    test.
* Sat Jun 01 2024 marcus.schaefer@gmail.com
  - Add support for arch attr in repository element
    Allow to provide different repository sections per architecture
* Fri May 31 2024 marcus.schaefer@gmail.com
  - Add --list-profiles to image info
    Allow to list available profiles from the processed image
    description
* Thu May 30 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.18 → 10.0.19
* Wed May 29 2024 neal@gompa.dev
  - package: Always include patches and number all sources and patches
    This ensures that stuff is applied reliably and all sources and patches
    are included as expected.
    Then the added kiwi-revert-bls-default-for-suse.patch is applied
    conditionally for SUSE distributions.
* Wed May 29 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.17 → 10.0.18
* Wed May 29 2024 aplanas@suse.com
  - package: adjust openSUSE patch
* Wed May 29 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.16 → 10.0.17
* Wed May 29 2024 marcus.schaefer@gmail.com
  - Fixed box plugin documentation
    The provided example was no longer correct according to
    changes on the image description referenced in the example
* Fri May 17 2024 marcus.schaefer@gmail.com
  - Add procps to Tumbleweed integration tests
* Thu May 16 2024 marcus.schaefer@gmail.com
  - Add procps to Tumbleweed integration tests
* Sun May 12 2024 marcus.schaefer@gmail.com
  - Fix sdist upstream tarball contents
    The .virtualenv.dev-requirements.txt file is referenced by tox.ini
    but not put into the sdist tarball and therefore missing in the
    pypi upstream data.
* Fri May 10 2024 marcus.schaefer@gmail.com
  - Drop use of obsolete pkg_resources
    As documented in https://setuptools.pypa.io/en/latest/pkg_resources.html
    the use of pkg_resources is obsolete and will cause issues.
    So happened on Debian unstable. This Fixes #2548
* Thu May 09 2024 awilliam@redhat.com
  - RepositoryDnf5: correct defaults, set system_cachedir
    The "defaults" in `use_default_location` here are the dnf4
    defaults, not the dnf5 defaults, so let's update them. Also, for
    dnf5, we need to set `system_cachedir` instead of `cachedir` -
    see https://dnf5.readthedocs.io/en/latest/misc/caching.7.html ,
    `system_cachedir` is the cache location used when running as
    root, `cachedir` is the cache location used when running as a
    regular user.
    Signed-off-by: Adam Williamson <awilliam@redhat.com>
* Wed May 08 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.15 → 10.0.16
* Wed May 08 2024 marcus.schaefer@gmail.com
  - poetry build doesn't like symlinks
    The sdist tarball produced by poetry build does not include
    all files and skipped symlinks in test/data. This caused the
    unit test run to fail if called from within that sources
* Wed May 08 2024 marcus.schaefer@gmail.com
  - Fix spec file
    Require docopt-ng for Fedora 41+
* Tue May 07 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.14 → 10.0.15
* Tue May 07 2024 dpopov@suse.com
  - REview runtime_configuration.rst
* Tue May 07 2024 dpopov@suse.com
  - Review repository_setup.rst
* Thu May 02 2024 marcus.schaefer@gmail.com
  - Add support for stopsignal in containerconfig
    Allow to specify the stopsignal via the containerconfig
    element as the following example shows
    <type image="docker">
    <containerconfig ...>
    <stopsignal>SIGINT</stopsignal>
    </containerconfig>
    </type>
    This Fixes #2543
* Thu May 02 2024 wfeldt@opensuse.org
  - Fix set_disk_password to be effective
    Since commit 8aa517eb7 it is necessary to call
    _mount_device_and_volumes() prior making any modifications
    to boot files. In addition handle potential errors
    from the grub.cfg modification better.
* Thu May 02 2024 marcus.schaefer@gmail.com
  - Update Makefile
    Make sure custom patches are part of the package sources
* Thu May 02 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.13 → 10.0.14
* Thu May 02 2024 neal@gompa.dev
  - doc: Document the bls option for the grub bootloader
* Wed May 01 2024 ngompa@opensuse.org
  - Temporarily revert grub-bls default to false for SUSE distributions
    For the time being, SUSE distributions cannot handle KIWI's default
    to use BLS with GRUB2. Until they catch up, revert this for them only.
* Wed May 01 2024 neal@gompa.dev
  - kiwi/bootloader: restore backward compatibility for grub2 with bls
    The change to introduce the bls parameter broke backward compatibility
    with all existing kiwi descriptions for distributions that default to BLS.
    This fixes that by allowing the unset state to be equivalent to enabling it.
    Fixes: 8a8190098cb30358459ba10a4db1ba6446eee8c2
* Tue Apr 30 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.12 → 10.0.13
* Mon Apr 29 2024 marcus.schaefer@gmail.com
  - Overwrite compression setting only if randomized
    When building an encrypted image, the bundler never compressed
    the result. This overwrite from the runtime configuration and
    the default compression setting actually only makes sense when
    the image is randomized because only then a compression is
    for sure useless. This Fixes #2540
* Mon Apr 29 2024 marcus.schaefer@gmail.com
  - Make sure lsblk output is sorted by dev name
    lsblk without the sorting option can provide the list
    of devices in different order. This patch makes sure
    lsblk sorts the output by the device name.
    This Fixes bsc#1223374
* Fri Apr 26 2024 romain.geissler@amadeus.com
  - Stop leaking plugins/{priorities,versionlock}.conf file with dnf4/5.
    This fixes the fedora issue
    https://bugzilla.redhat.com/show_bug.cgi?id=2270364
    Signed-off-by: Romain Geissler <romain.geissler@amadeus.com>
* Fri Apr 26 2024 marcus.schaefer@gmail.com
  - Fix luks_randomize setting
    Make sure the value passed for luks_randomize in the description
    becomes effective. It was not possible to switch off luks_randomize
    because any "not" value was turned into a true value. The actual
    default should therefore only apply in case luks_randomize is
    not specified at all which means only a None value will turn
    into a true value for this setting.
* Fri Apr 26 2024 awilliam@redhat.com
  - Fix package removal with dnf5
    dnf5 does not implement `dnf autoremove <package>` as a synonym
    for `--setopt=clean_requirements_on_remove=true remove <package>`
    as dnf4 did. So, we should do it this way instead.
    Signed-off-by: Adam Williamson <awilliam@redhat.com>
* Thu Apr 25 2024 aplanas@suse.com
  - Add 'bls' parameter for the bootloader
* Sat Apr 20 2024 ichavero@chavero.com.mx
  - Fix efifatimagesize attribute type
    The efifatimagesize attribute type value is set to "oem" but the documentation says
    that it is intended to be also used for creating ISO images. This causes a schema error
    when this attribute is set on a profile with type "iso" and blocks changing the EFI
    boot image size which is a problem if the image is bigger than 20M. This commit
    allows to specify the attribute also for the "iso" type
* Fri Apr 19 2024 marcus.schaefer@gmail.com
  - Add missing tool requires
    Latest changes on the bundler used sed and file
    which were not required by the spec. This is
    related to bsc#1221790
* Fri Apr 19 2024 marcus.schaefer@gmail.com
  - Add vmdk format to test-image-bundle-format
    Allow to check if the bundle format rename is applied
    in the new bundle reference checker code
* Fri Apr 19 2024 marcus.schaefer@gmail.com
  - Fix file references in kiwi bundler result files
    When using a custom bundle_format the kiwi result bundler renames
    the output files to match the bundle_format. However, if there are
    output files that references other output files, for example the
    vmware binary (.vmdk) in the guest config file (.vmx) then this
    renaming breaks those result files. This patch adds a reference
    file check for all non binary output files if they contain a
    reference to another output file and updates the data accordingly.
    This Fixes bsc#1221790
* Fri Apr 19 2024 marcus.schaefer@gmail.com
  - Don't compress vmdk images
    Like with qcow2 it's not expected that the format type gets
    compressed in the bundle
* Fri Apr 19 2024 aplanas@suse.com
  - kiwi.rnc: define bls parameter for bootloader
* Fri Apr 19 2024 marcus.schaefer@gmail.com
  - Keep runtime_checker_metadata.yml as module file
    It was a bad idea to install a mandatory source file outside
    the module path. This prevents running kiwi from source
* Fri Apr 19 2024 marcus.schaefer@gmail.com
  - Fixed Arch build
    Forgot to add install of runtime_checker_metadata.yml
* Thu Apr 18 2024 marcus.schaefer@gmail.com
  - Update tumbleweed/test-image-disk integration test
* Thu Apr 18 2024 marcus.schaefer@gmail.com
  - Handle XSLT errors better
    Make sure etree.XSLTApplyError is a known error in the kiwi
    scope and raise an appropriate exception
* Wed Apr 17 2024 dpopov@suse.com
  - Revise profiles.rst
* Wed Apr 17 2024 dpopov@suse.com
  - Revise packages.rst
* Wed Apr 17 2024 dpopov@suse.com
  - Revise customize_the_boot_process.rst
* Wed Apr 17 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.11 → 10.0.12
* Mon Apr 15 2024 marcus.schaefer@gmail.com
  - Drop concept of volumes_mounted_initially
    The volume mount should be the same process no matter
    if it happens for the first time or subsequently
* Mon Apr 15 2024 marcus.schaefer@gmail.com
  - Fixed mountpoint to use for read-only property
    Make sure get_mountpoint() is used to retrieve the correct
    mountpoint for the root entry point. Using the self.mountpoint
    member is not always correct
* Mon Apr 15 2024 marcus.schaefer@gmail.com
  - Prevent extra volume mount/umount on btrfs
    For setting up the read-only property an extra mount of the
    btrfs sub-volumes was issued. However, all volumes are mounted
    at that time. Thus it's not required to mount them again, resulting
    in a busy state because of the auto-snapshot mounts which does
    not get umounted and keeps a busy state until the lazy umount
    kicks in. This Fixes #2529
* Tue Apr 09 2024 marcus.schaefer@gmail.com
  - Fix typo in documentation main page
    Superfluous format sequence
* Mon Apr 08 2024 marcus.schaefer@gmail.com
  - Added another search path for signed EFI binaries
    Add /usr/lib/grub/*-efi-signed to search for shim signed EFI
    binaries too. This Fixes #2525
* Mon Apr 08 2024 marcus.schaefer@gmail.com
  - Fixed runtime checks for dracut module packages
    Unfortunately the packaging of kiwi on Debian follows different
    naming conventions for dracut module packages which causes
    the runtime check to fail. This commit allows to check for
    multiple package names and adds the variants used on Debian.
    This Fixes #2524
* Thu Apr 04 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.10 → 10.0.11
* Wed Apr 03 2024 marcus.schaefer@gmail.com
  - Add schema upgrade opportunity for old schemas
    kiwi files using a schema version < 7.4 are no longer supported
    by kiwi >= v10.x.x. Thus this commit provides the required
    XSL stylesheets to upgrade older schemas to v74 such that they
    can be consumed by the latest kiwi version. The needed xsltproc
    instruction is placed on the main page of the documentation.
* Wed Apr 03 2024 marcus.schaefer@gmail.com
  - Delete kiwi compat mode
    The compat mode allowed a kiwi v7 legacy argument translation
    and is obsolete since a long time
* Wed Apr 03 2024 marcus.schaefer@gmail.com
  - Make excludes in bootstrap effective for dnf
    Followup fix to really use the ignore information in the dnf
    package manager implementation. This Fixes #2499
* Thu Mar 28 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.9 → 10.0.10
* Wed Mar 27 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.8 → 10.0.9
* Wed Mar 27 2024 marcus.schaefer@gmail.com
  - Fix setup of discoverable partitions
    Make sure GUI is unique and typecode is set according to the
    standard. This Fixes #2517
* Tue Mar 26 2024 dpopov@suse.com
  - Revise customize_boot
* 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
* Sat Mar 23 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.7 → 10.0.8
* Fri Mar 22 2024 marcus.schaefer@gmail.com
  - Fix zipl setup for use with custom btrfs root vol
    In the setup case that btrfs is used for the system and
    the root partition is on a custom named volume (not /),
    this information was not passed to the zipl bootloader
    instance and this caused the mounting of the overall
    root system to fail. This commit fixes it
* Fri Mar 22 2024 marcus.schaefer@gmail.com
  - Allow ignore stanza in bootstrap
    So far the <ignore> stanza was only effective when placed
    as part of the type="image" packages section. This commit
    allows to place it also to the type="bootstrap" packages.
    This Fixes #2499
* Wed Mar 20 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.6 → 10.0.7
* Tue Mar 19 2024 marcus.schaefer@gmail.com
  - Add support for %v in bundle format
    Allow a placeholder for the entire version text as
    provided by the <version> section
* Tue Mar 19 2024 marcus.schaefer@gmail.com
  - Allow bundle format to be set on the commandline
    The bundle format is usually specified as part of the image
    description in the bundle_format attribute. This commit also
    allows to specify/overwrite the bundle format in the kiwi
    result bundle command via the new --bundle-format option.
    This Fixes #2509
* Tue Mar 19 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.5 → 10.0.6
* Mon Mar 18 2024 marcus.schaefer@gmail.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 Mar 14 2024 dpopov@suse.com
  - Revise system_update.rst
* Thu Mar 14 2024 dpopov@suse.com
  - Revise system_prepare.rst
* Wed Mar 13 2024 dpopov@suse.com
  - Revise system_create.rst
* Wed Mar 13 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.4 → 10.0.5
* Wed Mar 13 2024 marcus.schaefer@gmail.com
  - Followup fix for use of /boot/zipl
    The mounting of /boot/zipl is also only required if the
    bootloader is set to grub2_s390x_emu
* Wed Mar 13 2024 marcus.schaefer@gmail.com
  - Update schema version in spec file
* Tue Mar 12 2024 marcus.schaefer@gmail.com
  - Drop rpm-dir from allowed repository type
    Using an arbitrary list of rpm packages as repository is a zypper
    only feature, barely tested and from our pov not really needed
    as a simple createrepo call turns any custom list of packages
    into a clean rpm-md repo including metadata. This commit drops
    rpm-dir from the list of allowed repository types and auto
    converts those image descriptions which makes use of it. Please
    note this does not prevent users from using flat package
    directories with zypper, because the type argument in the
    repository section is an optional attribute. In case there is
    no type specification zypper auto-detects and handles the data
    as it handles it. This Fixes #1926
* Tue Mar 12 2024 dpopov@suse.com
  - Revise system_build.rst
* Tue Mar 12 2024 marcus.schaefer@gmail.com
  - Fixup use of /boot/zipl
    Only for the grub2_s390x_emu bootloader setup an optional boot
    partition setup must be put to /boot/zipl rather than to /boot
* Mon Mar 11 2024 marcus.schaefer@gmail.com
  - Lookup distro provided BLS entries for zipl
    Check if there is already an entry file name produced by the
    distribution logic/policy. If we can find an already present
    entry name, prefer this name over the kiwi naming policy
* Mon Mar 11 2024 marcus.schaefer@gmail.com
  - Install audit in s390 rawhide integration test
* Sun Mar 10 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.3 → 10.0.4
* Sat Mar 09 2024 marcus.schaefer@gmail.com
  - Delete invalid EPEL repo from rawhide tests
* Fri Mar 08 2024 marcus.schaefer@gmail.com
  - Fix s390 tools and grub requirement
    On Fedora/RHEL this is named s390utils and there is no grub2
* Fri Mar 08 2024 marcus.schaefer@gmail.com
  - Added rawhide integration test
* Fri Mar 08 2024 dpopov@suse.com
  - Temp commit
* Thu Mar 07 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.2 → 10.0.3
* Thu Mar 07 2024 dpopov@suse.com
  - Revise image_size, kiwi
* Thu Mar 07 2024 neal@gompa.dev
  - Ensure we use a compatible docopt-ng version
    To ensure our trick to switch between docopt and docopt-ng works,
    we need to have a higher minimum version for docopt-ng where
    compatibility with the original docopt was restored.
* Wed Mar 06 2024 marcus.schaefer@gmail.com
  - Fixed delta_root build
    The support for delta_root allows to build a delta container
    image from a given base container. Due to the refactoring of
    the kiwi code base using context managers no explicit deletion
    of instances happens anymore. This uncovered a weakness of
    the delta root code at the level of the overlay mount. At
    the time of the umount there are still active temporary
    mount handlers which keeps the mountpoint busy. In order to
    fix this properly also the PackageManager factory is now
    a context manager and the Repository factory received a
    cleanup method which is called when the PackageManager goes
    out of scope. This refactoring also fixes the busy state
    when building deltas
* Wed Mar 06 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.1 → 10.0.2
* Wed Mar 06 2024 marcus.schaefer@gmail.com
  - Don't use poetry publish
    Publishing to pypi is done via pypa/gh-action-pypi-publish
    and the respective auth token. Calling poetry publish does
    not work because this is not authorized
* Wed Mar 06 2024 marcus.schaefer@gmail.com
  - Bump version: 10.0.0 → 10.0.1
* Wed Mar 06 2024 marcus.schaefer@gmail.com
  - Drop ci-kiwi-9-compliant.yml
    Delete this action as it existed in the intermediate state
    prior the new major version v10.x.x
* Wed Mar 06 2024 marcus.schaefer@gmail.com
  - Add tzdata to Debian tests
* Wed Mar 06 2024 marcus.schaefer@gmail.com
  - Fixed sync script for test-image-rpi on Ubuntu
* Wed Mar 06 2024 marcus.schaefer@gmail.com
  - Install language-pack-en for Ubuntu arm test
* Wed Mar 06 2024 marcus.schaefer@gmail.com
  - Install locales-all for Debian tests
* Wed Mar 06 2024 marcus.schaefer@gmail.com
  - Install language-pack-en for Debian tests
* Wed Mar 06 2024 marcus.schaefer@gmail.com
  - Fix repo setup for Ubuntu arm test
* Wed Mar 06 2024 marcus.schaefer@gmail.com
  - Install network stack for Debian test
* Wed Mar 06 2024 marcus.schaefer@gmail.com
  - Request util-linux explicitly for Ubuntu tests
* Wed Mar 06 2024 marcus.schaefer@gmail.com
  - Add usr-is-merged to package list for bootstrap
* Wed Mar 06 2024 marcus.schaefer@gmail.com
  - Install language-pack-en for Ubuntu tests
* Tue Mar 05 2024 marcus.schaefer@gmail.com
  - Move Ubuntu integration tests to Lunar
* Tue Mar 05 2024 marcus.schaefer@gmail.com
  - Update test-image-rpi for Ubuntu on arm
    Do not install kiwi as test application
* Tue Mar 05 2024 marcus.schaefer@gmail.com
  - Fix repo setup for Debian integration tests
    Staging repo must be first for higher prio
* Tue Mar 05 2024 marcus.schaefer@gmail.com
  - Update test-image-docker-derived
    Don't install kiwi as test application, use something
    smaller, just vim
* Tue Mar 05 2024 marcus.schaefer@gmail.com
  - Move Debian build test from Buster to Bookworm
    Move from Debian 11 to Debian 12 for integration testing
* Tue Mar 05 2024 marcus.schaefer@gmail.com
  - Move Ubuntu integration tests from Jammy to Mantic
    Use Ubuntu 23.10 for the integration tests and move away from 22.04
* Tue Mar 05 2024 neal@gompa.dev
  - Switch to Poetry and use pyproject.toml definitions
    This allows kiwi to be built, developed, tested, and installed
    through Poetry. This also raises the minimum Python version to 3.9.
* Tue Mar 05 2024 marcus.schaefer@gmail.com
  - Delete test-image-microdnf
    microdnf is dead and dnf5 took over
* Tue Mar 05 2024 marcus.schaefer@gmail.com
  - Delete test-image-live-disk-v8
    CentOS-8 is EOL and dropped from upstream kiwi
* Tue Mar 05 2024 dpopov@suse.com
  - Revise image info
* Mon Mar 04 2024 marcus.schaefer@gmail.com
  - Add support for BLS zipl
    Add support for <bootloader name="zipl" .../> to support BLS
    based zipl configuration. This Fixes #2481
* Fri Mar 01 2024 dpopov@suse.com
  - Review Build WSL container
* Fri Mar 01 2024 dpopov@suse.com
  - Revise Build simple disk
* Thu Feb 29 2024 marcus.schaefer@gmail.com
  - Update v9 compliance action
    put the cherry-pick tests into an extra script and
    provide a skip list of commits for manual checking
    if needed
* Thu Feb 29 2024 marcus.schaefer@gmail.com
  - Fix activation of luks pool in the initrd
    kiwi called systemd-cryptsetup directly which does not take
    the settings available in /etc/crypttab into account. This
    commit changes the activation procedure in a way that the
    generator created unit file systemd-cryptsetup@... is used
    This Fixes bsc#1219009
* Thu Feb 29 2024 marcus.schaefer@gmail.com
  - Apply changelog fixes by glob
    Does not require Makefile changes when maintaining branches
* Wed Feb 28 2024 marcus.schaefer@gmail.com
  - Add changelog fix file for commit deb6ca
    The commit used a wrong e-mail address which should not
    land in the created changes file for the packaging
* Wed Feb 28 2024 marcus.schaefer@gmail.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
* Wed Feb 28 2024 marcus.schaefer@gmail.com
  - Catch error condition more specific
    Only a KiwiCommandError is an exception we want to
    catch and handle, everything else is a bug and should
    not be masked
* Tue Feb 27 2024 marcus.schaefer@gmail.com
  - Add silent flag to CommandCapabilities
    an instance of CommandCapabilities allows to check for specific
    options of a command. If the parsing of options has failed a
    warning message is created by default. Under certain circumstances
    like the check for the --help option of setfiles, such a warning
    message can be misleading information in the build log file.
    Therefore the new silent flag allows to suppress the warning
    message and the flag is used for the capabilities of the
    setfiles utility. This Fixes #2350
* Tue Feb 27 2024 marcus.schaefer@gmail.com
  - Fix documentation preferlvm example
    The custom volumes example shows a faulty XML description.
    This Fixes #2483
* Tue Feb 27 2024 marcus.schaefer@gmail.com
  - Move SystemPrepare to context manager
    Change the SystemPrepare class to context manager.
    All code using SystemPrepare was updated to the following
    with statement:
    with SystemPrepare(...) as system_prepare:
    system_prepare.some_member()
    This completes the refactoring from finalizers to
    context managers and Fixes #2412
* Mon Feb 26 2024 marcus.schaefer@gmail.com
  - Fallback to built-in partition UUID table
    If systemd-id128 is not found or failed use the kiwi built-in
    table as defined by the UAPI group to assign the partition UUID
* Mon Feb 26 2024 marcus.schaefer@gmail.com
  - Move DiskFormat to context manager
    Change the DiskFormat Factory to be a context manager.
    All code using DiskFormat was updated to the following
    with statement:
    with DiskFormat(...).new as disk_format:
    disk_format.some_member()
    This is related to Issue #2412
* Sat Feb 24 2024 marcus.schaefer@gmail.com
  - Added requirement for xmltodict to spec
    Actually the real issue to this defect seems to live in the
    anymarkup source code. It seems that the import of xmltodict
    at the beginning of the core module is optional, but later on
    when handling XML xmltodict seems to be mandatory, see here:
    https://github.com/bkabrda/anymarkup-core/blob/08896a8215819edcc413e3f2588518046
    9a4c2ed/anymarkup_core/__init__.py#L210-L229. Because this
    issue can result in a "ImportError: Can't parse xml: xmltodict not installed"
    turning kiwi into a bad exit condition I propose to add
    this python requirement to the kiwi spec as a workaround and
    try fixing the anymarkup packaging and module setup upstream
    in addition. To my knowledge all relevant distributions
    provides xmltodict
* Sat Feb 24 2024 marcus.schaefer@gmail.com
  - Fixed type hint for pinch_system method
    The PackageManager argument is allowed to be optional
* Sat Feb 24 2024 marcus.schaefer@gmail.com
  - Add support for discoverable partitions
    Set PARTUUID according to systemd-id128 if applicable
    This Fixes #1385
* Thu Feb 22 2024 marcus.schaefer@gmail.com
  - Move Repository to context manager
    Change the Repository Factory to be a context manager.
    All code using Repository was updated to the following
    with statement:
    with Repository(...).new as repo:
    repo.some_member()
    This is related to Issue #2412
* Thu Feb 22 2024 dpopov@suse.com
  - Build LiveISO review
* Wed Feb 21 2024 dpopov@suse.com
  - Buil KIS review
* Wed Feb 21 2024 dpopov@suse.com
  - Build expandable disk review
* Wed Feb 21 2024 dpopov@suse.com
  - Build container image review
* Wed Feb 21 2024 marcus.schaefer@gmail.com
  - Allow terminal emulation setup from the cmdline
    Using rd.kiwi.term will export the TERM variable into the initrd
    environment. In case the default value for the terminal emulation
    is not appropriate rd.kiwi.term can be used to overwrite the default.
    The environment is also passed to the systemd unit which calls
    dialog based programs in kiwi dracut code, such that the TERM
    setting will be effective there too. For example:
    rd.kiwi.term=vt100
    This is related to bsc#1218095
* Tue Feb 20 2024 marcus.schaefer@gmail.com
  - Fixed implementation for oem-shutdown
    If specified oem-shutdown caused a reboot -f -p which is
    a powerdown but not a graceful shutdown. This commit fixes
    this by using systemctl halt for a clean shutdown.
    This Fixes #2474
* Mon Feb 19 2024 marcus.schaefer@gmail.com
  - Move VolumeManager to context manager
    Change the VolumeManager Factory to be a context manager.
    All code using VolumeManager was updated to the following
    with statement:
    with VolumeManager(...).new as volume_manager:
    volume_manager.some_member()
    This is related to Issue #2412
* Mon Feb 19 2024 45594031+dcermak@users.noreply.github.com
  - Refactor Command class
    Command.run() currently has a bit of a confusing behavior: if raise_on_error is
    False and the executable is not found, then a weird CommandT is returned (return
    code is -1 and stdout+stderr is None). This makes it possible to hanlde command
    not found errors separately, but it makes that needlessly verbose. So instead,
    let's just return None in *this* special case.
    That in turn uncovered, that in most cases when we set `raise_on_error=True`, we
    actually want an error if the command is not present but no error if the command
    fails to execute (e.g. because it returns -1 if you run `$cmd --version`). Hence we
    introduce the flag `raise_on_command_not_found`, which causes an exception to
    be raised if the command is not found. This makes it independent of the
    `raise_on_error` flag.
    Additionally, we add a small optimization: if command starts with /, then we
    assume it's a full path and we omit the call to which (and just check whether it
    exists).
    Co-authored-by: Marcus Schäfer <marcus.schaefer@gmail.com>
* Mon Feb 19 2024 marcus.schaefer@gmail.com
  - Move ImageSystem to context manager
    Change the ImageSystem class to context manager.
    All code using ImageSystem was updated to the following
    with statement:
    with ImageSystem(...) as image_system:
    image_system.some_member()
    This is related to Issue #2412
* Mon Feb 19 2024 marcus.schaefer@gmail.com
  - Allow empty cherry-picks for compliance test
    If we cherry-pick from main to master the compliance check
    will notice that a commit already exists. This is not an error
    and we can allow to continue the picking via --allow-empty
* Mon Feb 19 2024 marcus.schaefer@gmail.com
  - Followup fix for .profile.extra
    Allow to source .profile.extra such that it is possible to
    read and act on e.g cmdline parameters. This is related to
    bsc#1218095
* Sun Feb 18 2024 alexandre.detiste@gmail.com
  - Use unittest.mock from core python everywhere
    mock was an independent module that has been merged into the Python standard library.
* Fri Feb 16 2024 dcassany@suse.com
  - Include partprobe in initrd for s390
    This commit includes partprobe, in addition to parted, on
    s390 based systems. Otherwise partx is used and apparently
    it does not properly support s390.
    Fixes bsc#1219798
    Signed-off-by: David Cassany <dcassany@suse.com>
* Fri Feb 16 2024 marcus.schaefer@gmail.com
  - Fixed MicroOS integration test
    temporarily disable ignition/combustion/growpart and use
    kiwi's resize code for testing, oem-resize set to true
* Thu Feb 15 2024 marcus.schaefer@gmail.com
  - Fixed kis documentation
    The procedure to run qemu with a filesystem image as disk
    was not quite correct.
* Wed Feb 14 2024 marcus.schaefer@gmail.com
  - Update documentation about partition clones
    Using the root_clone attribute comes with some requirements
    and consequences. This commit documents them
* Wed Feb 14 2024 fvogt@suse.de
  - Improve documentation generation
    With Sphinx >= 6.0.0, jQuery is no longer included but the rtd theme's search
    functionality needs it. The theme was changed to load sphinxcontrib-jquery
    automatically with https://github.com/readthedocs/sphinx_rtd_theme/pull/1399,
    but kiwi broke this fix by loading the theme in the wrong way.
    Now that the theme is loaded properly, the search functionality also works
    with newer versions of sphinx again and the version pinning can be lifted.
    This Fixes: #2462
* Wed Feb 14 2024 fvogt@suse.de
  - Allow specifying the filesystem for live image, also direct squashfs
    Allow specifying the filesystem for live image, also direct squashfs
    By setting <type image="iso" filesystem="FSTYPE" .../> it's now possible
    to specify the filesystem used for live images. By using "squashfs", the
    rootfs container is skipped entirely.
* Wed Feb 14 2024 marcus.schaefer@gmail.com
  - Add support for reading .profile.extra in initrd
    If there is the file /.profile.extra available in the
    initrd, kiwi will import this additional environment file
    after the import of the standard /.profile file.
    This is related to bsc#1218095
* Wed Feb 14 2024 marcus.schaefer@gmail.com
  - Don't run ci-kiwi-9-compliant action on forks
* Tue Feb 13 2024 marcus.schaefer@gmail.com
  - Fix setup of UUID for btrfs
    When setting up the UUID for a btrfs filesystem via btrfstune
    it could happen that the call becomes interactive asking
    a question and give a recommendation. All this is unwanted
    and can be forced via the -f switch. This Fixes #2456
* Mon Feb 12 2024 marcus.schaefer@gmail.com
  - Move OCI to context manager
    Change the OCI Factory to be a context manager.
    All code using OCI was updated to the following
    with statement:
    with OCI(...).new as oci:
    oci.some_member()
    This is related to Issue #2412
* Mon Feb 12 2024 marcus.schaefer@gmail.com
  - Drop destructor from CommandProcess
    There is code that sends a SIGTERM to the process in case
    there is no error code information. I believe in this case
    sending SIGTERM will not kill the process (defunct) and I
    also don't see in what good condition we would be entering
    this state.
* Mon Feb 12 2024 marcus.schaefer@gmail.com
  - Fixed use of custom bootloader
    In case no bootloader implementation by kiwi should be
    used, users can specify the bootloader="custom" attribute.
    Instead of skipping the bootloader stage in the builders
    it is better to consistently create an instance of bootloader
    but raise if a method of the bootloader interface is called
    for which the custom bootloader has no implementation. This
    commit adds the consistency bits.
* Mon Feb 12 2024 marcus.schaefer@gmail.com
  - Fixed scope of BootLoaderConfig instance
    Due to the refactor of BootLoaderConfig into context managers
    we had two instances of BootLoaderConfig. However, the first
    instance holds data the second instance needs which caused an
    issue. This commit makes sure there is one BootLoaderInstance
    within the lifetime of required services
* Mon Feb 12 2024 marcus.schaefer@gmail.com
  - Allow integration test to build outside of obs too
* Mon Feb 12 2024 marcus.schaefer@gmail.com
  - Follow up fix for drop obsolete C tools from kiwi
    The spec file make call to build the C code was forgotten
    to be deleted
* Sun Feb 11 2024 marcus.schaefer@gmail.com
  - Drop obsolete C tools from kiwi
    For building custom initrd images kiwi provided some
    optional helper tools. All these C written tools are
    old and outdated and either not useful anymore or
    replaced by other tools that are part of the distribution
    matrix we support. Thus with the move to the next
    major release those can go away. This also include the
    package kiwi-tools which was used to provide them
* Wed Feb 07 2024 marcus.schaefer@gmail.com
  - Update documentation
    Several examples still pointed to Leap 15.3 repos, but we are
    at Leap 15.5. Thus this commit shifts towards Leap 15.5
* Mon Feb 05 2024 marcus.schaefer@gmail.com
  - Remove destructor from BootLoaderInstallGrub2
    With MountManager as context manager the BootLoaderInstallGrub2
    class doesn't need a destructor anymore. This is related
    to Issue #2412
* Mon Feb 05 2024 marcus.schaefer@gmail.com
  - Remove obsolete destructor from BootImageDracut
    With MountManager as context manager the BootImageDracut
    class doesn't need a destructor anymore. This is
    related to Issue #2412
* Mon Feb 05 2024 marcus.schaefer@gmail.com
  - Move Raid Luks and Integrity to context manager
    Change the RaidDevice, LuksDevice and IntegrityDevice classes
    to context manager:
    with RaidDevice(...) as raid:
    raid.some_member()
    with LuksDevice(...) as luks:
    luks.some_member()
    with IntegrityDevice(...) as integrity:
    integrity.some_member()
    In the context of the disk builder an ExitStack is used to
    handle the new context manager based classes
    This is related to Issue #2412
* Fri Feb 02 2024 marcus.schaefer@gmail.com
  - Fix error message regarding ovftool
    For ova support kiwi still uses the proprietary ovftool
    from VMware. The error message if the tool could not be
    found was broken and the link to the VMware page was also
    outdated.
* Fri Feb 02 2024 marcus.schaefer@gmail.com
  - Drop PDF build of the documentation
    The kiwi.pdf file as provided in the kiwi-man-pages package
    was never really used by our users but comes with a huge
    dependency chain to LaTex. We provide the documentation
    online as well as converted to DocBook from where all other
    formats could be derived. Thus there is no need for us to
    produce an extra PDF document which is imho never consulted.
    In addition to this change also the contributing chapter has
    been reworked. Due to recent changes and drop of obsolete
    components from kiwi as well as the effort to move the development
    setup to poetry, there is only one non python tool needed
    for the development of kiwi. The check for this tool has been
    moved into the Makefile and all other checks formerly done
    in the helper/install_devel_packages script were deleted.
* Wed Jan 31 2024 marcus.schaefer@gmail.com
  - Fix crypto LUKS integration test
    The integration test build also encrypts /boot which requires
    grub to open the LUKS pool using cryptomount. grub does not support
    the argonID salted password hashes. Thus the integration test
    description configures pbkdf2 instead
* Wed Jan 31 2024 marcus.schaefer@gmail.com
  - Use ExitStack for MountManagers
* Wed Jan 31 2024 marcus.schaefer@gmail.com
  - Only pass appropriate bootloader arguments
    When constructing a BootLoaderConfig instance only pass
    arguments appropriate to the selected bootloader. It does
    not hurt but it is bad style and unnecessary data and
    code points if e.g grub relevant information is passed
    when we actually setup systemd-boot
* Wed Jan 31 2024 marcus.schaefer@gmail.com
  - Fix reading of os-release file
    If the /etc/os-release file contains comments or spaces
    python's csv reader will throw an exception. Thus this
    data must be ripped out prior reading
* Tue Jan 30 2024 marcus.schaefer@gmail.com
  - Allow to use Literal for all python versions
* Tue Jan 30 2024 marcus.schaefer@gmail.com
  - Better error message on module import
* Tue Jan 30 2024 marcus.schaefer@gmail.com
  - Move Disk to context manager
    Change the Disk class to be a context manager.
    All code using Disk was updated to the following
    with statement:
    with Disk(...) as disk:
    disk.some_member()
    This is related to Issue #2412
* Fri Jan 26 2024 marcus.schaefer@gmail.com
  - Fixed test-image-rpi for TW
    No need to pull in zypper plugin that does not resolve on TW
* Fri Jan 26 2024 marcus.schaefer@gmail.com
  - Update documentation
    drop documentation for isolinux in API and user docs
* Fri Jan 26 2024 dcermak@suse.com
  - Fix invalid escape sequence
* Fri Jan 26 2024 dcermak@suse.com
  - Add missing assert call to install_test
* Fri Jan 26 2024 dcermak@suse.com
  - Correct type hint of mbrid parameter
* Fri Jan 26 2024 dcermak@suse.com
  - Convert BootLoaderConfigBase into an abstract base class
* Fri Jan 26 2024 dcermak@suse.com
  - Convert BootLoaderConfig to free function
    The class serves really no purpose except for creating another
    namespace. This function now allows us to have more stricter type checking.
* Fri Jan 26 2024 marcus.schaefer@gmail.com
  - better function name
* Mon Jan 22 2024 marcus.schaefer@gmail.com
  - Drop support for syslinux/isolinux
    SYSLINUX has been abandoned for several years now, and it does not
    even work with modern versions of the filesystems supported in kiwi.
    This commit drops it and Fixes #2433
* Mon Jan 22 2024 marcus.schaefer@gmail.com
  - Update build tests
    Delete use of syslinux/isolinux
* Fri Jan 19 2024 marcus.schaefer@gmail.com
  - Move BootLoaderConfig to context manager
    Change the BootLoaderConfig class to be a context manager.
    All code using BootLoaderConfig was updated to the following
    with statement:
    with BootLoaderConfig.new(...) as bootloader_config:
    bootloader_config.some_member()
    This is related to Issue #2412
* Fri Jan 19 2024 dcermak@suse.com
  - [docs] make copyright year dynamic
* Fri Jan 19 2024 dcermak@suse.com
  - Silence Shellcheck warning SC2004
    It causes false positives in array expressions,
    e.g. device_array[${device_index}]
    (see: https://www.shellcheck.net/wiki/SC2004)
* Fri Jan 19 2024 dcermak@suse.com
  - Quote shell variables to prevent word splitting
    this fixes shellcheck warning SC2086
    https://www.shellcheck.net/wiki/SC2086
* Thu Jan 18 2024 dcermak@suse.com
  - Add type hints & doc to VolumeManagerBase & VolumeManagerBtrfs
    Also add additional tests for test coverage of typing edge cases
* Thu Jan 18 2024 dcermak@suse.com
  - Correct invalid escape sequence
    \/ is not a valid escape sequence, it just needs to be forwarded to the shell
* Thu Jan 18 2024 dcermak@suse.com
  - DiskBuilder: use ExitStack to unmount partitions
* Thu Jan 18 2024 dcermak@suse.com
  - FileSystemBase & VolumeManagerBase: return a MountManager from sync_data
    This allows us to unmount the filesystems via the returned context manager
* Thu Jan 18 2024 dcermak@suse.com
  - Don't catch all exceptions in MountManager.umount
* Thu Jan 18 2024 dcermak@suse.com
  - Implement a context manager interface for MountManager
* Wed Jan 17 2024 marcus.schaefer@gmail.com
  - Update Debian distro for integration tests
    We require python >= 3.9
* Wed Jan 17 2024 marcus.schaefer@gmail.com
  - Refactor disk builder for use with context manager
    In preparation to further context manager related changes
    in VolumeManager, LuksDevice, RaidDevice and more the
    disk builder code which uses these classes needs to be
    refactored beforehand to allow switching to context
    manager based cascading of the storage device classes.
    This commit does the refactoring and is related to
    Issue #2412
* Tue Jan 16 2024 marcus.schaefer@gmail.com
  - Follow up fix for drop of hybrid boot snippets
    The following is left over code from the drop of the hybrid
    boot templates.
* Tue Jan 16 2024 neal@gompa.dev
  - Drop hybrid boot snippets from the GRUB 2 configuration template
    Sometime between GRUB 2.04 and GRUB 2.06, it became no longer
    necessary to use "linuxefi"+"initrdefi" for UEFI boot. The
    standard "linux"+"initrd" stanzas work for both legacy BIOS boot
    and modern UEFI boot.
    Some distributions no longer support "linuxefi"+"initrdefi" at all
    anymore, so let's just use "linux"+"initrd" for everything now.
* Mon Jan 15 2024 marcus.schaefer@gmail.com
  - Don't create default entry for sd-boot loader.conf
* Mon Jan 15 2024 marcus.schaefer@gmail.com
  - Type cleanup, no use of Any type in disk builder
    Use proper Union declaration for system variable and add
    consistency layer into Filesystem/VolumeManager classes to
    meet the type declaration as well as to simplify further
    refactoring on these classes
* Sun Jan 14 2024 marcus.schaefer@gmail.com
  - Compat entry name for kernel-install in sd-boot
    systemd-boot tools like kernel-install expect a certain
    entry naming policy. This commit adapts kiwi to adapt to
    this policy. The name for the default entry is constructed
    out of the ID information from /etc/os-release followed
    by the name of the kernel as it is represented by the
    directory name in /lib/modules/... This Fixes #2417
* Sat Jan 13 2024 marcus.schaefer@gmail.com
  - Drop SLE integration tests
    The kiwi version for SLE is maintained in the git repos
    * https://github.com/SUSE/kiwi_sle15
    * https://github.com/SUSE/kiwi_sle12
    and has its own set of QA integration tests in the internal
    build service.
* Fri Jan 12 2024 marcus.schaefer@gmail.com
  - Apply different cherry-pick strategy
    cherry picking merge commits is not easily possible. Thus get
    the list of commits and check if it can be applied in a series
* Fri Jan 12 2024 marcus.schaefer@gmail.com
  - Reduce XSL transformation list
    Minimum schema version to start with is v74
    This Fixes #2368
* Fri Jan 12 2024 marcus.schaefer@gmail.com
  - Fixed custom ISO boot template
    The archlinux integration test used a custom iso boot
    template which still contained the terminal_setup variable.
    This commit fixed the template to use the new terminal_input
    and terminal_output variables
* Fri Jan 12 2024 marcus.schaefer@gmail.com
  - Delete clicfs from documentation API
* Thu Jan 11 2024 marcus.schaefer@gmail.com
  - Move FileSystem to context manager
    Change the FileSystem class to be a context manager. All code using
    FileSystem was updated to the following with statement:
    with FileSystem.new(...) as filesystem:
    filesystem.some_member()
    This is related to Issue #2412
* Thu Jan 11 2024 marcus.schaefer@gmail.com
  - Update unit test data to schema v8.0
* Thu Jan 11 2024 marcus.schaefer@gmail.com
  - Update major schema version from 7.6 -> 8.0
    With the switch to schema v8.x we allow for non compatible
    changes in regards to the v7.x stream. Thus this commit also
    deletes the support for clicfs from the schema
* Thu Jan 11 2024 marcus.schaefer@gmail.com
  - Drop clicfs support
    clicfs was a fuse userspace implementation of an overlay
    filesystem. Since overlayfs became the default overlay filesystem
    there is no reason for kiwi to keep the clicfs support
* Wed Jan 10 2024 dcermak@suse.com
  - Use obsrepositories for the CentOS 9 image
    We were relying on the repos being parsed from the kiwi description but this can
    cause problems and gives us less flexibility when it comes to fixing repository
    setup issues.
    This fixes https://github.com/OSInside/kiwi/issues/2335
* Tue Jan 09 2024 marcus.schaefer@gmail.com
  - Bump version: 9.25.22 → 10.0.0
* Tue Jan 09 2024 marcus.schaefer@gmail.com
  - Move workflow runs to main branch
    Make sure all github actions runs from main
* Tue Jan 09 2024 marcus.schaefer@gmail.com
  - Bump version: 9.25.21 → 9.25.22
* Tue Jan 09 2024 marcus.schaefer@gmail.com
  - Add compliance action
    Check if the commits of a pull request can be cherry-picked to
    the master, which is the kiwi v9.x.x code stream.
* Tue Jan 09 2024 marcus.schaefer@gmail.com
  - Fixed regression in GRUB_SERIAL_COMMAND setup
    The condition to write the serial line setup was broken.
    This commit fixes it. Related to Issue #2419
* Mon Jan 08 2024 marcus.schaefer@gmail.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
* Thu Jan 04 2024 marcus.schaefer@gmail.com
  - Fix tox.ini
    python 3.12 unit target did not specify a 3.12 interpreter
* 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
* Sat Dec 30 2023 marcus.schaefer@gmail.com
  - Move LoopDevice class to context manager
    Change the LoopDevice class to be a context manager.
    All code using LoopDevice was updated to the following
    with statement:
    with LoopDevice(...) as loop_provider:
    loop_provider.some_member()
    This is related to Issue #2412
* Fri Dec 29 2023 neal@gompa.dev
  - Ensure setfiles is detected inside the image-root
    We do not actually use setfiles from the host, we use it from the
    image root we create for the image build. Thus, we should look in
    the image root instead of on the host system.
    This prevents us from incorrectly detecting that setfiles is not
    available for setting SELinux contexts.
    Fixes: https://github.com/OSInside/kiwi/issues/2414
    Fixes: 2a22901ddd11ae23b6724b5e1aaa4261f219ccb6
* Thu Dec 28 2023 dcermak@suse.com
  - Use xdist on the CI to speed up the test runs
* Thu Dec 28 2023 dcermak@suse.com
  - Add unit test job using python 3.12
* Thu Dec 28 2023 dcermak@suse.com
  - Only run the job for this python environment
* Thu Dec 28 2023 dcermak@suse.com
  - [ci] Switch runner to ubuntu-latest
* Thu Dec 28 2023 dcermak@suse.com
  - Add missing raw string identifier infront of regexes
* Tue Dec 26 2023 lujianhua000@gmail.com
  - Allow target_blocksize to be available for kis image
* Sun Dec 17 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.20 → 9.25.21
* Sun Dec 17 2023 marcus.schaefer@gmail.com
  - Cleanup tox targets
    Align tox targets with github workflows and fix targets
    not associated with a specific python version to use
    the python3 version installed on the host
* Sun Dec 17 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.19 → 9.25.20
* Sun Dec 17 2023 marcus.schaefer@gmail.com
  - Fixed unit tests for parallel invokation
* Fri Dec 15 2023 marcus.schaefer@gmail.com
  - Make sure selinux policy is effectively applied
    setup_selinux_file_contexts is now called after the config.sh
    script. This makes sure that eventual policy related changes
    done in the optional config.sh are covered by a late setfiles
    call. In addition setup_selinux_file_contexts is called again
    at the end of any chroot based script hook. So we assume that
    any optional script target can change the system in a way that
    a new setfiles call might be required. It can happen that
    setfiles is called more often than required but as we cannot
    know what custom scripts does, it's better to call it more
    often compared to not often enough. This Fixes bsc#1210604
* Thu Dec 14 2023 marcus.schaefer@gmail.com
  - Decrease image size for encrypted integration test
    Encrypted images do not compress well, therefore the size
    should be smaller such that we don't produce monsters
* Thu Dec 14 2023 marcus.schaefer@gmail.com
  - Use ext4 for rawhide integration test
* Thu Dec 14 2023 marcus.schaefer@gmail.com
  - Fixed typo in error message
* Wed Dec 13 2023 neal@gompa.dev
  - package: Drop unused xorriso dep on dracut-kiwi-live subpackage
    We do not actually use xorriso anywhere inside of the dracut module,
    nor do we pull in any utilities from the xorriso package into the
    generated initramfs anyway.
    Fixes: https://github.com/OSInside/kiwi/issues/2404
* Mon Dec 11 2023 marcus.schaefer@gmail.com
  - Set kpartx as default mapper tool for s390
    Some time ago we moved the default partition mapper from
    kpartx to partx to reduce a package dependencies.
    However, on the s390 architecture partx does not work
    proplerly on e.g DASD devices. Thus the default mapper
    tool for this architecture will change to kpartx
    with this PR
* Fri Dec 08 2023 marcus.schaefer@gmail.com
  - Update test-image-MicroOS
    Incorporate latest changes from upstream MicroOS and
    also add an encrypted profile build for testing
* Wed Dec 06 2023 marcus.schaefer@gmail.com
  - Include either partx or partprobe to dracut
    The code in the 99kiwi-lib dracut module can either use
    partprobe or partx to do the job. We prefer partx over
    partprobe and error out if none of them could be found
    This Fixes #2400
* Tue Nov 28 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.18 → 9.25.19
* Thu Nov 23 2023 alexandre.esse.dev@gmail.com
  - Fix typo in workflow overview doc section
* Wed Nov 22 2023 marcus.schaefer@gmail.com
  - Add missing documentation for oem-unattended-id
* 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
* Tue Nov 21 2023 marcus.schaefer@gmail.com
  - Update mailmap
* Fri Nov 10 2023 jehan.singh@suse.com
  - Replace the regex-based loader entry fix with string parsing (#2388)
    A user building RHEL images ran into issues with the initrd.
    It turns out that RHEL uses some patches that mean the
    initrd/linux files in RHEL are not installed to /boot, which trips
    up the original regex. The new fix doesn't rely on matching the
    path in boot, instead just finding the initrd/linux files and rewriting
    them in place.
    This change also adds the pre-and-post fix loader entries to the debug logs.
    Reference: https://bugzilla.suse.com/1208701
    Fixes suse bsc#1208701
* Fri Nov 10 2023 marcus.schaefer@gmail.com
  - Fix mbrid setup for read-only systems
    On filesystems without a UUID (e.g squashfs) the fallback boot id
    setup should apply if neither UUID nor MBR ID is present. This
    is a followup fix for Issue #2391
* Thu Nov 09 2023 marcus.schaefer@gmail.com
  - Fixed test-image-disk-legacy test description
    The configured embedded ESP image size is too big, max 30MB
    are possible as El Torito boot load size
* Thu Nov 09 2023 marcus.schaefer@gmail.com
  - Don't make toml a requirement
* Wed Nov 08 2023 marcus.schaefer@gmail.com
  - Fixed grub mbrid file search
    To identify the root device for ISO images (live and install media)
    that boots via grub2, kiwi uses a grub2 --file search. The searched
    file was named /boot/mbrid, however this is not a unique name and
    could be found on other devices of the system as well. To connect
    the search to the correct media this commit changes the search to
    an ID based method which is unique to the image build process.
    This Fixes #2389
* Wed Nov 08 2023 marcus.schaefer@gmail.com
  - Don't use kernel-install
    kernel-install does a lot more then making the kernel available
    to the ESP. It calls dracut, it creates loader entries and all
    that is unexpected and also breaks the boot because the way
    dracut is called in the image build case where host != target
    leads to broken results. This commit refactors the systemd-boot
    support in kiwi to prevent the use of kernel-install
* Wed Nov 08 2023 marcus.schaefer@gmail.com
  - Add check_efi_fat_image_has_correct_size
    Add runtime check for to check that the efifatimagesize
    does not exceed the max El Torito load size
* Tue Nov 07 2023 marcus.schaefer@gmail.com
  - Add support for ISO boot via systemd-boot
    Create proper EFI FAT image via bootctl to be used as
    alt loader in xorriso. This allows to boot the ISO
    via EFI e.g kvm -bios /usr/share/qemu/ovmf-x86_64.bin -cdrom file.iso
    Please note, hybrid boot is done via grub's hybrid MBR and
    as systemd-boot does not provide one, hybrid boot is out
    of scope yet. This Fixes #2281
* Sun Nov 05 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.17 → 9.25.18
* Wed Nov 01 2023 marcus.schaefer@gmail.com
  - Add partx to module-setup of kiwi-lib too
* 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
* 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
* Tue Oct 17 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.16 → 9.25.17
* Mon Oct 16 2023 marcus.schaefer@gmail.com
  - Fixed argument processing of config.bootoptions
    Instead of adding an extra space to make the subsequent reading
    to work, use an awk script that does it without nasty workarounds
* Mon Oct 16 2023 marcus.schaefer@gmail.com
  - Allow test-image-disk-ramdisk to be build locally
* Mon Oct 16 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.15 → 9.25.16
* Mon Oct 16 2023 marcus.schaefer@gmail.com
  - Fixed doc search field
    The search in the documentation is broken with the rtd
    schema and latest sphinx. Stick with sphinx 5.0.0 for the
    moment which fixes the issue
* Mon Oct 16 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.14 → 9.25.15
* Mon Oct 16 2023 marcus.schaefer@gmail.com
  - Make codacy happy
* Mon Oct 16 2023 marcus.schaefer@gmail.com
  - Support release version in signkey URLs
    Using one of the $releasever/${releasever} variable placeholders
    in an URL as part of a <signing key="..."/> element did not replace
    the placeholder with the value of the <release-version> element.
    This commit fixes this and also makes sure that the result list
    for downloading signing keys is unique. This Fixes #2381
* Sun Oct 08 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.13 → 9.25.14
* Sun Oct 08 2023 marcus.schaefer@gmail.com
  - Update pypi release to trusted workflow
* Fri Sep 22 2023 marcus.schaefer@gmail.com
  - Added unit test for testing grub prefix
    Cover the condition if an extra boot partition is used
* Wed Sep 13 2023 marcus.schaefer@gmail.com
  - Support TOML markup
    Allow to use TOML markup for the kiwi image description
    This Fixes #2372
* Wed Sep 13 2023 marcus.schaefer@gmail.com
  - Fix documentation for btrfs_set_default_volume
    The behavior documentation regarding the fstab entry when
    using the btrfs_set_default_volume attribute was wrong.
    This commit fixes the docs to match the code. Related
    to Issue #2366
* Wed Sep 13 2023 radoslav.kolev@suse.com
  - Fix typo in 'image results' doc section
* Wed Sep 13 2023 marcus.schaefer@gmail.com
  - Fixed root entry in fstab for btrfs layout
    A root (/) entry in fstab for btrfs is only required if no
    default volume is configured. This commit adapts the code
    path which adds an fstab entry for (/) to be effective only
    if btrfs_set_default_volume is set to false.
    Additionally, the documentation around btrfs_set_default_volume
    was clarified to describe the behavior the switch triggers.
    This Fixes #2366
* Wed Sep 13 2023 dcassany@suse.com
  - Remove community repository from Arch images
    Community repository is no longer needed for the test image. OBS does
    not pull any package from this repository and in Arch linux there is not
    the concept of empty repositories, so the build fails in an OBS context
    if this repository is included within the build stack.
    Signed-off-by: David Cassany <dcassany@suse.com>
* Thu Sep 07 2023 leif.liddy@gmail.com
  - use / prefix when boot partition is used
* Fri Sep 01 2023 leif.liddy@gmail.com
  - use os.path.join to create path
    os.path.join to create the path for the early_boot.write functions
    this will prevent paths from containing double slashes //
* Thu Aug 31 2023 neal@gompa.dev
  - PKGBUILD: Drop unused Python dependencies
    We haven't used some of these dependencies in years...
* Sat Aug 26 2023 leifliddy@users.noreply.github.com
  - add info on none console type
* Fri Aug 25 2023 leifliddy@users.noreply.github.com
  - allow value of GRUB_TERMINAL to be empty
    allow value of GRUB_TERMINAL to be empty. When setting grub_console="none"
    this now leads to an empty setting of GRUB_TERMINAL in the /etc/default/grub
    system configuration file. This Fixes #2261
* Thu Aug 24 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.12 → 9.25.13
* Tue Aug 22 2023 marcus.schaefer@gmail.com
  - Fixed mounting of subvolumes for data sync
    The subvolumes must be mounted below the root of the
    filesystem tree such that the sync mechanism correctly
    shuffles the data to the correct volumes.
    This Fixes #2356
* Tue Aug 22 2023 joerg.vehlow@aox.de
  - Make verity metadata always readonly
    If a partition is verity protected, it can never be writable,
    since verity is by-definition read-only.
* Wed Aug 16 2023 mail@evangoo.de
  - Require DNF 5 in Fedora >= 41, not Fedora > 38
    The switch to DNF 5 has been postponed to (likely) Fedora 41.
* Tue Aug 15 2023 marcus.schaefer@gmail.com
  - Add kiwi_live_volid variable to profile
    As part of the profile environment only the kiwi_install_volid
    variable existed with the default value 'INSTALL'. This information
    is correct when building an oem image with installiso set to
    true. The resulting .install.iso image has the configured volid
    or the mentioned default 'INSTALL'. However, when building a live
    ISO image the default volid value is set to 'CDROM' but the profile
    environment contains kiwi_install_volid which is misleading and
    in case no volid is provided in the configuration file, the
    default value would also be a wrong information. This commit cleans
    up the mess and provides kiwi_install_volid for install ISO media
    and kiwi_live_volid for Live ISO media with their respective
    default values
* Tue Aug 15 2023 tomschr@users.noreply.github.com
  - Add some hints about KIWI extensions and dependencies for SLE (#2348)
    SUSE Linux Enterprise Server (SLES) has KIWI as a package.
    However, some KIWI plugins and their dependencies can
    be unavailable.
    This commit introduces a new section which deals with this
    aspect.
    Fixes bsc#1209302
* Fri Aug 11 2023 marcus.schaefer@gmail.com
  - Package lockdev no longer exists on TW
    Update TW based integration tests and delete the install
    of the lockdev package
* Thu Aug 10 2023 tom_schr@web.de
  - Update GitHub Actions "actions/*" part
    Update to the latest versions:
    * actions/checkout@v3
    * action/setup-python@v4
    * action/cache@v3
* Wed Aug 09 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.11 → 9.25.12
* Wed Aug 09 2023 marcus.schaefer@gmail.com
  - Fix double grub entries in hybrid ISO images
    As consequence of using the "source" grub command instead
    of the "configfile" command to load the grub config we now
    see double loading of the same file on ISO media. The reason
    here is that kiwi ISO media is always hybrid which means it
    embeds an MBR into the ISO for which the "source" command now
    can read the same file through two different device paths.
    This does not happen with the "configfile" grub command.
    Thus this patch uses "configfile" if we produce an ISO image
    and "source" for all other image types. The commit also fixes
    the custom grub template used for ISO images in a way that
    we only set the "serial" command if there is a serial
    configuration provided along with the image description.
* Thu Aug 03 2023 marcus.schaefer@gmail.com
  - Update x86/tumbleweed/test-image-systemd-boot
    systemd package has been splitted and provides
    systemd-boot in an extra package now
* Thu Aug 03 2023 marcus.schaefer@gmail.com
  - Limit scope of grub _fix method
    Only apply _fix_grub_to_support_dynamic_efi_and_bios_boot for
    the x86_64 or ix86 architectures. This Fixes #2343
* Tue Aug 01 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.10 → 9.25.11
* Tue Aug 01 2023 leif.liddy@gmail.com
  - remove trailing whitespace
* Tue Aug 01 2023 dcermak@suse.com
  - rpm spec: add missing requires of typing_extensions for python < 3.8
* Tue Aug 01 2023 dcermak@suse.com
  - rpm spec: bump copyright year
* Tue Aug 01 2023 marcus.schaefer@gmail.com
  - Fixed linter errors
    Latest changes regarding type hints introduced linter errors.
    Also adapt the workflow run which is expected to detect them
* Tue Aug 01 2023 leif.liddy@gmail.com
  - add GRUB_TIMEOUT_STYLE menu option
    revert trailing space removal
* Mon Jul 31 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.9 → 9.25.10
* Mon Jul 31 2023 marcus.schaefer@gmail.com
  - Fixed python interpreter for Release target
* Mon Jul 31 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.8 → 9.25.9
* Mon Jul 31 2023 marcus.schaefer@gmail.com
  - Fixed workflow interpreter name
    Specifying py 3.10 has to be quoted
* Mon Jul 31 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.7 → 9.25.8
* Mon Jul 31 2023 marcus.schaefer@gmail.com
  - Fixed doc publishing
    The github action to do this was still based on py3.6
    but the latest changes on tox.ini requires a newer version
    of tox which doesn't exist for py3.6. Thus run the workflow
    on a newer python version
* Mon Jul 31 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.6 → 9.25.7
* Mon Jul 31 2023 marcus.schaefer@gmail.com
  - Fix linter check, whitespace after :
* Mon Jul 31 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.5 → 9.25.6
* Mon Jul 31 2023 marcus.schaefer@gmail.com
  - Pass rootflags if no default volume is set
    In case of btrfs and if btrfs_set_default_volume is explicitly
    switched off, we create the correct rootflags= kernel cmdline
    entry to tell the system about the root volume for booting
* Thu Jul 27 2023 slowpeek@users.noreply.github.com
  - Use 'source' instead of 'configfile' in generated grub.cfg
    Details are outlined in issue #2320
* Thu Jul 27 2023 marcus.schaefer@gmail.com
  - Make sure btrfs root volume is used when needed
    With the possibility to switch off setting the default volume
    an issue at other parts in the kiwi code which mounted the
    btrfs based system were uncovered. Without any default volume
    set it's required to transport the root volume if different
    from / and pass the respective subvol= option to the mount.
    This commit fixes it at the places where kiwi trusted btrfs
    to have a correct default volume set
* Thu Jul 27 2023 marcus.schaefer@gmail.com
  - update Fedora integration test
    The setting of a default volume is unwanted here
* Thu Jul 27 2023 marcus.schaefer@gmail.com
  - add btrfs_set_default_volume attribute
    By default kiwi runs btrfs set-default on the volume that is
    considered the default volume according to the btrfs settings
    and defaults. btrfs_set_default_volume="false" allows
    to deactivate this action. Along with the change also the
    misleading name of the btrfs_create_toplevel_subvolume has
    been changed to root_is_subvolume
* Tue Jul 25 2023 marcus.schaefer@gmail.com
  - Fixed check for extended attributes
    Only if libc reports errno 95 Operation not supported the method
    should return that extended attributes are not supported. Also
    add a debug information about the result of the call to get further
    information in the log file
* Tue Jul 25 2023 marcus.schaefer@gmail.com
  - Fixed call of tox for xdist
    Passing arguments to modules called by tox has changed
    its syntax
* Tue Jul 25 2023 marcus.schaefer@gmail.com
  - Take subvol mount option for root into account
    If the rootfs is btrfs based make sure the fstab entry for
    it takes the name of the root subvolume into account
* Tue Jul 25 2023 marcus.schaefer@gmail.com
  - Fix fallback secure boot setup
    Don't copy the same file. This case happens when rebuilding
    an image using --allow-existing-root when the fallback setup
    has done its job already in the first run
* Mon Jul 24 2023 dcermak@suse.com
  - Fix type hints of IsoToolXorrIso.init_iso_creation_parameters
* Mon Jul 24 2023 dcermak@suse.com
  - xorriso: handle case when isohdpfx.bin not found
* Mon Jul 24 2023 dcermak@suse.com
  - Fix type hints for the Pacman package manager
* Mon Jul 24 2023 dcermak@suse.com
  - Type hint the Path module
* Mon Jul 24 2023 dcermak@suse.com
  - Add better type hints to ContainerImageOCI and ContainerImageAppx
* Mon Jul 24 2023 dcermak@suse.com
  - Add ContainerImageBase abstract base class for OCI & Appx
* Mon Jul 24 2023 dcermak@suse.com
  - Add type hints to the Compress module
* Mon Jul 24 2023 dcermak@suse.com
  - Import modules in OCI.new() explicitly
    Also, add a type hint to the return type of OCI.new() so that this can now be
    verified with mypy
* Mon Jul 24 2023 marcus.schaefer@gmail.com
  - Update contributing chapter
    Fix and update the information how to contribute. Due to
    the latest changes in tox.ini some requirements regarding
    the tox and python versions came up. This commit updates
    the docs in this regard
* Mon Jul 24 2023 marcus.schaefer@gmail.com
  - Added py3.11 tox target
* Mon Jul 24 2023 marcus.schaefer@gmail.com
  - Fixed writing correct keyfile path to etc/crypttab
    The keyfile path was not correctly set in etc/crypttab which
    caused systemd not being able to read the keyfile, consequently
    asking for a passphrase. This commit fixes the writing of the
    crypttab and also fixes a python name clash with the "os"
    namespace.
* Mon Jul 24 2023 marcus.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
* Mon Jul 24 2023 marcus.schaefer@gmail.com
  - Delete pyxattr from setup.py
    Followup on Issue #2330. Forgot to delete pyxattr requirement
    from setup.py
* Mon Jul 24 2023 marcus.schaefer@gmail.com
  - Add volid to profile for all ISO based image types
    Add provided volume id (or the default value) to the profile
    environment file for all ISO based image types. So far this
    was only done for installation ISO media but not for simple
    live ISO images.
* Mon Jul 24 2023 marcus.schaefer@gmail.com
  - Fixed mail address in spec file
* Thu Jul 20 2023 marcus.schaefer@gmail.com
  - Delete (py)xattr module requirement
    The required functionality is provided by the core os library
* Thu Jul 20 2023 github@glidos.net
  - Fix failure when booting KIS via NBD
    In the NBD booting case, the function initGlobalDevices in
    kiwi-overlay-root.sh runs the command ndb-client to connect the remote NBD
    share to the device /dev/nbd0. The script parse-kiwi-overlay.sh, on the
    other hand, incorrectly parses overlay:nbd=ip:export to /dev/ip/export,
    leading to the system waiting for /dev/ip/export to appear. This commit
    corrects the problem.
    With this change NDB booting of KIS images now succeeds, although only if
    the ndb package is added to the appliance description.
* Wed Jul 19 2023 marcus.schaefer@gmail.com
  - Use bootpartition for Fedora integration test
    When using btrfs with the proposed layout for testing the
    delivered grub bios module for the Fedora system used to build
    the integration test (FC37) is not capable to find the grub
    config file. A manual call for configfile in the grub shell
    fixes this with the existing kiwi created grub early-boot
    script. However, it is expected that the delivered grub image
    works and kiwi only creates its own one if no distro delivered
    grub image was found. To make the integration test functional
    for both BIOS and EFI the simple solution is to use an extra
    not btrfs based boot partition. This still allows to test
    the desired btrfs layout in terms of volumes and sub-volumes
    and does not break on any of the boot methods.
* Wed Jul 19 2023 marcus.schaefer@gmail.com
  - Fixed apply_attributes_on_volume
    Make the function call more robust in terms of path separation
* Wed Jul 19 2023 dcermak@suse.com
  - Use tox isolated_build instead of hardcoding the envdir
* Tue Jul 18 2023 marcus.schaefer@gmail.com
  - Add parent attribute to volume setup
    For the btrfs volume management, allow to put a volume into a specific
    parent volume. If not specified the volume is below the default volume
    This Fixes #2316
* Tue Jul 18 2023 jesus.bv@suse.com
  - Add SECURE_BOOT no when the firmware is efi
    This Fixes bsc#1211102
* Sun Jul 16 2023 marcus.schaefer@gmail.com
  - Use btrfs for fedora/test-image-live-disk test
    Change the Virtual profile to build a btrfs based image
    for testing respective btrfs layouts
* Sun Jul 16 2023 marcus.schaefer@gmail.com
  - Add btrfs_create_toplevel_subvolume attribute
    Allow to explicitly select if a toplevel subvolume should
    be created or not. To avoid a behavior change, kiwi will
    create a toplevel based btrfs structure if this attribute
    is not specified. However, a deprecation message to inform
    about future behavior change will be printed. This is
    related to Issue #2316
* Wed Jul 12 2023 marcus.schaefer@gmail.com
  - Evaluate the @root volume name also for btrfs
    In a volume setup the special volume declaration
    <volume name="@root=identifier"/> was only evaluated for the
    LVM volume manager. In case of btrfs a hardcoded root volume
    name '@' was used. This commit allows to specify a custom
    name for the root volume for btrfs as well and also allows
    to specify that there should be no such root volume.
    Example:
    <volume name="@root=@"/>
    Name the root volume '@'. If not specified this stays as
    the default to stay compatible
    <volume name="@root=/"/>
    Indicate no root volume is wanted. All subvolumes resides
    below root (/)
    <volume name="@root=foo"/>
    Name the root volume 'foo'
    This is related to Issue #2316 and a first patch to
    address the requested changes
* Mon Jul 10 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.4 → 9.25.5
* Mon Jul 10 2023 marcus.schaefer@gmail.com
  - Fixed regression in bootloader config attr access
    use_disk_password is not an attribute that exists in all
    BootLoaderConfig instances. Thus it's a mistake to access
    the attribute in the disk builder
* Mon Jul 10 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.3 → 9.25.4
* Mon Jul 10 2023 marcus.schaefer@gmail.com
  - Load isoschematron module on demand
    Due to a license issue the isoschematron code might not be
    available in the lxml package from the distributor. This commit
    uses isoschematron on demand. If present on the system it gets
    loaded and used, if not a warning that the schematron validation
    will be skipped is provided. This Fixes #2314
* Sat Jul 08 2023 slowpeek@users.noreply.github.com
  - Improve loopback.cfg example
    submenu+source should be preferred over menuentry+configfile:
    - submenu creates a new context, menuentry does not. As a result, changes made
    to vars inside menuentry's braces pollute the current scope. In this particular
    case what is notably wrong is root=loop happens in the current scope. If we
    activate the "Boot from openSUSE ISO" menu entry and then press Esc to return
    back to explore other menu entries, $root would still be set to 'loop'. Instead
    of manually saving and restoring $root value it is better to wrap the whole
    thing in a new context with submenu
    - configfile is not just 'source in a new context', it has as least one side
    effect. For details look for grub_err_printed_errors usage in [1] and [2] in
    grub sources
    [1] grub-core/normal/menu.c
    [2] grub-core/normal/menu_entry.c
* Fri Jul 07 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.2 → 9.25.3
* Wed Jul 05 2023 okir@suse.com
  - Add improvements for fully encrypted disk images
    This commit adds more flexibility when using LUKS
    encrypted images. In addition support for key derivation
    on user provided passwords has been added. The following
    new attributes were added to the schema:
    type.luks_randomize
    allow to enable/disable the data randomizing if luks
    encryption is used
    type.luks_pbkdf
    When LUKS unlocks a key slot using a user provided
    password, it uses a so-called key derivation function
    to derive a symmetric encryption key from the password.
    Not all boot loaders support all KDF algorithms, hence
    this attribute can be used to select a specific algorithm
    bootloader.use_disk_password
    When /boot is encrypted, make the boot loader store the
    password in its configuration file (in cleartext). This
    is useful for full disk encryption images
    Signed-off-by: Olaf Kirch <okir@suse.com>
* Wed Jul 05 2023 okir@suse.com
  - Change location of LUKS keyfile to /root/.root.keyfile
    In some configuration (eg on a transactional system), the root
    file system is read-only, which means we will not be able to remove
    the stale .root.keyfile after firstboot.
    This patch changes the location of the keyfile and places it in
    /root/.root.keyfile instead, because root's home directory is much
    more likely to be read/write.
    Also fixed the associated unit test (thanks to schaefi).
    Signed-off-by: Olaf Kirch <okir@suse.com>
* 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
* Tue Jul 04 2023 marcus.schaefer@gmail.com
  - Refactor the luks_device class data transport
    Also add missing unit tests
* Mon Jul 03 2023 marcus.schaefer@gmail.com
  - test_get_build_type_bootloader_use_disk_password
    Add missing unit test for use_disk_password attribute
* Fri Jun 16 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.1 → 9.25.2
* Fri Jun 16 2023 marcus.schaefer@gmail.com
  - Fix repository setup for microdnf
    An instance of the Repository class for microdnf has
    to use RepositoryDnf4
* Fri Jun 16 2023 marcus.schaefer@gmail.com
  - Bump version: 9.25.0 → 9.25.1
* Wed Jun 14 2023 marcus.schaefer@gmail.com
  - Fixed image install of dnf package manager
    If the package manager is set to 'dnf4', this name is
    taken also as package name to install this package manager
    into the image. Problem is 'dnf4' is not a valid package
    name. The correct name for 'dnf4' is 'dnf'. This commit
    fixes the name bug introduced with the changes for
    Issue #2262
* Wed Jun 14 2023 marcus.schaefer@gmail.com
  - Bump version: 9.24.61 → 9.25.0
* Wed Jun 14 2023 marcus.schaefer@gmail.com
  - Add more details about used grub image(s)
* Sat Jun 10 2023 me@lvfrfn.in.ua
  - make alias unique in any cases
* Thu Jun 01 2023 wfeldt@opensuse.org
  - The actual padding is 0. And switch to sha256.
* Mon May 29 2023 marcus.schaefer@gmail.com
  - Change package manager dnf to dnf4
    With dnf5 there is a successor for dnf but there will also
    be a transition period where there will be both, the former
    dnf and the new dnf5 available. For a clear distinction
    between the two we got the recommendation from the RedHat
    team to support both in different namespaces. This commit
    now implements a backward compatible change for kiwi which
    includes the following modifications:
    * XSL stylesheet for automatic schema transformation from
    <packagemanager>dnf</packagemanager> to
    <packagemanager>dnf4</packagemanager>
    * Code copy of dnf API interface from
    PackageManagerDnf -> PackageManagerDnf4
    RepositoryDnf -> RepositoryDnf4
    * Deprecation of former Dnf API interface
    The code change here will force developers to adapt
    their code if they used RepositoryDnf / PackageManagerDnf
    classes in their python code. After this change developers
    will be dropped into a raise condition which exits kiwi
    at the time of the call. Related to Issue #2300
    and Issue #2262
* Thu May 25 2023 hp@urpla.net
  - Documentation: clearify dnf based collection selectors
    With 89b5a6f5269, the selection of collections was changed to allow
    group IDs only for dnf based package installers.
* Thu May 25 2023 marcus.schaefer@gmail.com
  - Update rawhide integration tests
    Use dnf5 for rawhide. It's hard to differentiate between old and
    new dnf version on Fedora Rawhide. Thus let's make the move to
    dnf5. Since microdnf is also wrapped into dnf5 the integration
    test for microdnf got renamed to dnf5
* Wed May 24 2023 marcus.schaefer@gmail.com
  - Add support for dnf5 package manager
    dnf5 is the next generation of the dnf package manager.
    dnf5 is not a drop in replacement to dnf which is the reason
    why this commit adds a new interface class for package and
    repository management under a new name: dnf5. Beginning with
    Fedora >= 39 dnf5 will be the standard. Thus the requirements
    on the packaging level were adapted too.
    This Fixes #2300
    This Fixes #2262
* Wed May 24 2023 isaac.true@canonical.com
  - dracut: modules.d: 90kiwi-overlay: add support for device mapper targets
    Allow specifying a device mapper target for the root of the overlayfs.
    This adds support for features like adding a dm-verity or dm-crypt
    backend to the overlayfs.
    A device mapper target can be specified using the following syntax on
    the kernel command line:
    root=overlay:MAPPER=verityRoot
    This translates to using the path `/dev/mapper/verityRoot` as the base
    of the overlayfs.
    Signed-off-by: Isaac True <isaac.true@canonical.com>
* Wed May 24 2023 marcus.schaefer@gmail.com
  - Bump version: 9.24.60 → 9.24.61
* Tue May 23 2023 isaac.true@canonical.com
  - dracut: modules.d: 99kiwi-lib: add bash shebangs and dependency
    The scripts in the kiwi-lib module use bash-specific syntax like
    `function`, which causes the script to fail if another shell (like dash
    or busybox) is used to interpret the scripts. Specifically set the shebang
    to use bash as the shell interpreter and add bash as a dependency to the
    dracut module to fix this.
    This resolves the following errors which are printed at boot when
    busybox tries to interpret the scripts:
    /bin/dracut-pre-mount: 3: /lib/kiwi-filesystem-lib.sh: function: not found
    /bin/dracut-pre-mount: 15: /lib/kiwi-filesystem-lib.sh: Syntax error: "}" unexpected
    Signed-off-by: Isaac True <isaac.true@canonical.com>
* Mon May 22 2023 jsrain@suse.com
  - Do not depend on dnf for SUSE ALP
* Tue May 16 2023 marcus.schaefer@gmail.com
  - Added appx-util as WSL requires for Fedora/RHEL
    Make sure the kiwi-systemdeps-containers-wsl meta package
    pulls in the required tools for Fedora/RHEL when building
    WSL containers. This is a followup to #2286
* Tue May 16 2023 marcus.schaefer@gmail.com
  - Add cpio to core systemdeps requires list
* Thu May 11 2023 loeser@atix.de
  - Find correct `shimx64.efi` binary for EL derivatives
    Sort globbing result by length and look for `shim[a-z]*.efi` pattern
    first before falling back to `shim.efi`. This allows us to match
    correct shim binary for SecureBoot enabled systems.
    The following example shows the content of recent shim package from
    AlmaLinux 9:
    $ ls -1 ~/Downloads/shim-almalinux-x64/boot/efi/EFI/almalinux
    BOOTX64.CSV
    mmx64.efi
    shim.efi
    shimx64-almalinux.efi
    shimx64.efi
    Sorted globbing result is:
    shimx64.efi
    shimx64-almalinux.efi
    First match wins (here `shimx64.efi`) which is the correct binary to be
    used as it is signed by M$.
    Was tested with shim packages for CentOS (x64, ia32, aarch64), Fedora 36
    (x64), AlmaLinux 9 (x64, aarch64).
* Sat May 06 2023 marcus.schaefer@gmail.com
  - Bump version: 9.24.59 → 9.24.60
* Thu May 04 2023 marcus.schaefer@gmail.com
  - Allow to create plain cpio archives
    Allow to create plain cpio archives to serve the idea
    of the mkosi initrd concept
* Fri Apr 28 2023 fvogt@suse.de
  - Fix restoration of grub2-install (bsc#1210948)
    It checked for grub2-install.orig in the host, not the buildroot. This
    meant that it left /usr/sbin/grub2-install as a noop.
* Fri Apr 28 2023 dcassany@suse.com
  - Use cross arch macros to interpret uint64_t
    This commit adds inttypes.h to make use of PRIu64 style
    macros in order to properly translate uint64_t across
    different architectures. More specific this allows the
    code to compile for ix86.
    Signed-off-by: David Cassany <dcassany@suse.com>
* Tue Apr 25 2023 loeser@atix.de
  - Look for specific `shimx64.efi` binary first
    In CentOS, `/boot/efi/EFI/*/shim*.efi` extends to
    `/boot/efi/EFI/centos/shimx64-centos.efi` which is not signed by M$ but
    CentOS itself. This in turn does not boot on SecureBoot enabled systems.
* Mon Apr 24 2023 marcus.schaefer@gmail.com
  - Delete score card
    Too flaky, broken most of the time and I'm not sure
    how much value it adds to the project overall
* Mon Apr 24 2023 marcus.schaefer@gmail.com
  - Fix score card action
* Mon Apr 24 2023 marcus.schaefer@gmail.com
  - Update TW build tests
    plymouth-plugin-script must be explicitly added now
* Mon Apr 24 2023 marcus.schaefer@gmail.com
  - Revert "Add zstd and xzio to grub image"
    This reverts commit af8c702db0a60ed4abeba8686d4e8475c410c58d.
    The grub modules does not exist in all grub installations.
    A different implementation is required
* Mon Apr 24 2023 marcus.schaefer@gmail.com
  - Update TW integration tests
    change theme from bgrt to breeze. TW has deleted bgrt
* Mon Apr 24 2023 marcus.schaefer@gmail.com
  - Fixed writing URIs including ASCII encoding
* Fri Apr 21 2023 marcus.schaefer@gmail.com
  - Split container systemdeps in OCI and WSL
* Thu Apr 20 2023 marcus.schaefer@gmail.com
  - Update kiwi-systemdeps-containers requires list
    Do not strictly require fb-util-for-appx. In order to create
    WSL containers fb-util-for-appx is a requirement but usually
    users create OCI containers and WSL containers are still a
    niche case. Thus it's ok to reduce the requirement into a
    recommends. This Fixes #2284
* Thu Apr 20 2023 marcus.schaefer@gmail.com
  - Encode remote URLs
    Special characters in a URL e.g the @ sign needs to be encoded
    as part of a remote URL.
* Tue Apr 18 2023 marcus.schaefer@gmail.com
  - Fix workflow run
* Tue Apr 18 2023 marcus.schaefer@gmail.com
  - Fixed Fedora prebuild EFI binary lookup
    When creating CentOS/Fedora live media, kiwi does not install the
    right signed grub2 EFI binary. This was caused by kiwi not being
    aware of the gcdx64.efi(x86_64), gcdaa64.efi(aarch64) binaries
    for CD/ISO boot. This Fixes #2270
* Thu Apr 13 2023 marcus.schaefer@gmail.com
  - Bump version: 9.24.58 → 9.24.59
* Thu Apr 13 2023 marcus.schaefer@gmail.com
  - Add zstd and xzio to grub image
    If kiwi builds its own grub image, make sure the compression
    algorithms zstd and xz are supported
* Wed Apr 12 2023 dcassany@suse.com
  - Adding a comment to explain the s390 specific path
    Signed-off-by: David Cassany <dcassany@suse.com>
* 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>
* Tue Apr 04 2023 loeser@atix.de
  - Add potential shim binary for Ubuntu
    Looks like `shim*.efi` is gone in latest `shim-signed` package. The
    package now contains `shimx64.efi.signed.latest` and
    `shimx64.efi.signed.previous` binaries, let's take latest.
    shim-signed_1.40.9+15.7-0ubuntu1_amd64/usr/lib/shim/:
    total 4688
    drwxr-xr-x. 3 root root    209 Jan 31 12:57 .
    drwxr-xr-x. 3 root root     18 Jan 31 12:57 ..
    - rw-r--r--. 1 root root    108 Jan 31 12:57 BOOTX64.CSV
    - rwxr-xr-x. 1 root root   1622 Jan 31 12:57 is-not-revoked
    drwxr-xr-x. 2 root root     25 Jan 31 12:57 mok
    - rw-r--r--. 1 root root 950891 Jan 31 12:57 shimx64.efi
    - rw-r--r--. 1 root root 962400 Jan 31 12:57 shimx64.efi.dualsigned
    - rw-r--r--. 1 root root 960472 Jan 31 12:57 shimx64.efi.signed.latest
    - rw-r--r--. 1 root root 955656 Jan 31 12:57 shimx64.efi.signed.previous
    - rw-r--r--. 1 root root  88296 Jan 27 20:09 fbx64.efi
    - rw-r--r--. 1 root root 860824 Jan 27 20:09 mmx64.efi
    shim-signed_1.40.7+15.4-0ubuntu9_amd64/usr/lib/shim/:
    total 3728
    drwxr-xr-x. 3 root root    145 Aug 13  2021 .
    drwxr-xr-x. 3 root root     18 Aug 13  2021 ..
    - rw-r--r--. 1 root root    108 Aug 13  2021 BOOTX64.CSV
    - rw-r--r--. 1 root root  85672 Aug 13  2021 fbx64.efi
    - rw-r--r--. 1 root root 856232 Aug 13  2021 mmx64.efi
    drwxr-xr-x. 2 root root     25 Aug 13  2021 mok
    - rw-r--r--. 1 root root 947143 Aug 13  2021 shimx64.efi
    - rw-r--r--. 1 root root 957576 Aug 13  2021 shimx64.efi.dualsigned
    - rw-r--r--. 1 root root 955656 Aug 13  2021 shimx64.efi.signed
* Mon Apr 03 2023 dcassany@suse.com
  - Expand DASD partition table with parted
    Signed-off-by: David Cassany <dcassany@suse.com>
* Thu Mar 30 2023 marcus.schaefer@gmail.com
  - Fixed evaluation of custom start sector
    In case an alternative partition table start sector is
    configured, the check to effectively apply it should be
    based on the partition table type not on the firmware
    name
* Thu Mar 30 2023 dcassany@suse.com
  - Add parted dependency for s390
    Signed-off-by: David Cassany <dcassany@suse.com>
* Tue Mar 28 2023 marcus.schaefer@gmail.com
  - Bump version: 9.24.57 → 9.24.58
* Mon Mar 27 2023 marcus.schaefer@gmail.com
  - Build leap btrfs test without root as snapshot
    So far no btrfs integration test without root as snapshot existed
* Sat Mar 25 2023 marcus.schaefer@gmail.com
  - Support EFI boot from squashfs
    grub supports reading from squashfs. If no extra bootloader
    installation is required this allows to boot from a squashfs
    rootfs without extra boot partition. The prebuilt grub images
    usually does not contain the squash4 module which is the
    reason why kiwi creates the EFI module itself if the system
    is fully immutable. Please note; the grub configuration
    must be provided manually as part of the image description
    in this case because grub-mkconfig at the time it has to be
    called has no write permissions anymore.
* Fri Mar 24 2023 fvogt@suse.de
  - Fix /.snapshots mounting in the btrfs volume manager
    The /@/.snapshots subvolume was not mounted as /.snapshots in the root
    filesystem snapshot. This is now necessary for snapper to work.
    While at it, create 1/snapshot as plain subvolume, it does not make sense
    to snapshot @ itself.
* Thu Mar 16 2023 marcus.schaefer@gmail.com
  - Add support for config-host-overlay.sh script
* Thu Mar 16 2023 marcus.schaefer@gmail.com
  - Fixed build of dracut-kiwi-verity
    The spec file was missing the package definition to actually
    create the dracut-kiwi-verity package. In addition the fixed
    setting to the C standard 17 caused build errors for me on
    distributions that uses C standard 11/12.
* Wed Mar 15 2023 marcus.schaefer@gmail.com
  - Add selinux integration test for Leap
    SUSE systems supports both, apparmor and selinux, whereas
    apparmor is the default. As selinux requires to create security
    labels during build time of an image, this integration test
    checks if the labeling works for SUSE based OS'es.
    This Fixes #2244
* Tue Mar 14 2023 marcus.schaefer@gmail.com
  - Allow custom template evaluation for install ISO
    So far only Live ISO images allowed for custom template usage
* Tue Mar 14 2023 marcus.schaefer@gmail.com
  - Fix Arch Linux Live ISO integration test
    Switch to grub for booting the ISO, for some reason isolinux
    refused to work and there is no priority to dig into the issue.
    This Fixes #2233
* Tue Mar 14 2023 marcus.schaefer@gmail.com
  - Fix Arch Linux EFI install ISO integration test
    kiwi has code in bootloader/template/grub2.py which uses
    linuxefi/initrdefi commands according to the configured
    grub_platform. These commands does not exist on Arch and
    therefore the integration test provides its own ISO
    template. This Fixes #2232
* Tue Mar 14 2023 marcus.schaefer@gmail.com
  - Add dracut-kiwi-verity dracut module package
    When building an image with an embedded verity hash via the
    embed_verity_metadata="true" type attribute it is required
    to setup the device map at boot time accordingly. The dracut
    module in this commit provides the needed tooling as a
    POSIX C implementation which is able to read the kiwi embedded
    verityhash from the offset of the partition. Kudos goes to
    Isaac True <isaac.true@canonical.com>
    Co-authored-by: Isaac True <isaac.true@canonical.com>
    Signed-off-by: Isaac True <isaac.true@canonical.com>
* Mon Mar 13 2023 jgleissner@suse.com
  - (Re-)add support for 'anymarkup' < 0.5.0
    Fall back to module 'anymarkup' if 'anymarkup_core' is not available.
* Sat Mar 11 2023 marcus.schaefer@gmail.com
  - Support UNIXNODE device names for overlayroot
    When no other persistent naming schema can be used to
    identify the device there should be the option to
    specify the kernel unix device node name
* Fri Mar 10 2023 jgleissner@suse.com
  - Use module anymarkup-core instead of anymarkup
    Use 'anymarkup-core' directly instead of wrapper 'anymarkup'.
* Thu Mar 09 2023 marcus.schaefer@gmail.com
  - Fix permissions of live ISO system files
    Make sure initrd and squashfs.img takes permissions o644
    This Fixes #2246
* Wed Mar 08 2023 marcus.schaefer@gmail.com
  - Update TW test-image-rpi-overlay build test
    It used rd.root.overlay.readonly but it meant rd.root.overlay.temporary
* Wed Mar 08 2023 marcus.schaefer@gmail.com
  - Fixed rd.root.overlay.readonly handling
    Fix the option implementation to actually do what it is supposed
    to do, boot the system in fll read-only mode. In addition a new
    parameter named rd.root.overlay.temporary has been introduced
    which allows to boot up in read-write mode but the write area
    is a tmpfs. Thus persistency only during runtime. Updated the
    documentation accordingly
* Tue Mar 07 2023 marcus.schaefer@gmail.com
  - Fixed tumbleweed build tests
    opie no longer in TW
* Tue Mar 07 2023 marcus.schaefer@gmail.com
  - Fixed tumbleweed/test-image-azure
    opie no longer in TW
* Tue Mar 07 2023 marcus.schaefer@gmail.com
  - Support PARTLABEL device names for overlayroot
    When using GPT a partlabel exists that can also be used as a
    device reference
* Tue Mar 07 2023 marcus.schaefer@gmail.com
  - Fixed kernel parameters for overlayroot setup
    The device selection for the read-only and read-write devices
    in an overlayroot setup was implicitly done in the kiwi-overlay
    dracut module by reading the root= information. This is a
    concept which barely works and should be refactored in a way
    that the root= information always points to the root device
    and that an eventually existing write location is explicitly
    provided via the existing rd.root.overlay.write parameter
    which is allowed to be overwritten for providing an alternative
    write location. Making this information consistent and explicit
    on the kernel commandline simplifies the dracut code to
    consume this information correctly. This Fixes #2251
* Sun Mar 05 2023 marcus.schaefer@gmail.com
  - Fixed conditional options evaluation
    The former condition caused the end result list to be empty
* Sat Feb 11 2023 marcus.schaefer@gmail.com
  - Add support for creating delta containers
    Add new attribute delta_root="true|false" which in combination with
    derived_from="OCI-base-image" allows to create a delta root tree
    only containing the differences between the OCI-base-image and the
    actions taken by the kiwi prepare step. Based on the delta root tree
    the subsequent image creation process starts. Such an incomplete
    root tree is only useful under certain circumstances which is also
    the reason why the feature is only available to the oci and docker
    image types.
* Fri Feb 10 2023 marcus.schaefer@gmail.com
  - Bump version: 9.24.56 → 9.24.57
* Sat Jan 28 2023 marcus.schaefer@gmail.com
  - Allow squashfscompression for plain squashfs
    The schematron rule to limit the squashfscompression attribute
    to certain image types did not allow it for a plain squashfs
    filesystem build. This commit fixes that limitation.
    This Fixes #2241
* Wed Jan 18 2023 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 where it was noted hardlinks
    were not preserved inside the initrd.
    Signed-off-by: David Cassany <dcassany@suse.com>
* Tue Jan 17 2023 marcus.schaefer@gmail.com
  - Fixed wrong test assertions
    Former versions of pytest did ignore invalid assertions.
    Now they are reported as an error and show the mistakes
    of the past
* Tue Jan 17 2023 marcus.schaefer@gmail.com
  - Added 90-brd.conf for test-image-disk-ramdisk
    By default the brd ramdisk module is no longer added to the
    initrd. For ramdisk deployments this is required though.
    This Fixes #2230
* Sun Jan 15 2023 marcus.schaefer@gmail.com
  - Delete CentOS v7 build tests
    CentOS v7 is EOL for kiwi image build tests
* Thu Jan 05 2023 marcus.schaefer@gmail.com
  - Allow to specify fixed size for the root partition
    So far the last partition (typically root) in the partition table
    takes all the rest space of the partition table in the image file.
    At deployment/boot time users had several options to let that
    partition grow to a custom size. However, during build time of the
    image it was not possible to specify a specific fixed size for the
    root partition as we don't wanted to produce gaps of unpartitioned
    space in the image file. It has turned out that there is hardware
    available which requires a partition to be an exact multiple of
    some blocksize. As kiwi supports size constraints for all other
    partitions but not for root this commit now allows for it. The
    oem-systemsize element is now also taken into account at build
    time of the image if the oem-resize which would do that at
    deployment/boot time is switched off like the following example
    shows:
    ```xml
    <oemconfig>
    <!-- set root partition to 2048MB -->
    <oem-systemsize>2048</oem-systemsize>
    <oem-resize>false</oem-resize>
    </oemconfig>
    ```
    This Fixes #2203
* Wed Jan 04 2023 marcus.schaefer@gmail.com
  - Delete ppc:fedora from testing report
* Wed Jan 04 2023 marcus.schaefer@gmail.com
  - Remove Fedora PPC build test from index
    The integration test unfortunately never got tested anywhere
    is outdated and I have no PPC hardware here to run any tests.
    Let's add a real test if there is demand for it
* Wed Jan 04 2023 marcus.schaefer@gmail.com
  - Added kiwi-settings for Fedora arm build tests
* Mon Jan 02 2023 marcus.schaefer@gmail.com
  - Pass along tmpdir to skopeo
    When using the --temp-dir parameter, it was not passed to the
    skopeo calls when building a container image with kiwi.
* Thu Dec 22 2022 marcus.schaefer@gmail.com
  - Allow fat16/fat32 as filesystem in partitions
    The partitions element allows to specify the filesystem for
    the individual partition. In the schema fat16 and fat32 were
    missing
* Thu Dec 22 2022 rjschwei@suse.com
  - Support new bootloadersettings section
    Allow to specify an optional <bootloadersettings> element
    inside of the <bootloader> section. The information is used to
    specify custom arguments for the tools called in a bootloader
    setup procedure, e.g shim-install, grub-install or grub-mkconfig.
    kiwi does not judge on the given parameters and if the provided
    data is effectively used depends on the individual bootloader
    implementation. In this commit the data will be effectively
    handled if bootloader="grub2" is configured. More precisely
    the custom additions to support SUSE's TPM model with grub2
    can be configured as follows:
    <bootloadersettings>
    <shimoption name="--suse-enable-tpm"/>
    <installoption name="--suse-enable-tpm"/>
    <configoption name="--set-trusted-boot"/>
    </bootloadersettings>
    This Fixes #2224
* Tue Dec 20 2022 marcus.schaefer@gmail.com
  - Stick with tox v3.28.0 for unit testing
    tox >= 3.0.15 together with virtualenv >= 20.17.1 raises
    strange incompatibilities and prevents the unit test run
    because tox calls virtualenv in a wrong way leading to
    strange error messages like:
    - --
    usage: virtualenv ...
    virtualenv: error: argument dest: destination '{check,devel,packagedoc,doc,doc_gh_pages,doc_suse,doc_man,scripts,}: /home/runner/work/kiwi/kiwi/.tox/3\n/home/runner/work/kiwi/kiwi/.tox/3.8' must not contain the path separator (:) as this would break the activation scripts
    - --
    All this doesn't make sense to me at all and worked
    without any issues before.
* Tue Dec 20 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.55 → 9.24.56
* Tue Dec 20 2022 marcus.schaefer@gmail.com
  - Fix gh-pages publish
* Sun Dec 18 2022 marcus.schaefer@gmail.com
  - Fixed systemd boot integration test for rawhide
    systemd-boot was splitted in preparation for secure
    boot. The unsigned version of the EFI binary is used
    in the test so far
* Sun Dec 18 2022 marcus.schaefer@gmail.com
  - Added device mapper setting for s390 on TW
    Use kpartx as partx fails
* Sun Dec 18 2022 marcus.schaefer@gmail.com
  - Added device mapper setting for s390
    Use kpartx as partx fails
* Sun Dec 18 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.54 → 9.24.55
* Wed Dec 14 2022 marcus.schaefer@gmail.com
  - Allow to pass credentials as file reference
* Tue Dec 13 2022 marcus.schaefer@gmail.com
  - Fixed handling of container archive compression
    In kiwi we support handling of the container archive compression
    via a runtime configuration setting of the following form, eg
    in /etc/kiwi.yml
    ```yaml
    container:
    [#] Specify compression for container images
    [#] Possible values are true, false, xz or none.
    - compress: true
    ```
    However, this setting was only taken into account in the kiwi
    bundler. Meaning if the user calls 'kiwi result bundle ...'
    after the container image has been created the result bundler
    will take the compression setting into account. From my perspective
    this behavior is misleading and also prevents users from
    creating compressed container archives without a subsequent
    result bundler call. Therefore this commit moves the place to
    handle the compression setting into the container classes.
    The bundler code for containers will no longer operate on it
    and just takes what it gets, which can be either compressed
    or not. The default setting was "No compression" and this
    was not changed. This Fixes #2217
* Tue Dec 13 2022 marcus.schaefer@gmail.com
  - Add type hints for OCI and APPX classes
* Sun Dec 11 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.53 → 9.24.54
* Sun Dec 11 2022 marcus.schaefer@gmail.com
  - Fix publish to pypi
    bind gh-action module to v1 release
* Sun Dec 11 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.52 → 9.24.53
* Sat Dec 10 2022 marcus.schaefer@gmail.com
  - Use ubuntu-20.04 as github hosted runner
    It seems on ubuntu-latest no python 3.6 is available anymore
* Sat Dec 10 2022 marcus.schaefer@gmail.com
  - Allow external commands in tox targets
* Fri Dec 09 2022 marcus.schaefer@gmail.com
  - Fix unit test run for BLS spec base class
    Do not really call blkid as used in get_boot_cmdline
* Fri Dec 09 2022 marcus.schaefer@gmail.com
  - Fixed typo in documentation
    Capitalize at the start of a sentence.
    This Fixes #2216
* Fri Dec 02 2022 marcus.schaefer@gmail.com
  - Fix unit tests to run in parallel
    Setting sys.argv and global variables impacts tests such that
    they cannot run in parallel. The little footprint of excluding
    the --config global args test from the coverage is beneficial
    to allow parallel test runs
* Fri Dec 02 2022 marcus.schaefer@gmail.com
  - Don't show secret parts of an URI
    Using URIs of the form uri://user:pass@location should not be
    logged or printed including its credential data
* Fri Dec 02 2022 marcus.schaefer@gmail.com
  - Don't use split on potential None value
* Thu Dec 01 2022 marcus.schaefer@gmail.com
  - Allow to select partition mapper tool
    The recent change from kpartx to partx caused some appliance
    builds to break depending on their configuration. I spotted
    issues when building disks with veritysetup or integritysetup
    root devices. There are also issues with grub-install on other
    architectures e.g s390. It seems partx cannot be used as a drop
    in replacement and so I suggest to make this a runtime
    configuration option with partx as the new default but also
    allow for the old method
* Thu Dec 01 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.51 → 9.24.52
* Wed Nov 30 2022 marcus.schaefer@gmail.com
  - Fix status indicator in helper/build_status.sh
    colored output only worked for toplevel results
* Wed Nov 30 2022 neal@gompa.dev
  - Eliminate redundant partx calls for cleaning up loop devices
    partx can clean up all partition loops associated with a loop device
    when deleting the main loop device. Apparently, sometimes it goes and
    does this even when only deleting the partition loop, so to avoid
    this problem, we will just eliminate the redundant call.
    Fixes: 8f2b8fda82a37d7a7ebbf8a6557870cc63b0ae91
* Wed Nov 30 2022 marcus.schaefer@gmail.com
  - Support repo URI's with credentials on cmdline
    Specifying a repository as part of the image description
    allows for credentials via the username and password attributes.
    Howver, repositories can also be specified on the commandline
    via the --set-repo / --add-repo options. The options on the
    commandline did not allow to specify credentials so far.
    This commit adds the commandline options --set-repo-credentials
    and --add-repo-credentials to support them
* Wed Nov 30 2022 marcus.schaefer@gmail.com
  - Update test-image-vagrant
    virtualbox-guest-x11 seems to be deleted from TW
* Wed Nov 30 2022 marcus.schaefer@gmail.com
  - Fixed test-image-custom-partitions
    The test was done prior kiwi added the partitions element and
    demonstrates how to influence the partition table via scripts.
    These scripts uses kpartx and the device mapper. Due to the
    recent change from kpartx to partx the scripts must be
    adapted
* Tue Nov 29 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.50 → 9.24.51
* Tue Nov 29 2022 marcus.schaefer@gmail.com
  - Added code style batch to landing page
* Tue Nov 29 2022 marcus.schaefer@gmail.com
  - Delete obsolete gitlab pipeline status flag
    Delete obsolete gitlab pipeline status from the project
    landing page. We do no longer use gitlab since they added
    that quota thing for their CI system
* Tue Nov 29 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.49 → 9.24.50
* Tue Nov 29 2022 neal@gompa.dev
  - Swap from DM kpartx to util-linux partx for creating loop devices
    The device-mapper (DM) based loop devices that kiwi has historically
    generated creates issues when trying to run kiwi in confined build
    environments. The DM tools prefer to have a tighter coupling between
    userspace and kernel interfaces, and we cannot necessarily guarantee
    that in the variety of build environments that kiwi can be run in.
    In particular, Koji uses either nspawn containers or chroots through
    Mock to run kiwi and that is where this fails.
    However, we do not need to use DM for this purpose when util-linux
    provides a perfectly serviceable alternative. This commit changes
    kiwi's loop device setup to use partx(8) from util-linux instead.
    As long as the appliance image being created doesn't use a disk
    scheme that requires DM, it becomes entirely possible to produce
    an image without needing DM at runtime at all.
* Tue Nov 29 2022 marcus.schaefer@gmail.com
  - Added systemd_boot integration test for Rawhide
* Mon Nov 21 2022 marcus.schaefer@gmail.com
  - Increase btrfs size of orthos integration test
* Mon Nov 14 2022 marcus.schaefer@gmail.com
  - Increase scope of kernel lookup
    So far kiwi was looking up kernels only on /boot. Including
    other bootloaders it's no longer required that the kernel
    packages of the distributions provides the kernel in /boot
    Thus kiwi's lookup needs to be extended to other places
    which is done by this commit.
* Sat Nov 12 2022 marcus.schaefer@gmail.com
  - Add GRUB_DEFAULT=saved if not set
    If there is no GRUB_DEFAULT setting in etc/default/grub
    we add GRUB_DEFAULT=saved as the default setting.
    This Fixes #2198
* Sat Nov 12 2022 marcus.schaefer@gmail.com
  - Disable gitlab CI pipeline
    Unfortunately gitlab decided to allow only eligible
    projects to use their CI pipeline. Being a member for
    years seems not to count in this change process.
    Therefore this commit disables the tests we run on
    gitlab and I will come up with a simple github action
    for the parts that we don't want to loose.
* Fri Nov 11 2022 marcus.schaefer@gmail.com
  - Added integration test for systemd_boot
    The test build is based on the Tumbleweed distribution
    and provides a simple non-secure-boot systemd-boot
    virtual disk image
* Tue Nov 08 2022 marcus.schaefer@gmail.com
  - no_implicit_optional = False
* Thu Nov 03 2022 marcus.schaefer@gmail.com
  - Added --loglevel option
    specify logging level as number. Details about the
    available log levels can be found at:
    https://docs.python.org/3/library/logging.html#logging-levels
    Setting a log level causes all message >= level to be
    displayed.
* Wed Nov 02 2022 marcus.schaefer@gmail.com
  - Consolidate and cleanup logging
    Make sure all loggers; stream handlers, file and socket
    handler uses the same logging format. Also make sure that
    there is only one place for setLogLevel when kiwi is
    used as application
* Sat Oct 29 2022 marcus.schaefer@gmail.com
  - Added support for --logsocket
    Like with --logfile this commit adds support for using
    an existing Unix Domain Socket for logging. It's required
    that there is a listener on the given socket otherwise
    kiwi exits with an appropriate error message from the
    socket layer. A simple listener could look like the
    following:
    ```python
    sock_file = '/tmp/log_socket'
    buffer = 1024
    if os.path.exists(sock_file):
    os.unlink(sock_file)
    sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
    sock.bind(sock_file)
    sock.listen(1)
    while True:
    connection, client_address = sock.accept()
    try:
    while True:
    data = connection.recv(buffer)
    if not data:
    break
    print(data.decode())
    finally:
    connection.close()
    ```
    With the listener in place kiwi can be called as follows:
    kiwi-ng --logsocket /tmp/log_socket ...
* Sat Oct 22 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.48 → 9.24.49
* Sat Oct 22 2022 marcus.schaefer@gmail.com
  - Fixed test-image-vagrant
    virtualbox-guest-tools obsoletes virtualbox-guest-x11
* Fri Oct 21 2022 marcus.schaefer@gmail.com
  - ignore the type check on the Result class
    With an update of mypy the bound TypeVar is no longer allowed.
    In newer versions of python we could use the "Self" type or
    import annotations from the future module. Unfortunately in
    older python versions which we still support (3.6) there is
    no non intrusive change which allows us to handle that type
    annotation. Thus this commit ignores the return type spec
    for Result.load() for the moment.
* Wed Oct 12 2022 igor.raits@gmail.com
  - Stop copying /dev files statically into the OCI container
    In containers (nspawn) where part of the /dev filesystem is bind-mounted
    from outside system, kiwi fails to do the rsync (in creation of the
    nodes).
    There is no reason to actually copy whole tree inside so let's just
    not do it (as it does not seem to be needed at all).
* Tue Oct 11 2022 dirk@dmllr.de
  - List riscv64 as a valid architecture in the schemas
    This is needed so that architecture filters on riscv64 specifics can
    be defined.
* Wed Sep 14 2022 marcus.schaefer@gmail.com
  - Support DM integrity legacy options
    Add a new attribute integrity_legacy_hmac="true|false" which
    allows to use old flawed HMAC calculation (does not protect superblock).
    Add a new attribute integrity_legacy_padding="true|false" which
    allows to use inefficient legacy padding. Do not use these attributes
    until compatibility with a specific old kernel is required!
* Wed Aug 31 2022 jamacku@redhat.com
  - ci(lint): Add Shell linter - Differential Shellcheck
* Wed Aug 31 2022 marcus.schaefer@gmail.com
  - Limit repo alias names to be a safe POSIX name
    Characters like spaces or other symbols used in repo alias names
    can cause the package manager to fail setting up the repo. Thus
    this patch changes the schema to only allow for safe POSIX names
    matching: {pattern = "[a-zA-Z0-9_\-\.]+"}. This Fixes #2170
* Thu Aug 25 2022 marcus.schaefer@gmail.com
  - Increase space for test-image-embedded test
    Add more space to test profile: SystemFeatures
* Thu Aug 25 2022 marcus.schaefer@gmail.com
  - Increase efifatimage size for legacy build test
* Tue Aug 23 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.47 → 9.24.48
* Sun Aug 21 2022 laszlo.gombos@gmail.com
  - Return failure if overlay is not supported
* Wed Aug 10 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.46 → 9.24.47
* Wed Aug 10 2022 marcus.schaefer@gmail.com
  - Revert "EFI Filesystem must be Fat32 formatted"
    Using fat32 causes failed boots on e.g AWS EC2 arm.
    This must be solved differently with an attribute
    to configure it.
    This reverts commit b8641bdc6825423f8c65b55c8d0870b38874a566.
* Tue Aug 09 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.45 → 9.24.46
* Tue Aug 09 2022 marcus.schaefer@gmail.com
  - Support URIs with credentials in solver plugin
    check if the URI string contains credentials and
    extract/trim them from the uri object. The urlparse
    class does not recognize this information as a valid
    URI and throws an exception
* Tue Aug 09 2022 marcus.schaefer@gmail.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
* Sun Aug 07 2022 marcus.schaefer@gmail.com
  - Fixed test-image-disk-legacy
    Increase size of embedded EFI fat image needed for EFI
    bootable install ISO. Due to the increased size of the
    custom kiwi initrd the default size for the FAT image
    is too small
* Sat Aug 06 2022 marcus.schaefer@gmail.com
  - Support custom size for embedded EFI FAT image
    For ISO images (live and install) the EFI boot requires an embedded
    FAT image. As of now a fixed size of 20M was used which leads to a
    problem if the EFI image or the initrd or the kernel is bigger than
    20M. With the new attribute:
    efifatimagesize="nonNegativeInteger"
    we can now set a different value for the FAT image. Please note the
    value must be aligned to the also customizable efipartsize value
    which allows to configure the size of the EFI partition
* Fri Aug 05 2022 marcus.schaefer@gmail.com
  - Fixed linter complaints after flake update
    flake now complains about E275 missing whitespace
    after keyword for the way 'del' is used. This commit
    fixes it
* Thu Aug 04 2022 j.mixer135@gmail.com
  - Added a NOTE: section to explain the finer points of adding tools to a
    dracut hook.
* Sat Jul 30 2022 marcus.schaefer@gmail.com
  - Fixup btrfs based legacy kiwi initrd test
* Thu Jul 21 2022 gmoro@suse.com
  - Fix mocking of grub2-install (fix #2124)
    /bin/true was being used from the host machine instead of
    the chroot
* Thu Jul 21 2022 dcassany@suse.com
  - Fix race condition in runtime_config_test
    This commit instead of setting the global variable of the runtime config
    file patches it. This is relevant if running unit tests in parallel,
    where global variables are shared if not patched.
    Signed-off-by: David Cassany <dcassany@suse.com>
* Tue Jul 12 2022 marcus.schaefer@gmail.com
  - EFI Filesystem must be Fat32 formatted
    Given the documentation from Microsoft the EFI partition
    must be a fat32 format. fat16 is still supported but
    unexpected. This Fixes #2141
* Tue Jul 12 2022 marcus.schaefer@gmail.com
  - Fixed typo in overview page
    prevent word duplication. This Fixes #2016
* Tue Jul 12 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.44 → 9.24.45
* Thu Jul 07 2022 marcus.schaefer@gmail.com
  - Umount device before cloning
    In case a clone should be created from a partition we need
    to make sure to umount the device after sync and prior cloning.
    Otherwise the clone operation is not safe because the rsynced
    data might still be in memory and not synced out to the block
    device.
* Wed Jul 06 2022 marcus.schaefer@gmail.com
  - Fixed custom disk start sector setup
    The attribute disk_start_sector allows to specify a custom
    start sector for the first partition of the disk. On GPT
    tables everything works nicely, on DOS tables the used tools
    fdisk/sfdisk are not able to manage the start/end values of
    subsequent partitions if the first partition doesn't start
    with the tooling default. This patch allows to set the
    start sector after the partition table has been created
* Sat Jul 02 2022 marcus.schaefer@gmail.com
  - Fixed CentOS-8 repo setup
* Fri Jun 24 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.43 → 9.24.44
* Thu Jun 23 2022 marcus.schaefer@gmail.com
  - Make sure to rebuild rpm database
    For rpm based distributions make sure to call
    rpm --rebuilddb unconditionally prior using rpm
    with the chroot. This Fixes #2165
* Wed Jun 22 2022 neal@gompa.dev
  - github: Refresh issue template to cover more operating scenarios
    KIWI is often used for cross-distribution image builds, so we
    should ask for that information when appropriate.
    Additionally, clarify "OBS" as "Open Build Service" to disambiguate.
    Finally, add a line about Koji since Koji can run kiwi to build
    images now.
* Wed Jun 22 2022 marcus.schaefer@gmail.com
  - Fixed unit tests
* Tue Jun 21 2022 igor.raits@gmail.com
  - Forcefully disable versionlock plugin in DNF
    [ INFO    ]: 09:39:08 | Uninstalling system packages (chroot)
    [ INFO    ]: 09:39:08 | Using package manager backend: dnf
    [ INFO    ]: 09:39:08 | --> package: linux-firmware
    [ INFO    ]: 09:39:08 | Uninstall system packages (chroot)
    [ DEBUG   ]: 09:39:08 | EXEC: [chroot /tmp/myimage8/build/image-root dnf --config /kiwi_v708wllp -y --releasever=8 autoremove linux-firmware]
    [ INFO    ]: Processing: [########################################] 100%
    [ ERROR   ]: 09:39:08 | KiwiPackagesDeletePhaseFailed: System package deletion failed: Package deletion failed: Error: Locklist not set
    The versionlock plugin does not bring any benefit anyways as we
    completely override plugin configs.
    Also refactor configparser related stuff a bit.
    Signed-off-by: Igor Raits <igor.raits@gmail.com>
* Mon Jun 20 2022 marcus.schaefer@gmail.com
  - Support squashfs in custom partitions
    When using squashfs in a custom partitions setup like the following:
    <partitions>
    <partition ... filesystem="squashfs"/>
    </partitions>
    The build fails because the filesystem needs to be created
    using the create_on_file() API and not the create_on_device()
    API. In addition the size estimation is bogus when using
    squashfs and cannot be pre-calculated because we only know
    how much space the filesystem really needs after mksquashfs
    as worked on the data and the compression. Thus this commit
    also relaxes the required size check in case of squashfs.
    Last but not least a squashfs filesystem does not provide
    label or UUID and can only be referenced by the PARTUUID
    it gets dumped on or by the native unix device node. As
    the unix node is a loop during build time of the image and
    meaningless this commit also forces by-partuuid mapping in
    fstab when mounting the squashfs based device.
* Thu Jun 16 2022 marcus.schaefer@gmail.com
  - Fixed use of CommandCapabilities
    The class allows to check for data produced on stdout
    and stderr. However, programs reporting data on stderr
    usually fails with an exit code != 0. If the command
    is not called with raise_on_error=False it will never
    be possible to catch information from stderr. As we
    don't know if programs returns a failed exit code
    even on their e.g --usage message we should always
    pass the no raise option to make this more useful
* Wed Jun 15 2022 dcassany@suse.com
  - Fix volume mount path and adapt unit tests
    Signed-off-by: David Cassany <dcassany@suse.com>
* Tue Jun 14 2022 marcus.schaefer@gmail.com
  - Handle older versions of setfiles correctly
    In older versions of setfiles we need a two pass setup
    First set the policy, second apply the security context.
    This commit checks in the usage message of setfiles which
    invocation syntax is required
* Tue Jun 14 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.42 → 9.24.43
* Tue Jun 14 2022 marcus.schaefer@gmail.com
  - Fixed error handling for setfiles policy lookup
    Errors from os.scandir were not catched. In addition the path
    to run scandir was not properly created
* Tue Jun 14 2022 ludwig.nussel@suse.de
  - Mount /sys also for disks.sh
    /sys is needed to be able to run dracut in disks.sh
* Mon Jun 13 2022 ludwig.nussel@suse.de
  - Fix btrfs volume mounting
    If the second argument of os.path.join is an absolute directory, the
    result would be that directory. The intention is to produce a
    subdirectory of the mountpoint though. So pass a relative path.
    Without the fix, kiwi would try to e.g mount the /var subvolume of
    the image over the /var of the host, screwing everthing up of course
    :-)
* Mon Jun 13 2022 marcus.schaefer@gmail.com
  - Prefer file based syscall in kexec when possible
    Use file based syscall in kexec if available. This is needed to
    support boot on an secure boot enabled system and is in general
    more reliable to boot into the system on real hardware platforms
* Mon Jun 13 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.41 → 9.24.42
* Thu Jun 09 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.40 → 9.24.41
* Wed Jun 08 2022 marcus.schaefer@gmail.com
  - Fix helper method to detect dracut outfile format
    The method _get_boot_image_output_file_format_from_dracut_code
    is used in kiwi to match parts of the dracut code for the used
    output file format. Beginning with dracut-056 the code part
    checked has changed syntactically such that the match did
    no longer work. This commit increases the scope of the match
    and replace pattern and Fixes #2149
* Wed Jun 08 2022 marcus.schaefer@gmail.com
  - Fixed handling of signing_keys in cmdline options
    When passing signing_keys with the --add-repo|--set-repo
    commandline options the delimiter to separate the single
    key information is a colon(:). However, this is stupid when
    kiwi expects the signing key to be references as an URI
    format like file://... Therefore this patch changes the
    delimiter from colon(:) to semicolon(;)
* Wed Jun 08 2022 marcus.schaefer@gmail.com
  - Correct setfiles relabeling
    This change was inspired by a change done on Fedora's livecd-tools
    from here: livecd-tools/livecd-tools#236. The patch corrects issues
    with the setfiles SELinux relabel command. The issues become apparent
    when the host and guest policies differ. Thus it becomes required
    to explicitly set the policy to decouple from eventual unwanted
    host settings.
* Wed Jun 01 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.39 → 9.24.40
* Wed Jun 01 2022 zzzoom@gmail.com
  - Setup SELinux on every system prepare / build (#2148)
    Setup SELinux on every system prepare / build such that all image types benefit from it not only the disk (oem) type
* Sun May 29 2022 marcus.schaefer@gmail.com
  - Install all of QEMU to Ubuntu arm integration test
* Sun May 29 2022 marcus.schaefer@gmail.com
  - rename user to ubuntu for Ubuntu integration test
* Sun May 29 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.38 → 9.24.39
* Sun May 29 2022 marcus.schaefer@gmail.com
  - Move to sphinx>=5.0.0
* Sun May 29 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.37 → 9.24.38
* Sun May 29 2022 marcus.schaefer@gmail.com
  - Fixed sphinx extlinks rendering
    In Sphinx v5 warning will be treated as errors. This results in the following
    warning to be an error: extlinks: Sphinx-6.0 will require a caption string to
    contain exactly one '%s' and all other '%' need to be escaped as '%%'.
    This commit applies the required quoting
* Sun May 29 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.36 → 9.24.37
* Sat May 28 2022 marcus.schaefer@gmail.com
  - Added example aarch64 integration test for Ubuntu
    Created a RaspberryPI image description for Ubuntu(jammy)
    as integration test for building aarch64 images and added
    it to the integration test matrix
* Mon May 23 2022 marcus.schaefer@gmail.com
  - Added --target-arch for image info
    Allow cross arch dependency solving
* Fri May 20 2022 marcus.schaefer@gmail.com
  - update docs
* Fri May 20 2022 marcus.schaefer@gmail.com
  - 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
* Thu May 19 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.35 → 9.24.36
* Tue May 17 2022 rjschwei@suse.com
  - Subformats should also not be compressed when encryption is enabled (#2138)
    Subformats should also not be compressed when encryption is enabled
    This is a follow on change to bdba953. When the filesystem is encrypted the
    resulting image should not be compressed. Also explain why we ignore the
    compression seeting in the user configuration for encrypted images.
* Mon May 16 2022 marcus.schaefer@gmail.com
  - Add support for prebuilt bootstrap package for apt
    When using the apt packagemanager kiwi required the use of
    debootstrap to create the initial rootfs. This works as long
    as there is always a main distribution repository available
    which follows the structure of the official debian mirrors.
    However if such a main distribution is not present or an
    alternative layout like e.g OBS repos is used, debootstrap
    will refuse to work. To allow for an alternative and without
    the dependency to debootstrap kiwi supports using a prebuilt
    bootstrap package providing the mini rootfs to serve as
    the bootstrap result. As all other package managers properly
    supports installation into an empty new root, this feature
    was only added when using the apt packagemanager
* Sun May 08 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.34 → 9.24.35
* Sat May 07 2022 marcus.schaefer@gmail.com
  - Allow more repo params to be set on the cmdline
    The repository parameters for signing keys, the component
    list the main distribution name for debian repositories and
    also the repository_gpgcheck could not be set via the
    commandline options --add-repo and/or --set-repo. This
    commit adds support for them and also updates the manual
    page accordingly
* Sat May 07 2022 marcus.schaefer@gmail.com
  - Update ubuntu integration tests
    Build them against latest release (jammy).
    This Fixes #2128
* Sat May 07 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.33 → 9.24.34
* Thu May 05 2022 marcus.schaefer@gmail.com
  - Follow up fix for isolinux-config
    isolinux-config is called to update the search path inside
    of the isolinux binary. isolinux/syslinux is exclusive to
    the ix86 architecture and to BIOS firmware. Therefore the
    condition to actually call it should reflect this.
* Thu May 05 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.32 → 9.24.33
* Thu May 05 2022 marcus.schaefer@gmail.com
  - Fixed runtime check
    Fixed check_dracut_module_for_disk_overlay_in_package_list. The
    check complains if the dracut-kiwi-overlay module is not installed
    but overlay support was requested. This is correct but should only
    be done if the selected initrd system is dracut.
* Wed May 04 2022 32305849+ozboss@users.noreply.github.com
  - Add option to set LUKS type to luks1 (#2126)
    Add option to set LUKS type to luks1
    So far the LUKS type could be set to luks and luks2. However, what luks
    version the value 'luks' evaluates to depends on how the distributor has
    packaged luks. Thus it's possible that 'luks' is either luks1 or luks2. To
    also have the opportunity to explicitly specify luks1 this commit adds
    the opportunity in the schema.
* Wed May 04 2022 marcus.schaefer@gmail.com
  - Update devel packages helper
    Added trang as needed when working on the schema
* Fri Apr 29 2022 marcus.schaefer@gmail.com
  - Add support for dm integrity with secret key
    Allow to protect the opening of the integrity data map and
    journal through a keyfile. For setting the key file two new
    optional type attributes were added:
    * integrity_keyfile
    * integrity_metadata_key_description
    The key file format must be correct according to the selected
    integrity algorithm. As of now the kiwi default hmac-sha256
    algorithm is used with the selected keyfile
    The optional integrity_metadata_key_description attribute
    allows to specify a custom description of an integrity key
    as it is expected to be present in the kernel keyring. The
    information is placed in the integrity metadata block. If
    not specified kiwi creates a key argument string instead
    which is based on the given integrity_keyfile filename.
    The format of this key argument is:
    :BASENAME_OF_integrity_keyfile_WITHOUT_FILE_EXTENSION
* Thu Apr 28 2022 marcus.schaefer@gmail.com
  - Update get_disksize_mbytes to support clones
    When using partition clones the pre-calculation of the
    disk size needs to take this into account.
* Wed Apr 27 2022 marcus.schaefer@gmail.com
  - Fixed UUID setup for XFS
    Make sure the log got replayed prior generating a new UUID
* Tue Apr 26 2022 marcus.schaefer@gmail.com
  - Fixed scope of setup_isolinux_boot_path
    There is a method called setup_isolinux_boot_path which is
    encoded in the Iso class. The method allows to change the
    boot path in the isolinux binary and makes sense when the
    bootloader is selected to be isolinux. However, the method
    was called in the scope of the FileSystemIsoFs class which
    responsibility is to create an ISO filesystem. The creation
    of an ISO filesystem has no direct connection to a bootloader.
    Thus calling this method in the scope of the FileSystemIsoFs
    implementation is wrong and can lead to unexpected side
    effects. This commit moves the call of the method to the
    places where isolinux as a bootloader can still be used.
    This Fixes #2117
* Tue Apr 26 2022 dcermak@suse.com
  - Correct the URL to the dracut home page
    This fixes https://github.com/OSInside/kiwi/issues/2097
* Tue Apr 26 2022 dcermak@suse.com
  - Change the custom vagrant config file to 00-vagrant.conf
    If it is called 99-vagrant.conf, then anything "before" that, like
    50-redhat.conf takes precedence and overrides our custom settings.
* Tue Apr 26 2022 dcermak@suse.com
  - Add Leap 15.4, SLE 15 SP4 & CentOS Stream 9 to the scripts tests
* Mon Apr 25 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.31 → 9.24.32
* Mon Apr 11 2022 marcus.schaefer@gmail.com
  - Add support for standalone dm integrity
    There is support in kiwi to use dm_integrity in combination
    with the LUKS header and dm_crypt. However there is also the
    use case to setup dm_integrity in standalone mode. This commit
    allows to create the dm_integrity layer outside of LUKS using
    /etc/integritytab to activate the map through a systemd
    generator if systemd is used.
    Regarding systemd it's required to use a version of system which
    provides: system-generators/systemd-integritysetup-generator.
    If this generator does not exist in the distribution it will
    also be missing in the dracut generated initrd and the boot
    will not be able to succeed. It's mentioned here because even
    newer distributions might be missing the generator
    Along with the implementation there are two new optional
    attributes in the <type> section:
    standalone_integrity="true|false"
    embed_integrity_metadata="true|false"
    standalone_integrity activates/deactivates the dm_integrity map
    on top of the root filesystem. Similar to the veritysetup support
    there is the opportunity to create an embedded magic metadata
    block at the end of the device containing the root
    filesystem via embed_integrity_metadata
* Sun Apr 10 2022 marcus.schaefer@gmail.com
  - Update per codacy smell
* Sun Apr 10 2022 marcus.schaefer@gmail.com
  - Add support for part clones to the Disk interface
    The Disk class provides methods to create partition(s)
    and map names according to its scope and independent of
    the actual partition tools. For example: create_root_partition().
    This commit adds an additional optional clone parameter to
    all methods for which we want to allow partition clones
* Sun Apr 10 2022 marcus.schaefer@gmail.com
  - Be less strict in boot link to itself
    As part of the grub setup a link named 'boot' inside of
    /boot is created pointing to itself 'boot -> .'. The reason
    is to allow the bootloader config to find its files referenced as
    /boot/something independently if /boot is placed into an extra
    partition. However if an extra boot partition is used and a
    filesystem which does not support symlinks, e.g fat, that
    symlink creation should not lead to an error in the image build
    process as it is considered an optional safe link and not a
    mandatory pre-requisite
* Thu Apr 07 2022 marcus.schaefer@gmail.com
  - Fixed TW arm rpi integration test
    Explicitly add ruby to the package list
* Wed Apr 06 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.30 → 9.24.31
* Wed Apr 06 2022 rjschwei@suse.com
  - Fix LABEL detection (#2112)
    When only "root=" is specified on the kernel command line the match is
    located in the first group. Loop through the groups upon mtach to find
    what we are looking for.
* Tue Apr 05 2022 rjschwei@suse.com
  - Preserve LABEL setting (#2108)
    Preserve the LABEL= setting when the grub config file is re-generated.
    the GRUB_ENABLE_LINUX_LABEL setting does not exists upstream and
    not in any SUSE distribution. Set the grub setting such that LABEL
    is preserved on SUSE distros. (bsc#1197616)
* Tue Apr 05 2022 marcus.schaefer@gmail.com
  - Fix test_setup_default_grub_empty_kernelcmdline
    The unit test exists to check that GRUB_CMDLINE_LINUX_DEFAULT
    is not set depending on the provided cmdline. The test exists
    for reasons explained in Issue #1650
* Fri Apr 01 2022 fvogt@suse.de
  - Don't compress .appx containers (#2106)
    The container is actually inside and already compressed.
* Fri Apr 01 2022 marcus.schaefer@gmail.com
  - Added new CloneDevice class
    Added CloneDevice class to the storage interface.
    The class allows to create clone(s) from a given source
    block device into a list of target block devices.
    The target block devices are clones of the source but
    prevents device naming conflicts for unique identifiers
    like the UUID. This is requires to still allow to boot
    from images containing device clones and needs to be
    handled by tools that might work on top of the cloned
    devices.
* Thu Mar 31 2022 marcus.schaefer@gmail.com
  - Improve readability of shell commands
    The way the lsblk pipeline is constructed is improved
    to become easier to read by this commit
* Thu Mar 31 2022 marcus.schaefer@gmail.com
  - Added set_uuid() method to FileSystem API
    Allow to set a custom UUID not only at creation time of
    a filesystem but also at a later point in time in an
    already existing filesystem
* Tue Mar 29 2022 dcassany@suse.com
  - Ensure BootloaderConfig resources are cleaned first
    This commit wraps the manual BootloaderConfig instance cleanup in
    disk builder into a try/finally scope. This way if KIWI is aborted
    or fails within this scope the BootloaderConfig is cleaned up first.
    Signed-off-by: David Cassany <dcassany@suse.com>
* Tue Mar 29 2022 marcus.schaefer@gmail.com
  - Fixed overlay root dracut module
    make sure there is always only one selection for the
    readonly root partition
* Tue Mar 29 2022 marcus.schaefer@gmail.com
  - Update LUKS integration test for TW
    Use cipher options to make cryptomount work again
* Tue Mar 29 2022 marcus.schaefer@gmail.com
  - Set LUKS(v1) for TW encryption integration test
    In Tumbleweed LUKS2 became the default but the grub cryptomount
    tool is not able to work with the v2 LUKS header. Thus the test
    explicitly builds against the former luks version for now
* Tue Mar 29 2022 marcus.schaefer@gmail.com
  - Set LUKS2 for TW luks encryption integration test
    In Tumbleweed LUKS2 became the default also for grub
    and cryptomount, which requires to create a LUKS2 header
    in the dm_crypt layer
* Tue Mar 29 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.29 → 9.24.30
* Mon Mar 28 2022 tserong@suse.com
  - 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>
* Fri Mar 25 2022 marcus.schaefer@gmail.com
  - Fixed parsing of veritysetup output
    veritysetup uses tabs to align values. The way kiwi parsed
    the values did not strip out the tabs and later on keeps
    them in the verification metadata block. The unit test
    did not catch this because the mock output used for
    veritysetup did not contain tabs. This commit fixes the
    test to catch this condition and also fixes the code to
    handle all space characters (tabs, space, newlines) in
    a safe way
* Thu Mar 24 2022 marcus.schaefer@gmail.com
  - Update contents of store_credentials result file
    The method added information about the PARTUUID as useful
    information. However, PARTUUID's are not supported by all
    partition tables. The Linux generated artificial values
    from the disk identifier are not wanted in this scope.
    As the information is not mandatory it's better to not
    provide it at all and avoid confusion to users.
* Thu Mar 24 2022 marcus.schaefer@gmail.com
  - Make blkid call more robust
    Do not raise of blkid is not able to read the requested ID.
    It is expected that the methods of the BlockID class either
    returns a value or none but do not raise and cause the
    complete process to terminate
* Thu Mar 24 2022 marcus.schaefer@gmail.com
  - Added embed_verity_metadata attribute
    Specifies to write a binary block at the end of the
    partition serving the root filesystem, containing information
    for dm_verity verification and to construct the device map
* Thu Mar 24 2022 marcus.schaefer@gmail.com
  - Added create_verification_metadata method
    Along with creating a filesystem including device mapper features
    like dm_verity (see verity_blocks) or dm_crypt/dm_integrity (see luks)
    there is always the question where to store the metadata information
    required to setup the device map. This can include information about
    blocksizes, offset addresses and more. The create_verification_metadata()
    method allows to write a signed custom data block of a documented
    format at the end of the given block special which stores this type
    of information such that tools at boot time gets the opportunity to
    read this information. In this commit only information connected
    to the dm_verity feature activated via the verity_blocks attribute
    will be part of the verification block. With future changes other
    data might be added
* Wed Mar 23 2022 marcus.schaefer@gmail.com
  - Added runtime check for by-partuuid use
    Added check_partuuid_persistency_type_used_with_mbr(). Not
    every partition table type supports UUIDs. We don't want to
    make use of the artifical values created by Linux if the
    partition table doesn't support it natively
* Wed Mar 23 2022 marcus.schaefer@gmail.com
  - Support partuuid and label mounts in dracut module
    The 90kiwi-overlay dracut module was not able to parse the
    device link if done with PARTUUID or LABEL
* Wed Mar 23 2022 marcus.schaefer@gmail.com
  - Added integration test for by-partuuid
    The test hooks into the existing test-image-embedded integration
    test for leap. As I plan to extend the tests specific to features
    actually only useful for special embedded images, I thought this
    would be the right place to start
* Mon Mar 21 2022 marcus.schaefer@gmail.com
  - validate luksformat options
    validate options against the cryptsetup help info
    in a runtime check
* Mon Mar 21 2022 marcus.schaefer@gmail.com
  - Handle LUKS type in its own attribute
* Sun Mar 20 2022 marcus.schaefer@gmail.com
  - Fixed attribute description
    The overlayroot_verity_blocks attribute description
    contained outdated information
* Sat Mar 19 2022 marcus.schaefer@gmail.com
  - Add support for verity setup on standard rootfs
    So far the verity support was only available with the
    overlayroot layout and the read-only squashfs root. This
    commit adds a new attribute: verity_blocks="number|all"
    which allows to create the verity setup also on the
    standard root partition
    In addition to the change it was needed to extend the
    Filesystem API with an additional optional paramter to
    allow setup of the filesystem UUID. Having the opportunity
    to set the UUID at filesystem creation is generally useful
    and with regards to this particular change it became also
    required
* Fri Mar 18 2022 ngompa13@gmail.com
  - Allow Btrfs and XFS as options for the boot partition filesystem
    We already do this implicitly when we do not define this attribute
    and request a boot partition, so let us explicitly offer these as
    options too.
* Fri Mar 18 2022 marcus.schaefer@gmail.com
  - Fix grub defaults for PARTUUID use
    Make sure to set GRUB_DISABLE_LINUX_PARTUUID to false
    when using by-partuuid
* Thu Mar 17 2022 marcus.schaefer@gmail.com
  - Allow luks format options
    Added new luksformat element which allows to pass
    along options to the luksFormat call. This allows users to
    switch between LUKS and LUKS2 via e.g
    <luksformat>
    <option name="--type" value="luks2"/>
    </luksformat>
    It also allows to pass along a set of options only available
    to LUKS2, e.g
    <luksformat>
    <option name="--type" value="luks2"/>
    <option name="--cipher" value="aes-gcm-random"/>
    <option name="--integrity" value="aead"/>
    </luksformat>
    In addition to the new attribute the existing luks attribute
    can also be specified to read credentials from a keyfile by
    using the file:// source locator, e.g
    <type ... luks="file:///path/to/a/keyfile"/>
    This Fixes #1898
* Sat Mar 12 2022 marcus.schaefer@gmail.com
  - Fixed funny build_status.sh bug
    If the name of the repository starts with an 'F' like
    in Fedora, the 'F' is turned into a red escape sequence
    because it is assumed to be a failed status indicator :)
    The path here is probably also dumb as it just assumes
    there is a space after the status indicator. Well the
    complete script is not really a good one, but still
    helpful
* Sat Mar 12 2022 marcus.schaefer@gmail.com
  - Update Fedora arm integration test
    Move test to Fedora 34
* Sat Mar 12 2022 marcus.schaefer@gmail.com
  - Added container build test for Fedora
    Fedora systems uses buildah to create containers. There is
    no integration test for kiwi which tests building containers
    with buildah. This commit adds a build test to cover this
    path. Related to Issue #2020
* Fri Mar 11 2022 marcus.schaefer@gmail.com
  - Fixed test-image-docker-derived for leap
    The test still used the additionaltags attribute with the
    latest schema (v7.5) which fails to validate because the
    attribute was moved to additionalnames
* Fri Mar 11 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.28 → 9.24.29
* Thu Mar 10 2022 marcus.schaefer@gmail.com
  - Don't bind mount /run during build time
    In commit #9512318 a new bind mount of /run into the root tree
    during build time was introduced. The bind mount was done because
    in my tests running podman from config.sh it did not work without
    /run bind mounted. However, it turned out that I was wrong because
    along with the provided methods to prepare cgroups and a custom
    runtime configuration method; setupContainerRuntime() it is not
    needed to have /run bind mounted. Thus this commit deletes the
    bind mount of /run and therefore Fixes #2067
* Thu Mar 10 2022 marcus.schaefer@gmail.com
  - Fix github action running obs service refresh
    The curl command to send the POST request for running the
    obs remote service uses the --fail-with-body option.
    Unfortunately the ubuntu-latest container used to run the
    action comes with a curl version that does not support the
    option. Thus this commit removes the use of the option
* Wed Mar 09 2022 marcus.schaefer@gmail.com
  - Move scope of veritysetup
    veritysetup was called as part of the disk builder. However,
    the veritysetup should be a responsibility of the classes which
    implements the sync_data method. This allows to use the creation
    of a verity hash format right after sync as a feature to these
    classes and in a broader scope. In addition to that change the
    VeritySetup::format method now returns the metadata from the
    format call and stores it as debug information to the log file.
    A concept to persistently store the verification metadata as part
    of the partition(s) will be a next step.
* Wed Mar 09 2022 45594031+dcermak@users.noreply.github.com
  - Style changes in container docs
    Reformulate the container building guide a bit
* Wed Mar 09 2022 marcus.schaefer@gmail.com
  - Add support for custom size in filesystem classes
    Allow to create filesystems with an optional size parameter.
    If no size is provided the filesystem gets as big as the device
    which is the default and unchanged behavior. In addition a
    size counting from the beginning (>0) as well as a size
    counting from the end (<=0) can be provided.
* Wed Mar 09 2022 dcassany@suse.com
  - Update schema docs
    Signed-off-by: David Cassany <dcassany@suse.com>
* Tue Mar 08 2022 marcus.schaefer@gmail.com
  - Provide schema version v7.5 in spec
* Tue Mar 08 2022 marcus.schaefer@gmail.com
  - Update descriptions to schema v7.5
* Sun Mar 06 2022 marcus.schaefer@gmail.com
  - Support mount by PARTUUID
    In addition to by-label and by-uuid also support mounting
    by PARTUUID. Please note kiwi also makes sure that the grub
    generated config file uses the root=PARTUUID= notation and it's
    not clear if grub-mkconfig will persist making use of it.
    Nevertheless there are also systems which uses different
    methods to boot and it makes sense to support partuuid
    mappings as well
* Sun Mar 06 2022 marcus.schaefer@gmail.com
  - Add support for partition cloning
    Support creating block level clones of certain partitions
    used in the image. Clones can be created from the root, boot
    and any partition listed in the <partitions> element.
* Sun Mar 06 2022 marcus.schaefer@gmail.com
  - Update cron for security scorecard
    Run weekly on Saturdays
* Fri Mar 04 2022 marcus.schaefer@gmail.com
  - Add support for extended layout to msdos table
    This commit adds the following new type attribute
    <type ... dosparttable_extended_layout="true|false"/>
    If set it specifies to make use of logical partitions inside
    of an extended one. Effective only on type configurations which
    uses the msdos table type, it will cause the fourth partition
    to be an extended partition and all following partitions will be
    placed as logical partitions inside of that extended partition.
    This setting is useful if more than 4 partitions needs to be
    created in an msdos table.
    In addition to the support for extended/logical partitions the
    the attributes 'mountpoint' and 'filesystem' in the <partitions>
    section becomes optional. This also allows to place partitions
    as placeholders not mounted into the system
* Fri Mar 04 2022 marcus.schaefer@gmail.com
  - Added type hints for partitioner interface
* Fri Mar 04 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.27 → 9.24.28
* Thu Mar 03 2022 marcus.schaefer@gmail.com
  - Fixed unconditional grub2 package requirement
    The grub2 package does not exist on all distributions
    as a name provider independent of the architecture.
    On for example Debian and Ubuntu the packages are
    handled differently and grub2 is only provided on
    supported architectures. Thus the spec file should
    set the grub2 requirement only if the distribution
    provides it in any case
* Wed Mar 02 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.26 → 9.24.27
* Tue Mar 01 2022 marcus.schaefer@gmail.com
  - Added overlayroot_verity_blocks attribute
    Setting this attribute to a number or 'all' in an overlayroot
    configuration will create a dm verity hash from the number of
    given blocks (or all) placed at the end of the squashfs compressed
    read-only root filesystem. For later verification of the device,
    and without further image description settings, the credentials
    information produced by veritysetup from the cryptsetup tools, is
    created as a file in /boot/overlayroot.verity and is stored as
    such into the image by default.
* Tue Mar 01 2022 marcus.schaefer@gmail.com
  - Fixed disk.sh caller environment
    The documentation explains the disk.sh script to be called
    from inside of the image root as it exists on the block layer.
    The disk.sh script is therefore also called after the sync
    of the unpacked image root tree to the block layer. The
    implementation however, was only partially calling disk.sh
    from such an environment. In fact the environment was only
    the mountpoint of the root partition but this is not the
    complete system regarding layouts that uses extra partitions
    and/or volumes. This commit introduces the use of the new
    class ImageSystem and calls disk.sh in the way it was
    designed and documented.
* Tue Mar 01 2022 marcus.schaefer@gmail.com
  - Added ImageSystem class
    The class responsibility is to provide access to the
    image root system from the block layer of the image
    scope
* Tue Mar 01 2022 marcus.schaefer@gmail.com
  - Prevent superfluous filesystem creation
    In case of an overlayroot setup and the request for
    no extra write partition, it is not needed to create
    a filesystem for the write space which never gets
    synced to the image
* Sat Feb 26 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.25 → 9.24.26
* Sat Feb 26 2022 marcus.schaefer@gmail.com
  - Fixed destructor test on oci_tools/buildah_test.py
    Calling del() from teardown breaks when the method is
    called through teardown_method
* Sat Feb 26 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.24 → 9.24.25
* Sat Feb 26 2022 marcus.schaefer@gmail.com
  - Support nose and xunit style tests
    The modifications in this commit allows the unit tests
    to run on both, pytest 6.x (nose test layout) and the new
    pytest 7.x (xunit test layout). This Fixes #2072 in a
    much nicer way. Thanks much to @smarlowucf
* Fri Feb 25 2022 marcus.schaefer@gmail.com
  - Update unit test to work in obs
    Some unit tests fails if they run in an obs environment.
    This is because the implementation checks the runtime
    envoironment and behaves differently if the system is
    an obs worker. The unit tests has to explicitly set this
    condition right for the test
* Fri Feb 25 2022 marcus.schaefer@gmail.com
  - Revert "Unit test adaptions to pytest v7"
    This reverts commit 0dc2e803e0e8059c54a0ea23960245286675c86c.
    The pytest interface from version v6 to v7 has received
    changes which requires the tests to be adapted to work for
    either the old or the new interface. As there are still many
    distributions which uses v6 as the standard we decided to
    revert back the adaptions done to support v7 and create
    a version requirement to v6 in .virtualenv.dev-requirements.txt
    This Fixes #2072
* Wed Feb 23 2022 marcus.schaefer@gmail.com
  - Added overlayroot_readonly_partsize attribute
    Specifies the size in MB of the partition which stores the
    squashfs compressed read-only root filesystem in an
    overlayroot setup. This Fixes #2068
* Wed Feb 23 2022 marcus.schaefer@gmail.com
  - Update to scorecard CI 1.0.4
* Tue Feb 22 2022 marcus.schaefer@gmail.com
  - Added debootstrap log info to exception message
    In case debootstrap fails there is more detailed information
    in a logfile written by debootstrap itself. This commit changes
    the exception information to contain this log information if
    present. Related to Issue #1800
* Sun Feb 20 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.23 → 9.24.24
* Sun Feb 20 2022 marcus.schaefer@gmail.com
  - Added overlayroot_write_partition attribute
    For the oem type only, allows to specify if the extra read-write
    partition in an overlayroot setup should be created or not.
    By default the partition is created and the kiwi-overlay dracut
    module also expect it to be present. However, the overlayroot
    feature can also be used without an initrd and under certain
    circumstances it is handy to configure if the partition table
    should contain the read-write partition or not.
* Sat Feb 19 2022 matt@datto.com
  - Use DEB822-formatted .sources files instead .list files for APT
* Tue Feb 15 2022 dcassany@suse.com
  - Support additional names for docker containers
    Docker containers used to support the attribute `additionaltags` which
    was used to provide multiple tags for the same image. Since only tags
    were supported this commit renames the attribute to `additionalnames`
    and now supports tags and names witht he following syntax:
    * '<name>:<tag>' -> adds a full docker image reference including name
    and tag
    * ':<tag>'       -> adds an additional tag while reusing the former name
    * '<name>'       -> adds an additional name while reusing the former tag
    Fixes #2045
    Signed-off-by: David Cassany <dcassany@suse.com>
* Mon Feb 14 2022 marcus.schaefer@gmail.com
  - Follow up fix on force deleting debs
    Also remove eventual post scripting prior force removal
    of deb packages. Similar inconsistencies as with the pre
    scripts can occur on force removal. We want the operation
    to be successful in force mode even if that means to
    leave a dirty state.
* Sat Feb 12 2022 marcus.schaefer@gmail.com
  - Add support for pre_disk_sync.sh script
    The optional pre_disk_sync.sh script is executed for the
    disk image type oem only and runs right before the synchronisation
    of the root tree into the disk image loop file. The script hook
    can be used to change content of the root tree as a last action
    before the sync to the disk image is performed. This is useful
    for example to delete components from the system which were
    needed before or cannot be modified afterwards when syncing
    into a read-only filesystem.
* Thu Feb 10 2022 marcus.schaefer@gmail.com
  - Create ci-scorecards-analysis.yml
    Create security health metrics score card
* Tue Feb 08 2022 marcus.schaefer@gmail.com
  - Fixup inplace podman storage and container conf
    Newer versions of podman requires runroot and graphroot
    to be explicitly set in storage.conf.
    Newer versions of podman no longer reads the engine.cgroups
    setting on containers.conf and prints a 'Failed to decode the
    keys [\"engine.cgroups\"]' warning message
    This commit fixes storage.conf and containers.conf written
    by kiwi if the setupContainerRuntime method is used in
    scripts.
* Tue Feb 08 2022 dcassany@suse.com
  - Make use of container name in OCI images
    Fixes #2050
    Signed-off-by: David Cassany <dcassany@suse.com>
* Mon Feb 07 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.22 → 9.24.23
* Mon Feb 07 2022 marcus.schaefer@gmail.com
  - Fixed name of secret variable
    The ci-update-build-tests action used a wrong variable
    name which does not exist in the github secrets. This
    commit fixes it and uses the correct variable name
* Mon Feb 07 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.21 → 9.24.22
* Mon Feb 07 2022 marcus.schaefer@gmail.com
  - Revert "Revert "Fixed MicroOS build test""
    This reverts commit 8c4464b8ff2af2642439ce92e1e2be497f2b0f4d.
    snapper default config has moved from /etc to /usr/share
    now hopefully for the last time
* Mon Feb 07 2022 marcus.schaefer@gmail.com
  - Fixed unit tests
    The pytest interface setup() method call has changed
    in a way that an additional parameter is passed to
    the method which leads to a python error at invocation
    time if the setup method does not define it.
* Mon Feb 07 2022 ngompa@centosproject.org
  - build-tests: Update CentOS 8 test appliance to CentOS Stream 8
    CentOS Linux 8 is now EOL, so switch over to CentOS Stream 8.
* Sat Feb 05 2022 marcus.schaefer@gmail.com
  - Added API for BLS and systemd-boot support
    Bootloaders implementing the Boot Loader Spec (BLS) are not
    directly compatible with the original Bootloader Class design
    in kiwi. Because of that an interface class which translates
    the original API into calls following BLS was added. This allows
    us to keep the implementations in the Builder classes and the
    public BootLoader interface untouched. In addition to the BLS
    API an implementation to support the systemd-boot loader is
    part of this commit too.
    An example type definition to use systemd-boot with an EFI
    disk image type looks like the following:
    <type image="oem" filesystem="xfs" firmware="efi" bootloader="systemd_boot" efipartsize="200"/>
    The implementation uses bootctl and kernel-install tools
    provided from systemd and expects a proper integration
    of systemd-boot by the distribution maintainers
    This Fixes #1935
* Fri Feb 04 2022 marcus.schaefer@gmail.com
  - Fixed handling of oem reboot settings
    There are oem settings called oem-reboot, oem-reboot-interactive
    as well as oem-shutdown and oem-shutdown-interactive. When used
    the information is passed along to the profile but not evaluated
    by any initrd code. I don't know where on the way we lost the
    code that actually works with these settings but this commit
    makes them effective. This Fixes #2056
* Thu Feb 03 2022 dirk@dmllr.de
  - treat armv8l as armv7hl
    openSUSE switched from armv7hl buildworkers to aarch64 in 32bit mode
    which identifies itself as "armv8l" in uname -m.
* Tue Feb 01 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.20 → 9.24.21
* Mon Jan 31 2022 marcus.schaefer@gmail.com
  - Fixed UUID used in grub early boot script
    In case the system is luks encrypted the UUID of the root
    partition was used in the grub early boot script. However,
    this condition is only correct if in addition to the luks
    encryption the boot area is on crypto too. If boot is not
    on crypto the UUID must be the boot partition and not root.
    Only if root AND boot is on crypto the kiwi created early
    boot script includes the grub cryptomount calls.
* Sat Jan 29 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.19 → 9.24.20
* Sat Jan 29 2022 marcus.schaefer@gmail.com
  - Followup fix for force deleting debian packages
    The force uninstall deletes pre scripts prior removal
    because if they fail the package will not be removed.
    For a force uninstall we consider this ok. However,
    the deletion of the scripts did not happen in the
    image root. This patch fixes it
* Wed Jan 26 2022 marcus.schaefer@gmail.com
  - Followup fix for force deleting debian packages
    Pass --force-depends to allow uninstall even if the
    dependency checker complains
* Tue Jan 25 2022 marcus.schaefer@gmail.com
  - Fix use of xattrs for container sync
    when syncing data for containers only a subset of xattr
    attributes can be applied. This Fixes #2009
* Tue Jan 25 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.18 → 9.24.19
* Tue Jan 25 2022 ngompa@datto.com
  - Ensure SELinux labels are set based on the policy
    When running kiwi from a filesystem tree that has custom labels applied
    (such as when using kiwi from within a container on an SELinux-enabled
    host), the filesystem labeling doesn't correctly apply on some files
    and folders with a warning about the location being customized by
    the administrator. This causes all kinds of strange results with
    the built images and makes them unbootable.
    To resolve this, tell setfiles to forcibly set files and folders
    with the default context from the installed policy.
* Tue Jan 25 2022 fvogt@suse.de
  - Extend and update documentation about /etc/machine-id setup
* Tue Jan 25 2022 fvogt@suse.de
  - Fix ordered list in shell_scripts.rst
    Ordered lists must be indented by three spaces, otherwise the numbering breaks.
* Mon Jan 24 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.17 → 9.24.18
* Mon Jan 24 2022 dcassany@suse.com
  - Fix ramdisk deployments from PXE
    This commit fixes PXE deployments on ramdisk. In such cases the
    former fix from df4e62a4 is not sufficient as there is no `root=`
    parameter within the kernel cmd line and hence this logic is never
    executed.
    Signed-off-by: David Cassany <dcassany@suse.com>
* Fri Jan 21 2022 dcassany@suse.com
  - Update outdated PKGBUILD for Arch Linux
    Signed-off-by: David Cassany <dcassany@suse.com>
* Fri Jan 21 2022 marcus.schaefer@gmail.com
  - Fixed unit test race condition
* Fri Jan 21 2022 marcus.schaefer@gmail.com
  - Fixed grub loader/entries setup
    If called in non standard environments like an OBS worker
    the grub tooling does not work correctly and produces invalid
    results. For these cases kiwi provides a collection of fix_
    methods to change the produced results. This commit covers
    the invalid path in loader/entries/*.conf files pointing to
    the kernel and the initrd as they exist in the image-root
    directory. This results for example in settings like:
    linux /usr/src/packages/KIWI-oem/build/image-root/boot/vmlinuz-5.14.0-43.el9.x86_64
    when it should be:
    linux /boot/vmlinuz-5.14.0-43.el9.x86_64
    This Fixes #2038
* Fri Jan 21 2022 fvogt@suse.de
  - Set /.snapshots subvolume to mode 0700 (bsc#1194992)
    Avoid that users other than root can enter or even change the content.
    This is what snapper does as well.
* Fri Jan 21 2022 marcus.schaefer@gmail.com
  - Fixed build_status helper output issue
    Starting with CentOS stream 9 integration tests a new
    layer in the project that builds it was added. This changed
    the osc results output and messed up the build_status
    helper output a bit. This commit fixes it
* Thu Jan 20 2022 marcus.schaefer@gmail.com
  - Fix the uninstall(force) on Debian based dists
    Packages marked for uninstall via <package name="delete|uninstall"/>
    failed to become removed for several reasons. The way this was done
    in kiwi did not work because dpkg needs to be called differently
    and with some nasty pre-processing in order to allow for force
    deletion. In force mode we also allow to remove packages marked as
    essential. In gracefull uninstall mode this commit makes sure the
    environment is prepared and does not fail for false-positive
    reasons.
* Wed Jan 19 2022 marcus.schaefer@gmail.com
  - Added mail map
    Added information about my private e-mail being the
    successor for the work done when I was an employee
    of SUSE
* Tue Jan 18 2022 marcus.schaefer@gmail.com
  - Allow calling podman within chroot
    Added helper functions and env preparation code
    to allow calling podman from within a chroot. This
    allows to run podman from e.g config.sh and also
    inside of OBS workers
* Tue Jan 18 2022 marcus.schaefer@gmail.com
  - Fix requirements for kiwi-systemdeps-filesystems
    Extend btrfs condition applying for EL8 to apply for EL9 too
* Fri Jan 14 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.16 → 9.24.17
* Fri Jan 14 2022 marcus.schaefer@gmail.com
  - Fixed image builds without kernel
    If an image is build without a kernel kiwi fails due to
    some code paths expecting the presence of kernel modules
    and or kernel binaries. This commit fixes this and allows
    creating an image without installing a kernel.
* Fri Jan 14 2022 marcus.schaefer@gmail.com
  - Added CentOS Stream 9 integration tests
* Thu Jan 13 2022 fvogt@suse.de
  - Allow "uninitialized" as content of /etc/machine-id
    According to machine-id(5), an empty file does not signal that this is the
    first boot of the system. Instead, the file needs to be missing or contain
    the string "uninitialized". A missing file does not work if the filesystem
    is initially mounted read-only, so allow "uninitialized" as well, instead
    of truncating it.
    Improve the documentation of the method, e.g. dracut is not involved.
* Thu Jan 13 2022 fvogt@suse.de
  - Fix booting GRUB submenu entries with hybrid images (linux/linuxefi)
    Variables assigned with "set" are not visible in submenus for some reason.
    Export $linux and $initrd, so that they also work in submenu entries.
    Fixes bsc#1192523
* Thu Jan 13 2022 fvogt@suse.de
  - Don't copy GRUB modules for EFI with secure boot enabled
    When booting grub.efi with secure boot enabled, modules can't be loaded
    and thus the grub.efi image needs to be complete. Save some space in live
    images by not copying them into the ISO filesystem.
    Fixes part of #1750
* Thu Jan 13 2022 fvogt@suse.de
  - Don't include the ESP in the ISO9660 partition as well (#1750)
    Previously the image for the ESP was created inside the source directory
    for the ISO9660 filesystem, so it ended up there as well as a separate
    partition. Fix that by creating it as a temporary file instead.
* Thu Jan 13 2022 marcus.schaefer@gmail.com
  - Automate build-tests OBS service refresh
    This commit provides a new github action which sends
    API requests to the OBS api to refresh the source
    services for the integration tests on the OBS server
    side. This Fixes #1980
* Wed Jan 12 2022 marcus.schaefer@gmail.com
  - Added docker integration test for Ubuntu
* Wed Jan 12 2022 marcus.schaefer@gmail.com
  - Update ubuntu integration test to Hirsute(21.04)
* Tue Jan 11 2022 marcus.schaefer@gmail.com
  - Bump version: 9.24.15 → 9.24.16
* Sun Jan 09 2022 marcus.schaefer@gmail.com
  - Fixed regression in compression detection
    The change from 282529de8f612dee32d54ee868c2365dcd829220
    Introduced a bad regression. The assumption was made that the
    xz tool could be used to detect if a file is compressed or not.
    However, this requires the file to be locally present. In the
    scope of the method call is_compressed() and within a remote
    deployment e.g PXE this is not the case. Therefore the former
    way to "detect" the compression according to the .xz postfix
    of the source filename was restored. In addition the function
    name was changed to is_xz_compressed() because that's what the
    method can do and not more. This Fixes #2015
* Fri Jan 07 2022 marcus.schaefer@gmail.com
  - Added debug option --debug-run-scripts-in-screen
    Instead of running scripts in screen if the --debug switch is
    set, we allow to explicitly switch on this behavior via
    a new option. This Fixes #2010
* Fri Jan 07 2022 marcus.schaefer@gmail.com
  - Change packages target for bootincludes
    Packages marked with bootinclude="true" will be added to the
    referenced kiwi boot image description if the initrd_system
    is set to "kiwi" instead of "dracut". The package marked was
    primarily added to the type="image" section and got only
    added to the type="bootstrap" section if no image type section
    existed. However, it has turned out that this approach has
    the disadvantage that packages which must be installed as
    part of the bootstraping (e.g certificates) cannot be handled.
    This commit changes the behavior of the bootinclude to include
    the package always to the type="bootstrap" section.
* Fri Jan 07 2022 marcus.schaefer@gmail.com
  - Add GitHub workflow badges
* Fri Jan 07 2022 marcus.schaefer@gmail.com
  - Fixed Codacy Badge
* Sun Jan 02 2022 marcus.schaefer@gmail.com
  - Allow firmware="custom" setting
    The firmware attribute in kiwi is used to indicate for
    which boot firmware the image should be build. Specifying
    the target firmware is helpful to create for example the
    correct disk layout. If no firmware is specified KIWI
    decides for a default according to the image architecture.
    This selection is not 100% accurate and as we don't know
    the later target system. Especially for embedded devices
    the correct disk layout and other settings can be
    board specific and KIWI's default settings regarding the
    firmware could be invalid. For compatibility reasons we
    cannot switch off the default selection case and therefore
    a new attribute value "custom" is introduced with this
    commit. If set KIWI does not select any firmware and
    consequently all settings caused by a firmware setup will
    be skipped. On the other hand this means all needed
    settings for the target to boot and not done by KIWI
    needs to be specified explicitly and as needed.
* Sun Jan 02 2022 ngompa@datto.com
  - Add util-linux dep for -systemdeps-disk-images subpackage
    Without this dependency, kiwi fails to work properly in minimal image
    build environments, like in a mock chroot where util-linux is not installed.
* Fri Dec 17 2021 taroth@suse.com
  - index.rst: fix headline
    * third try: apply diff by schaefi
* Fri Dec 17 2021 taroth@suse.com
  - index.rst: fix headline
    * removed lonely bracket
    * added more lines to fix syntax
* Thu Dec 16 2021 taroth@suse.com
  - 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.)
* Thu Dec 16 2021 ro@suse.de
  - support compressed modules in other formats
    when cleaning up the firmware directory for unused files
* Thu Dec 16 2021 marcus.schaefer@gmail.com
  - Bump version: 9.24.14 → 9.24.15
* Wed Dec 15 2021 marcus.schaefer@gmail.com
  - Update documentation
    Rework troubleshooting chapter and add an article
    about app security subsystems like selinux and their
    potential influence on building images. Also update
    the quickstart with a reference to the troublshooting
    chapter. This Fixes #1891
* Wed Dec 08 2021 marcus.schaefer@gmail.com
  - Added support for collection modules
    In CentOS Stream 8 and Red Hat Enterprise Linux 8, there are
    Application Streams that are offered in the form of modules
    (using Fedora Modularity technology). To build images that use
    this content KIWI needs to support to enable/disable various
    modules. This commit allows to configure collection modules
    in a new element as shown below
    <packages type="bootstrap">
    <collectionModule name="module" stream="stream" enable="true|false"/>
    </packages>
    This Fixes Issue #1999
* Mon Dec 06 2021 marcus.schaefer@gmail.com
  - Bump version: 9.24.13 → 9.24.14
* Sun Dec 05 2021 marcus.schaefer@gmail.com
  - Disable intersphinx
    intersphinx is a doc extension which links to the documentation of
    objects in other projects whenever Sphinx encounters a cross-reference
    that has no matching target in the current documentation set, it
    looks for targets in the documentation sets configured in the
    intersphinx_mapping. However, the kiwi docs do not use this feature
    thus it can be disabled.
* Tue Nov 30 2021 dcassany@suse.com
  - Compress container images in builder class
    This commit changes the stage at which container images are compressed
    to match the criteria applied to other image types. Instead of
    compressing the image in OCI devoted classes now it is happening
    in builder class by setting Result instance properties.
    Fixes #1996
    Signed-off-by: David Cassany <dcassany@suse.com>
* Mon Nov 29 2021 marcus.schaefer@gmail.com
  - Revert "Fixed MicroOS build test"
    This reverts commit 52c38f9ec22aef484efaf0a570dc78eea529deec.
    The TW people moved to an older version of libsnapper, no
    idea what these guys are doing
* Mon Nov 29 2021 glaubitz@physik.fu-berlin.de
  - kiwi-repart: Fix spelling error in source code comment
* Mon Nov 29 2021 glaubitz@physik.fu-berlin.de
  - Fix multiple minor spelling errors in documentation
* Mon Nov 29 2021 marcus.schaefer@gmail.com
  - Added support for setting up release version
    Currently the release version is not set or set to '0'
    for package managers which requires a value to operate.
    However, in order to support leveraging the same description
    across different releases it is important to have the
    opportunity to specify a setting for the release version.
    This commit adds a new optional attribute to the preferences
    section which allows to specify a custom value which
    serves as the release version:
    <preferences>
    <release-version>TEXT</release-version>
    </preferences>
    If not specified the default setting as before applies.
    Please note the release version information is currently
    used in dnf and microdnf package managers only. It might
    happen that it gets applied to the other package manager
    backends as well. This will happen on demand though.
    Related to Issue #1918. This Fixes #1927
* Mon Nov 29 2021 marcus.schaefer@gmail.com
  - Bump version: 9.24.12 → 9.24.13
* Mon Nov 29 2021 marcus.schaefer@gmail.com
  - Add global --kiwi-file option
    When building with kiwi a search on the kiwi main config
    file is made inside of the given --description directory.
    The search looks up for the file config.xml or *.kiwi.
    So far there was no opportunity to specify another name.
    This commit adds an option in the global area named:
    - -kiwi-file name
    which will make kiwi to lookup this file inside of the
    given --description directory and fail if it does not
    exist. This Fixes #1973
* Mon Nov 29 2021 marcus.schaefer@gmail.com
  - Added type hints for CliTask class
* Fri Nov 26 2021 marcus.schaefer@gmail.com
  - Bump version: 9.24.11 → 9.24.12
* Thu Nov 25 2021 marcus.schaefer@gmail.com
  - Use realpath to resolve this:// location
* Thu Nov 25 2021 marcus.schaefer@gmail.com
  - Support this:// resource locator for includes
    Allow include references like the following example:
    <include from="this://include.xml"/>
* Thu Nov 25 2021 marcus.schaefer@gmail.com
  - Allow repo path relative to the image description
    This commit adds a new URI type called this://... The
    this:// part will be resolved into the absolute path to
    the image description. A source path like the following:
    <source path="this://my_repo"/>
    is resolved to
    <source path="dir:///path/to/image/description/my_repo"/>
    This change provides the requested opportunity to reference
    repos provided as part of the image description and
    Fixes #1964
* Thu Nov 25 2021 marcus.schaefer@gmail.com
  - Care for different snapper template locations
    snapper recently changed their config template location
    from etc/ to usr/. This commit handles the two locations
    and Fixes bsc#1192940
* Thu Nov 25 2021 marcus.schaefer@gmail.com
  - Prevent warning message on resize exception
    On systems which are configured to run the oem resize at
    every boot (default case) kiwi checks how much space is free
    and if that fits the constraints configured as part of the
    image description. If the constraints are not met a warning
    message is displayed and the boot continuous without any
    resize action happening.
    This warning message however, always appears after the first
    boot when the resize had happened and no rest space on disk
    is present unless the disk geometry would have changed.
    The situation of the reboot of the system without any disk
    geometry change is the standard case and happens way more
    often than the reboot with a disk geometry change.
    Therefore the warning message displayed is not actually
    a real warning and most often considered as an issue
    when there is none. To relax this situation, this commit
    only shows the warning message if the detected free space
    on disk is greater than 2M, which is the condition under
    which we assume an intentional (user made) disk geometry
    change.
    This Fixes #1958
* Wed Nov 24 2021 marcus.schaefer@gmail.com
  - Bump version: 9.24.10 → 9.24.11
* Wed Nov 24 2021 47017732+TheMisanthropicHumanist@users.noreply.github.com
  - Fix Source Install Disk Detection in get_disk_list (#1982)
    Fix Source Install Disk Detection in get_disk_list
    The original check doesn't always work because PARTITIONS get labels, NOT disks. If you install with
    a Flash Drive and deploy to a machine with an NVMe drive, the Flash Drive is listed first because SCSIs
    are shown first by lsblk (At least they were in our scenario). When we run
    blkid "[Install Flash Drive Disk]" -s LABEL -o value
    in this scenario, we get nothing returned so this conditional evaluates incorrectly. We should get the
    ${kiwi_install_volid} Partition Block Name, and search for whether ${disk_device} is contained within it as
    the Disk Device that corresponds to the Install Partition.
* Tue Nov 23 2021 marcus.schaefer@gmail.com
  - Do not force dracut into a compression setting
    So far we called dracut with --xz which forces the initrd
    to be xz compressed. There are other compression formats
    used by the distributions and they might differe from xz.
    The selection for a compression tool is done by a dist
    configuration in dracut.conf.d which is provided by the
    distributions as they see fit. For us this means not
    forcing dracut into a specific compression setting allows
    to make use of the distro provided setting and also
    allows to change/override this setting by an overlay
    file. This Fixes bsc#1192975
* Tue Nov 23 2021 marcus.schaefer@gmail.com
  - Bump version: 9.24.9 → 9.24.10
* Tue Nov 23 2021 marcus.schaefer@gmail.com
  - Added documentation about sharing backends
    The kiwi boxbuild plugin supports several sharing
    backends. Details about them and eventual pre-setup
    steps prior use are mentioned in this document
* Tue Nov 23 2021 marcus.schaefer@gmail.com
  - Fixed MicroOS build test
    snapper default config has moved from /etc to /usr/share
* Mon Nov 22 2021 marcus.schaefer@gmail.com
  - Bump version: 9.24.8 → 9.24.9
* Mon Nov 22 2021 marcus.schaefer@gmail.com
  - Bump version: 9.24.7 → 9.24.8
* Mon Nov 22 2021 marcus.schaefer@gmail.com
  - Added support for reading metalink in info module
    For resolver operations through libsolv the 'kiwi image info'
    module exists. So far it could not read the repos from
    metalink repo definitions. This Fixes #1890
* Fri Nov 19 2021 dcassany@suse.com
  - Force key attribute from signing element to be treated as a URI
    Signed-off-by: David Cassany <dcassany@suse.com>
* Thu Nov 18 2021 dcassany@suse.com
  - Pass signing keys from the XML to the repositories
    This commits makes sure signing keys are passed to
    repositories setup in build task.
    Signed-off-by: David Cassany <dcassany@suse.com>
* Thu Nov 18 2021 marcus.schaefer@gmail.com
  - Move static sle15 integration test to git
* Tue Nov 16 2021 marcus.schaefer@gmail.com
  - Bump version: 9.24.6 → 9.24.7
* Mon Nov 15 2021 marcus.schaefer@gmail.com
  - Fixed raid integration test using extra boot part
    Due to changes in the distribution the tests needs some
    adaptions. The kernel as provided now by TW uses symlinks
    from boot to /usr/lib/modules/... to point to the kernel
    binary. Of course this breaks for any system that uses
    /boot on another partition. Those image tests which were
    testing this aspect needs fixing.
* Mon Nov 15 2021 dcermak@suse.com
  - Make sure fedora-release is installed on Rawhide
    Follow up to #1957 and #1962:
    The Fedora build tests were using the generic release package and not
    fedora-release. This issue has been partially fixed in #1962, but we forgot to
    port the fix to the rawhide images as well. This commit adds the missing package
    to the Rawhide images as well.
* Sat Nov 13 2021 marcus.schaefer@gmail.com
  - Bump version: 9.24.5 → 9.24.6
* Fri Nov 12 2021 marcus.schaefer@gmail.com
  - Followup fix for debootstrap called only once
    A recent change skipped calling debootstrap if the allow-existing-root
    flag was passed in combination with apt as the package manager.
    However this is not enough. If you say allow-existing-root but
    the existing root is empty or not valid to continue with chroot
    and apt the debootstrap phase should not be skipped. This commit
    checks if apt works in the chroot such that we can assume
    debootstrap has done its job and can be skipped
* Fri Nov 12 2021 marcus.schaefer@gmail.com
  - Allow to set sign keyfile in repository elements
    This commit adds a new and optional child element <signing>
    to the repository/source element as shown in the following
    example:
    <repository>
    <source path="...">
    <signing key="keyfile"/>
    </source>
    </repository>
    The collection of all keyfiles from all repositories will be
    added to the keyring as used by the selected package manager.
    Signing keys specified on the commandline and signing keys
    specified in the image description will be combined.
    This Fixes #1883
* Fri Nov 12 2021 marcus.schaefer@gmail.com
  - Bump version: 9.24.4 → 9.24.5
* Fri Nov 12 2021 marcus.schaefer@gmail.com
  - Fixed include processing
    This commit fixes several issue connected with the use of
    the <include> directive:
    First and foremost the XSLT chain was broken in a way that
    the include XSLT in combination with the PrettyPrinter XSLT
    were called not in the chain of stylesheets but together.
    This results in XML descriptions which duplicated the content
    and went invalid
    Another change is, when the include XSLT is called in the chain.
    This commit moves it to become the very first processing
    instruction such that the included data is part of all subsequent
    XSLT stylesheets. This also allows to use older schema versions
    in included XML data and they get automatically converted through
    the chain of XSLT stylesheets.
    Last change is the evaluation of the from= attribute value. This
    value is now interpreted as an URI. Currently only local URIs are
    supported. The reason to do this is because XSLT when processing
    a document resolves relative paths according to the file path
    of the master document. As kiwi does not change the original
    content that path with will be a /var/tmp location if one of
    the XSLT stylesheets were used. The documentation for this change
    was updated as well
* Thu Nov 11 2021 marcus.schaefer@gmail.com
  - Bump version: 9.24.3 → 9.24.4
* Thu Nov 11 2021 marcus.schaefer@gmail.com
  - Added type hints and annotations for iso_tools
* Thu Nov 11 2021 marcus.schaefer@gmail.com
  - Drop support for cdrtools
    Tools like mkisofs, genisoimage and friends are all unmaintained
    and have found their substitute in xorriso for quite some time.
    This commit deletes the code from kiwi which supported creation
    of ISO images using the obsolete cdrtools collection. In addition
    all hack code associated with these tools like mbr insertion via
    isohybrid and things like that got dropped as well.
    This Fixes #1908
* Thu Nov 11 2021 kshtsk@users.noreply.github.com
  - Drop usage of `factor` from coreutils
    utils/checksum: drop factor calls
    For portability we don't need to call linux coreutils' factor,
    instead we use pure python prime number generation implementation.
    Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@gmail.com>
* Thu Nov 11 2021 matt@datto.com
  - Add support for custom GRUB templates
    This allows the user to specify a template file to customize
    the bootloader menu. This only applies to oem and iso image
    types: other image types use the grub mkconfig toolchain.
    This resolves Issue #1970
    Co-authored-by: Marcus Schäfer <marcus.schaefer@gmail.com>
* Tue Nov 09 2021 dcermak@suse.com
  - Only trigger functions workflow on certain paths
* Tue Nov 09 2021 dcermak@suse.com
  - Re-enable functions integration tests once again
* Tue Nov 09 2021 kyrylo.shatskyy@gmail.com
  - config/functions: make baseQuoteFile use extended regex
    It is more universal to use extended regex, because they can
    be used on wider range of platforms, for example, same
    regex works equally on bsd sed and linux distributions.
    Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@gmail.com>
* Mon Nov 08 2021 marcus.schaefer@gmail.com
  - Added python 3.9, 3.10 to test workflow
* Mon Nov 08 2021 kyrylo.shatskyy@suse.com
  - utils/temporary: rename dir parameter to path
    To avoid conflicts with python standard `dir` function
    and for better matching purpose, the Temporary class
    constructor parameter it is the best to rename from dir
    to path.
    Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@gmail.com>
* Mon Nov 08 2021 kyrylo.shatskyy@gmail.com
  - utils/temporary: the --temp-dir does not work
    Using of --temp-dir argument does not make an effect,
    because optional 'dir' parameter defaults to the
    global TEMP_DIR value before it's changed.
    This patch address this issue.
    Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@gmail.com>
* Wed Nov 03 2021 marcus.schaefer@gmail.com
  - Bump version: 9.24.2 → 9.24.3
* Wed Nov 03 2021 marcus.schaefer@gmail.com
  - Fixed s390 SLE15 integration test
    added blog package to solve packages added by
    file provides which are not resolved by obs
* Wed Nov 03 2021 marcus.schaefer@gmail.com
  - Fixed s390 integration test using extra boot part
    Due to changes in the distribution the tests needs some
    adaptions. The kernel as provided now by TW uses symlinks
    from boot to /usr/lib/modules/... to point to the kernel
    binary. Of course this breaks for any system that uses
    /boot on another partition. Those image tests which were
    testing this aspect needs fixing.
* Wed Nov 03 2021 marcus.schaefer@gmail.com
  - Added partition sizes to disk size math
    Make sure partition sizes are used for the calculation
    of the entire disk size to fit the size constraints of
    the image disk
* Tue Nov 02 2021 marcus.schaefer@gmail.com
  - Revert "Cleanup xattr requirement"
    This reverts commit 6754b3f9e270a6cb710355605c46b0bade4de29c.
    It has turned out that SLE15 still uses the other xattr
    module :/
* Tue Nov 02 2021 marcus.schaefer@gmail.com
  - Added integration test
    Test the combination of custom partitions and volumes
* Fri Oct 29 2021 marcus.schaefer@gmail.com
  - Make sure fedora-release is installed
    Fedora based integration tests should install the fedora-release
    package. If no release package is specified the generic-release
    package is choosen which is unexpected. This Fixes #1957
* Wed Oct 27 2021 marcus.schaefer@gmail.com
  - Make sure debootstrap is called only once
    When building debian based images the bootstrap phase
    is done by calling debootstrap. If kiwi is called on
    an already existing root tree via --allow-existing-root
    this will make debootstrap to fail in any case. This
    is because for debootstrap it's an error condition if
    there is already data in the root. However, for kiwi
    and the explicitly requested re-use of the root tree
    this is not an error. Thus this commit skips the
    bootstrap by debootstrap and directly continues with
    the image phase.
* Wed Oct 27 2021 marcus.schaefer@gmail.com
  - Cleanup xattr requirement
    There is no version of suse we support that provides
    the old xattr module. Thus the requirement can be set
    in a clean way to pyxattr and the setup.py trickery
    can be deleted
* Mon Oct 25 2021 marcus.schaefer@gmail.com
  - Disable config functions testing
    It happens too often that the failure on running the
    container causes failed results which are not actually
    failures. I have hope that #1944 stabilize this
* Fri Oct 22 2021 marcus.schaefer@gmail.com
  - Bump version: 9.24.1 → 9.24.2
* Fri Oct 22 2021 marcus.schaefer@gmail.com
  - Fixed nasty bug in ramdisk generator
    The ramdisk unit generator reads the config.bootoptions
    file and extracts the root_uuid from it. This is done
    with a very simple shell read using a space as separator.
    However the last element is never read by that code.
    As long as there was yet another kernel cmdline option
    after the root= option this bug was not an issue. But
    as soon as the root= option is last in the list it will
    not be read and the generator exits prior creating the
    sysroot.mount target. This commit fixes it in a way
    that it makes sure there is always a space at the end
    of the config.bootoptions file
* Thu Oct 21 2021 marcus.schaefer@gmail.com
  - Support custom partitions
    In addition to the volume volume management settings also
    allow to setup low level table entries like in the following
    example:
    <partitions>
    <partition name="var" size="100" mountpoint="/var" filesystem="ext3"/>
    </partitions>
* Thu Oct 21 2021 marcus.schaefer@gmail.com
  - Added integration build test for bundle_format
* Wed Oct 20 2021 marcus.schaefer@gmail.com
  - Added lsof to kiwi-systemdeps-core
* Tue Oct 19 2021 marcus.schaefer@gmail.com
  - Add support for custom result bundle naming
    Allow to specify a bundle_format per <type> which is used
    at the time of the result bundle creation to create image
    output names matching the provided pattern.
    This Fixes #1943
* Tue Oct 19 2021 marcus.schaefer@gmail.com
  - Added missing python-simplejson to pkgbuild
    Added missing python-simplejson requirement to the
    archlinux pkgbuild package template
* Tue Oct 19 2021 marcus.schaefer@gmail.com
  - Raise exception on umount issue
    Up to now kiwi tried to umount a resource it has mounted for some
    time and if it was not possible due to a busy state the process
    continued. In any of these situations it was not possible to free
    up the nested resources and it could also happen that the image
    build result got corrupted because there is still data that can
    be consumed but shouldn't be there anymore. The change here makes
    kiwi to stop the process and raise with an error also including
    the information that there are now resources still active but
    busy on the host and a manual cleanup is unfortunately needed.
    This Fixes #1914
* Mon Oct 18 2021 marcus.schaefer@gmail.com
  - Added SystemOverlayRoot profile
    Test kiwi's overlayroot mode without initrd
* Mon Oct 18 2021 marcus.schaefer@gmail.com
  - Update test for image without initrd and loader
    The systemd-remount-fs.service expects devices to be present
    in their UUID representation. When booting without an initrd
    there is no udev and the root= device must be provided with
    the kernel exposed unix device name. In addition there is no
    UUID device representation for virtio devices which are used
    together with the small kvmsmall kernel of this example.
    Since booting of this appliance is done via:
    $ kvm --kernel (kernel-kvmsmall) \
    - drive file=kiwi-test-image-embedded.raw,if=virtio \
    - append "root=/dev/vda1 console=ttyS0 rw"
    The kernel rootfs is mounted in rw mode anyway. Thus the systemd
    remount service is not useful in this case and switched off
* Fri Oct 15 2021 marcus.schaefer@gmail.com
  - Bump version: 9.24.0 → 9.24.1
* Thu Oct 14 2021 marcus.schaefer@gmail.com
  - Make sure embedded test exposes the kernel
* Thu Oct 14 2021 marcus.schaefer@gmail.com
  - Fixed use of LUKS encrypted images with empty pass
    For initial provisioning of LUKS encrypted disk images an
    empty passphrase key is handy to avoid interaction in the
    deployment process. However, the dracut kiwi modules were
    lacking the information that the luks keyfile could be an
    empty passphrase key which must not be opened with the
    potential risk to get prompted for input. This commit
    introduces a new profile environment variable evaluated
    by the dracut kiwi lib code to open the LUKS pool and
    allows to distinguish the situation on key files with
    or without a passphrase
* Thu Oct 14 2021 marcus.schaefer@gmail.com
  - Fixed type annotations for LuksDevice class
* Wed Oct 13 2021 marcus.schaefer@gmail.com
  - Fixed repo setup for test-image-embedded
    Use obsrepositories
* Wed Oct 13 2021 marcus.schaefer@gmail.com
  - Added a build test for no-initrd / no-bootloader
    It's allowed to configure an image building without an
    initrd and/or bootloader setup. These are settings mostly
    used in the embedded world and this build test makes sure
    images of that kind can be build
* Wed Oct 13 2021 marcus.schaefer@gmail.com
  - Add support for portable result data (#1949)
    In addition to the serialized Result instance kiwi.result
    file this commit also creates a portable version of this
    information in kiwi.result.json. Only the information that
    can be expressed as json document is part of the portable
    version. This is related to Issue #1918
* Thu Oct 07 2021 marcus.schaefer@gmail.com
  - Added documentation for kiwi stackbuild plugin
    Restructure the documentation to put all plugin documentation
    under its own category. Add a chapter about the stackbuild
    plugin, it's concepts and use cases. This Fixes #1907
* Thu Oct 07 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.63 → 9.24.0
* Thu Oct 07 2021 marcus.schaefer@gmail.com
  - Add support for toplevel include directive(s)
    On the toplevel of an image description you can now
    specify include directive(s) like in the following
    example
    <image ...>
    ...
    <include from="filename_a.xml"/>
    ...
    <include from="filename_b.xml"/>
    </image>
    At the place of their occurrence the include statement
    will be replaced with the contents of the given filename.
    The implementation is based on a XSLT stylesheet and
    applies very early in the process. The stylesheet reads
    the contents of the given file as XML document().
    Thus only valid XML documents gets accepted by this
    include concept. This Fixes #1929 and is related to
    Issue #1918
* Wed Oct 06 2021 dcermak@suse.com
  - Switch to pytest_container instead of custom conftest
* Wed Oct 06 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.62 → 9.23.63
* Wed Oct 06 2021 marcus.schaefer@gmail.com
  - Fixed error reporting for stateful description
    Errors due to missing or no type definitions were reported
    provding the internal object reference of the XML parse
    result. This is useless information for users and needs
    to be done better. This commit fixes the error message to
    avoid showing object references and includes information
    about the applied profiles used for this XML state.
* Wed Oct 06 2021 marcus.schaefer@gmail.com
  - Fixed legacy PXE documentation
    The documentation for building a legacy pxe image was not
    using the profiles (Flat or Compressed) as the actual image
    description for this example requires it. This Fixes #1923
* Wed Oct 06 2021 marcus.schaefer@gmail.com
  - Added mdadm to requires for systemdeps
    When building raid based images the buildhost needs mdadm.
    In addition rework the place to require disk based tools.
    Most of them were added to the filesystem systemdeps but
    belong to the disk systemdeps
* Wed Oct 06 2021 marcus.schaefer@gmail.com
  - Fixed creation of loopback config
    If an extra boot partition is in use the creation of the config
    file for the loopback boot feature was using the wrong path.
    This commit fixes it and also introduces integration checks
    which builds in this condition
* Tue Oct 05 2021 marcus.schaefer@gmail.com
  - Fixed GRUB_CMDLINE_LINUX_DEFAULT setup regression
    The value for GRUB_CMDLINE_LINUX_DEFAULT should only be
    changed if custom kernelcmdline values are provided. In
    case there are none kiwi should not change this value.
    The test to check for this condition is based on the
    result cmdline reduced by the root setting. However the
    default cmdline setting in kiwi appends 'rw' in addition
    to the root device information. This means the default
    kernelcmdline is never empty and therefore the grub
    setting GRUB_CMDLINE_LINUX_DEFAULT="rw" is always set.
    This commit fixes the conditional change by making sure
    the default cmdline only consists out of the root
    device information. This Fixes #1650
* Tue Oct 05 2021 marcus.schaefer@gmail.com
  - Allow logfile option to log on stdout
    The option setting '--logfile stdout' is now a special form
    and logs the messages usually written to a file to stdout
    instead. This is handy if all messages of the build are
    requested but the --debug switch is not because it does more
    than that, e.g calling scripts through debug'able screen
    sessions
* Tue Oct 05 2021 marcus.schaefer@gmail.com
  - Allow test-image-luks to be build locally too
    In suse there are many programs replaced by the busybox
    alternative and also preferred by the package manager.
    However there are also packages like the kernel in suse
    which wants gawk and not busybox-gawk. In kiwi to build
    images there are two installation phases, the bootstrap
    phase which installs mandatory packages to allow chroot
    operations and the image phase which installs the rest
    of the requested packages as chroot operation. In this
    two pass step the package manager is called twice to
    resolve dependencies and that causes the issue with the
    preferred busybox packages which gets pulled in in the
    first phase. To prevent this there are only two options:
    1. Explicitly list the non busybox packages in the
    bootstrap phase
    2. Prevent the image phase and put all packages to
    the bootstrap phase such there is only one package
    manager call for dependency resolution
    This commit implementes option 1. because having all
    packages in the bootstrap phase means that the host
    packagemanager resolves and if the host packagemanager
    is somehow not compatible with the image target this
    leads to other weird issues which are not obvious and
    hard to debug.
* Thu Sep 23 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.61 → 9.23.62
* Thu Sep 23 2021 marcus.schaefer@gmail.com
  - Fixed script calls when running in obs
    kiwi is called with --debug in obs which triggers the scripts
    to be called through screen. However the obs caller is not
    associated with a terminal thus it fails. This commit creates
    an exception for debug mode when running in obs
* Thu Sep 23 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.60 → 9.23.61
* Thu Sep 23 2021 luisgf@users.noreply.github.com
  - Fix secure boot for ubuntu based images
    This patch fixes #1911 and makes secure boot images to work again in Ubuntu 20.04
    Co-authored-by: Luis Ladislao Gonzalez Fernandez <luislgf@inditex.com>
* Wed Sep 22 2021 marcus.schaefer@gmail.com
  - Run scripts via a screen session in debug mode
    When creating a custom script it usually takes some iterations of
    try and testing until a final stable state is reached. To support
    developers with this task kiwi calls scripts associated with a
    screen session. The connection to screen is only done if kiwi
    is called with the --debug option.
* Tue Sep 21 2021 marcus.schaefer@gmail.com
  - Delete obsolete release stage from gitlab
    Now done as github action
* Tue Sep 21 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.59 → 9.23.60
* Tue Sep 21 2021 marcus.schaefer@gmail.com
  - Fixed pypi tox release target
    Only needs the creation of the sdist tarball
* Tue Sep 21 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.58 → 9.23.59
* Tue Sep 21 2021 marcus.schaefer@gmail.com
  - Moved pages and pypi publish to github actions
    Moved gh-pages doc update and pypi upload from gitlab
    to github actions
* Tue Sep 21 2021 marcus.schaefer@gmail.com
  - Fixed RNC schema definition
    From the compact form of the schema the RNG schema
    is created. The latest changes to support the target_dir
    attribute in the <archive> section were added wrong
    to the compact form of the schema
* Fri Sep 17 2021 marcus.schaefer@gmail.com
  - Fixed Tumbleweed integration tests
    Due to changes in the distribution the tests needs some
    adaptions. The kernel as provided now by TW uses symlinks
    from boot to /usr/lib/modules/... to point to the kernel
    binary. Of course this breaks for any system that uses
    /boot on another partition. Those image tests which were
    testing this aspect needs fixing.
* Wed Sep 15 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.57 → 9.23.58
* Wed Sep 15 2021 marcus.schaefer@gmail.com
  - Fixed MANIFEST
    Make sure all test data is included into the source tarball not only
    a recursive inclusion of a portion of it. This is needed to run
    tests at build time from the pypi provided source tarball
* Wed Sep 15 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.56 → 9.23.57
* Tue Sep 14 2021 marcus.schaefer@gmail.com
  - Fixed python manifest
    Deleted no longer existing doc source from manifest and
    add the full set of documentation sources
* Fri Sep 10 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.55 → 9.23.56
* Fri Sep 10 2021 marcus.schaefer@gmail.com
  - Only wipe bundle dir when required
    The given result bundle dir must only be wiped if the
    request to turn the result files into an rpm was given.
    Only in this case the given bundle dir must start empty
* Fri Sep 10 2021 marcus.schaefer@gmail.com
  - Fixed uninstall handling via dnf, microdnf, zypper
    The above package managers supports uninstall instructions
    like 'iwl*'. In kiwi there was code checking via rpm if
    the packages given to uninstall actually exists. That code
    does not work if the given package to uninstall is an
    instruction that matches a pattern. Therefore if we use
    the uninstall section in the kiwi image description, just
    pass the provided information to the package manager and
    don't try to be clever in kiwi itself.
* Thu Sep 09 2021 marcus.schaefer@gmail.com
  - Allow to set --logfile for result namespace
    Setting a logfile for e.g 'kiwi-ng result bundle ...'
    is useful and should be possible
* Thu Sep 09 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.54 → 9.23.55
* Wed Sep 08 2021 marcus.schaefer@gmail.com
  - Added support for building rpm package from bundle
    With the new option --package-as-rpm it is possible to
    call the kiwi result bundler such that the image build
    results gets packaged into an rpm. I think this is a
    handy feature to transport image builds via repositories
* Wed Sep 08 2021 marcus.schaefer@gmail.com
  - Fixed MicroOS integration test
    With ignition/combustion in place it's not allowed
    to use tmp as a subvolume
* Tue Sep 07 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.53 → 9.23.54
* Mon Sep 06 2021 marcus.schaefer@gmail.com
  - Fixed condition for GRUB_DISABLE_LINUX_UUID="true"
    The grub config parameter GRUB_DISABLE_LINUX_UUID must only
    be set if the device persistence setting is not UUID. However,
    in kiwi UUID device names are the default and doesn't have to
    be expressed explicitly. Therefore the condition to check
    for different than 'by-uuid' is wrong for the default case were
    no device persistence setting exists. This results in a wrong
    grub option to be set. This commit fixes it in a way to disable
    UUID device names in grub if the only other device persistency
    setting in kiwi named: 'by-label' is explicitly configured.
    This Fixes #1842
* Mon Sep 06 2021 marcus.schaefer@gmail.com
  - Added force_trailing_slash argument to sync_data
    A speciality of the rsync tool is that it behaves differently
    if the given source_dir ends with a '/' or not. If it ends
    with a slash the data structure below will be synced to the
    target_dir. If it does not end with a slash the source_dir
    and its contents are synced to the target_dir. For example:
    source
    └── some_data
    1. $ rsync -a source target
    target
    └── source
    └── some_data
    2. $ rsync -a source/ target
    target
    └── some_data
    The parameter force_trailing_slash in the DataSync::sync_data
    method can be used to make sure rsync behaves like shown in
    the second case. This Fixes #1786
* Mon Sep 06 2021 marcus.schaefer@gmail.com
  - Added type hints for DataSync class
* Fri Sep 03 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.52 → 9.23.53
* Thu Sep 02 2021 marcus.schaefer@gmail.com
  - Add missing bootloader tests
    Merging #1850 exposed the missing bootloader tests.
    This reminds me to move the gitlab driven unit tests
    to github actions because for forked repos the gitlab
    tests does not run but github actions tests would run
* Tue Aug 31 2021 48757730+data-intelligence-robot@users.noreply.github.com
  - Fix logging of ISO publisher
* Tue Aug 31 2021 mexit@o2.pl
  - Improving text formatting
* Tue Aug 31 2021 mexit@o2.pl
  - Added documentation for grub2 loopback ISO images
* Fri Aug 27 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.51 → 9.23.52
* Fri Aug 27 2021 marcus.schaefer@gmail.com
  - Fixed pep E711 code smell
    comparison to None should be 'if cond is not None:'
* Fri Aug 27 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.50 → 9.23.51
* Fri Aug 27 2021 rjschwei@suse.com
  - No compression with encryption
    When an image is setup to use encryption the resulting image appears
    as a random stream of bytes and cannot be compressed. Simply skip
    the compression in this case.
* Thu Aug 26 2021 marcus.schaefer@gmail.com
  - Fix typo in schema documentation
    ciper -> cipher. Fix originally done by Robert Schweikert
    and moved to the right place, see Issue #1906 for details
* Thu Aug 12 2021 jesus.bv@suse.com
  - Allow target dir for archive
    - Add the option to specify a target directory
    to unpack the archive
    - Update doc for target dir attribute
    This Fixes #1794
* Tue Aug 10 2021 marcus.schaefer@gmail.com
  - Log deprecation errors to stderr
    Make sure information about deprecated shell methods
    logs their information to stderr. This will cause the
    error message to be exposed to the user and not only
    in the log file
* Tue Aug 10 2021 marcus.schaefer@gmail.com
  - Fixed TW build test
    Explicitly added packages that causes conflicts due
    to the busybox alternatives
* Tue Aug 10 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.49 → 9.23.50
* Thu Aug 05 2021 marcus.schaefer@gmail.com
  - Added support for repo customization script
    repo files allows for several customization options
    which could not be set by kiwi through the current
    repository schema. As the options used do not follow
    any standard and are not compatible between package
    managers and distributions the only generic way to
    handle this is through a script which is invoked
    with the repo file as parameter for each file created
    to describe a repo for the selected package manager.
    This allows users to update/change the repo file content
    on their individual needs. In the kiwi description the
    path to the custom script can be specified as follows
    <repository ... customize="/path/to/custom_script">
    <source path="..."/>
    </repository>
    This Fixes #1896
* Fri Jul 30 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.48 → 9.23.49
* Thu Jul 29 2021 marcus.schaefer@gmail.com
  - Fixed fstab entry for swap on LVM
    If an LVM setup is used together with a swapspace the
    swap is created as a volume in the volume group. The
    required fstab entry to activate swap was not using
    the LVM exposed device but the UUID of the low level
    block layer. This low level device is not created
    by udev because LVM takes over precedence in this
    case.
* Sat Jul 24 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.47 → 9.23.48
* Sat Jul 24 2021 marcus.schaefer@gmail.com
  - Fixed LVM get_volumes
    Due to the change on the temporary directory yet another
    error in the volume manager classes for LVM got exposed.
* Sat Jul 24 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.46 → 9.23.47
* Sat Jul 24 2021 marcus.schaefer@gmail.com
  - Fixed LVM/btrfs volume based image builds
    Due to the change on the temporary directory an error
    in the volume manager classes for LVM and btrfs was
    exposed. There was code which uses a sub-part of the
    volume mount point directory which is a tempdir based
    directory name. The sub-part was choosen by an index
    based path split which worked for /tmp but no longer for
    /var/tmp. With tempdir now being also a commandline
    option this code has to become more robust.
* Fri Jul 23 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.45 → 9.23.46
* Thu Jul 22 2021 marcus.schaefer@gmail.com
  - Do not expose the delete feature in Temporary
    We do not want to expose the ability to create temporary
    data that doesn't get auto deleted at the end of its
    scope
* Thu Jul 22 2021 marcus.schaefer@gmail.com
  - Refactor recovery archive creation
    The creation of the recovery archive was based on a tempfile
    which then gets moved to the final target file. This is bad
    because if causes the tempfile cleanup to raise an exception
    unless you specify delete=False. Creating a tempfile with
    delete=False however, negates the reason for creating self
    managed temporary data. Thus this code was refactored to
    create the recovery archive file at its final destination
    from the beginning on
* Wed Jul 21 2021 marcus.schaefer@gmail.com
  - Moving temp data handling to its own namespace
    Moving use of mkdtemp, NamedTemporaryFile and TemporaryDirectory
    into its own class called Temporary: By default all temporary
    data is created below /var/tmp but can be changed via the
    global commandline option --temp-dir. This Fixes #1870
* Wed Jul 21 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.44 → 9.23.45
* Tue Jul 20 2021 marcus.schaefer@gmail.com
  - Handle UnicodeDecode errors more gracefully
    If the Codec.decode() method cannot encode the given data to utf-8
    an Encoding exception is raised which causes kiwi to raise a
    KiwiDecodingError. That way to handle the error causes an image
    build to fail. However, this sort of error for example happens if
    the .changes file of a package contains invalid characters. From
    a user perspective this cannot be fixed and you cannot build the
    image because of a stupid character error in a .changes file
    outside your control. Because of this reason this commit handles
    the decode error case differently and applies the 'replace'
    strategy on error. The characters in questions gets replaced and
    the rest of the data which can be decoded is returned.
* Mon Jul 19 2021 marcus.schaefer@gmail.com
  - Install mypy library stubs for mock
* Wed Jul 14 2021 marcus.schaefer@gmail.com
  - Added documentation for oem-skip-verify element
* Wed Jul 14 2021 marcus.schaefer@gmail.com
  - Increase size of efi fat image
    For ISO images an embedded efi fat image is needed to boot.
    As consequence of adding the mok manager it can happen that
    the size of the efi fat image is too small. With this commit
    the size is increased to prevent an out of space issue
* Wed Jul 14 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.43 → 9.23.44
* Wed Jul 07 2021 dcermak@suse.com
  - Add tests for baseVagrantSetup
* Wed Jul 07 2021 dcermak@suse.com
  - Set the directory permissions of /home/vagrant/.ssh to 0700 in baseVagrantSetup
* Wed Jul 07 2021 dcermak@suse.com
  - Don't modify main sshd_config file via baseVagrantSetup
    In Tumbleweed we switched from shipping sshd's config file in /etc to /usr/etc,
    but baseVagrantSetup was not respecting that.
    So instead of modifying the main config file, we instead create a custom file in
    /etc/ssh/sshd_config.d/ with our custom setting which is much more robust
    accross distributions. However, if /etc/ssh/sshd_config.d/ does not exist, then
    we fall back to adding our settings to /etc/ssh/sshd_config.
* Tue Jul 06 2021 marcus.schaefer@gmail.com
  - Fixed LUKS keyfile permission bits
    LUKS keyfile should use 0600 file permission flags
* Tue Jul 06 2021 marcus.schaefer@gmail.com
  - Fixed secure boot fallback setup
    Make sure MokManager gets copied. The name and location of
    the mok manager is distribution specific in the same way as
    the shim loader. Thus we need to apply a similar concept
    for looking it up. This Fixes bsc#1187515
* Tue Jul 06 2021 marcus.schaefer@gmail.com
  - Improve live image integration test
    Build one live image for Standard EFI+BIOS boot and
    another variant that support SecureBoot+BIOS boot
* Mon Jul 05 2021 marcus.schaefer@gmail.com
  - Fixed grub cmdline setup with custom root
    If the kiwi kernelcmdline attribute contains root=... information
    it is extracted from being written to GRUB_CMDLINE_LINUX_DEFAULT.
    However, the regexp to extract the root=... information was broken
    and deleted more elements of the cmdline information than just
    the root device information. This commit fixes the regexp to only
    delete the root=... information taking into account that every
    kernel parameter is delimited by '\s'
    This Fixes #1875
* Mon Jul 05 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.42 → 9.23.43
* Mon Jul 05 2021 dcermak@suse.com
  - Re-add suseImportBuildKey
    suseImportBuildKey is not required during the image build as kiwi imports the
    correct keys by itself. However, the created images lack the repository signing
    keys and any `zypper` commands will thus fail.
    This fixes https://github.com/OSInside/kiwi/issues/1876
* Fri Jul 02 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.41 → 9.23.42
* Thu Jul 01 2021 marcus.schaefer@gmail.com
  - Fixed fedora integration test builds
    Maintain the repos in the obs prj config which prevents
    the weird "nothing provides kernel-obs-build" error
* Wed Jun 30 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.40 → 9.23.41
* Wed Jun 30 2021 dcermak@suse.com
  - Remove util-linux-systemd & util-linux Requires from dracut-kiwi-overlay
    These dependencies are pulled in via dracut-kiwi-lib.
* Wed Jun 30 2021 dcermak@suse.com
  - Add missing util-linux-systemd Requires to dracut-kiwi-[live,libs]
* Wed Jun 30 2021 marcus.schaefer@gmail.com
  - Fixed test-image-orthos integration test
    The test was missing btrfs_root_is_snapshot which is required
    when using btrfs on tumbleweed.
* Tue Jun 29 2021 marcus.schaefer@gmail.com
  - Fixed test-image-disk-legacy integration test
    The test did not set a device filter for ramdisk devices but
    activates unattended mode. In this mode the first device in
    the list is taken and this is a ramdisk device which is
    by default too small to be used for the installation. Thus
    the install usually fails. This commit sets the device filter
    for ramdisk devices such that only associated disk devices
    can be used for the install process, which is the purpose
    of this test. This is related to Issue OSInside/kiwi-functional-tests#8
* Tue Jun 29 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.39 → 9.23.40
* Tue Jun 29 2021 marcus.schaefer@gmail.com
  - Mount dev and proc filesystems prior dracut
    In newer versions of dracut /dev and /proc must be mounted
    for dracut to work correctly. If not present the resulting
    initrd is incomplete. This Fixes #1867
* Mon Jun 28 2021 ngompa@datto.com
  - Use namespaced files in /var/tmp for large temporary files
    Previously, kiwi created staging image files as plain temporary files
    in /tmp, which causes issues on operating systems where /tmp is tmpfs.
    Notably, image builds would fail with "no space left on the device"
    because the tmpfs was not big enough for everything to exist there.
    To fix this, we change to use /var/tmp, and additionally add a prefix
    for our temporary files so that the user knows which ones kiwi created.
    Fixes: https://github.com/OSInside/kiwi/issues/1866
* Fri Jun 25 2021 tom_schr@web.de
  - Use latest stylesheet in STYLEROOT
    Use "suse2021-ns" instead of "suse2013-ns" due to new
    branding.
* Wed Jun 23 2021 dcermak@suse.com
  - Add missing util-linux-systemd dependency to dracut-kiwi-overlay
    The script kiwi-overlay-root.sh requires lsblk which is provided by
    util-linux-systemd. If that package is missing in the final image, then booting
    an overlayroot image hangs with:
    dracut-pre-mount[480]: //lib/dracut/hooks/pre-mount/30-kiwi-overlay-root.sh: line 46: lsblk: command not found
* Tue Jun 22 2021 marcus.schaefer@gmail.com
  - Start moving CI test from gitlab to actions
    Moving the linter and unit tests to github workflows and
    out of the gitlab CI system has the advantage that pull
    request from forked repos will run the tests. In the long
    run I think we should move away completely from gitlab CI
    and use github actions as this will reduce the number of
    external services used in the kiwi project. This commit
    starts with the most simple parts: unit and type tests,
    doc rendering and code style
* Mon Jun 21 2021 marcus.schaefer@gmail.com
  - Make sure chat link points to Element not Riot
    Riot has changed to Element. The index page on kiwi still
    uses the old location. This updates the information how to
    use the Matrix channel and the kiwi room name.
    This Fixes #1854
* Mon Jun 21 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.38 → 9.23.39
* Mon Jun 21 2021 45594031+dcermak@users.noreply.github.com
  - Functions integration tests (#1851)
    Add integration tests for functions.sh
    Implement a container based test system to run shell code for testing.
    The concept utilizes pytest-testinfra and runs a container per test.
    The nested container in a container feature is supported by the github
    actions workflow. Thus the integration of this testing concept runs in
    the github actions CI rather than on gitlab
* Mon Jun 21 2021 marcus.schaefer@gmail.com
  - Don't shell out for calling dnf
    refactor the dnf call to install packages and groups in
    one call. This allows to prevent calling dnf through a
    shell. For installing of a package group the group ID
    name is expected. This Fixes #1856
* Mon Jun 21 2021 rjschwei@suse.com
  - - Improve the error message if the config file cannot be parsed.
* Mon Jun 21 2021 marcus.schaefer@gmail.com
  - Do not shell out for calling microdnf.
    In fact it can be counter productive if the shell
    evaluates eventually existing package name/instruction
    patterns. This is related to Issue #1856
* Mon Jun 21 2021 marcus.schaefer@gmail.com
  - Prevent calling pacman through a shell
    There is no reason to shell out for calling pacman.
    In fact it can be counter productive if the shell
    evaluates eventually existing package name/instruction
    patterns. This is related to Issue #1856
* Sat Jun 19 2021 marcus.schaefer@gmail.com
  - Make sure mypy stubs will be installed
* Thu Jun 17 2021 mexit@o2.pl
  - Update grub2.py
* Thu Jun 17 2021 mexit@o2.pl
  - Code improvement
* Thu Jun 17 2021 mexit@o2.pl
  - Code improvement
* Wed Jun 16 2021 mexit@o2.pl
  - Allow the ISO to be booted from grub directly
* Wed Jun 16 2021 marcus.schaefer@gmail.com
  - Allow creation of LUKS system with empty key
    To support cloud platforms better we should allow the
    creation of an initial(insecure) LUKS encrypted image
    with an empty passphrase/keyfile. This Fixes
    bsc#1187461 and bsc#1187460
* Fri Jun 11 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.37 → 9.23.38
* Thu Jun 10 2021 marcus.schaefer@gmail.com
  - Fixed cleanup of temporary directory
    In the custom kiwi initrd build process a temporary directory
    holding a copy of the initrd root tree is created. That data
    got never cleaned up. This commit uses a TemporaryDirectory
    object from the tempfile module to make sure it gets deleted
    once the execution scope is done. This Fixes #1837
* Mon Jun 07 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.36 → 9.23.37
* Mon Jun 07 2021 marcus.schaefer@gmail.com
  - Delete deprecated shell functions from docs
    suseActivateDefaultServices
    suseSetupProductInformation
    suseImportBuildKey
    suseConfig
    baseCleanMount
    baseSetupUserPermissions
    baseGetPackagesForDeletion
    baseGetProfilesUsed
    baseStripMans
    baseStripDocs
    baseStripInfos
    Rpm
* Sun Jun 06 2021 marcus.schaefer@gmail.com
  - Fixed creating grub bios module
    If no prebuilt grub bios module was found, kiwi creates one.
    In this case kiwi searches for the grub modules and runs
    the grub mkimage tool. The search for the modules for the
    bios module used the host system (/) grub and that fails if
    the host has packaged grub differently than the image target.
    This fix moves the lookup into the image root directory
    which is the correct place to lookup the grub data
* Sat Jun 05 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.35 → 9.23.36
* Sat Jun 05 2021 marcus.schaefer@gmail.com
  - Fixed building with custom kiwi initrd setup
    The change from allowing to build with initrd_system="none"
    broke the build for initrd_system="kiwi". This commit fixes
    the regression
* Sat Jun 05 2021 marcus.schaefer@gmail.com
  - Use zypper --gpg-auto-import-keys option
    When building an image against self managed repos the
    auto import of the repo gpg key makes sense to me
* Sat Jun 05 2021 marcus.schaefer@gmail.com
  - Cleanup integration tests from obsolete methods
    Cleanup config.sh scripts calling obsolete helper methods
* Sat Jun 05 2021 marcus.schaefer@gmail.com
  - Cleanup integration tests from obsolete methods
    Cleanup config.sh scripts calling obsolete helper methods
* Sat Jun 05 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.34 → 9.23.35
* Fri Jun 04 2021 dimarnicola@gmail.com
  - Corrected preferences timezone code tag
* Tue Jun 01 2021 marcus.schaefer@gmail.com
  - Refactor config functions code
    Reorganize the code into more readable areas like methods
    present as helpers, methods for customers, methods which are
    distribution specific and also methods that are deprecated
    and give a good reason why they are deprecated when they
    get called. This is related to Issue #1828
* Tue Jun 01 2021 marcus.schaefer@gmail.com
  - Revert "Switch test-image-live-disk to Fedora 33"
    This reverts commit f80549474c4baa120e6e228bacc7b4a075265753.
* Tue Jun 01 2021 marcus.schaefer@gmail.com
  - Switch test-image-live-disk to Fedora 33
* Fri May 28 2021 marcus.schaefer@gmail.com
  - Fixed codacy code smells
* Fri May 28 2021 marcus.schaefer@gmail.com
  - Add strong typing for the following API methods
    kiwi/boot/image/base.py
    kiwi/boot/image/builtin_kiwi.py
    kiwi/boot/image/dracut.py
    This references issue #1644
* Thu May 27 2021 marcus.schaefer@gmail.com
  - Added support for skipping initrd creation
    Embedded systems and other customer use cases sometimes
    doesn't require an initrd. So far the initrd creation was
    a mandatory step in the process. With this commit it's
    possible to configure <type ... initrd_system="none"/>
    and therefore skip the creation and setup of an initrd.
    Using this feature comes with a price. Without an initrd
    the task of mounting the specified root=DEVICE_SPEC now
    becomes a task of the kernel. If the kernel doesn't have
    the required filesystem driver compiled in or the mount
    process of the device is not just a simple mount
    action, the boot of such an appliance will fail
* Thu May 27 2021 dcermak@suse.com
  - Remove grep and find from suseSetupProduct
* Thu May 27 2021 jgleissner@suse.com
  - config/functions.sh: Avoid non-zero exit status
    In baseStripDocs and baseStripFirmware avoid non-zero exit status of grep.
    This allows the functions to be used in a script that sets the exit-on-error
    flag.
* Fri May 21 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.33 → 9.23.34
* Fri May 21 2021 marcus.schaefer@gmail.com
  - Make sure we use sphinx >= 4.0.2
* Fri May 21 2021 marcus.schaefer@gmail.com
  - Revert "Revert "Fix installation of man pages""
    This reverts commit db7410f3c5b7b101ec0974cc24de0400c491f065.
* Fri May 21 2021 marcus.schaefer@gmail.com
  - Revert "Make sure man pages are part of the sdist tarball"
    This reverts commit 3bf80506c4bbe381b66febdd38df93e65103ffb6.
* Fri May 21 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.32 → 9.23.33
* Fri May 21 2021 marcus.schaefer@gmail.com
  - Make sure man pages are part of the sdist tarball
    Due to the move of man pages in sphinx the MANIFEST.in
    has to be updated to provide the man pages in the
    sdist tarball
* Fri May 21 2021 marcus.schaefer@gmail.com
  - Revert "Fix installation of man pages"
    This reverts commit 286b26b5b6598285bf6eb26a1f5c9200c925b529.
* Fri May 21 2021 marcus.schaefer@gmail.com
  - Fixed missing shebang in config.sh
    The ubuntu integration test config.sh script was missing
    the shebang to let the script code run through bash
* Fri May 21 2021 ngompa13@gmail.com
  - Fix installation of man pages
    The generated source archive on PyPI has the man page files
    in ./doc/build/man instead of ./doc/build/man/8.
    Adjust the Makefile to use the correct path to install the
    man pages.
* Fri May 21 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.31 → 9.23.32
* Thu May 20 2021 dcassany@suse.com
  - Do not return default stdout if it is no raising on failure
    This commit prevents the use of a default stdout and stderr in case
    return code reports errors and it is not raising an exception.
    If we are not raising an exception there is no specific need to
    artificially append some stdout and stderr default message, we just
    behave as if there was no error.
* Thu May 20 2021 marcus.schaefer@gmail.com
  - Update Ubuntu integration test for system settings
    In Debian based distributions the kiwi built in way
    to setup locale, keyboard and timezone via systemd tools
    does not work because not(yet) provided by the distribution.
    This commit adds a reference implementation in the Ubuntu
    integration test to demonstrate how the settings given in
    the kiwi image description needs to be handled to make
    them effective in the later image. This Fixes #1787
* Thu May 20 2021 marcus.schaefer@gmail.com
  - Add log information on grub search
    There is a method in kiwi which searches for grub files.
    As grub is packaged differently within the distributions
    a dynamic lookup is needed. However, the result and where
    kiwi looked it up was not part of the log file. In terms
    of issues like the one from Issue #1754 it would be very
    handy to know about this information. Thus this commit
    adds debug information to the log file regarding what
    grub files are searched and where and if found
* Thu May 20 2021 marcus.schaefer@gmail.com
  - Fixed coday complains
* Thu May 20 2021 marcus.schaefer@gmail.com
  - Make dracut version check more robust
    The check_dracut_module_versions_compatible_to_kiwi() runtime
    check calls the package manager from the host and reads the
    package database from the image root. Doing this requires
    the package database in the image to be compatible with the
    package manager on the host. However this cannot be guarenteed
    and it is more robust to chroot into the image root and call
    the package manager from there. However, this change also comes
    with the cost that it's required to have a package manager
    available in the image root tree. Therefore along with the
    chroot based call, eventual exceptions from the call are now
    catched and leads to a debug message in the log file but will
    not lead the runtime check to fail. I consider the cases
    without a package database inside of the image to be less
    critical than the incompatibility issue between the host
    tooling and the package database in the image.
    This Fixes bsc#1185937
* Tue May 18 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.30 → 9.23.31
* Tue May 18 2021 marcus.schaefer@gmail.com
  - Stop plymouth also for progress dialogs
* Mon May 17 2021 marcus.schaefer@gmail.com
  - Prevent explicit man page compression
    The manual pages are compressed by the packager tooling.
    There is no need to do this ourselves
* Mon May 17 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.29 → 9.23.30
* Mon May 17 2021 marcus.schaefer@gmail.com
  - Increase integration tests boot timeout
    Increase integration tests timeout from 2sec to 10sec
* Mon May 17 2021 marcus.schaefer@gmail.com
  - Update integration tests to be non interactive
    Some integration tests allows for interactive dialogs on the
    bootloader menu or in the installation process. As we plan to
    use these tests for automated functional testing there should
    be no interaction whenever possible. This Fixes #1811
* Mon May 17 2021 marcus.schaefer@gmail.com
  - Update kiwi installation documentation
    The installation chapter contained information about the manual
    install of package keys. That information is suspect to be always
    outdated because these keys changes. Instead of describing the
    manual install of the package key the docs moved to use the
    auto-import feature of the package manager. As the instructions
    were also rpm specific but we also support install via other
    package mangers the complete chapter was a bit reworked and
    should be more straight forward now. This Fixes #1799
* Mon May 17 2021 marcus.schaefer@gmail.com
  - Update documentation qemu calls
    We use the kiwi integration tests as base for the documentation
    example images now. The integration tests are all configured
    to set the console to serial. Thus the docs should explain
    the qemu call for test runs using the -serial stdio option
    to make sure the console information is displayed to the
    user
* Sun May 16 2021 marcus.schaefer@gmail.com
  - Update and fix documentation
    The documentation had a broken link to the buildservice
    tests for suse. Since we changed this into leap and tumbleweed
    the subproject link to :suse became invalid. In addition to
    the fix the macro setup and build instructions were moved
    to use the kiwi integration tests as example appliance
    descriptions. The user experience in building the integration
    test images should be better because we only release kiwi
    if those appliances build successfully. This Fixes #1812
* Sun May 16 2021 marcus.schaefer@gmail.com
  - Fixed package build
    The new version of sphinx puts manual pages into doc/build/man/8
    when it was doc/build/man before. This breaks the Makefile target
    to install the documentation. This commit updates the Makefile
    to follow the change.
* Wed May 12 2021 marcus.schaefer@gmail.com
  - Fix dnf arch setting
* Wed May 12 2021 marcus.schaefer@gmail.com
  - Update shim path lookup
    Distributions like Fedora has changed the EFI binaries location
    to be shim<efiarch>.efi in /boot/efi/EFI/<vendor> in order to
    support multiarch setup for UEFI. This change requires the
    lookup in KIWI to be more global matching. This Fixes #1806
* Wed May 12 2021 marcus.schaefer@gmail.com
  - Move integration test for Fedora to v34
* Wed May 12 2021 marcus.schaefer@gmail.com
  - Fixed live network setup to be generic
    In dracut the network setup comes with different models
    providing a different set of functions. The ifup method as
    used in the live iso dracut module is only available with the
    network-legacy mode and fails with network-wicked. This commit
    uses a dracut conf file in /etc/cmdline.d which uses the dracut
    network interface parameters instead of calling module specific
    methods. This Fixes #1802
* Wed May 12 2021 marcus.schaefer@gmail.com
  - Fixed setup of repository architecture
    Unfortunately the architecture reported by uname is not
    necessarily the same name as used in the repository metadata.
    Therefore it was not a good idea to set the architecture
    and manage the name via a mapping table. It also has turned
    out that repo arch names are distro specific which causes
    more complexity on an eventual mapping table. In the end
    this commit changes the way how the repository architecture
    is setup in a way that we only set the architecture if
    a name was explicitly specified such that the user keeps
    full control over it without any mapping magic included
    This Fixes bsc#1185287
* Fri May 07 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.28 → 9.23.29
* Mon May 03 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.27 → 9.23.28
* Fri Apr 30 2021 dcassany@suse.com
  - Upgrade tests accoring to #1805
    This commit is a follow up of #1805 which missed to update the related
    unit test.
* Fri Apr 30 2021 dcassany@suse.com
  - Make installation media unattended
    This commit configures install media of several tests to run unattended
    installation. This is done to facilitate the logic of functional tests.
* Wed Apr 28 2021 marcus.schaefer@gmail.com
  - Fixed unit tests for parallel invocation
    With the change to allow the platform architecture to be
    set application global, the unit tests might fail if tests
    run in parallel and using different mock architectures
    for the test. Thus test that runs depending on a platform
    name needs to set the name in the test
* Wed Apr 28 2021 marcus.schaefer@gmail.com
  - Update Debian integration test for UEFI testing
    Updated the Virtual disk profile to make use of the EFI
    secure boot feature.
* Tue Apr 27 2021 jkowalczyk@suse.com
  - Fix WSL appx filemap relative paths not preserved
    During WSL appx image type creation step the file hierarchy under metadata_path
    is written to a temporary file for eventual use as argument to utility appx.
    The file hierarchy information is dropped resulting in all filemap entries
    appearing to be at the metadata_path root. The resulting image will side load
    and run but without icon and other resources. Stricter checks at Windows Store
    submission will fail due to mismatch between image manifest and contents.
    Fix by preserving relative path of filemap entries relative to metadata_path.
    Add log output showing both input absolute path and output relative path.
* Tue Apr 27 2021 marcus.schaefer@gmail.com
  - Update Ubuntu integration test for UEFI testing
    Updated the Virtual disk profile to make use of the EFI
    secure boot feature.
* Tue Apr 27 2021 marcus.schaefer@gmail.com
  - Added support for UEFI on Debian based distros
    The Debian/Ubuntu folks have a different system to support
    EFI secure boot. In order to make use of it kiwi needs some
    adaptions done in this pull request. This Fixes #1743
* Tue Apr 20 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.26 → 9.23.27
* Mon Apr 19 2021 marcus.schaefer@gmail.com
  - Fixed spec file on Debian tool settings
    debootstrap should always come with dpkg because we don't
    want to handle the architecture names used on Debian when
    dpkg knows them better than we do. since debootstrap itself
    considers the possibility of being called without dpkg on
    the system we generate the dependency by a spec change
    here. This Fixes #1778
* Mon Apr 19 2021 marcus.schaefer@gmail.com
  - Change zypper download mode to in-advance
    In relation to upcoming zypper changes e.g to make use of librpm on
    single transaction operations there is the possibility that file
    triggers start being used. To ensure zypper behaves consistently
    DownloadInAdvance mode should be used, this way the transaction
    happens as a whole and with the upcoming zypper changes zypper
    will still be capable to handle the file triggers.
    This Fixes #1789
* Sun Apr 18 2021 marcus.schaefer@gmail.com
  - Added shadow package to pxe integration test
    Tools like usermod were moved from coreutils to shadow
* Sun Apr 18 2021 marcus.schaefer@gmail.com
  - Added shadow package to integration test
    Tools like usermod were moved from coreutils to shadow
* Fri Apr 16 2021 dcassany@suse.com
  - Fix appx manifest for WSL containers
    This commit prevents KIWI from setting Identity Name attribute and
    DisplayName and PublisherDisplayName elements.
    Fixes #1780
* Fri Apr 16 2021 dcassany@suse.com
  - Do not apply default subcommand for derivate containers
    This commit does not apply the default subcommand for derivate
    containers.
    Fixes bsc#1184823
* Fri Apr 16 2021 marcus.schaefer@gmail.com
  - Fixed integration tests requesting grub
    For some reason two integration tests requests the "grub" and
    the "grub2" package. On TW there is now no longer a provider of
    grub and thus the image build became unresolvable. There is
    only grub2 for quite some time, so I deleted this package
    setting from the tests in question
* Fri Apr 16 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.25 → 9.23.26
* Thu Apr 15 2021 marcus.schaefer@gmail.com
  - Fixed platform setup for vagrant unit tests
* Thu Apr 15 2021 marcus.schaefer@gmail.com
  - Add support for a custom exclude file
    The new optional metadata file image/exclude_files.yaml can
    be placed inside of the local image root tree. At creation time of
    the image binary the file contents are used to extend the default
    exclude list with additional information. The structure of the
    file must be as follows:
    ```yaml
    exclude:
    - exclude-name-used-in-rsync
    ```
* Wed Apr 14 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.24 → 9.23.25
* Wed Apr 14 2021 marcus.schaefer@gmail.com
  - Update zypp.conf architecture setting
    Make sure the architecture is set as parameter in the
    zypp.conf file used for building the image. This is needed
    to allow differentiation between host arch and image arch
    for cross image build environments
* Wed Apr 14 2021 marcus.schaefer@gmail.com
  - Added option to set the image target architecture
    The option --target-arch allows to set the architecture
    used to build the image. By default this is the host
    architecture. Please note, if the specified architecture
    name does not match the host architecture and is therefore
    requesting a cross architecture image build, it's important
    to understand that for this process to work a preparatory
    step to support the image architecture and binary format
    on the building host is required and is not considered a
    responsibility of kiwi. There will be a followup effort
    on providing a plugin for kiwi which should be used to
    manage the needed binfmt settings for cross arch image
    builds
* Tue Apr 13 2021 dcassany@suse.com
  - Refactor disk and install builders and dracut boot image
    This commit mainly refactors the DiskBuilder class. Then install builder
    and dracut boot image refactors are mostly to drop no longer needed
    code. The refactors tries to make the build simpler and easier to read and
    also prevent the reuse of the BootImage instance used for the main image
    when creating the installation media (this aplies only for
    dracut based images).
    Fixes #873
* Tue Apr 13 2021 dcassany@suse.com
  - Refactor create_disk method
    This commit refactor create_disk method and related utility methods
    to ensure runtime objects are not stored as attributes of the object.
    This is done to ensure proper clearing and destruction of those objects
    once create_disk method is done.
    Related to #873
* Mon Apr 12 2021 marcus.schaefer@gmail.com
  - Added openssl to the core requires
    openssl is used in kiwi to construct a password hash
    if the plaintext password feature for user settings
    is used. This Fixes bsc#1184128
* Sun Apr 11 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.23 → 9.23.24
* Fri Apr 09 2021 marcus.schaefer@gmail.com
  - Decommission obsolete code reaching EOL
    Use the @decommissioned decorator to raise for API methods
    that a over the obsoletion period
* Fri Apr 09 2021 marcus.schaefer@gmail.com
  - Added mypy call to tox target
    For the tox unit_pyX targets, mypy static type checking
    is now called prior tests. This references Issue 1644
* Tue Apr 06 2021 marcus.schaefer@gmail.com
  - Complete strong typing for API methods
    Added required code changes to let mypy pass when running
    from the toplevel kiwi namespace. This now finally
    Fixes #1644
* Mon Apr 05 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.22 → 9.23.23
* Wed Mar 31 2021 marcus.schaefer@gmail.com
  - Added optional post_bootstrap.sh script hook
    After the bootstrap phase a script post_bootstrap.sh is executed
    in a chroot process which allows to add/modify system settings
    prior the completion of the system installation. This helps
    users for example with custom package manager settings and
    Fixes #1763 as well as Fixes #1782
* Tue Mar 30 2021 marcus.schaefer@gmail.com
  - Update documentation
    Add information about new volume filesystem_check attribute
* Tue Mar 30 2021 marcus.schaefer@gmail.com
  - Allow to enable volumes for filesystem check
    The new attribute <volume ... filesystem_check="true|false"/>
    allows to change the default value for the fs_passno field in
    the generated fstab file. By default kiwi sets "0" in this
    field and leaves it up to the user to customize this as
    appropriate via script code. Coding changes to the fstab file
    via scripts are not very user friendly and with respect that
    systemd takes over control and generates checkers depending on
    the value of fs_passno it would be good if there is a way to
    explicitly specify if checks to the filesystem are wanted or
    not. Therefore the new attribute now exists. If set to: true
    this results in a value of "2" for the fs_passno field. Please
    note the root/boot and efi entries are excluded from this
    setup. This Fixes #1728
* Mon Mar 22 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.21 → 9.23.22
* Mon Mar 22 2021 marcus.schaefer@gmail.com
  - Refactor building of root cmdline setting
    Creating the root= cmdline parameter was based on methods
    that deals with the uuid. However, it's also possible to
    use a label information for the root= cmdline. To support
    this kiwi issued a 'blkid --uuid' command but that requires
    udev device names to be present on the host. The open
    buildservice workers do not run udev and fails apart the
    standard. This commit refactors the root cmdline setup
    to work with the device node as it exists during build
    time such that the blkid call runs against that device
    node.
* Mon Mar 22 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.20 → 9.23.21
* Fri Mar 19 2021 marcus.schaefer@gmail.com
  - Delete yum from packagemanager in schema
    Auto convert yum to dnf if set as packagemanager. This allows
    to delete the yum handling from code parts in kiwi where this
    was still present. In addition this fixes the inclusion of yum
    into the packagelist. This Fixes #1768
* Tue Mar 16 2021 kberger@suse.com
  - Add Strong Typing to builder APIs
* Tue Mar 16 2021 kberger@suse.com
  - This PR add APIs Strong Typing to the repository APIs
    Strong Typing has been added to the following files:
    repository/base.py
    repository/pacman.py
    repository/apt.py
    repository/dnf.py
    repository/template/apt.py
    repository/zypper.py
* Tue Mar 16 2021 marcus.schaefer@gmail.com
  - Drop by-path devicepersistency setting
    The dev/disk/by-path device representation is a host specific
    PCI location. For image building which happens disconnected from
    the later target device this setting is useless.
    This Fixes #1747
* Tue Mar 16 2021 marcus.schaefer@gmail.com
  - Fixed LVM root volume inclusion in fstab
    The root(/) volume in a LVM setup was included as UUID device
    path. This is inconsistent compared to the non root volumes
    which are included by their LVM representation:
    /dev/VGROUP_NAME/VOLUME_NAME
    This commit makes sure the root volume is included by its
    persistent LVM device representation too. This is related
    to Issue #1747
* Mon Mar 15 2021 marcus.schaefer@gmail.com
  - Update unit- integration tests to schema v74
* Mon Mar 15 2021 marcus.schaefer@gmail.com
  - Added XSLT transformation schema v73 -> v74
    Update schema version and change to package manager 'apt'
    if 'apt-get' was set
* Mon Mar 15 2021 marcus.schaefer@gmail.com
  - Change packagemanager setting from apt-get to apt
    In kiwi we use the name of the section as package name to install this
    package manager capability. However on Debian based distros there is
    no package named apt-get. There is only a package named apt which
    provides a tool named apt-get. To avoid inconsistencies like we had it
    in Issue #1735 and to bring this setting in line with all other
    packagemanager settings the setting was moved to just apt.
    This Fixes #1738
* Thu Mar 11 2021 kberger@suse.com
  - Public API Strong Typing for kiwi package_manager
* 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).
* 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.
* Tue Mar 09 2021 dcassany@suse.com
  - Exclude /run and /tmp to be synched into the image
    This commit makes sure the contents of /run and /tmp are ignored when
    synchronizing the generated root tree into the image.
    Fixes #1744
* Tue Mar 09 2021 marcus.schaefer@gmail.com
  - Fix use of by-label device persistency in grub
    If devicepersistency="by-label" is set in the KIWI description
    it will correctly operate on the fstab values but still uses
    the UUID based setting for root= in the grub config. This commit
    allows to set root=LABEL=... in the grub config in case the
    devicepersistency requested it. In order for this to work this
    commit also had to increase the scope of the grub helper
    method _fix_grub_root_device_reference which is now called in
    any case. This Fixes #1757
* Mon Mar 08 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.19 → 9.23.20
* Sat Mar 06 2021 marcus.schaefer@gmail.com
  - Fixed API vs. CLI inconsistency
    when using kiwi as API the program fails with a usage message
    from the Cli class. The kiwi.cli module should not be imported
    except for kiwi comandline tasks. It has turned out that the
    RuntimeConfig class which is used in several places in different
    API classes imports Cli and creates an instance of it to check
    for a global option. This causes major issues for all programs
    which uses the kiwi API but not the command line interface because
    the docopt call in Cli() expects a valid docstring which only
    exists in kiwi's cli.py. This commit fixes the inconsistency
    and allows people to use the kiwi API independent of any
    command line interface. Fixes #1755
* Fri Mar 05 2021 dcassany@suse.com
  - Add Rawhide and Tumbleweed tests for secure boot on aarch64
* Fri Mar 05 2021 marcus.schaefer@gmail.com
  - Make sure man pages are part of sdist tarball
    The current tarball when uploaded to pypi via gitlab does
    not contain the manual pages because the doc target to build
    them is not called. This commit adds a doc_man tox target
    which is called prior pypi release. This Fixes #1746
* Wed Mar 03 2021 dcassany@suse.com
  - Refactor grub2 installation
    This commit refactors grub2 installation method to split it in two
    parts. Former grub2.install method was meant to run the grub2-install
    tool, however, in addition it was also running the secure boot
    installation shim-install. The install method in KIWI is skipped for
    those architectures and firmware combinations for which bios support
    doesn't exist. This was leading to skip the secure boot installation.
    The current approach strips the secure boot installation logic from the
    grub2.install method, so skipping the install method does not
    automatically result in skipping the secure boot installation.
    Fixes bsc#1182211
* Mon Mar 01 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.18 → 9.23.19
* Mon Mar 01 2021 marcus.schaefer@gmail.com
  - Fixed admin path for dpkg-query
    Fixed admin path in check_dracut_module_versions_compatible_to_kiwi
    runtime check.
* Mon Mar 01 2021 rahn.tamalin@gmail.com
  - Fail non-XML descriptions if anymarkup not available (#1742)
    Co-authored-by: Fergal Mc Carthy <fergal.mc.carthy@suse.com>
* Mon Mar 01 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.17 → 9.23.18
* Mon Mar 01 2021 marcus.schaefer@gmail.com
  - Make runtime check more robust
    Fixed check_dracut_module_versions_compatible_to_kiwi to work
    with systems that have no dracut installed.
* Mon Mar 01 2021 marcus.schaefer@gmail.com
  - Fixed call time runtime check in build command
    The check_dracut_module_versions_compatible_to_kiwi runtime
    check was called too early in the build process. It has to
    be called at the end of the prepare stage when the image
    root tree has been created
* Mon Mar 01 2021 marcus.schaefer@gmail.com
  - Added missing runtime check to default config file
    Added check_dracut_module_versions_compatible_to_kiwi as
    comment block to the default config file
* Mon Mar 01 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.16 → 9.23.17
* Sun Feb 28 2021 marcus.schaefer@gmail.com
  - Fixed docstring for SolverRepositoryDeb class
    The doc string incorrectly pointed to the rpm-md repo type
    when it should be apt-deb
* Thu Feb 25 2021 marcus.schaefer@gmail.com
  - Fixed code smells reported from codacy
    In addition cleanup unused instance variable self.custom_args
    from DiskFormatBase class
* Tue Feb 23 2021 marcus.schaefer@gmail.com
  - Add kiwi dracut mod vs. kiwi compatibility check
    Add a runtime check to be called in the create stage
    which reads the version(s) of the installed kiwi dracut
    modules from the package database and compare them with
    a min_version setting maintained in the KIWI builder
    code. If the installed dracut module is not compatible
    with the used kiwi builder version the build stops
    at this point with a descriptive error message
* Tue Feb 23 2021 jesus.bv@suse.com
  - Add strong typing for the following API methods
    kiwi/storage/raid_device
    kiwi/storage/setup
    kiwi/storage/subformat/base
    kiwi/storage/subformat/gce
    kiwi/storage/subformat/ova
    kiwi/storage/subformat/qcow2
    This references issue #1644
* Tue Feb 23 2021 marcus.schaefer@gmail.com
  - Added strong typing for the following API methods
    * storage/subformat/vagrant_base.py
    * storage/subformat/vagrant_libvirt.py
    * storage/subformat/vagrant_virtualbox.py
    * storage/subformat/vdi.py
    * storage/subformat/vhd.py
    * storage/subformat/vhdfixed.py
    * storage/subformat/vhdx.py
    * storage/subformat/vmdk.py
    This references Issue #1644
* Mon Feb 22 2021 marcus.schaefer@gmail.com
  - Deleted legacy kiwi chapter from the docs
    The information there is almost obsolete since kiwi(perl)
    does no longer exist in any modern distribution. It's
    only maintained on SLE12 which itself is EOL and the kiwi
    there has its own documentation which we don't need to
    reference anymore in the upstream project
* Mon Feb 22 2021 marcus.schaefer@gmail.com
  - Added new Troubleshooting chapter to the docs
    Added a new chapter to handle issues which depends on several
    environment conditions and for which not only one possible
    solution exists. This Fixes #1691
* Fri Feb 19 2021 marcus.schaefer@gmail.com
  - Document use of SUSE media
    Add chapter to describe how to use the SUSE product media
    in a kiwi build process. This Fixes #1678
* Fri Feb 19 2021 marcus.schaefer@gmail.com
  - Delete support for generic iso:// source type
    The generic iso:// media type mounts the given iso file and expect
    its root to provide a repository that can be used 1:1 with a package
    manager. This concept is broken since some time and it can't be fixed
    in a generic way. All distribution media comes with a certain layout
    and basically needs extra handling to become fully usable as
    repository. The current implementation of the iso type which simply
    mounts the iso and expects its root to be a known repo is not useful.
    Therefore the support for it will be decommissioned. Instead we
    will provide a documentation chapter that documents how to incorporate
    distro ISO media for building images.
* Thu Feb 18 2021 marcus.schaefer@gmail.com
  - Added deb support to sat solver module
    Add support to create SAT solvables from Debian repos via
    deb2solv tool from libsolv. This allows image info --resolve-package-list
    to work with Debian/Ubuntu image descriptions. Please note
    by default libsolv is not compiled with support for Debian.
    Therefore the following compile flags must be set on libsolv
    * -DENABLE_DEBIAN=1
    * -DMULTI_SEMANTICS=1
    If libsolv does not provide the needed capabilities kiwi will
    fail on either the repository solvable creation due to missing
    deb2solv or on call of setdisttype() due to missing MULTI_SEMANTICS
    feature in libsolv
* Thu Feb 18 2021 marcus.schaefer@gmail.com
  - Update contributing chapter
    Add an example to show that using the kiwi description
    format is an option when using kiwi as an API in other
    python programs
* Tue Feb 16 2021 marcus.schaefer@gmail.com
  - Change donation message
    There are more people working on kiwi and the message is
    from times with only me as contributor. It would be unfair
    to keep the current message and I will share any donation
    with the team.
* Tue Feb 16 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.15 → 9.23.16
* Mon Feb 15 2021 dcassany@suse.com
  - Fix lsblk flags to get sorted output
    This commit modifies the lsblk command flags to get a sorted output
    according to the disk layout.
    This is related to 176c7eab commita and it fixes bsc#1182264
* Mon Feb 15 2021 marcus.schaefer@gmail.com
  - Fixed kiwi-systemdeps-filesystems requires
    The filesystems requires list also contains low level
    tools to manage partitions, loops and subsystems. The tools
    to manage LUKS(cryptsetup) are missing and imho belongs there
    along with the LVM tools which are listed
* Mon Feb 15 2021 marcus.schaefer@gmail.com
  - Added documentation for kiwi-systemdeps concept
    Added information about the kiwi-systemdeps sub packages
    and its purpose. This Fixes #1686
* Mon Feb 15 2021 dcassany@suse.com
  - Add strong typing for filesystem classes
    This commit strong typing for FileSystem* classes.
    Part of #1644
* Mon Feb 15 2021 marcus.schaefer@gmail.com
  - Update documentation
    The runtime config file can also be specified on the
    commandline
* Mon Feb 15 2021 marcus.schaefer@gmail.com
  - Added ca-certificates-mozilla to build tests
    ca-certificates-mozilla provides the issuer CERT to allow
    for https repo connections. The standard ca-certificates is
    not enough on suse/leap/sles based integration tests
* Sat Feb 13 2021 marcus.schaefer@gmail.com
  - Fixed packaging metadata for pypi
    Include the README as long description in the metadata
    for pypi. The change causes the description on pypi.org
    to show the ReST rendered README instead of a message
    that the author of the module hasn't provided a description
* Sat Feb 13 2021 marcus.schaefer@gmail.com
  - Delete legacy oem build test from leap
    The legacy custom kiwi boot test will only continue
    to exist on tumbleweed without any warranty
* Fri Feb 12 2021 dcassany@suse.com
  - Include a note about rpm's curl requirement to import remote keys
    This commits add a note in the KIWI installation page to warn users rpm
    requires curl utility in order to import remote keys from a URI.
    Fixes #1680
* Fri Feb 12 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.14 → 9.23.15
* Fri Feb 12 2021 marcus.schaefer@gmail.com
  - Update documentation
    Mention the cross arch build capability of the boxbuild
    command. Also update the example box used in the self
    container build chapter
* Fri Feb 12 2021 marcus.schaefer@gmail.com
  - Allow to specify OBS credentials in runtime config
    In preparation to the new obs kiwi plugin this commit adds
    an opportunity to store obs credentials such that the plugin
    could also be used in a non-interactive way
* Fri Feb 12 2021 jesus.bv@suse.com
  - Add strong typing for the following API methods
    kiwi/storage/device_provider
    kiwi/storage/disk
    kiwi/storage/loop_device
    kiwi/storage/luks_device
    kiwi/storage/mapped_device
    This references issue #1644
* Fri Feb 12 2021 marcus.schaefer@gmail.com
  - Update build_status helper for box plugin
    The suse box has been renamed to tumbleweed
* Fri Feb 12 2021 marcus.schaefer@gmail.com
  - Update documentation
    Fixed link list to integration tests
* Fri Feb 12 2021 marcus.schaefer@gmail.com
  - Added rawhide test status to build_status helper
* Fri Feb 12 2021 marcus.schaefer@gmail.com
  - Added Fedora Rawhide integration tests
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Followup fix for RuntimeConfig refactor
    The refactor of the RuntimeConfig made sure the runtime config
    file is read in only once. But if the file exists and is empty
    after yaml.safe_load like in the kiwi package provided
    /etc/kiwi.yml which contains all config options as comments,
    the code still reads in the file with every new instance of
    RuntimeConfig. This commit fixes this condition
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Fixed test-image-vagrant for Leap
    Use the correct release package
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Fixed test-image-docker-derived for Leap
    Use the right derived from location
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Fixed test-image-docker for Leap
    Nothing provides grub
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Delete test-image-pxe from leap tests
    We don't continue development of netboot code. Thus there is
    only one test for the old netboot system on TW. People are
    advised to move to oem remote deployment or the kis type
    using custom(non kiwi) dracut extensions
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - test-image-MicroOS does not build for leap
    Looks like this concept is not available on Leap
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Added integration tests for Leap
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Update documentation
    Location for integration tests has changed
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Deleted x86/suse integration tests
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Moving x86/suse -> x86/tumbleweed
    This is in fact a copy of the build-tests for x86/suse
    to x86/tumbleweed. Once the tests in OBS are building
    x86/suse and the respective project will be deleted
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Deleted s390/suse integration tests
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Moving s390/suse -> s390/tumbleweed
    This is in fact a copy of the build-tests for s390/suse
    to s390/tumbleweed. Once the tests in OBS are building
    s390/suse and the respective project will be deleted
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Delete ppc/suse from build_status helper
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Deleted ppc/suse integration tests
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Moving ppc/suse -> ppc/tumbleweed
    This is in fact a copy of the build-tests for ppc/suse
    to ppc/tumbleweed. Once the tests in OBS are building
    ppc/suse and the respective project will be deleted
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Fixed Debian integration test
    The test was not using the Staging kiwi to build
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Deleted arm/suse integration tests
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Moving arm/suse -> arm/tumbleweed
    This is in fact a copy of the build-tests for arm/suse
    to arm/tumbleweed. Once the tests in OBS are building
    arm/suse and the respective project will be deleted
* Thu Feb 11 2021 jesus.bv@suse.com
  - Update tuples to enforce type hints
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Fixed use of BIOS grub image on ISO media
    Not all systems (e.g Debian) creates the boot/grub|grub2 directory.
    In kiwi when we need to create a custom grub image because we did
    not find the distro provided one, an earlyboot.cfg file is created
    and embedded into the grub image. The locaton to store that file
    is below boot/grub|grub2. However if the directory does not exist
    the build will fail as with the current Debian Live integration
    test.
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Added debian integration tests to build_status
    The debian build tests were not taken into account by
    the build_status helper
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Moved ARM fedora integration test to latest stable
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Update suse build tests
    Deleted old and obsolete configuration setup. Use generic
    description information as much as possible
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Move fedora integration tests to stable release
    Instead of building against the rolling release (rawhide)
    we build the integration tests for non suse tests against
    the stable release of distributions. The reason is except
    for suse we don't have influence and resources on the
    distribution development and sometimes facing the problem
    that we can only sit and pray for a self healing of the
    rolling distro releases. From a kiwi release perspective
    this blocks us too often
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Fixed tbz integration test
    It seems /bin/sh has been moved into a file provides that
    cannot be solved by the obs solver. Therefore a package
    providing it needs to be added explicitly.
* Thu Feb 11 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.13 → 9.23.14
* Wed Feb 10 2021 dcassany@suse.com
  - Remove files or folders that conflict with debootstrap
    This commit makes use of Path.wipe method instead of os.unlink. This way
    we are certain the path is removed regardless being a directory or a
    file.
    fixes #1718
* Wed Feb 10 2021 dcassany@suse.com
  - Clean some copy and paste leftover from doc strings
* Tue Feb 09 2021 marcus.schaefer@gmail.com
  - Fixed ramdisk deployment from install ISO
    The dracut mount hook is only called if NO root= information
    is provided from the cmdline. In a PXE deployment this is the
    case but in an install ISO deployment not. This commit re-adds
    the sysroot mount generator approach but only applies on the
    condition rd.kiwi.ramdisk is set and root= is specified. Only
    in this case we know config.bootoptions is present in the
    initrd and will not be provided from an outside service
* Tue Feb 09 2021 Christian.Goll@gmail.com
  - Added dolly support
    Allow dolly as alternative download protocol
* Tue Feb 09 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.12 → 9.23.13
* Sun Feb 07 2021 marcus.schaefer@gmail.com
  - Refactor RuntimeConfig class
    The former implementation read the runtime config file every
    time a new RuntimeConfig instance was created. The runtime
    config is however static during the runtime of an image build
    process and not supposed to change. Therefore the file should
    be read in once and any new instance of RuntimConfig should
    just use what has been read in at the first invocation. This
    commit refactors the RuntimeConfig class to hold an application
    global RUNTIME_CONFIG variable and allows to reread the
    config on explicit request.
* Sat Feb 06 2021 marcus.schaefer@gmail.com
  - Added option to setup OBS API server in config
    Allow to specify the open build service API server
    in the kiwi runtime configuration file
* Sat Feb 06 2021 marcus.schaefer@gmail.com
  - Allow to specify config file on the command line
    The optional kiwi runtime config file (kiwi.yml) could
    only be read from ~/.config/kiwi/config.yml or /etc/kiwi.yml
    This commits adds the global option --config which allows
    to specify a custom runtime configuration as well.
* Fri Feb 05 2021 marcus.schaefer@gmail.com
  - Fixed detection for pacman repo type
    grep the directory listing for a .db.sig metadata file
    to identify a pacman repo
* Fri Feb 05 2021 marcus.schaefer@gmail.com
  - Cleanup CliTask doc strings and code duplication
    Introduce a tuple method to handle arguments with [n]
    comma separated elements. Also fix method docstrings
    with wrong type information.
* Fri Feb 05 2021 marcus.schaefer@gmail.com
  - Fixed typing for add_repository in XMLState class
    mypy reported further issues on XMLState class which
    are fixed by this commit
* Fri Feb 05 2021 marcus.schaefer@gmail.com
  - Fixed type annotations and docs for Uri class
    The constructor used a wrong type for the repo_type variable
    and the doc string for the class was invalid
* Fri Feb 05 2021 marcus.schaefer@gmail.com
  - Added get_repo_type method to SolverRepository
    In preparation of a plugin to handle external service
    repositories a method to check for the repository type
    was added. The detection is based on a search for a
    specific metadata file which is an indicator for the
    type of a repository.
* Fri Feb 05 2021 marcus.schaefer@gmail.com
  - Update manual pages
    The system build and prepare commands have received options
    which were not mentioned in the manual pages. This commit
    updates the pages to be in line with the code
* Mon Feb 01 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.11 → 9.23.12
* Mon Feb 01 2021 marcus.schaefer@gmail.com
  - Fixed debootstrap device node conflict
    debootstrap creates its own device node tree and fails
    if a node it creates itself already exists. This commit
    introduces a list of conflicting device nodes and deletes
    them prior kiwi calling debootstrap. This Fixes #1675
* Sun Jan 31 2021 marcus.schaefer@gmail.com
  - Added aaa_base to s390 TW build tests
    On s390 TW aaa_base is not pulled in by a dependency in obs.
    It looks like the package is pulled in by a file provides which
    is not resolved by obs. Thus the package needs to be added
    explicitly
* Fri Jan 29 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.10 → 9.23.11
* Fri Jan 29 2021 marcus.schaefer@gmail.com
  - Follow up fix, creating custom grub EFI images
    Make sure custom EFI grub image is copied to the media
    directory if this is different from the root directory
    e.g on creation of live images
* Thu Jan 28 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.9 → 9.23.10
* Thu Jan 28 2021 marcus.schaefer@gmail.com
  - Follow up fix, creating custom grub images
    Moving the grub mkimage call as chroot operation also broke
    the creation of image builds that uses the legacy custom kiwi
    boot image feature instead of dracut. This commit fixes it
* Thu Jan 28 2021 marcus.schaefer@gmail.com
  - Added leap box to be shown by build_status helper
* Wed Jan 27 2021 marcus.schaefer@gmail.com
  - Added decorators to help with API management
    The lifetime of API methods could be limited due to
    the development of kiwi. To allow for a deprecation
    process the following helper methods has been added
* Wed Jan 27 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.8 → 9.23.9
* Wed Jan 27 2021 dcassany@suse.com
  - Update MicroOS build test
    This commit alignes the MicroOS tests with the MicroOS images build
    for kvm and xen. In addition it adds the installation media request and
    custom initrd modules configuration for the installation media.
* Wed Jan 27 2021 marcus.schaefer@gmail.com
  - Fixed creation of custom bios grub image
    The last commit moved the grub mkimage call into the chroot.
    As a side effect and when creating install media the earlyboot
    script could no longer be found. This commit fixes it
* Wed Jan 27 2021 dcassany@suse.com
  - Include installmedia documentation
* Tue Jan 26 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.7 → 9.23.8
* Mon Jan 25 2021 marcus.schaefer@gmail.com
  - Fixed creation of custom grub image
    If kiwi can't find the distribution provided grub image(s) it
    creates them using the respective grub[X]-mkimage tool. However
    the tool was called on the build host which could cause an
    inconsistency on the used module path. Grub is not packaged
    consistently across the distributions and also the provided
    modules comes in different versions and patch sets. Therefore
    it's required that kiwi calls the grub mkimage tool as chrooted
    operation inside of the tree that provides the target image.
    As consequence of the change it's required that the image root
    tree provides the grub mkimage tool. In addition to the change
    we now also log the output from the grub mkimage call in the
    kiwi build logfile. This Fixes #1254
* Thu Jan 21 2021 jesus.bv@suse.com
  - Add strong typing for the following API methods
    * kiwi/system/kernel.py
    * kiwi/system/result.py
    * kiwi/system/shell.py
    This references issue #1644
* Thu Jan 21 2021 dcassany@suse.com
  - Add the schematron rules for installinitrd
    This commit adds an schematron rule to limit the presence of
    installinitrd element to disk builds including installation media.
* Thu Jan 21 2021 dcassany@suse.com
  - Add the installinitrd element
    This commit adds the `<installinitrd>` element in kiwi schema to
    facilitate the dracut modules configuration for the installation initrds
    on OEM images. Within installinitrd element is possible list the dracut
    modules to append, to omit or to just set an static list of dracut
    modules to include.
    Fixes #1676
    Fixes #1683
* Thu Jan 21 2021 jesus.bv@suse.com
  - Add strong typing for the following API methods
    * system/root_bind.py
    * system/root_init.py
    * system/identifier.py
    This references issue #1644
* Thu Jan 21 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.6 → 9.23.7
* Wed Jan 20 2021 marcus.schaefer@gmail.com
  - Don't call super() from logging.Formatter
    It's not needed to run the base class constructor.
    The interface for the logging facility is also different
    between python 3.6 and python 3.8 such that calling
    the base constructor would be bad idea anyway.
* Wed Jan 20 2021 jesus.bv@suse.com
  - Add strong typing for the following API methods
    * kiwi/system/size.py
    * kiwi/system/uri.py
    * kiwi/system/users.py
    Update the test path for users_test.py
    This references #1644
* Wed Jan 20 2021 dcassany@suse.com
  - Include missing qemu-tools dependency for iso images
    This commit includes a missing qemu-tools dependency for iso
    image type.
* Wed Jan 20 2021 marcus.schaefer@gmail.com
  - Added strong typing for the following API methods
    * kiwi/system/prepare.py
    * kiwi/system/profile.py
    * kiwi/system/setup.py
    The changes here also lead to a small refactoring for the handling
    of the package manager. In my opinion it doesn't make sense to allow
    a None type package manager from the stateful XML instance. As without
    any package manager nothing can be done. As it also turns into an
    issue for the PackageManager API which does not allow for an empty
    value here I thought it's better to come up with a default package
    manager (set to dnf) if no one is explicitly specified
    This references Issue #1644
* Wed Jan 20 2021 marcus.schaefer@gmail.com
  - Explicitly set lvm device source
    Set external_device_info_source=none for lvm calls.
    This is related to Issue #1665
* Tue Jan 19 2021 marcus.schaefer@gmail.com
  - Fixed use of encoding in open calls
    The use of encodings.ascii in open calls was wrong. Open expects
    an encoding string but encodings.ascii returns a module reference
* Tue Jan 19 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.5 → 9.23.6
* Tue Jan 19 2021 marcus.schaefer@gmail.com
  - Handle checksum files in ascii encoding
    Follow up fix for #1673. Handle reading/writing of all
    supported checksum variants in ascii encoding
* Mon Jan 18 2021 ngompa13@gmail.com
  - Mark Micro DNF as a RPM based package manager
    Without doing this, KIWI won't generate the correct output files
    for verification of image content.
* Mon Jan 18 2021 marcus.schaefer@gmail.com
  - Only write GRUB_CMDLINE_LINUX_DEFAULT with content
    Only write GRUB_CMDLINE_LINUX_DEFAULT in the grub defaults
    file if there are custom options set via the kernelcmdline
    attribute. This Fixes #1650
* Sat Jan 16 2021 petr.pavlu@suse.com
  - Move logic to sync system data into a separate method
    Reduce cyclomatic complexity of DiskBuilder.create_disk() by moving the
    logic to sync system data into a separate method.
* Fri Jan 15 2021 marcus.schaefer@gmail.com
  - Fixed missing systemdisk provides
    kiwi-systemdeps-filesystems did not provide kiwi-filesystem:ext2
* Fri Jan 15 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.4 → 9.23.5
* Wed Jan 13 2021 jesus.bv@suse.com
  - Refactor default shared cache location
    Defaults shared cache location does not depend on CLI parameters
    Add set method for custom cache location in Defaults
    CLI default value for shared cache dir depends on Defaults if not set
    Update default if CLI shared cache dir set
    Fixes #1671
* Tue Jan 12 2021 jesus.bv@suse.com
  - Update contributing link in README
* Mon Jan 11 2021 marcus.schaefer@gmail.com
  - Delete obsolete ddb.adapterType patching
    When building a vmdk image with pvscsi as adapter type, kiwi
    implicitly changed the adapter_type from pvscsi to lsilogic
    because qemu only knows lsilogic. At the end kiwi patched
    the adapter type in the descriptor of the vmdk header back
    to pvscsi. That patching seems to be wrong according to
    information from users and VMware support. This commit
    deletes the descriptor patching and only leaves the pvscsi
    setting in the guest configuration(vmx).
    This Fixes bsc#1180539 and Fixes #1847
* Mon Jan 11 2021 marcus.schaefer@gmail.com
  - Bump version: 9.23.3 → 9.23.4
* Sun Dec 27 2020 josua@solid-run.com
  - force ascii encoding on checksum files
    Python open function can fail when a file is not found encoded in
    utf-8, depending on the execution environment. In particular on
    Debian 10 an error message regarding utf8 was encountered.
    Since checksum files always use only ascii characters, force it.
* Wed Dec 23 2020 dcassany@suse.com
  - Fixes the rpmdb bootstrap management for DNF on SUSE
    This commit makes sure that the compatibility symlink for
    /var/lib/rpm is created when the host rpmdb path is set to something
    different. This fixes a mismatch on bootstrapping SUSE using DNF.
    Fixes #1669
* Tue Dec 22 2020 marcus.schaefer@gmail.com
  - Bump version: 9.23.2 → 9.23.3
* Mon Dec 21 2020 dcassany@suse.com
  - Modify lsblk flags for a consistent output across distros
    This commit modifies the lsblk flags to make use of the list format
    instead of raw output. `--list` flag seams to keep the geometry order
    and produces a consistent output in several distros.
* Fri Dec 18 2020 marcus.schaefer@gmail.com
  - Bump version: 9.23.1 → 9.23.2
* Fri Dec 18 2020 marcus.schaefer@gmail.com
  - Update kiwi-systemdeps-image-validation
    Make python anymarkup to be only recommended. The package
    does not exist on all distributions, e.g suse does not
    provide it and for kiwi it's an optional plugin
* Fri Dec 18 2020 marcus.schaefer@gmail.com
  - Fixed missing provides tag
    When building WSL images the image type is set to appx.
    Therefore obs is looking for what provides kiwi-image:appx
    This provides tag was missing
* Fri Dec 18 2020 marcus.schaefer@gmail.com
  - Don't install obsolete requires packages
    The derived docker build test installs obsolete kiwi requires
* Thu Dec 17 2020 marcus.schaefer@gmail.com
  - Bump version: 9.23.0 → 9.23.1
* Thu Dec 17 2020 marcus.schaefer@gmail.com
  - Update spec file
    Complete and cleanup spec for drop in replacement of new
    systemdeps sub-packages
* Thu Dec 17 2020 marcus.schaefer@gmail.com
  - Bump version: 9.22.4 → 9.23.0
* Thu Dec 17 2020 marcus.schaefer@gmail.com
  - Set min version python requirement
    The use of new features like type hinting and annotations
    requires a python version >= 3.6
* Thu Dec 17 2020 marcus.schaefer@gmail.com
  - Bump version: 9.22.3 → 9.22.4
* Thu Dec 17 2020 dcassany@suse.com
  - Use the generic Dict type
    This commit makes use of the Dict type in the container factory classes
    so these type hints aligned with the other dict related type hints in
    KIWI code. This commit improves the refactor done in 99be52ba.
* Thu Dec 17 2020 marcus.schaefer@gmail.com
  - Update preferences documentation
    The last commit added the optional arch attribute to the
    preferences section but the documentation did not expose
    this information. This is related to Issue #1640
* Wed Dec 16 2020 marcus.schaefer@gmail.com
  - Fixed no-self-use issue from codacy report
    The Logger.progress method is actually a static method
    and should be used as such
* Wed Dec 16 2020 marcus.schaefer@gmail.com
  - Added strong typing for the following API methods
    * logger
    * logger_color_formatter
    * logger_filter
    * xml_description
    * xml_state
    * markup/any
    * markup/base
    * markup/xml
    This references Issue #1644
* Wed Dec 16 2020 dcassany@suse.com
  - Add 'arch' attribute to preferences
    This commits adds the attribute 'arch' to preferences. It works
    as any other 'arch' attribute within the schema. Preferences defined
    with architectures that do not match the host are ignored. If no 'arch'
    is provided it matches all any host architecture.
    Fixes #1640
* Wed Dec 16 2020 marcus.schaefer@gmail.com
  - Fixed color json output
    kiwi supports output of yaml/json markup in color mode using
    pjson. The writing of this data required to be encoded prior
    output.
* Tue Dec 15 2020 marcus.schaefer@gmail.com
  - Fix vagrant documentation
    The previous pull request adding a baseVagrantSetup method
    and documentation broke the build of the docs due to invalid
    indentation. The test pipeline has failed but the PR was
    merged so this followup commit is needed to fix the docs
* Tue Dec 15 2020 dcassany@suse.com
  - Refactor iso_tools factory class
    This commit refactors the IsoTools class and turns it into a
    proper factory class and also includes type hints to facilitate
    it's use from an API POV. Related to #1498
* Tue Dec 15 2020 dcassany@suse.com
  - Refactor container factory classes
    This commit refactors the container related classes to turn them into
    proper factory classes and also includes type hints to facilitate
    it's use from an API POV. Related to #1498
* Tue Dec 15 2020 marcus.schaefer@gmail.com
  - Delete traces of travis integration
    Rename and clarify code that was still using the name travis.
    Delete all references to the travis CI system from kiwi
* Tue Dec 15 2020 marcus.schaefer@gmail.com
  - Bump version: 9.22.2 → 9.22.3
* Tue Dec 15 2020 marcus.schaefer@gmail.com
  - Fixed SUSE doc update in gitlab pipeline
    There is a dependency set to build_suse_doc in the push_suse_doc
    target. But the build_suse_doc target has set except "master"
    when the push_suse_doc has set only "master". Obviously this
    doesn't fit together
* Tue Dec 15 2020 marcus.schaefer@gmail.com
  - Bump version: 9.22.1 → 9.22.2
* Mon Dec 14 2020 marcus.schaefer@gmail.com
  - Fixed source rpm check in gitlab
    Fedora30 is EOL, thus there is no provider for
    mock/fedora-30-x86_64.cfg anymore
* Mon Dec 14 2020 marcus.schaefer@gmail.com
  - Delete travis setup
* Mon Dec 14 2020 marcus.schaefer@gmail.com
  - Added gitlab pipeline to deploy kiwi documentation
    Use a github token and a bit of script code to deploy
    the kiwi online documentation to the gh-pages branch
* Mon Dec 14 2020 marcus.schaefer@gmail.com
  - Move CI system to gitlab
    Travis made questionable changes to their open statement
    and I'm not following this anymore.
* Fri Dec 11 2020 marcus.schaefer@gmail.com
  - Added check_swap_name_used_with_lvm runtime check
    The optional oem-swapname is only effective if used together
    with the LVM volume manager. A name for the swap space can
    only be set if it is created as a LVM volume. In any other
    case the name does not apply to the system. This condition
    should be checked to avoid useless settings in the image
    description.
* Fri Dec 11 2020 marcus.schaefer@gmail.com
  - Allow to customize swap volume name
    Added a new element <oem-swapname> below the <oemconfig>
    section which allows to specify a name for the swap volume
    in case the LVM volume manager is used. The default if
    not specified continuous to stay at: LVSwap. This
    Fixes #1638
* Fri Dec 11 2020 marcus.schaefer@gmail.com
  - Fixed base setup links
    Do not create a link /var/run pointing to /run. This is unexpected
    and looks like a left over from kiwi legacy which supported older
    distributions who might have needed this. This Fixes #1643
* Wed Dec 09 2020 dcermak@suse.com
  - [doc] Clarify that suse* functions are also for openSUSE
* Wed Dec 09 2020 dcermak@suse.com
  - Add baseVagrantSetup helper function
    This function is used to setup a vagrant box, so that each vagrant box creator
    needn't implement it themselves.
* Wed Dec 09 2020 dcermak@suse.com
  - Use DEBUG=0 by default in function Debug
    This avoids script failures when invoked with `set -u`.
* Wed Dec 09 2020 dcassany@suse.com
  - Make debootstrap repository explicit
    This commit introduces the use_for_debootstrap attribute for
    repositories of type apt-deb. This is a boolean attribute to specify
    the repository that will be used for bootstrapping in apt-deb based
    images. Only one can be selected and if none is specified KIWI just
    makes use of the last one in the list.
    Fixes #1593
* Tue Dec 08 2020 ngompa13@gmail.com
  - Refactor packaging to split out system dependencies into subpackages
    The eventual goal is to eliminate the requirement to use magic in
    build systems (e.g, OBS) to compose the necessary dependencies for
    image builds, while making it easier for local users to discover
    what they need to build appliances.
    Fixes #1503
* Tue Dec 08 2020 ngompa13@gmail.com
  - Drop useless chkconfig dependency
    We originally had chkconfig as a dependency because alternatives(8)
    is part of chkconfig in RH/Fedora systems. Since we don't use that
    anymore, we don't need this dependency.
* Tue Dec 08 2020 ngompa13@gmail.com
  - Require gnupg on Debian/Ubuntu
    Without this, it's not possible to do GPG verification of Debian/Ubuntu
    repositories.
* Tue Dec 08 2020 petr.pavlu@suse.com
  - Fix disk build with <bootloader name="custom"/>
    * Fix DiskBuilder.create_disk() to not call the BootLoaderConfig
    factory when bootloader=custom. The factory does not recognize the
    "custom" bootloader name and raises the following exception:
    KiwiBootLoaderConfigSetupError: Support for custom bootloader config not implemented
    * Update DiskBuilder._install_bootloader() to not invoke any
    bootloader_config methods when bootloader=custom since no config
    instance is created in such a case.
* Tue Dec 08 2020 marcus.schaefer@gmail.com
  - Bump version: 9.22.0 → 9.22.1
* Tue Dec 08 2020 marcus.schaefer@gmail.com
  - Fixed validation of bool value in dracut module
    The oem-multipath-scan setup results in a bool variable inside
    of the initrd code. The variable kiwi_oemmultipath_scan is
    therefore either set to "true" or "false". A check in code
    of the form [ -n ... ] is stupid since the variable always
    contains text. This commit fixes the validation to make use
    of the bool() method provided for these type of variables
* Fri Dec 04 2020 marcus.schaefer@gmail.com
  - Added SLE15 s390 FBA integration test
    Build image for FBA disk
* Thu Dec 03 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.26 → 9.22.0
* Thu Dec 03 2020 marcus.schaefer@gmail.com
  - 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 marcus.schaefer@gmail.com
  - Fixed multipath disk device assignment in kiwi lib
    The former lookup of the multipath mapped disk device contained
    a race condition. If the lookup of the device mapper files happened
    before multipathd has finished the initialization, kiwi continues
    with the unix node name and fails when the device mapper keeps
    a busy state on it. This commit changes the code such that in case
    of an explicit request to use multipath the lookup of the mapped
    device becomes a mandatory process that runs until the
    DEVICE_TIMEOUT is reached. Default timeout is set to 60 sec.
    This references Issue SUSE-Enceladus/azure-li-services#255
* Wed Nov 25 2020 marcus.schaefer@gmail.com
  - Fixed PackageManager decorator in unit test
    Implement patch decorators for factories consistently
* Wed Nov 25 2020 marcus.schaefer@gmail.com
  - Refactor Repository
    This commit refactors the Repository class and turns it into a
    proper factory class and also includes type hints to facilitate
    it's use from an API POV. Related to #1498
* Tue Nov 24 2020 ngompa13@gmail.com
  - Add DNF as a proper dependency for openSUSE
    This is required so that OBS can build openSUSE containers and appliances
    using DNF as the package manager.
* Tue Nov 24 2020 marcus.schaefer@gmail.com
  - Fixed spec file microdnf requirement
    SUSE/SLES doesn't provide microdnf within the official channels yet
* Tue Nov 24 2020 marcus.schaefer@gmail.com
  - Refactor Partitioner
    This commit refactors the Partitioner class and turns it into a
    proper factory class and also includes type hints to facilitate
    it's use from an API POV. Related to #1498
* Tue Nov 24 2020 dcassany@suse.com
  - Avoid using generators in pre-mount hooks
    This commit deletes the generator that was creating the sysroot.mount
    unit for ramdisk deployments. Generators, specially the sysroot.mount is
    expected to be created on very early stages of the boot procedure as
    this has impact on relevant targets such as initrd-root-fs.target, which
    does not depend on sysroot.mount if the unit is not there.
    In ramdisk deployments some data is known on pre-mount stage as
    as it is downloaded from the PXE server. At this stage it is not safe to
    generate a sysroot.mount unit that depends on initrd-root-fs.target as
    the target is close to finalize or even finalized already and could
    potentially skip sysroot.mount exection.
    Instead we include a mount hook which is only executed on ramdisk
    deployments that simply runs the mount command to mount /sysroot.
    This fixes bsc#1178670
* Mon Nov 23 2020 marcus.schaefer@gmail.com
  - Refactor PackageManager
    This commit refactors the PackageManager class and turns it into
    a proper factory class which also include type hints to facilitate
    it's use from an API POV. Related to #1498
* Mon Nov 23 2020 marcus.schaefer@gmail.com
  - Refactor Markup
    This commit refactors the Markup class and turns it into a proper
    factory class which also include type hints to facilitate it's
    use from an API POV. Related to #1498
* Fri Nov 20 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.25 → 9.21.26
* Thu Nov 19 2020 marcus.schaefer@gmail.com
  - Fixed dnf plugin config setup
    Only create a dnf plugin config if the plugin config directory
    to store that file exists in the system
* Thu Nov 19 2020 marcus.schaefer@gmail.com
  - Set --releasever=0 for microdnf
    To allow microdnf to work from an empty root directory
    we need to set the release version to zero
* Wed Nov 18 2020 marcus.schaefer@gmail.com
  - Use custom varsdir for dnf builds
* Wed Nov 18 2020 marcus.schaefer@gmail.com
  - Partially revert dcounter.c flaw report
    I could not find a problem with this read call
    it does check on the buffer boundaries and it
    only writes the bytes that read returns until
    read returns <= 0
* Wed Nov 18 2020 marcus.schaefer@gmail.com
  - Fixed dcounter.c flaw report
    Check buffer boundaries if used in a loop
* Wed Nov 18 2020 marcus.schaefer@gmail.com
  - Fixed dcounter.c flaw report
    Variable scope can be reduced and useless value assignment.
* Wed Nov 18 2020 marcus.schaefer@gmail.com
  - Fixed microdnf support
    The installroot argument must be used together with --config
    and additionally with --noplugins, as well as --setopt for
    cachedir, reposdir and varsdir. Related to #1625
* Tue Nov 17 2020 marcus.schaefer@gmail.com
  - Move tools README to ReST
* Tue Nov 17 2020 marcus.schaefer@gmail.com
  - Fixed Incorrect list-item indent
* Tue Nov 17 2020 marcus.schaefer@gmail.com
  - Fixed Incorrect list-item indent
    Use two spaces between bullet and content
* Tue Nov 17 2020 marcus.schaefer@gmail.com
  - Update codacy configuration file
    Exclude .github helper scripts from the analysis
* Tue Nov 17 2020 marcus.schaefer@gmail.com
  - Update codacy configuration file
    Exclude doc sources and helper scripts from the analysis
* Mon Nov 16 2020 ngompa13@gmail.com
  - Fix setopt argument for install_weak_deps for microdnf
    Micro DNF does not support "True"/"False", only "1"/"0"...
* Mon Nov 16 2020 marcus.schaefer@gmail.com
  - Better error reporting if jing is missing
    On validation error we use jing to report detailed error
    messages. However if jing is not present no validation
    errors are displayed. There is a error_log variable as
    part of the relaxNG object which holds the library error
    log. This information is not as good as the jing report
    but better than nothing
* Mon Nov 16 2020 marcus.schaefer@gmail.com
  - Added microdnf support in XML schema
    The XML schema did not allow to specify microdnf as
    supported package manager
* Mon Nov 16 2020 marcus.schaefer@gmail.com
  - Added microdnf integration test
* Mon Nov 16 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.24 → 9.21.25
* Fri Nov 13 2020 ngompa13@gmail.com
  - Use --config instead of -c for DNF and Micro DNF
    The -c option is not supported in Micro DNF, but --config is, and
    it is supported with DNF as well.
* Fri Nov 13 2020 ngompa13@gmail.com
  - Drop 'microdnf makecache' call for microdnf package manager
    This subcommand does not exist and is not needed. Instead, we
    need to use '--refresh' where this is needed.
* Fri Nov 13 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.23 → 9.21.24
* Fri Nov 13 2020 marcus.schaefer@gmail.com
  - No bootpartition for XFS by default
    Selecting the xfs filesystem made kiwi to create an extra
    boot partition. This is from times when grub was not able
    to read from XFS. As grub doesn't have this limitation since
    quite some time the bootpartition default in kiwi for XFS
    should be changed. This is realted to #1611
* Fri Nov 13 2020 marcus.schaefer@gmail.com
  - Create relative boot link for extra boot partition
    If an extra boot partition is used the grub toolchain
    still references files from that partition as /boot/...
    which fails because they are now at the toplevel. To
    avoid this and keep any /boot/some-file reference still
    valid we create a symlink 'boot -> .' This Fixes #1611
* Thu Nov 12 2020 dcassany@suse.com
  - Fix documentation to be consistent with the XML KIWI scheme
    This commit fixes the user section documentation to properly reflect
    XML KIWI scheme constraints. 'home' attribute is optional and 'password'
    attribute is mandatory.
    Fixes #1599
* Thu Nov 12 2020 ngompa13@gmail.com
  - Add support for the Micro DNF package manager
    Micro DNF is a minimal C implementation of DNF that is usable for
    minimal appliances and containers. While it is not at parity with
    DNF, it implements enough functionality that it is mostly usable
    for building appliance images.
* Wed Nov 11 2020 marcus.schaefer@gmail.com
  - Added remote overlay boot documentation
    Added a new chapter below: working with images, which describes
    the options to remote boot via kiwi-overlay from an NBD or AOE
    exported root filesystem image.
* Wed Nov 11 2020 schreiner@suse.de
  - use BuildRequires for distros which use fdupes
* Tue Nov 10 2020 marcus.schaefer@gmail.com
  - Added support for nbd and aoe root overlay
    The kiwi-overlay dracut module can also be used as standalone
    module that is not connected to a disk image. In this case
    it's needed to specify the location for the root filesystem
    and optionally the device to write data (default is ram space).
    This commit adds the opportunity to specify a nbd/aoe location
    for the root filesystem on the kernel cmdline like in the
    following examples:
    root=overlay:nbd=nbd0:192.168.100.42:exportname
    root=overlay:aoe=e0.1
    An optional write space, if it should not be ram space, can be
    provided through the rd.root.overlay.write option on the kernel
    cmdline. This Fixes: OSInside/kiwi-descriptions#78
* Mon Nov 09 2020 marcus.schaefer@gmail.com
  - Increase allowed complexity level
    Increase overall allowed flake8 complexity level and delete
    the extra exceptions from code as much as possible
* Mon Nov 09 2020 dcassany@suse.com
  - Add editbootinstall script for Arch Linux tests
    This commit adds the editbootinstall script to Arch Linux OEM
    integration tests. The provided script removes the use of linuxefi and
    initrdefi commands on grub configuration since Arch does not support
    linuxefi module.
    Fixes #1559
* Mon Nov 09 2020 marcus.schaefer@gmail.com
  - Update tox and travis setup for python 3_8
    Move latest python test target to 3.8 and also change
    the deploy travis target to use python 3.8
* Mon Nov 09 2020 marcus.schaefer@gmail.com
  - Allow console login for the integration tests
    The integration tests for the cloud targets had the console
    login for root disabled. This is correct if the image would
    be really used in the cloud. The integration test however
    will be functional tested within openQA and that requires
    serial console and root console login to be allowed.
* Sun Nov 08 2020 marcus.schaefer@gmail.com
  - Added universal box to build status helper
* Thu Nov 05 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.22 → 9.21.23
* Wed Nov 04 2020 dcassany@suse.com
  - Move usrmerge package out of the bootstrap section
    Currently bootstrap phase on APT package manager makes use of the
    debootstrap tool. However debootstrap is limited to execute  the
    bootstrap using a single repository. This is causes several limitations
    in OBS builds, such as the impossibility of using update repositories or
    the inclusion of any package that is not part of the standard OBS
    repository.
    Usrmerge package is part of the universe repository in OBS which is not
    te one used by debootstrap, so it can't be installed on bootstrap phase.
* Wed Nov 04 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.21 → 9.21.22
* Wed Nov 04 2020 marcus.schaefer@gmail.com
  - Fixed package manager api inconsistency
    The method post_process_install_requests_bootstrap in the
    zypper package manager was missing an argument
* Wed Nov 04 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.20 → 9.21.21
* Wed Nov 04 2020 marcus.schaefer@gmail.com
  - Fixed regexp for grub rootdev substitution
    The regular expression to match the grub root device
    used a lazy glob match ".*?". This however matches a
    too long part depending on the rest of the content.
    This commit fixes the expression to be strict on
    the allowed characters and makes sure the anchor
    characters are not part of the matching character
    class. This Fixes #1607
* Wed Nov 04 2020 quang.tran@suse.com
  - Fix quick start guide build command
    The kiwi-descriptions were reorganized in profiles (See OSInside/kiwi-descriptions@788b919ea2500b9d495622c8140e618938634306).
    However the build command in the quick start guide was not updated appropriately and therefore the build fails.
    This commit will update the build command.
* Tue Nov 03 2020 marcus.schaefer@gmail.com
  - Fixed install of bash completion
    The kiwi completion was installed as kiwi-ng.sh below
    /usr/share/bash-completion/completions. This is wrong
    because the completion does not pick up files with
    a suffix like .sh. This commit changes the completion
    file to be installed as kiwi-ng without the suffix
    and Fixes #1603
* Tue Nov 03 2020 marcus.schaefer@gmail.com
  - Update integration tests console setup
    Update all integration tests to use a serial tty console setup
    and also to use a serial bootloader setup. This Fixes #1518
* Mon Nov 02 2020 marcus.schaefer@gmail.com
  - Refactor VolumeManager
    This commit refactors VolumeManager to turn it into a proper
    factory class and to also include type hints to facilitate it's
    use from an API POV. Related to #1498
* Mon Nov 02 2020 dcassany@suse.com
  - Do not exclude filesystem folders in OCI images
    This commit does not exclude filesystem folders during the rsync call
    in OCI images. It has been noted that including an empty /dev folder does
    not hurt and it can eventually help to work around some limitations of
    container related tools such as buildah.
    Fixes bsc#1176129
* Mon Nov 02 2020 marcus.schaefer@gmail.com
  - Refactor RootImport
    This commit refactors RootImport to turn it into a proper
    factory class and to also include type hints to facilitate it's
    use from an API POV. Related to #1498
* Mon Nov 02 2020 marcus.schaefer@gmail.com
  - Set displayname in simple disk test
    Use the simple disk integration test to test the setup
    of the displayname attribute. It is expected that this
    image has the configured displayname set in the grub
    menu. The verification of this setting should be done
    in a functional test at openQA which we are currently
    working on
* Mon Nov 02 2020 marcus.schaefer@gmail.com
  - Refactor DiskFormat
    This commit refactors DiskFormat to turn it into a proper
    factory class and to also include type hints to facilitate it's
    use from an API POV. Related to #1498
* Mon Nov 02 2020 marcus.schaefer@gmail.com
  - Refactor SolverRepository
    This commit refactors SolverRepository to turn it into a proper
    factory class and to also include type hints to facilitate it's
    use from an API POV. Related to #1498
* Mon Nov 02 2020 marcus.schaefer@gmail.com
  - Set GRUB_DISTRIBUTOR if requested via displayname
    If the image description explicitly specifies a displayname
    it is expected that the bootloader shows this in the menu.
    Therefore in case displayname is set GRUB_DISTRIBUTOR will
    be set if grub2 is in use. This partially reverts #1420
    and Fixes #1575
* Wed Oct 28 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.19 → 9.21.20
* Thu Oct 22 2020 marcus.schaefer@gmail.com
  - Deleted yast from test-image-qcow-openstack
    yast is not part of the testing queue in kiwi integration tests
* Wed Oct 21 2020 marcus.schaefer@gmail.com
  - Obsolete config functions baseMount/baseCleanMount
    The above methods are obsolete since kiwi handles these
    mount/umount processes as part of the core builder code.
    This Fixes #1536
* Wed Oct 21 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.18 → 9.21.19
* Tue Oct 20 2020 marcus.schaefer@gmail.com
  - Allow custom root volume name setup
    In addition to the custom size of the root volume it's now
    also possible to setup the name of the root volume as follows:
    <volume name="@root=rootlv"/>
    If no name for the root volume is specified the default
    name: LVRoot applies as before. This Fixes #1530
* Tue Oct 20 2020 marcus.schaefer@gmail.com
  - Rename image build tests
    To use the image builds in openQA they have to have a unique
    name such that it cannot happen that a cached version of an
    image in openQA is used. The current names matched openQA
    cached images e.g openSUSE-Tumbleweed and in addition different
    image build tests used the same name. This commit uses the
    name of the image as it is organized in its directory structure
    prepending "kiwi-" to be unique in openQA when it fetches
    the image. This is realted to Issue #1555
* Mon Oct 19 2020 dcassany@suse.com
  - Better integrate debootstrap in KIWI process
    This commit integrates debootstrap process in KIWI in a more transparent
    way. This refactor makes debootstrap to operate directly over the image
    target root tree. This way KIWI can show and parse debootstrap stdout
    and also avoids having to copy the created root tree from one temporary
    folder to the actual target root tree path.
    Related to #1587
* Mon Oct 19 2020 dcassany@suse.com
  - Include boostrap packages list into deboostrap call
    This commit includes the packages listed in boostrap section to the
    debootstrap call instead chrooting into the new root tree and call
    apt.
    Fixes #1587
* Fri Oct 16 2020 quang.tran@suse.com
  - Update outdated OBS User Guide Links
* Thu Oct 15 2020 marcus.schaefer@gmail.com
  - Fixed device_array structure in get_selected_disk
    In reference to Issue #880 a bug was introduced that broke
    the contents of the device_array which causes issues on
    installations with two or more attached disks. The change
    in the mentioned PR reduced the tuple for each disk
    from 3 elements to 2 elements. Therefore the loop that
    iterates over the disk tuples via modulo 3 was broken.
    This commit fixes the modulo operation to correctly
    parse the disk_list. Fixes #1588
* Tue Oct 13 2020 marcus.schaefer@gmail.com
  - Add support for s390 CDL DASD disks
    On s390 and in CDL mode (4k DASD) the call of grub2-install
    does not work because grub2-install is not able to identify
    a 4k fdasd partitioned loop device as a grub supported device
    and fails. As grub2-install is only used to invoke
    grub2-zipl-setup and has no other job to do we can
    circumvent this problem by directly calling grub2-zipl-setup
    instead. Also delete LDL mode support, IBM no longer supports
    this
* Tue Oct 13 2020 marcus.schaefer@gmail.com
  - Fixed strncopy in dcounter helper
    The max size of the copy operation was always set to zero
    because the strlen of an empty buffer is zero. Bad mistake
    from my side :( This Fixes #1579
* Mon Oct 12 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.17 → 9.21.18
* Sun Oct 11 2020 dcassany@suse.com
  - Fix profile docs
    This commit fixes the profiles documentation. The example KIWI-NG
    command was using wrong flags order. This commit fixes the `--profile`
    flag order in documentation.
* Thu Oct 08 2020 marcus.schaefer@gmail.com
  - Enhance scope of _fix_grub_root_device_reference
    In addition to the wrong root=/dev/mapper/loop... reference
    fixing, written by grub2-mkconfig when used in obs there is
    also the case that grub2-mkconfig writes root=PARTUUID which
    is also unwanted and needs fixing. To solve this properly
    and also with respect to more unexpected grub2-mkconfig
    data, the code changes to use a regular expression for the
    root= replacement. The expression matches all root= cases which
    we want to fixup:
    1. If the local used root device appears in the grub config file.
    2. If a linux by-id setting is used in the grub config file.
    The replacement happens for overlayroot disk images where we
    know grub2-mkconfig cannot handle the layout as well as if kiwi
    runs in obs where we know grub2-mkconfig fails due to the absence
    of udev.
* Wed Oct 07 2020 marcus.schaefer@gmail.com
  - Add support for rd.root.overlay.readonly
    Allow to use an overlayroot system with read-only feature.
    If kernelcmdline="rd.root.overlay.readonly" is set in combination
    with overlayroot="true" the overlayfs uses a tmpfs to store
    new data temporary as long as the system runs. On reboot the
    newly written data is lost and the system is back to its
    factory state.
* Mon Oct 05 2020 marcus.schaefer@gmail.com
  - Use custom tmpfs for managing overlays
    Provide a method to manage the base mount point for overlay and
    iso mount points and set the base directory to it because /run
    has a RAM space limitation which is unfortunate to handle live
    systems. This Fixes #1558
* Mon Oct 05 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.16 → 9.21.17
* Mon Oct 05 2020 dcassany@suse.com
  - Make dependencies to dracut-kiwi-lib release specific
    This commit adds a dracut-kiwi-lib dependency to dracut-kiwi-oem-dump and
    darcut-kiwi-oem-repart to match up to the release level. This way the
    dependency ensures the pulled binaries they are all part of the same build.
* Mon Oct 05 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.15 → 9.21.16
* Mon Oct 05 2020 marcus.schaefer@gmail.com
  - Delete length limitation of image id attribute
    For legacy reasons the <image id="..."/> attributes was
    limited to 10digits. The contents of /etc/ImageID are now
    free format and no longer strictly evaluated. Thus the
    limitations on the id attribute can be deleted
* Fri Oct 02 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.14 → 9.21.15
* Fri Oct 02 2020 dcassany@suse.com
  - Align dracut-kiwi-lib version with packages requiring it
    This commit enforces dracut-kiwi-oem-repart and
    dracut-kiwi-oem-dump to require dracut-kiwi-lib of the same exact
    version. This prevents dracut-kiwi-lib and the packages
    dependent on it being installed on a image with inconsistent versions.
    Fixes #1529
* Fri Oct 02 2020 marcus.schaefer@gmail.com
  - Allow to configure .changes creation and bundling
    Provide config option has_package_changes in the runtime config
    file and set a useful default. For building outside obs the
    default for the .changes creation is switched on, for building
    in obs it's switched off because obs creates its own info file
* Tue Sep 29 2020 dcassany@suse.com
  - Fix compat link for rpmdb location
    This commit fixes the symlink creation for `/var/lib/rpm`. More specific
    for derived container images in which the base root tree already
    included the `/var/lib/rpm` the link, the `ln` command was creating a
    symlink inside the `/var/lib/rpm` folder givent that it was following
    the already existing symlink. Adding the `--no-target-directory` force
    `ln` command to treat `/var/lib/rpm` path as the fully qualified symlink name.
    Fixes bsc#1176977
* Tue Sep 29 2020 jimklimov@gmail.com
  - Report download URL on failed request
    In case a network request to a given URL failed the report message should include the URL
    This Fixes #1572
* Tue Sep 29 2020 marcus.schaefer@gmail.com
  - Use pragma: no cover to skip non reachable code
    Instead of placing the file into .coveragerc use the
    no cover pragma to skip code paths that can never be
    reached from being counted in the coverage report.
    This affects the abstract constructors in the Factory
    classes
* Mon Sep 28 2020 dcassany@suse.com
  - Refactor BootLoaderInstall
    This commit refactors BootLoaderInstall class to make it a proper
    factory class. In addition type hints are added for the constructor
    method.
    Related to #1498
* Fri Sep 25 2020 dcassany@suse.com
  - Refactor BootLoaderConfig
    This commit refactors BootLoaderConfig to turn it into a proper factory
    class and to also include type hints to facilitate it's use from an API
    POV.
    Related to #1498
* Fri Sep 25 2020 marcus.schaefer@gmail.com
  - Fix/Refactor s390 support
    This changes the s390 support on several stages:
    1) On s390 the boot process is based on zipl which boots into an
    initrd from which a userspace grub process is started to support
    the grub capabilities. The implementation of this concept is
    provided via the grub2-s390x-emu package. Once installed the
    setup of the bootloader is done via the grub2-mkconfig and
    grub2-install commands and therefore from a caller perspective
    the same as with any other grub2 setup process. For kiwi this
    means no extra zipl bootloader target code is needed. Therefore
    this commit deletes the zipl setup from kiwi and puts on
    the standard grub2 process. This Fixes bsc#1170863
    2) To support different targettypes the grub2-s390x-emu provided
    zipl template must be adapted. Parts of the former zipl bootloader
    setup therefore now applies to an update of the zipl2grub
    template file
    3) Support for CDL/LDL DASD targets has been disabled in the schema
    When testing 4k devices and a respective zipl2grub template
    setup for CDL/LDL targettype it has turned out that grub2-install
    is not able to run on such a device. My assumption is that
    the device code in grub2-install does not work for 4k devices
    with an fdasd created partition table. As this needs further
    investigations and most probably adaptions on the grub toolchain
    for s390, we disabled the setup of these modes for now.
    emulated DASD (FBA) and SCSI targets stays supported.
* Wed Sep 23 2020 marcus.schaefer@gmail.com
  - Add support for package changelog info
    In addition to the .packages file which shows details about
    the installed packages in terms of version, license, etc...
    we now also create a .changes file which contains the changelog
    information of the installed packages. The file can be used
    to compare the package changelogs between image builds.
* Wed Sep 23 2020 marcus.schaefer@gmail.com
  - Refactor BootImage Factory
    This commit refactors the BootImage factory to be a real
    factory and to add type hints such that its use from an api
    perspective is clear and enforced. Related to Issue #1498
* Wed Sep 23 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.13 → 9.21.14
* Wed Sep 23 2020 marcus.schaefer@gmail.com
  - Fixed s390/sle15 Virtual disk integration test
    The integration test used FBA mode as target. As the target
    is expected to be KVM this is the wrong setting. SCSI should
    be used instead. This Fixes bsc#1170863
* Wed Sep 23 2020 marcus.schaefer@gmail.com
  - Followup fix to handle one disk type better
    The vmx type is auto converted into an oem type with rootfs
    resize disabled such that all disk images can be handled
    under one disk type. However people who run kiwi on the
    commandline and have selected --type vmx before now end
    with an error message saying that there is no vmx type
    because it was converted into an oem type. To handle this
    more gracefully this commit changes the commandline
    option --type vmx into --type oem if provided and prints
    a warning message.
* Tue Sep 22 2020 marcus.schaefer@gmail.com
  - Refactor ImageBuilder Factory
    This commit refactors the ImageBuilder factory to be a real
    factory and to add type hints such that its use from an api
    perspective is clear and enforced. Related to Issue #1498
* Tue Sep 22 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.12 → 9.21.13
* Tue Sep 22 2020 marcus.schaefer@gmail.com
  - Cleanup grub adaptions code
    The grub setup code has some after grub-mkconfig code that
    fixes the written grub.cfg file on certain conditions. For
    a better understanding and readability those conditions
    and reasons are now put into private _fix* methods that
    explains why we need to patch the written grub config file.
    We all hope that those methods can go away when grub gets
    fixed properly. This Fixes #1527
* Mon Sep 21 2020 marcus.schaefer@gmail.com
  - Cosmetic update for build status helper
    Show disabled integration test builds with a clear indicator
* Mon Sep 21 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.11 → 9.21.12
* Mon Sep 21 2020 marcus.schaefer@gmail.com
  - Added consistency runtime check for the type setup
    multiple type sections within one preferences section is allowed
    in a kiwi image description. However, if multiple type sections
    for the same image attribute are configured only the last type
    configuration will be ever reachable. The proposed runtime check
    in this commit detects this situation and raises an exception
    showing the conflicting types including a solution suggestion
    which needs to be based on profiles to distinguish between
    types of the same image type name.
* Mon Sep 21 2020 dcassany@suse.com
  - Get default maintainer and author from image description
    This commit sets the maintainer and author metadata from the description
    section of the image in they are not explicitly specified in
    container-config section.
    In addition it sets the default container name to `system-container`
    instead of `systemContainer` as uppercase letters are not valid for
    docker container references.
    Fixes #1419
* Fri Sep 18 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.10 → 9.21.11
* Fri Sep 18 2020 marcus.schaefer@gmail.com
  - Update build test directory names
    Name the build test directory to follow the changes done
    in Issue #1425. There is only one disk image type now, thus
    the tests for testing disk images should indicate that
    better. Also the tests that build live iso images should
    indicate a live iso not only an iso as it could be mixed
    up with an install iso
* Thu Sep 17 2020 marcus.schaefer@gmail.com
  - Consolidate build test names and description
    Update build test image names to be more generic and not
    bound to a specific version of a distribution. As the tests
    are usually based on rolling releases of distros the name
    of the test image should be generic. Also adapted the
    specification of the test images to describe the focus
    of the test if not generic.
* Wed Sep 16 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.9 → 9.21.10
* Wed Sep 16 2020 dcassany@suse.com
  - Fix the early boot grub.cfg file
    This commit makes sure that the early boot configuration files
    for grub make use of the proper boot path and omiting the `/boot`
    prefix if there is a dedicated boot partition.
    Fixes #1553
* Tue Sep 15 2020 3873925+vmoutoussamy@users.noreply.github.com
  - Change Appliance names to drop the name LimeJeOS
    The name LimeJeOS was an invention of the SUSE Studio project.
    Since the project does no longer exist, users have no idea
    what the name means. Therefore the integration tests as well
    as the documentation now changes the image names to provide
    more clarity. This Fixes #1544
* Mon Sep 14 2020 dcassany@suse.com
  - Include loadenv as a default module for grub images
    This commit includes the 'loadenv' module to the list of basic grub
    modules. This makes sure the module is included in any grub-mkimage
    that KIWI does.
    Fixes #1547
* Sun Sep 13 2020 marcus.schaefer@gmail.com
  - Make oem be a superset of vmx
    A vmx image is the same disk as an oem just without the dracut
    repart/resize feature. This difference is better handled with
    an oemconfig parameter <oem-resize> which allows to switch resize
    on or off. The extra image type vmx will be dropped and an XSLT
    stylesheet automatically transforms a vmx description to be a
    oem image with the resize feature switched off.
    This Fixes #1425
* Fri Sep 11 2020 marcus.schaefer@gmail.com
  - Make oem image use dracut by default
    Before this commit an oem image still had the kiwi initrd_system
    set as default. As we are decommission the custom kiwi initrd
    concept the default should be changed. It is still possible to
    use a custom kiwi initrd but it needs to be explicitly requested
    via the initrd_system="kiwi" attribute. In addition to the
    changed default a runtime check was introduced that checks
    the presence of the boot= attribute which only makes sense
    in combination with the kiwi initrd_system. If boot= is
    set but initrd_system="kiwi" is not, a message is raised that
    explains the situation and either requests setting initrd_system
    properly or deleting the boot attribute. The change only
    affects people who still use oem with a boot="oemboot/..."
    setting and no explicit selection of kiwi as the initrd_system.
    As these image type configurations should not be in use anyway
    because this is all legacy and announced to go away, we
    need to make the next step and enforce a new default in
    code. This is related to Issue #1299
* Wed Sep 09 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.8 → 9.21.9
* Tue Sep 08 2020 marcus.schaefer@gmail.com
  - Support dynamic linux/linuxefi in any case
    Instead of restricting the dynamic linux vs. linuxefi setup
    to a specific grub version, support this setup for any version
    of grub. This Fixes bsc#1175729 and bsc#1176134
* Tue Sep 08 2020 marcus.schaefer@gmail.com
  - Explicitly set start sector for msdos repartition
    When using the sfdisk(>=2.26) tool the start and end of partitions
    aligns to block-device I/O limits. This means it's hardware specific
    what values sfdisk picks. In a repart operation this is however
    dangerous for the start sector which must be the same to prevent
    corruption of the data in the partition when kiwi resizes it.
    Therefore this commit uses the sfdisk dump command to read the
    start sector for deleted partitions and uses that start sector
    if the same partition gets recreated such that only the end of
    the partition changes and gets aligned properly.
    This Fixes #1543
* Mon Sep 07 2020 marcus.schaefer@gmail.com
  - Complete documentation of type attributes
    Some type attributes e.g efipartsize and others were not
    documented properly. This Fixes #1532
* Mon Sep 07 2020 dcassany@suse.com
  - Strip package and archive names
    This commit strips the package and archive names string to trim any
    trailing or heading space included into the XML.
    Fixes #1494
* Sun Sep 06 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.7 → 9.21.8
* Thu Aug 27 2020 dcassany@suse.com
  - Make use of POSIX locale in Arch Linux integration tests
    Current Arch Linux (August 2020) has no other locale than POSIX or
    C enabled on the system by default. In fact, to enable further locales
    in Arch it is required to uncomment the desired ones in `/etc/locale.gen`
    and then execute the tool `locale-gen`, after that the selected locales
    are eligible for the common system adminstration tools such as
    `localectl`.
    In KIWI the locale setting happens before running `config.sh` so there
    aren't changes to generate any custom locale before applying the value
    configured in the description XML file.
* Thu Aug 27 2020 marcus.schaefer@gmail.com
  - Fixed legacy custom kiwi initrd based image builds
    This patch is two fold:
    * Image builds that uses the kiwi initrd system did not apply
    the grub config file fixes because the root= parameter is
    an optional information when using a kiwi initrd. However
    this information is required to apply the grub config file
    fixes. Therefore this patch simplifies the kernel commandline
    processing such that it is the same for dracut and custom
    kiwi initrd based systems. This means root= is passed in
    any case.
    * The other part of the patch disables the method that strips
    unused libraries from the custom kiwi initrd. It has turned
    out that is safes us almost nothing but could causes corrupted
    initrds missing important libraries e.g libpam which is linked
    against udev and other tools. Therefore libpam is also added
    to the protected strip list
* Thu Aug 27 2020 marcus.schaefer@gmail.com
  - Fixed legacy oem test build
    install gawk package in bootstrap to avoid conflict in
    tumbleweed between gawk and busybox-gawk
* Wed Aug 19 2020 marcus.schaefer@gmail.com
  - Added s390 SLE15 integration tests
* Tue Aug 18 2020 marcus.schaefer@gmail.com
  - Added suse integration test built with dnf
    Use dnf to build a suse image
* Thu Aug 13 2020 marcus.schaefer@gmail.com
  - Include box plugin images to build_status
    Also show some colors for failed and unresolvable builds
* Tue Aug 11 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.6 → 9.21.7
* Tue Aug 11 2020 marcus.schaefer@gmail.com
  - Fixed archlinux integration test build
    The setup of the locale via systemd-firstboot --locale=en_US.UTF-8
    failed on archlinux with the error message Locale en_US.UTF-8 is not
    installed. This commit sets the locale explicitly
* Tue Aug 11 2020 marcus.schaefer@gmail.com
  - Fixed GCE integration test build
    nothing provides google-compute-engine-init
* Tue Aug 11 2020 marcus.schaefer@gmail.com
  - Fixed bootloader grub copy SameFileError exception
    Only copy the file if the given source and destination are
    not the same file
* Tue Aug 11 2020 marcus.schaefer@gmail.com
  - Simplify build_status helper
    Instead of a static list with all integration test build names
    only maintain a list of integration test build project names
* Tue Aug 11 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.5 → 9.21.6
* Mon Aug 10 2020 marcus.schaefer@gmail.com
  - Fixed doc structure for image types
    The documentation did not differentiate correctly between
    the explanation of the image types, their results and the
    build host constraints compared to the documentation that
    actually describes how to build an image for those types.
    This Fixes #1520
* Fri Jul 24 2020 marcus.schaefer@gmail.com
  - Skip filesystem check for XFS prior xfs_grow
    running xfs_repair check isn't strictly necessary before resizing,
    and in some cases it may even prevent resizing by giving an error
    that would be cleared through mounting the fs (e.g. when the fs
    wasn't cleanly umounted, and thus letting xfs recover and replay
    its journal). Given that xfs can only grow online (while being mounted),
    this is sufficient to ensure that the fs is in a state where it
    can be resized. This is related to bsc#1174009
* Fri Jul 24 2020 dcassany@suse.com
  - Remove tuned daemon from CentOS integration test
    tuned daemon causes issues at install time with grub configuration.
    The build host configuration affects BLS entries generation if tuned
    deamon is around. This is likely to cause issues in general and it
    actually cause issues in OBS builds (because of a non standard highly
    customized build environment).
* Fri Jul 24 2020 dcassany@suse.com
  - Add Fedora RawHide test
    This commit upgrades the Fedora 30 test to a Fedora RawHide integration
    test in OBS. Note that an archive needs to be added at bootstrap phase
    to include `/etc/kernek/cmdline` configuration file to ensure the BLS
    entries are properly generated under OBS worker hosts.
* Fri Jul 24 2020 marcus.schaefer@gmail.com
  - Fixed code logic in resize_filesystem method
    resize_filesystem runs fs-check on the filesytem prior to
    resize. This check however should not be done if the filesystem
    got deployed on a ramdisk. For that purpose the _is_ramdisk_device
    method exists. The logic in the method as well as the call
    were wrong. This in the end lead to a correct logic but is
    completely confusing. This commit fixes and simplifies the
    _is_ramdisk_device method and corrects the caller logic
* Wed Jul 22 2020 marcus.schaefer@gmail.com
  - Make sure kernel options are respected by grub
    Set options variable in grub loader/entries to match the
    kiwi image description setup. This adaption currently
    happens only when building in OBS because in this env
    the options setup done by grub is a complete mess.
* Wed Jul 22 2020 marcus.schaefer@gmail.com
  - Fixed root replace for grub menu entries
    The root device spec in the grub boot/loader/entries/*.conf
    files when building in OBS is not matching the loop mapped
    image root device but matches the root device of the OBS worker.
    Very strange behavior and of course wrong. Because of that
    the expression to replace the wrong device with the correct
    one must be a regular expression and cannot be based on the
    loop mapped image root device.
* Wed Jul 22 2020 marcus.schaefer@gmail.com
  - Fixed path to search for grub menu entries
* Wed Jul 22 2020 marcus.schaefer@gmail.com
  - Fixed scope of remove_hierarchy
    The remove_hierarchy method walked through the entire path
    it was given. That included the root path which is beyond
    its scope. This Fixes #1515
* Wed Jul 22 2020 marcus.schaefer@gmail.com
  - Fixed corrections in BootLoaderSpec grub config
    Distributions like Fedora RawHide or CentOS8 applies to the
    grub BootLoaderSpec as described here:
    https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec
    Part of the spec is that menu entries are handled in extra files
    below /boot/loader/entries. Unfortunately the grub2-mkconfig code
    has still no clue how to find the correct root device in special
    environments like obs workers or in overlay systems. To fixup the
    result of grub2-mkconfig there is code in kiwi which needs to be
    adapted because the file that contains the wrong information is
    now no longer grub.cfg but some /boot/loader/entries/*.conf file.
    This commit solves the issue.
* Thu Jul 16 2020 marcus.schaefer@gmail.com
  - Fixed grub setup in EFI/BOOT directory
    kiwi copied the same grub.cfg file as it exists in boot/grub2
    to the efi path. This is wrong as the setup in the efi boot
    directory is used to enable normal grub loading and not providing
    the user grub configuration. In addition the changes here makes
    sure that the early grub boot code is placed into the system
    in any EFI case except for secure boot when shim-install is
    present. If shim-install is present it also creates the early
    grub boot setup such that kiwi doesn't have to do it.
    This Fixes #1491 and Fixes bsc#1172908
* Wed Jul 15 2020 marcus.schaefer@gmail.com
  - Use rsync in inplace transfer mode
    Using the --inplace option in rsync helps to save space on
    syncing the rootfs data and prevents e.g OBS workers from
    running out of VM space when transfering root filesystem
    data. Also using --inplace allows to keep hardlinks intact.
    This is related to bsc#1096738
* Wed Jul 15 2020 marcus.schaefer@gmail.com
  - Don't keep copy of grub2-install in the system
    To prevent shim-install from calling grub2-install in uefi mode
    kiwi temporary replaces the tool by a noop. This acts as a
    workaround for an issue in shim-install. However the workaround
    left a file copy of grub2-install in the system which should
    not happen. This commit Fixes bsc#1173226 and Fixes #1490
* Tue Jul 14 2020 dcassany@suse.com
  - Rename CentOS 7 test and add CentOS 8 test
    This commit renames the CentOS 7 test and adds a new CentOS 8 test
    Related to #1468
* Tue Jul 14 2020 dcassany@suse.com
  - Update Ubuntu and Debian image tests
    This commit updates Ubuntu test to Focal distribution and adds an
    additional Debian Buster image test.
    Related to #1468
* Mon Jul 13 2020 dcassany@suse.com
  - Include CentOS vendor in grub2 configuration
    This commit ensures the vendor files for grubenv consider CentOS
    vendoring.
* Wed Jul 08 2020 marcus.schaefer@gmail.com
  - Fixed documentation for OEM swap partition
    A swap partition in an OEM deployment is only created if
    that is explicitly requested via the oem-swap element
* Wed Jul 08 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.4 → 9.21.5
* Wed Jul 08 2020 dcassany@suse.com
  - Do not create a md5 checksum output file for archive images
    This commit removes the creation of the md5 file that includes a
    checksum of the image binary for the `tbz` image type. Removing it
    as this is the only image type that includes it as part of the result
    and because the bundle procedure already creates a sha256 file out of
    the results, so there is still the chance to produce validation
    checksums.
* Fri Jul 03 2020 dcassany@suse.com
  - Document output files KIWI produces
    This commits adds a chapter to describe the ouput files that are part
    of any image build.
* Fri Jul 03 2020 schneemann@b1-systems.de
  - Fixed oem recovery tar parameter order
    Reorder tar parameters
    When building an oem-image with oem-recovery set to true a tar error appears saying:
    "The following options were used after any non-optional arguments in archive create or
    update mode". This commit fixes the order of arguments to tar to avoid the error condition.
    Fixes #1501
* Thu Jul 02 2020 marcus.schaefer@gmail.com
  - Fixed tox min version
* Thu Jul 02 2020 marcus.schaefer@gmail.com
  - Cleanup setup.py
    The way kiwi uses setup.py assumes that pip runs this script
    like a spec file in rpm is processed. However this is not the
    case given that pip implicitly creates a static zip file called
    wheel which looses all the code logic done in setup.py. Therefore
    setup.py should not contain code that needs to run at install
    time. Of course this change comes with an effect which is that
    the following files will not be available when installing kiwi
    from pip:
    * man pages: /usr/share/man/man8/...
    * command completion: /etc/bash_completion.d/kiwi-ng.sh
    * kiwi default config file: /etc/kiwi.yml
    * package docs: /usr/share/doc/packages/kiwi-ng/...
    (kiwi.pdf, LICENSE, README)
    kiwi stays fully functional without this information. It is
    expected that the installation of kiwi as a service will
    be done by a package and its package manager. When using kiwi
    from pip it is designed to provide a python module but not
    a complete user application. The way pip and wheels interact
    with each other seems to demonstrate that pip is not a
    package manager but more a python module manager.
    This Fixes #1415
* Thu Jul 02 2020 tom_schr@web.de
  - Describe targets in tox.ini
    * Make use of description to show them with "tox -av"
    * Use comments as "description" lines
    * Define minimal tox version (3.5.0)
* Wed Jul 01 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.3 → 9.21.4
* Fri Jun 26 2020 marcus.schaefer@gmail.com
  - Refactor FileSystem Factory
    With regards to Issue #1486 a discussion came up that the
    way factories are implemented are questionable when thinking
    about strong typing for the public kiwi interface. This
    commit refactors the FileSystem factory to be a real factory
    and to add type hints such that its use from an api perspective
    is clear and enforced.
* Thu Jun 25 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.2 → 9.21.3
* Thu Jun 25 2020 dcassany@suse.com
  - Fixes live ISOs
    This commit fixes iso images. Due to a change introduced in c7ed1cf
    live ISOs were no longer booting as the rootfs.img filesystem was
    copied to the squashfs container while being still mounted. Because of
    that, at boot time, it refused to mount.
    This commit adds umount method for the filesystem base class, so it
    can be umounted before deleting the instance.
    Fixes #1489 and bsc#1173356
* Fri Jun 19 2020 bogdan.maryniuk@elektrobit.com
  - Global variables (#1485)
    * Fix according to PEP8
    * Refactor global variables pythonic way
    * Remove unused import
* Thu Jun 18 2020 dcassany@suse.com
  - Add locale configuration hints in docs
* Wed Jun 17 2020 bogdan.maryniuk@elektrobit.com
  - Add missing decorator for static methods
* Tue Jun 16 2020 marcus.schaefer@gmail.com
  - Update documentation in content and structure
    This commit adds a documentation for the KIWI XML description.
    In contrast to the former auto generated code from the XML
    schema this document can now finally be used as a reference.
    Along with that new chapter all auto generated and static
    html content as been deleted. Also all helper scripts around
    the proprietary oxygen tool and our schema doc generator
    has been deleted. Auto generating this information does not
    lead to a reference guide people can really work with.
    As a consequence to these changes this commit also includes
    some changes of the structure such that no information written
    by other people in the past gets lost. This Fixes #1421
    and Fixes #1474
* Mon Jun 15 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.1 → 9.21.2
* Fri Jun 12 2020 marcus.schaefer@gmail.com
  - Fixed check for root device in grub config
    There is a code path that fixes the grub2-mkconfig used root device
    when building in an environment that does not allow to resolve the
    by-X path names, e.g an obs build worker without udev. For images
    that explicitly defines a root=... value in the kernelcmdline
    attribute the root device check was not called because the
    _get_root_cmdline_parameter method returns None. This commit fixes
    the method to return the expected root device in any case such that
    the grub2-mkconfig root device check has a chance to fix what
    grub2-mkconfig has created. This fixes bsc#1172928
* Fri Jun 12 2020 dcassany@suse.com
  - Remove /etc/sysconfig/language support
    As of SLE15 and onwards /etc/sysconfig/language is considered to be
    obsolete and just kept for compatibility purposes. Thus there is no
    need to manage the file anymore.
    Fixes #1471
* Fri Jun 12 2020 marcus.schaefer@gmail.com
  - Bump version: 9.21.0 → 9.21.1
* Fri Jun 12 2020 marcus.schaefer@gmail.com
  - Fixed test-image-qcow-openstack
    Nothing provides libyui-ncurses-pkg11, yast2-trans-en_US in
    TW anymore
* Fri Jun 12 2020 marcus.schaefer@gmail.com
  - Moved sle12 ppc integration test to internal bs
    In agreement with IBM the sle12 integration test has been moved
    into the internal buildservice. The reason for this change is
    a python 3.4 compatibility problem. This version of python is
    used in sle12 but would require patching of upstream kiwi in
    terms of type hints and annotations to continue to work.
    We don't want to cary this patch upstream but in the sle12_kiwi
    repository which contains the kiwi used in sle12. Therefore
    also the integration test needs to move into the internal
    sle12 space.
* Thu Jun 11 2020 bogdan.maryniuk@elektrobit.com
  - Ignore MyPy cache
* Thu Jun 11 2020 bogdan.maryniuk@elektrobit.com
  - Ignore VSCode cache
* Wed Jun 10 2020 dcermak@suse.com
  - Remove sed calls to fix /etc/vimrc
    An update of vim in Tumbleweed will move /etc/vimrc to /usr/share/vim as part of
    the /usr - /etc split. This makes the sed call fail because /etc/vimrc no longer
    exists.
    However, the fix is not required anymore then, as the vim package dropped the
    "syntax on" line from the default vimrc.
* Tue Jun 09 2020 marcus.schaefer@gmail.com
  - Fixed permissions of custom boot image root dir
    When building a custom kiwi initrd the root directory
    has the permissions of the mkdtemp created directory
    but should have the permissions of a linux root dir
    which is 0755. This Fixes #1394
* Sat Jun 06 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.19 → 9.21.0
* Thu Jun 04 2020 marcus.schaefer@gmail.com
  - Fixed size of msgbox dialog
    The width of the dialog was set to a small value which
    causes the message to be choped. I found this when testing
    pxe deployments. The error messages on "Failed to fetch..."
    were missing the interesting part
* Wed Jun 03 2020 marcus.schaefer@gmail.com
  - Update orthos test image
    Simplify image for use in a pxe test deployment
* Wed Jun 03 2020 marcus.schaefer@gmail.com
  - Added new post disk sync script hook
    Allow to put a disk.sh script as part of the image description
    which is called for the disk image types `vmx` and `oem`
    only and runs after the synchronisation of the root tree into the
    disk image loop file. At call time of the script the device name
    of the currently mapped root device is passed as a parameter.
    The chroot environment for the call is the mounted disk itself
    which makes this different from the config.sh/images.sh caller
    environment. This Fixes #1464
* Wed Jun 03 2020 marcus.schaefer@gmail.com
  - Update user defined scripts documentation
    Added information about new disk.sh script and reworked
    the entire chapter
* Tue Jun 02 2020 marcus.schaefer@gmail.com
  - Fixed VolumeManager cleanup
    instances of VolumeManager creates temporary directories but
    only stores the latest one. The cleanup leaves former directories
    behind which is fixed by this commit
* Fri May 29 2020 marcus.schaefer@gmail.com
  - Allow to access disk root after sync_data
    In preparation to allow a chroot operation into the loop
    mounted disk this commit refactors the process when filesystems
    gets umounted and also fixes the canonical order for calling
    the destructors. Related to Issue #1464
* Wed May 27 2020 dcassany@suse.com
  - Add EFI firmware on OEM and ISO ubuntu tests
    This commits adds efi firmware for Ubuntu integration tests
* Wed May 27 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.18 → 9.20.19
* Wed May 27 2020 marcus.schaefer@gmail.com
  - Added test-image-custom-partitions to build_status
* Tue May 26 2020 dcassany@suse.com
  - Fix the boot path for initrd detection
    This commit fixes the path to check the initrd naming convetion from an
    already existing initrd file in /boot
* Tue May 26 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.17 → 9.20.18
* Tue May 26 2020 marcus.schaefer@gmail.com
  - Added custom partition image integration test
    There are still people who like many extra static inflexible
    entries in a partition table instead of using LVM or filesystem
    volume capabilities for sometimes good but often questionable
    reasons. In kiwi we intentionally support partition table
    entries on a restricted basis but that does not mean you can't
    create an image with a highly customized partition table.
    However it includes some bits of custom code as part of the
    image description and that's what this reference implementation
    of an image with custom partitions demonstrates. The image
    described here adds three extra partitions, var, var/log and
    var/audit. The concept to create custom partitions is based on
    specifying a spare partition which is by default created before
    the root partition. The spare space can now be sliced into as
    many partitions as needed and that needs to be implemented by
    the author of the image description. Of course the partition
    table itself comes with limitations which has to be respected
    depending on the partition table type.
* Tue May 26 2020 dcassany@suse.com
  - Fix the patch applied on grub.cfg
    This commit fixes the patch applied on grub.cfg when EFI mode is
    selected and grub < 2.04. There are some distros that make use of the
    `linux16` command instead of `linux` in grub configuration, this commit
    extends the regex to also consider `linux16` command.
* Tue May 26 2020 marcus.schaefer@gmail.com
  - Fixed apt and pacman repository unit tests
    The way the post_init method was used to test custom arguments
    leads to a broken I/O wrapper. As consequence the test failed
    when called with "pytest -s" and also leaves files around from
    other test I/O redirections.
* Tue May 26 2020 marcus.schaefer@gmail.com
  - Fixed spec file on bare word comparison
    on e.g Fedora Rawhide rpm complains about bare word comparison
    error: bare words are no longer supported, please use "..."
    This patch fixes the spec template to respect this
* Mon May 25 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.16 → 9.20.17
* Mon May 25 2020 marcus.schaefer@gmail.com
  - Fixed dracut output file format detection
    The current way to detect the dracut output file format was
    based on a lookup of the format used in the dracut tool itself.
    However there are distributions like Ubuntu which calls dracut
    and passes the name of the initrd file as options to the call.
    This invalidates the checking done by kiwi. The only chance
    for kiwi to do the same than the distributions does is by
    looking for an initrd file pre-created by the package
    installations and use the same format. Only if no such initrd
    file exists the former format detection code applies. The
    additional code expects any initrd file to match the glob
    pattern 'init*'. This Fixes #1450
* Mon May 25 2020 marcus.schaefer@gmail.com
  - Fixed line ending of sha256 bundler file
    The .sha256 file does not end with a newline. This Fixes #1449
* Mon May 25 2020 marcus.schaefer@gmail.com
  - Fix scope for linuxefi grub config adaption
    In kiwi we support a one time patch for the grub config file
    that changes the static use of linuxefi to be dynamic. In
    grub2 >= 2.04 all this has already been fixed but for grub2
    version older than this version we applied the patch. The
    patch however was only applied based on the presence of a
    grub setting named GRUB_USE_LINUXEFI. It has turned out that
    this variable is a custom extension not part of grub upstream
    which makes the test functional only on distributions that
    supports this setting. The use of linuxefi however is code
    that belongs to grub upstream. Therefore this patch changes
    the scope of the one time patch to be only based on the
    version of grub no matter if GRUB_USE_LINUXEFI is supported
    by the distro or not. This Fixes #1453
* Fri May 22 2020 marcus.schaefer@gmail.com
  - Fixed root device setup in vendor grubenv
    In addition to the root device setup in grub.cfg we also
    need to patch the vendor grubenv file which contains an
    invalid kernelopts value written by grub2-mkconfig under
    the conditions explained in Issue #1287. This Fixes
    Issue #1454
* Fri May 22 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.15 → 9.20.16
* Fri May 22 2020 marcus.schaefer@gmail.com
  - Fixed schematron rule for bootloader targettype
    The targettype attribute must be allowed for the grub2_s390x_emu
    bootloader name
* Fri May 22 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.14 → 9.20.15
* Fri May 22 2020 marcus.schaefer@gmail.com
  - Fixed parse result description reference
    The object that holds the parse result also contains an
    information about description_dir and derived_description_dir.
    The change on the markup processing impacted the value for
    description_dir to be no longer the origin (user provided)
    directory. That broke any reference of files that belongs
    to the description directory like custom scripts config.sh,
    images.sh and so on.
* Fri May 22 2020 marcus.schaefer@gmail.com
  - Fixed sdist MANIFEST
    kiwi.markup was not part of the source tarball
* Fri May 22 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.13 → 9.20.14
* Fri May 22 2020 dcassany@suse.com
  - Remmove any Recommends for CentOS7
    This commit fixes the package spec for CentOS 7. In CentOS 7 there is no
    support for weak dependencies. In 9792cea1 a recommended dependency on
    gpg tools was included for all builds and this caused a failure for
    CentOS 7. With this commit, the recommended dependency, is omitted for
    any pre CentOS 8 distro.
* Fri May 22 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.12 → 9.20.13
* Wed May 20 2020 marcus.schaefer@gmail.com
  - Refactor dracut disk re-partition library
    The kiwi repartition code for msdos and gpt tables was based
    on the parted tool. However parted requires to give start and
    end addresses to describe a space in the partition table. The
    numbers were calculated in kiwi based on cylinders. The mapping
    into cylinders is a virtual number that plays no role under
    Linux and vanished completely with newer storage technologies.
    Tools like sgdisk and sfdisk are better prepared to handle
    disk partitioning and also makes this a more straight forward
    code in kiwi. Thus this commit refactors the re-partition code
    to drop parted and use a dedicated tool depending on the
    partition table type. This Fixes #1406
* Wed May 20 2020 dcassany@suse.com
  - Fix default repositories for APT
    This commit fixes the default repositories configuration for APT.
    Fixes #1439
* Mon May 18 2020 dcassany@suse.com
  - Include recommend for gpg tool
* Fri May 15 2020 dcassany@suse.com
  - Fix signing keys management for APT
    This commit fixes the management of the trusted keyring for apt
    repositories. It creates a `trusted.gpg` keyring with the provided
    signing keys so APT can check against that the configured repositories.
    Fixes #1440
* Thu May 14 2020 marcus.schaefer@gmail.com
  - Fixed spec file
    This patch is two fold. First the py2 version of kiwi was
    dropped since py2 is EOL. To indicate that correctly on the
    package level python3-kiwi has to obsolete python2-kiwi.
    The other part of the change is a file conflict of the
    files:
    etc/bash_completion.d/kiwi-ng.sh
    /usr/share/doc/packages/python-kiwi/README
    which were provided by the kiwi-man-pages sub-package but
    were moved to be provided by the main python3-kiwi package
    now. On update of the package with an older version of
    kiwi that maintains this files to belong to kiwi-man-pages
    a file conflict at install time appears. To solve this
    python3-kiwi now conflicts with kiwi-man-pages < %{version}
    This Fixes #1413 and Fixes bsc#1168973 and bsc#1156677
* Wed May 13 2020 marcus.schaefer@gmail.com
  - Cleanup use of machine platform name
    in kiwi we handle 32bit x86 architecture names as ix86. This is
    done by checking i586 and i686 32bit arch names. However those
    checks are spread over the entire kiwi code base and should be
    consolidated into one method. The cleanup of those arch name
    usage fixes an inconsistency between the arch name used in the
    disk builder and the arch name used in the subformat image
    formats. This Fixes #1438
* Wed May 13 2020 marcus.schaefer@gmail.com
  - Fixed zypper error code validation
    The error code 127 - command not found, was not treated as
    an error. This commit adds 127 to be an error condition
    along with the other 1xx error codes from zypper that are
    handled as errors. This Fixes #1430
* Wed May 13 2020 marcus.schaefer@gmail.com
  - Added archlinux to build_status helper
    Show the archlinux build results in the build_status
    helper script
* Wed May 13 2020 marcus.schaefer@gmail.com
  - Added sidebar link to ArchLinux build tests
* 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.
* Tue May 12 2020 dcassany@suse.com
  - Add Arch Linux integration tests for x86_64
* Mon May 11 2020 marcus.schaefer@gmail.com
  - Support multiple markup formats
    Allow to read multiple markup formats. Supported are XML
    and YAML. The parsing and transformation is based on the
    anymarkup module. The use of anymarkup is optional and
    implemented as an on demand loading module. If a user
    uses a yaml config file or a request to convert into
    yaml is made without an installed anymarkup module an
    exception is thrown
* Mon May 11 2020 marcus.schaefer@gmail.com
  - Fixed boxbuild documentation
    The command doesn't have to be called as root. Therefore
    the example should not be used with sudo prefix
* Mon May 11 2020 marcus.schaefer@gmail.com
  - Allow setup of serial line in bootloader
    So far kiwi used a static serial line setup of the console
    type was configured to use a serial console. However if
    different parameters are needed there was no way to change
    the static setup. This commit adds a new bootloader attribute
    called serial_line which allows to specify the serial line
    parameters for the grub bootloader e.g
    serial_line="serial --speed=9600 --unit=0 --word=8 --parity=no --stop=1"
    Please note serial_line takes the value as it is given and
    adds this as a line to the grub configuration or as content
    to the variable GRUB_SERIAL_COMMAND. No further validation
    of the information takes place by kiwi. This Fixes #1401
* Mon May 11 2020 marcus.schaefer@gmail.com
  - Support grub timeout_style parameter
    Grub supports a style setting that influences the display of
    the menu depending on the configured timeout value. With this
    patch kiwi allows to specify the style via a new bootloader
    parameter named timeout_style="hidden|countdown". If not set
    the grub default applies which shows the menu in any case.
    This Fixes bsc#1165730 and Fixes #1404
* Fri May 08 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.11 → 9.20.12
* Fri May 08 2020 marcus.schaefer@gmail.com
  - Update build tests to match new schema v7.2
* Thu May 07 2020 marcus.schaefer@gmail.com
  - Refactor setup of bootloader parameters
    The bootloader settings are handled through attributes in the
    type element. Over the years some attributes were added and
    there are requests for more settings. Therefore the bootloader
    setup deservers its own section. With this commit the schema
    changes from v7.1 to v7.2 and moves bootloader, bootloader_console
    boottimeout and zipl_targettype into a new bootloader subsection
    below type. The commit also adds an auto transformation template
    such that customers don't have to change their image descriptions.
    This is related to Issue #1401
* Tue May 05 2020 patrik.r.jakobsson@gmail.com
  - Fix support for multiple dracut modules
    Passing the dmsquash flag adds dmsquash-live and livenet modules to
    dracut. This broke when adding a check to only add modules that dracut
    reports as available. Use a list instead of a string to represent the
    modules to add.
    Fixes: 07ea23a4
* Mon May 04 2020 marcus.schaefer@gmail.com
  - Rewrite chapter about self-contained builds
    Document the new boxed build plugin. The former solution
    with dice will be deprecated in favor of the kiwi plugin.
    This is related to Issue #1409
* Mon May 04 2020 dcassany@suse.com
  - Clean AnonymousUniqueId
    This is a follow up commit for 469f71144. There is not need to remove
    the `/var/lib/zypp/AnonymousUniqueId` file from the clean up method
    since this has been already integrated inside the python code base
    and this is not needed anymore as a helper function.
* Fri May 01 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.10 → 9.20.11
* Fri May 01 2020 marcus.schaefer@gmail.com
  - Update Oxygen schema documentation
* Fri May 01 2020 marcus.schaefer@gmail.com
  - Fixed headline for schema docs chapter
    Use the same headline for the schema chapter in the
    schema_docs generator as in the default source file
* Fri May 01 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.9 → 9.20.10
* Thu Apr 30 2020 dcassany@suse.com
  - Clean AnonymousUniqueId from the image
    This commit is two fold.
    For one side does a small refactor to move the deletion of custom RPM
    macros to package manager level inside a cleaning method. This way only
    RPM based package managers run RPM specific code and each package manager
    can apply its own specific logic.
    On the other hand for the zypper package manager the deletion of
    /var/lib/zypp/AnonymousUniqueId file has been added as part of the
    new cleaning method.
    Fixes #1396
* Thu Apr 30 2020 marcus.schaefer@gmail.com
  - Added kis type to image attribute
* Wed Apr 29 2020 marcus.schaefer@gmail.com
  - Use auto video mode as default for grub
    An explicit video mode 800x600 was used for grub if no
    video mode setup exists in the XML description. For grub
    this should better result in the auto mode. Related to
    bsc#1165730
* Tue Apr 28 2020 marcus.schaefer@gmail.com
  - Do not set GRUB_DISTRIBUTOR
    grub mkconfig creates a proper string based on /etc/os-release
    if GRUB_DISTRIBUTOR is not set. We assume this to be true
    for all distributions. This Fixes #1416
* Tue Apr 28 2020 marcus.schaefer@gmail.com
  - Fixed spec file header information
    Fixed copyright date/company and url path to project
* Tue Apr 28 2020 marcus.schaefer@gmail.com
  - Fixed ovf Machine section setup for virtualbox
    Required attributes/sections name, ostype, uuid and StorageControllers
    were missing according to IVirtualBox::createMachine documentation
    from here:
    https://www.virtualbox.org/sdkref/interface_i_virtual_box.html
    This Fixes #1322
* Mon Apr 27 2020 marcus.schaefer@gmail.com
  - Added new build type kis
    KIS is an abbreviation for Kernel, Initrd, System and defines a
    highly customizable image consisting out of these components.
    This commit performs the changes documented in #1414 and
    introduces the new kis type. From an image build perspective
    kis is currently the same as pxe with restrictions for kis
    on the schema level. A kis build uses dracut and does not allow
    to use the legacy netboot initrd. The pxe type will therefore be
    exclusively used to built for the legacy netboot infrastructure
    and is on its way to deprecation in the future.
    This Fixes #1262
* Thu Apr 23 2020 marcus.schaefer@gmail.com
  - Added KIS chapter
    A new chapter to document KIS images. KIS is an abbreviation
    for Kernel, Initrd, System and defines a highly customizable
    image consisting out of these components. This Fixes #1346
* Thu Apr 23 2020 marcus.schaefer@gmail.com
  - Move the self-contained chapter to the toplevel
    This chapter will be rewritten when the new kiwi box
    plugin is available and deserves a space on the toplevel
    page
* Thu Apr 23 2020 marcus.schaefer@gmail.com
  - Moved chapters from building to working
    Chapters build_in_buildservice and build_with_profiles
    belongs more to working with images
* Thu Apr 23 2020 marcus.schaefer@gmail.com
  - Refactor netboot chapters
    All information about network boot that references the legacy
    netboot code has been moved into one chapter at working_with_images
    named legacy_netboot_root_filesystem.rst
* Thu Apr 23 2020 marcus.schaefer@gmail.com
  - Update article about network live boot
    Added a note about the configured PXE loader
* Thu Apr 23 2020 marcus.schaefer@gmail.com
  - Update boot server setup chapter
    Describe the general setup procedure to setup DHCP and TFTP
    services using dnsmasq for clients to boot with either
    pxelinux or grub loaders
* Thu Apr 23 2020 dcassany@suse.com
  - Add flags and argument separator for zypper
    This commits adds a `--` argument in zypper install calls right after
    the flags and before the arguments (in this case packages) list.
    Fixes #1407
* Wed Apr 22 2020 marcus.schaefer@gmail.com
  - Disable AudioAdapter for vagrant
    The kiwi template for vagrant images assumes the box files to
    be used in non graphics mode and for the purpose of automation
    or server deployment. Thus by default we disable Audio.
    For details see the API reference:
    https://www.virtualbox.org/sdkref/interface_i_audio_adapter.html
    This Fixes #1322
* Wed Apr 22 2020 marcus.schaefer@gmail.com
  - Added check_syslinux_installed_if_isolinux_is_used
    ISO images that are configured to use isolinux requires the host
    to provide a set of syslinux binaries. The runtime check makes
    sure to check for this condition early including a proper message.
    This Fixes #1376
* Fri Apr 17 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.8 → 9.20.9
* Fri Apr 17 2020 marcus.schaefer@gmail.com
  - Fixed _get_grub2_mkconfig_tool
    Last patch on this method breaks the search for alternative
    mkconfig names. It returns always on the first lookup which
    could be none. This breaks on systems that uses a different
    name than grub2-mkconfig, like on Ubuntu.
* Thu Apr 16 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.7 → 9.20.8
* Thu Apr 16 2020 marcus.schaefer@gmail.com
  - Increase spare space on disk repart
    The sizing of the virtual cylinders in parted seems to be unfavorable,
    as with some disks and SD cards here the device size is not a multiple
    of the cylinder size, so the last incomplete cylinder is wasted.
    If this wasted space is more than 5MiB, kiwi tries to resize indefinitely.
    Therefore min_additional_mbytes gets increased to prevent running
    into this situation. This Fixes bsc#1165823
* Thu Apr 16 2020 marcus.schaefer@gmail.com
  - Fixed return value from _get_grub2_mkconfig_tool
    The method returned the basename of the tool if it could
    be found by Path.which(). But the method's scope has been
    changed in a way that the return value of the method must
    be the result from Path.which() to allow working on the
    full path name.
* Thu Apr 16 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.6 → 9.20.7
* 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 marcus.schaefer@gmail.com
  - Fixed check for grub mkconfig capabilities
    The check for the capabilities of the tool were applied to
    the tool installed on the host but the later call of the
    tool will be done with the tool inside the image root
* Wed Apr 15 2020 marcus.schaefer@gmail.com
  - Validate use of GRUB_USE_LINUXEFI
    On systems that uses GRUB_USE_LINUXEFI with grub2 version
    less than 2.04 there is no support for dynamic EFI
    environment checking. In this condition we extend the grub
    setup to add this support. The change kiwi does is as
    follows:
    * Apply only on grub < 2.04
    1. Modify 10_linux to set linux/initrd as variables
    2. Write hybrid setup as 01_efihybrid
    This Fixes bsc#1165960 and bsc#1168480
* Tue Apr 14 2020 jan.loeser@elektrobit.com
  - Fixed typo in docstring
    Istall -> Install
* Sat Apr 11 2020 marcus.schaefer@gmail.com
  - Create qcow2 images in two steps
    The creation of the qcow2 format was done in one qemu-img
    convert call. That call instructs qemu to compress and
    convert in one call. The downside of this approach is that
    not all qcow2 options can be used. For example the setup
    of:
    <type ... formatoptions="preallocation=metadata"/>
    failed the build with an error message that compression and
    preallocation is not possible at the same time. Thus this patch
    changes the way the qcow2 image is created to be done in two
    steps. The first step converts the format without compression
    and therefore allows for any format option to be used. The
    second call only applies the compression and leads to the
    final result.
* Fri Apr 03 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.5 → 9.20.6
* Thu Apr 02 2020 marcus.schaefer@gmail.com
  - Fixed plugin documentation
    While setting up the kiwi boxed plugin I realized some small
    mistakes in the plugin documentation
* Thu Apr 02 2020 marcus.schaefer@gmail.com
  - Allow overlay directories for profiles
    In addition to the existing root/ overlay directory which
    applies always there can now also be profile specific overlay
    directories. If an overlay directory should be applied for
    a specific profile this can now be done by placing this data
    in a directory that is named the same as the profile name.
* Wed Apr 01 2020 marcus.schaefer@gmail.com
  - Make build of filesystem image optional for pxe
    Allow to build a kernel/initrd pair without a root
    filesystem image. Related to Issue #1388
* Fri Mar 27 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.4 → 9.20.5
* Thu Mar 26 2020 dcassany@suse.com
  - Add SECURE_BOOT parameter for grub2 in efi mode
    This commit adds the SECURE_BOOT parameter on bootloader sysconfig
    for grub2.
    Fixes bsc#1167746
* Wed Mar 25 2020 marcus.schaefer@gmail.com
  - Added new oem-resize-once element
    The new element controls the behavior of the repart/resize code
    in the oem-repart dracut module. By default the repart/resize
    happens on every reboot and therefore also allows for disk
    geometry changes during the livetime of the machine. If the
    element is set to false the repart/resize operation happens
    only once and then never again. To check for this condition
    a new profile environment variable kiwi_rootpartuuid which
    holds the PARTUUID of the root partition has been added to
    the disk builder.
* Tue Mar 24 2020 dcassany@suse.com
  - No default boot partition for btrfs_root_is_snapshot
    This commit ensures no boot partition is used when root is set to be
    a btrfs snapshot unless this is explicitly required by the user.
    Fixes #1351
* Sun Mar 22 2020 marcus.schaefer@gmail.com
  - Make disk allocation check more robust
    The tools used to check the disk allocation condition
    are sfdisk and sgdisk. The problem is that at least sfdisk
    is different in behavior and functionality compared across
    the distributions we support with kiwi. In addition
    the verification for the msdos table cannot be used to
    distinguish between intentionaly wanted free space on
    disk and a disk that has not yet been resized. Thus
    this commit changes two parts:
    a) always report unallocated space available for the msdos
    table to allow to run kiwi's resize code
    b) make sure the table type is taken into consideration
    It's important to run the verification based on the
    table type (DOS, GPT) where we know the tools to work. In any
    other case we report the disk to have unallocated space
    and give the resize code a chance
* Sat Mar 21 2020 marcus.schaefer@gmail.com
  - Fixed openstack integration test
    nothing provides python2-oslo and required py2 packages
* Fri Mar 20 2020 marcus.schaefer@gmail.com
  - Fixed bootloader install
    Mount EFI partition in any case not only for the shim target
* Thu Mar 19 2020 marcus.schaefer@gmail.com
  - Fixed centos integration test
    Currently centos images does not build because of
    a broken XML description
* Thu Mar 19 2020 marcus.schaefer@gmail.com
  - Update centos integration test
    There is no testing of centos disk images that uses the
    old msdos partition table. All tests were done with GPT
    table layout.
* Thu Mar 19 2020 dcassany@suse.com
  - Adding OEM integration tests for Ubuntu
    This commit adds oem image type for Ubuntu integration tests
* Wed Mar 18 2020 marcus.schaefer@gmail.com
  - Complete refactoring of fstab handling
    With the new Fstab class from prior pull request there is an
    opportunity to handle all fstab related actions to be done
    by that class. This commit extends the Fstab class with an
    add_entry method such that we can avoid the extra lists
    holding raw fstab lines in e.g the disk builder. In the end
    all fstab related data is stored in an instance of the Fstab
    class. This also extends the KIWI api by an fstab management
    class. Related to #1329 and #1349
* Wed Mar 18 2020 marcus.schaefer@gmail.com
  - Cleanup fstab handling for containers
    When building container images an extra create_fstab method
    exists that created an empty fstab file. The reasons for this
    are historical and also related to appx support from obs.
    The obs based support for appx containers was based on the
    creation of a kiwi docker image that got modified and turned
    into an appx container. Now with native appx support by kiwi
    this special fstab handling is no longer needed and should
    be deleted. This Fixes #1329
* Tue Mar 17 2020 marcus.schaefer@gmail.com
  - Validate and order final fstab file
    On write of the final fstab file read, validate and order
    the entries. This is related to Issue #1349
* Tue Mar 17 2020 marcus.schaefer@gmail.com
  - Added Fstab class
    Handling of fstab should be done in its own namespace and class.
    The current handling of fstab entries is spread at several places.
    There should be only one code that writes the fstab entries and
    that code should also care for the correct canonical order of
    the mountpoints
* Tue Mar 17 2020 dcassany@suse.com
  - Fix order in fstab
    Any mount point directly under / should be just right after the root
    mountpoint and before the custom mountpoints based on user's subvolume
    configuration.
    Fixes #1349 and bsc#1164310
* Sat Mar 14 2020 marcus.schaefer@gmail.com
  - Skip nodev devices for size calculations
    Added a static list of mountpoints used for devices that
    are not associated with a physical device like /proc and
    use that information in the exclude list for calculating
    the image byte size. This Fixes #1363
* Fri Mar 13 2020 dcassany@suse.com
  - Add kpartx dependency on dracut-kiwi-oem-dump package
    This commit adds a missing dependency on dracut-kiwi-oem-dump
    package. In images where The `kpartx` tool is missing the
    dracut-kiwi-oem-dump was not applied for the initrd.
    Fixes #1364
* Sun Mar 08 2020 marcus.schaefer@gmail.com
  - Added new image type: wsl
    Support for building appx container images for
    Windows Subsystem Linux (WSL). This Fixes #1235
* Fri Mar 06 2020 marcus.schaefer@gmail.com
  - Fixed file name for config.bootoptions file
    The dracut code in 90kiwi-dump/kiwi-dump-image.sh looks for a
    file matching ${image_uri}.config.bootoptions but the install
    code packs a file named pxeboot.${image_uri}.config.bootoptions
    into the tarball. Thus without renaming the file it won't
    be found. Also the documentation mentions the file to be
    named ${image_uri}.config.bootoptions. This commit fixes the
    install code to match the dracut boot code and the documentation
* Wed Mar 04 2020 marcus.schaefer@gmail.com
  - Fixed daps image path
* Wed Mar 04 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.3 → 9.20.4
* Wed Mar 04 2020 dcassany@suse.com
  - Fix a regression for container builds in OBS
    This commit fixes a regression introduced in 12d84be2. We need to ensure
    that `labels` item exist in oci image configuration dict before updating
    it and creating it in case it doesn't exist.
* Tue Mar 03 2020 marcus.schaefer@gmail.com
  - Fixed suse doc push pipeline
    build and push are not allowed to run in parallel
* Tue Mar 03 2020 marcus.schaefer@gmail.com
  - push suse doc only on merge to master
* Tue Mar 03 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.2 → 9.20.3
* Mon Mar 02 2020 marcus.schaefer@gmail.com
  - Build and push SUSE documentation
    On any pull request also build the suse documentation and
    push changes to the OSInside/kiwi-suse-doc git repository.
    The SUSE documentation team needs a repo with docbook sources
    for the publishing procedure. In addition change the gitlab
    pipeline to run in three stages: Test, Documentation and
    Package. Let the style and unit tests run in parallel and
    cleanup the dependency setup
* Fri Feb 28 2020 dcassany@suse.com
  - Fix container labels setup in OBS
    This commits fixes the containers label setup in OBS, ensuring that
    adding the 'org.openbuildservice.disturl' label does not clear any
    other label.
    Fixes #1338
* Fri Feb 28 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.1 → 9.20.2
* Fri Feb 28 2020 marcus.schaefer@gmail.com
  - Fixed schema regexp validation
    Regexp patterns used in the schema are translated into python
    expressions by generateDS. It's required to use the XSD schema
    to run generateDS, xsd however has some restrictions on pattern
    use which leads to a warning message for the ones fixed here
* Wed Feb 26 2020 marcus.schaefer@gmail.com
  - Fixed completion_generator
    Due to the change of the binary name for consistency in the
    docopt docstrings the completion generator failed to produce
    correct results. This commit fixes it
* Wed Feb 26 2020 ngompa13@gmail.com
  - Store Mock build logs and built RPMs as short-term artifacts
    This makes it much easier to debug what is happening with mock when
    failures occur.
* Tue Feb 25 2020 marcus.schaefer@gmail.com
  - Added sle15 ppc oem integration test
    Related to Issue #1325
* Tue Feb 25 2020 marcus.schaefer@gmail.com
  - Added task plugin documentation
    Documentation for developers how to write a custom kiwi
    task plugin.
* Tue Feb 25 2020 marcus.schaefer@gmail.com
  - Update manual page documentation
    Fixed manual pages to use kiwi-ng as the command name
* Tue Feb 25 2020 marcus.schaefer@gmail.com
  - Fixed docopt strings to use correct binary name
    The kiwi binary from the entry_point configuration is
    kiwi-ng. The docopt strings should use this name for
    consistency. The alternative binary name kiwi is just
    a symlink created on the rpm packaging level and is
    not guaranteed to exist depending on how kiwi was
    installed
* Tue Feb 25 2020 marcus.schaefer@gmail.com
  - Refactor plugin architecture
    Set kiwi.tasks to be the plugin entry point and register
    existing task plugins in setup.py. Change the code in
    cli.py to auto register plugins using the iter_entry_points
    method from the pkg_resources class. This allows for easier
    writing of external kiwi plugins.
* Mon Feb 24 2020 marcus.schaefer@gmail.com
  - Fixed handling of fillup templates
    Systems using a template tool to generate config files
    might not be effective when they see the intermediate
    config files we need from the host to let certain package
    managers work correctly. Therefore the cleanup code in
    kiwi takes care to restore from an optionally existing
    template file if no other custom variant is present.
    This Fixes bsc#1163978
* Fri Feb 21 2020 marcus.schaefer@gmail.com
  - Enhance OEM ppc integration test for 4k/512b disks
    Add profile section to build one image for storage disks with
    4k physical blocksize and one image for disks using 512byte
    blocksize. Related to Issue #1325
* Thu Feb 20 2020 dcassany@suse.com
  - Make squashfs compression configurable
    This commit adds the `squashfscompression` attribute in type element. It
    can take `gzip`, `zstd`, `xz`, `lzo`, `lz4` or `none`. The default is `xz`.
    Fixes #1315
* Wed Feb 19 2020 marcus.schaefer@gmail.com
  - Bump version: 9.20.0 → 9.20.1
* Wed Feb 19 2020 marcus.schaefer@gmail.com
  - Added serial console in centos integration test
    For use with Kanku we enable the serial console for the
    centos integration test image
* Wed Feb 19 2020 marcus.schaefer@gmail.com
  - Make PrEP partition known to GPT partitioner
* Wed Feb 19 2020 marcus.schaefer@gmail.com
  - Use GPT table for Power ofw firmware
    GPT partition table should be preferred for power systems
    these days. Related to Issue #1325
* Wed Feb 19 2020 marcus.schaefer@gmail.com
  - target blocksize for IBM Power8 systems is 4k
    Adapt the oem image integration test for bare metal to use
    4k blocksize
* Tue Feb 18 2020 marcus.schaefer@gmail.com
  - Fixup documentation for consistency
    There is the legacy kiwi version and there is this kiwi(next generation).
    From a documentation perspective there are several inconsistencies that
    could confuse users. This commit makes the name for KIWI-NG consistent
    across the entire documentation. At places where we point to older
    documentation we use the term Legacy KIWI and a link to the documentation
    that covers this part. All this is needed in preparation to cleanup the
    documentation situation for the SUSE documentation but with respect to
    the upstream doc sources, their layout and markup.
* Mon Feb 17 2020 dcassany@suse.com
  - Do not create empty macros file
    This commit makes sure to empty RPM macros files are created during
    the build. Additionally it also ensures that no needless `rm` and `mkdir`
    calls are done.
    Fixes #1316
* Mon Feb 17 2020 marcus.schaefer@gmail.com
  - Turn btrfs requirement into a recommend
    Only on suse systems btrfs is eligable to be a required package
    because it's the default filesystem of that distribution. In any
    other case it should be a recommended package. As a side effect
    of this change we will be able to activate the CentOS-8 build
    target
* Sat Feb 15 2020 marcus.schaefer@gmail.com
  - Bump version: 9.19.16 → 9.20.0
* Thu Feb 13 2020 dcassany@suse.com
  - Fix append file for PXE
    This commit fixes a regression introduced in 141f384e. With this commit
    the append file is only added to the PXE tarball only when it is
    created.
* Tue Feb 11 2020 alan.cheung@multapplied.net
  - Split kiwi-dump into 2 modules to allow inserting a module after the image dump and before system reboot
* Tue Feb 11 2020 marcus.schaefer@gmail.com
  - Addded doc_suse tox target to build docbook target
    SUSE documentation is based on docbook or asciidoc. The kiwi
    documentation is maintained along with the code and uses the
    sphinx system and therefore ReST as markup language. We would
    like to keep one source and don't want to move to another markup
    language. Thus the sources needs to be structured in a way that
    allows translation into sphinx supported targets as well as
    into SUSE docbook style. This commit changes the documentation
    structure in a way that both is possible. With the use of Sphinx
    XML and rstxml2docbook the ReST docs are converted into docbook.
    From there the SUSE daps tool can create SUSE documentation
* Mon Feb 10 2020 marcus.schaefer@gmail.com
  - Move gitlab stages to use gitlab registry
    The kiwi-ci-containers project on gitlab now builds all
    containers that are needed to run all type of tests we
    have in the gitlab pipeline for kiwi. This commit moves
    the tests to fetch the containers from the gitlab
    registry and avoids any requirement to install packages
    prior to running the tests. This will speedup the
    overall test time and makes the system also more robust
    in case the repo servers hosting the packages can't
    be accessed for some reason
* Sun Feb 09 2020 marcus.schaefer@gmail.com
  - Fixed ISO creation on ppc
    On the ppc architecture the isolinux path was chosen which
    is wrong. This patch fixes the ISO creation to use the grub
    path
* Sun Feb 09 2020 marcus.schaefer@gmail.com
  - Added suse OEM ppc integration test
    Added obs integration test for building a simple disk image
    to be started in a VM on power. Related to Issue #1325
* Fri Feb 07 2020 marcus.schaefer@gmail.com
  - Move gitlab build_doc target to gitlab registry
    Use the container from the kiwi-ci-containers project to
    run the build_doc target
* Fri Feb 07 2020 marcus.schaefer@gmail.com
  - Delete use of ifplugd in integration tests
    ifplugd was dropped from the factory tree and that change
    needs to be addressed in the integration tests to let
    them build again
* Thu Feb 06 2020 marcus.schaefer@gmail.com
  - Added ppc integration test links
    Added ppc integration test links to the overview page of
    the kiwi documentation. Related to Issue #1325
* Thu Feb 06 2020 marcus.schaefer@gmail.com
  - Bump version: 9.19.15 → 9.19.16
* Wed Feb 05 2020 dcassany@suse.com
  - Add .append file for PXE images
    This commit creates the .append file for PXE images. This file
    is only created for initrd based images and includes the
    UUID of the rootfs and any parameter added by the user within
    the 'kernelcmdline' attribute.
    Fixes #1327
* Wed Feb 05 2020 marcus.schaefer@gmail.com
  - Deleted distro provided login.defs from overlay
* Wed Feb 05 2020 marcus.schaefer@gmail.com
  - Delete use of methods that are done by the builder
* Tue Feb 04 2020 marcus.schaefer@gmail.com
  - Deleted obsolete ifplugd from arm build test
* Mon Feb 03 2020 marcus.schaefer@gmail.com
  - Deleted obsolete ifplugd from s390 build test
* Mon Feb 03 2020 marcus.schaefer@gmail.com
  - Update status helper script
    Also show new ppc integration test builds
* Mon Feb 03 2020 marcus.schaefer@gmail.com
  - Added fedora ppc integration test
    Added obs integration test for building a simple disk image
    to be started in a VM on power. Related to Issue #1325
* Sun Feb 02 2020 marcus.schaefer@gmail.com
  - Added suse ppc integration test
    Added obs integration test for building a simple disk image
    to be started in a VM on power. Related to Issue #1325
* Sun Feb 02 2020 marcus.schaefer@gmail.com
  - Bump version: 9.19.14 → 9.19.15
* Wed Jan 29 2020 ngompa13@gmail.com
  - Disable RPM module content validation and filtering when building in OBS
    The Open Build Service builds images by identifying the requested dependencies,
    downloading them into an isolated environment, regenerating the repository
    metadata from scratch with *only* that content, and then passing those
    new repositories to be used for building images. This enforces the
    reproducibility of the image build process.
    However, when building images for Linux distributions that have
    AppStreams/modules (such as Red Hat Enterprise Linux/CentOS 8)
    in an Open Build Service system, the repository metadata associated
    with modules is not present as OBS does not generate it.
    This causes the image build to fail because the normal module
    content filtering rules make it so that modular RPMs are disabled
    unless there is module metadata in the repository that identifies
    them and that the module has been configured to be enabled.
    As it is not possible for us to satisfy those conditions, instead
    we disable modular filtering entirely when we detect that the image
    build is occurring inside the build service, as we are reasonably
    certain that OBS will not give us bad or broken package sets.
* Tue Jan 28 2020 marcus.schaefer@gmail.com
  - Fixed ppc kernel lookup
    On power the kernel is named e.g vmlinux-4.12.14-197.29-default
    kiwi was missing that name match. Related to Issue #1325
* Mon Jan 27 2020 marcus.schaefer@gmail.com
  - Fixed sat solver flags validation
    The sat library from the python3-solv plugin does not expose
    the flags information as method. Instead the flags value is
    a variable pointing to an integer that has a name mapping
    in self.solv.Selection from the library.
* Fri Jan 24 2020 marcus.schaefer@gmail.com
  - Bump version: 9.19.13 → 9.19.14
* Wed Jan 22 2020 dcassany@suse.com
  - Make use of Path.which including root_dir parameter
    This commit refactors the use of Path.which in several parts of the
    code. Since dd4d2ed78 the Path utility is capable to run Path.which
    on certain chroot env, thus no need to adapt the PATH environment
    variable.
    Fixes #1281
* Tue Jan 21 2020 marcus.schaefer@gmail.com
  - Make PXE oem deployment genericly useable
    When deploying a disk image via PXE the initrd contained a config
    file which connects it to a certain image. This has the disadvantage
    that no other image could be deployed with it. This commit changes the
    deployment code in a way that the config file is read from the
    network if the disk is deployed via PXE. The tarball created by
    kiwi provides the image connected config file but users now have
    the opportunity to create their own boot configurations which allows
    deployment of different images with the same kiwi built deployment
    initrd. This Fixes #1298 and is one first step into a more generic
    PXE support offered by kiwi.
* Mon Jan 20 2020 marcus.schaefer@gmail.com
  - Bump version: 9.19.12 → 9.19.13
* Mon Jan 20 2020 dcassany@suse.com
  - Remove RootBind.move_to_root method
    This commit removes the RootBind.move_to_root method as this can all be
    done by using the Path.move_to_root utility method. This allows
    to drop the RootBind attribute in PackageManager classes and focus
    path manipulation methods into a common utility.
    Related to #1281
* Mon Jan 20 2020 marcus.schaefer@gmail.com
  - Bump version: 9.19.11 → 9.19.12
* Mon Jan 20 2020 marcus.schaefer@gmail.com
  - Fixed custom args check
    If a custom argument exists in the dictionary but has no value
    it should be treated as not set and initialized empty as intended
* Fri Jan 17 2020 marcus.schaefer@gmail.com
  - Fixed order of fstab entries
    If a volume manager is used the volumes are added before the
    root filesystem(/) entry in fstab. This does not hurt because
    at boot time systemd manages the mounting of the rootfs prior
    to any other information in the fstab file but it's conceptually
    broken. Users justifiably can expect the fstab entries in the
    correct order such that mounting from top to bottom leads
    to a consistent root filesystem state.
* Fri Jan 17 2020 marcus.schaefer@gmail.com
  - Bump version: 9.19.10 → 9.19.11
* Wed Jan 15 2020 marcus.schaefer@gmail.com
  - Added support for spare partition fs attributes
    Added new type attribute:
    ```xml
    <type ... spare_part_fs_attributes="..."/>
    ```
    which can be a comma separated list of the following currently
    supported filesystem attributes:
    * no-copy-on-write
    * synchronous-updates
    See chattr and filesystem manual pages for details on those
    attributes. More attributes for the spare part context can be
    added on request. This Fixes #1233
* Wed Jan 15 2020 dcassany@suse.com
  - Allow builds without KIWI dracut modules
    This commit avoids requesting non installed dracut modules to the dracut
    creation. It bumps a warning message if the module requested by KIWI is
    not installed in the root-tree and ignores the request.
    This allows the creation of images without including KIWI dracut modules
    when the related runtime checks are disabled.
    Fixes #1300
* Mon Jan 13 2020 marcus.schaefer@gmail.com
  - Bump version: 9.19.9 → 9.19.10
* Sun Jan 12 2020 marcus.schaefer@gmail.com
  - Follow up fix for kernel version lookup
    When using custom kiwi boot images a shell method named
    baseCreateCommonKernelFile was used to create a common
    kernel file name in the boot image to allow a simpler
    search code in the builder. The search code in the builder
    however uses the standard kernel naming schema and with
    the latest changes to the kernel version lookup the
    common name did not match the matching pattern anymore.
    The use of such a common kernel file is obsolete and
    the shell method can finally be deleted.
* Sat Jan 11 2020 marcus.schaefer@gmail.com
  - Bump version: 9.19.8 → 9.19.9
* Thu Jan 09 2020 marcus.schaefer@gmail.com
  - Refactor kernel version lookup
    For the lookup of the kernel version kiwi provided a small
    C program that reads the first bytes of the kernel binary
    and extracts the version information. Given the various
    compression formats and also the problem of kernel files
    that contains the decompressor code which could be anything
    it has turned out to be difficult to provide a stable tool
    to read the version from the binary. Therefore the code in
    kiwi was refactored to read the version via regexp match
    from the filename which also makes kversion an obsolete
    tool. This Fixes #1308
* Thu Dec 19 2019 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 marcus.schaefer@gmail.com
  - Fixed installation chapter in the documentation
    The chapter still outlines multipython support but we
    dropped support for python2 some time ago
* Tue Dec 10 2019 marcus.schaefer@gmail.com
  - Bump version: 9.19.6 → 9.19.7
* Sun Dec 08 2019 marcus.schaefer@gmail.com
  - Fixed swap setup if btrfs is used
    In case of a volume manager the simplified variant of the
    device name is used in the fstab file to reference the
    swap device. However this is only correct for the lvm
    volume management but not for btrfs. In case of btrfs
    the swap space is not a subvolume but a real partition
    and thus the simplified device spec in fstab puts in the
    loop mapped device which is wrong. This patch fixes it
* Fri Dec 06 2019 ngompa13@gmail.com
  - Exclude 'Recommends: kiwi-man-pages' for EL7 and older in the spec
* Fri Dec 06 2019 marcus.schaefer@gmail.com
  - Fixed xz options syntax in default kiwi.yml
    xz options are passed as a string and splitted in code
    but not handled as yml list
* Fri Dec 06 2019 marcus.schaefer@gmail.com
  - Fixed scope of kiwi-man-pages sub package
    The kiwi-man-pages package provided data that belongs to
    the main package, e.g the completion as well as the
    license information. In addition kiwi-man-pages should
    not be a requirement.
* Fri Dec 06 2019 marcus.schaefer@gmail.com
  - Fixed result map for OEM pxe install
    The result map for OEM images with installpxe enabled
    contained a wrong file name. Thus the result bundler
    was not able to fetch the tarball
* Thu Dec 05 2019 marcus.schaefer@gmail.com
  - Open image files in UTF-8
    Post image build metadata like the packages file which are
    created from data produced by the package manager can contain
    multibyte characters and should be written into files opened
    with the UTF-8 encoding. The same applies to the image imported
    XML description. This Fixes #1290
* Wed Dec 04 2019 marcus.schaefer@gmail.com
  - Bump version: 9.19.5 → 9.19.6
* Wed Dec 04 2019 marcus.schaefer@gmail.com
  - Fixup package list for GCE integration test
    Package growpart-rootgrow does no longer exist. Will be
    replaced by a partgrow implementation
* Wed Dec 04 2019 marcus.schaefer@gmail.com
  - Fixed root setup when building in OBS
    When building in an OBS worker no udevd is running which prevents
    grub2-mkconfig from finding the by-* device nodes and it puts the
    local loop device in which is wrong. Therefore the patching code
    used for overlay disk configurations also applies when building
    in an OBS worker environment. This Fixes #1287
* Mon Dec 02 2019 marcus.schaefer@gmail.com
  - Bump version: 9.19.4 → 9.19.5
* Fri Nov 29 2019 marcus.schaefer@gmail.com
  - Fixed setup of default grub config
    In /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT also contained
    the root= information. If grub2-mkconfig runs with that information
    it places the root device information twice because grub2-mkconfig
    resolves this information itself. This commit prevents the root=
    information to be placed in the default grub config and
    Fixes bsc#1156908
* Wed Nov 27 2019 marcus.schaefer@gmail.com
  - Lookup distribution specific grub font dir
    In addition to the generic grub font directory also lookup
    distribution specific font paths in the system and copy the
    grub unicode font into it. This Fixes #1253
* Wed Nov 27 2019 dcassany@suse.com
  - Do not rsync /dev on debootstrap
    This commit does not rsync /dev on debootstrap and instead it uses
    the bind mount for /dev the same way it is done for other non apt
    based bootstrap processes.
* Wed Nov 27 2019 dcassany@suse.com
  - Add new root option in Path.which method
    This commit adds to Path utility a couple of methods to manipulate
    paths. One to rebase given paths to a new root and another one to
    trim the given root path. In addition a new option in Path.which
    is added to allow searches into chroot evironments.
    Fixes #1276
* Tue Nov 26 2019 dcassany@suse.com
  - Do not rsync kernel filesystems on debootstrap
    This commit ensures that /proc and /sys are not rsynched when
    debootstrapping an apt based image.
    Fixes #1270
* Tue Nov 26 2019 marcus.schaefer@gmail.com
  - Bump version: 9.19.3 → 9.19.4
* Tue Nov 26 2019 marcus.schaefer@gmail.com
  - Fixed condition to create swap partition
    The previous condition created the partition if swap is
    requested and no volume management is used. But this is
    wrong because if any other than the LVM volume management
    is used we want the swap space as partition. Only in case
    of LVM the swap space is a LVM volume.
* Tue Nov 26 2019 marcus.schaefer@gmail.com
  - Bump version: 9.19.2 → 9.19.3
* Tue Nov 26 2019 marcus.schaefer@gmail.com
  - Fixed access to device map for fstab setup
    Swap is an optional element in the device map.
    Thus access to an element of that dictionary
    should not fail
* Mon Nov 25 2019 marcus.schaefer@gmail.com
  - Bump version: 9.19.1 → 9.19.2
* Mon Nov 25 2019 marcus.schaefer@gmail.com
  - Fixed VolumeManager device map handling
    The former implementation builds a new device map which is
    a subset of the low level device map. However due to the
    additional swap partition the maps provided by the VolumeManager
    classes are now incomplete. Instead this commit changes the
    VolumeManager interface to receive the current low level
    device_map and merged device changes on top of it when
    needed.
* Mon Nov 25 2019 marcus.schaefer@gmail.com
  - Bump version: 9.19.0 → 9.19.1
* Mon Nov 25 2019 marcus.schaefer@gmail.com
  - Fixed runtime checks on volume label setup
    Fixed the checks for check_volume_setup_defines_reserved_labels
    and check_volume_label_used_with_lvm. Both checks needs to
    skip on the kiwi internally created volume named LVSwap
* Mon Nov 25 2019 marcus.schaefer@gmail.com
  - Delete superfluous .osc metadata from build tests
    Not sure how and why the .osc buildservice metadata
    was added to the git but it's for sure not needed
* Mon Nov 25 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.35 → 9.19.0
* Mon Nov 25 2019 marcus.schaefer@gmail.com
  - Added check_volume_setup_defines_reserved_labels
    Check to prevent using reserved filesystem labels in LVM
    volume definitions
* Thu Nov 21 2019 dcassany@suse.com
  - Include grub.cfg inside the efi partition
    This commit ensures the grub.cfg file is included within the vfat efi
    partition.
    This fixes #1271 and bsc#1157354
* Wed Nov 20 2019 marcus.schaefer@gmail.com
  - Fixed extending LVM volumes
    For extending the LVM volumes a resize prefix is set for each
    volume. If no extra prefix is needed it can happen that the
    former prefix setting is used which is wrong. The resize
    prefix must be reset for each new volume iteration
* Wed Nov 20 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.34 → 9.18.35
* Tue Nov 19 2019 marcus.schaefer@gmail.com
  - Prevent swap partition to be the last one
    In an OEM deployment that requested the creation of a swap
    partition via <oem-swap> that swap partition was created
    at first boot and was always the last partition on the disk.
    This was required because it could not be placed before
    any other partition without destroying those partition
    contents. This process leaves the system in an inflexible
    condition if the storage device can change its geometry
    dynamicly as it's the case for SAN systems. The typical
    deployment target for OEM images are SAN storage clusters
    and it's cumbersome to resize the root partition if swap
    is last.
    This commit Fixes #1231 and changes the handling of swap if
    requested via <oem-swap> as follows:
    1. The swap space is created as part of the image build process
    and no longer on first boot of the image via dracut code.
    This increases the size of the non compressed .raw disk image
    by the configured swap space size or the default. The
    compressed versions are not affected since zero initialized
    swap space compresses to almost no space. Deployment of
    the image however also deploys the swap partition which
    increases deployment time. For big swap configurations
    it's advisable to switch off image verification via
    oem-skip-verify. For very big swap configurations it's
    also recommended to prevent kiwi from adding them as part
    of the image and let them be created on first boot via
    a systemd service that e.g places a swap file, or creates
    a swap volume when possible such that the fexibility to
    resize the rootfs is still available.
    2. The setup of the swap space is now explicit. It's no longer
    calculated by twice times RAM size because on newer machines
    this could lead to huge numbers. Either the kiwi encoded
    default swap size applies or the user configured value.
    3. LVM based oem disks creates the swap space as logical volume.
    The volume is created as part of the image build process
    and no longer on first boot. The swap volume at build time
    of the image is of a minimal size and gets resized on first
    boot.
    4. The move of the swap creation into the builder code also
    handles swap per configured device persistency schema like
    any other devices. This means by default swap is mounted
    via by-uuid name and thus also Fixes #1259
* Tue Nov 19 2019 marcus.schaefer@gmail.com
  - Fixed subsequent reboot of oem disk
    On a second reboot of an oem disk we check with gdisk's
    verification command if the disk needs to be resized.
    That command however mounts the disk in the background
    and therefore it's urgently required to mask the systemd
    rootfs service before. Otherwise systemd thinks this is
    evil and drops into a rescue shell
* Tue Nov 19 2019 marcus.schaefer@gmail.com
  - Reference commit for SUSE maintenance
    This commit adds a reference to Issue #1261 and the
    report in bugzilla bsc#1157104
* Tue Nov 19 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.33 → 9.18.34
* Fri Nov 15 2019 dcassany@suse.com
  - Start using tftp system user package
    With this commit we start requiring tftp system user package. This
    user was created and managed by multiple packages before, with the
    risk of having inconsistent criteria on its defaults. Now there there
    a system user package so whatever package that requries this user should
    just require this package and do not create or modify the tftp user.
    Related with bsc#1143454
* Fri Nov 15 2019 dcassany@suse.com
  - Improve alias documentation in XML schema
    This commit aligns the documentation of the default repository alias
    with the current implementation.
    Fixes #1247
* Fri Nov 15 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.32 → 9.18.33
* Thu Nov 14 2019 marcus.schaefer@gmail.com
  - Fixed zipl bootloader config template
    The targetgeometry value is not allowed for SCSI and FBA
    mode. So far we handled only SCSI and failed on FBA mode.
    This commit fixes it
* Thu Nov 14 2019 dcassany@suse.com
  - Allow use of relative paths for `dir:<path>` URIs
    This commit allows the use of relative paths for local URIs using the
    the following format:
    dir:<path>
    This is helpful to set in config.xml local URIs for repositories.
    Fixes #1261
* Thu Nov 14 2019 marcus.schaefer@gmail.com
  - Adapt test-image-oem integration test for s390
    The test was originally designed to test for DASD 4k block
    storage. However the kpartx utility in the Leap15, TW code
    stream has issues mapping partitions if the loop device
    was setup using 4k sector size. So far we can't create
    images with 4k blocksize due to that issue. Thus the
    integration test is now adapted for an emulated DASD device
    in FBA mode which is not using 4k blocksize. Once the
    problem with kpartx is solved on s390 we will create another
    integration test to test 4k image builds
* Thu Nov 14 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.31 → 9.18.32
* Thu Nov 14 2019 marcus.schaefer@gmail.com
  - Update s390 integration tests
    Added vmx build test to run in kvm on s390. Updated the
    existing oem build test to deploy on DASD. The concept
    of the network setup invented by kiwi for s390 does no
    longer apply and was also not used on the s390 distribution
* Thu Nov 14 2019 marcus.schaefer@gmail.com
  - Fixed zipl bootloader setup for s390 images
    The preparation to call zipl and the call itself were wrong.
    For whatever reason the kernel image the initrd are moved
    to another location prior to calling zipl. That move broke
    the system because no kernel/initrd existed at the expected
    place anymore. In addition the zipl call itself was issued
    from a the wrong directory. Also no config file was written
    as an after effect of the refactoring in Issue #1194. This
    Fixes #1173 and bsc#1156694
* Wed Nov 13 2019 dcermak@suse.com
  - Document possible values for the name attribute of package
    This fixes #1260
    Co-Authored-By: Thomas Schraitle <tom_schr@web.de>
* Thu Nov 07 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.30 → 9.18.31
* Wed Nov 06 2019 dcassany@suse.com
  - Fix gitlab CI pipeline
    Ensure the gitlab CI includes make package for docs generation
* Wed Nov 06 2019 dcassany@suse.com
  - 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
* Thu Oct 31 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.29 → 9.18.30
* Thu Oct 31 2019 ro@suse.de
  - fix kernel module handling for xz compressed modules
    and firmware files to fix issue #1256
* Tue Oct 29 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.28 → 9.18.29
* Tue Oct 29 2019 marcus.schaefer@gmail.com
  - Update Host/Image support matrix
    Update documentation about the Host vs. Image support and
    compatibility matrix with regards to the SLES target.
* Mon Oct 28 2019 marcus.schaefer@gmail.com
  - Add default /etc/kiwi.yml file
    Provide a comment only etc/kiwi.yml file that contains all
    parameters we support so far including a short description
    This Fixes #1232
* Mon Oct 28 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.27 → 9.18.28
* Fri Oct 25 2019 marcus.schaefer@gmail.com
  - Delete left over print statement from unit test
* Fri Oct 25 2019 javierm@redhat.com
  - Enable BLS configuration if is supported
    Fedora now uses a BLS configuration by default, but this is not supported
    by all distributions. So check if is supported by the grub2-mkconfig tool
    and only enable the option if that's the case.
    Fixes: #1248
* Fri Oct 25 2019 marcus.schaefer@gmail.com
  - Bump Fedora x86 build test to Fedora30
* Fri Oct 25 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.26 → 9.18.27
* Thu Oct 24 2019 dcassany@suse.com
  - Fix btrfs_root_is_snapshot
    This commit makes sure the chrooted operations of over a loop device
    including btrfs subvolumes and root as an snapshot include the
    `/.snapshots` subvolume mount. This is necessary for certain operations
    that depend on the layout, e.g. grub configuration using `grub2-mkconfig`.
* Thu Oct 24 2019 marcus.schaefer@gmail.com
  - Skip isolinux ui setup on serial terminal config
    If the attribute bootloader_console="serial" is set, the
    expectation that there is no graphics hardware available is
    valid. Thus the isolinux setup should not contain any ui
    configuration instructions because that leads to run the
    graphics initialization which blocks the system if not
    present. Please note the bootloader_console allows for
    multiple console configuration. In mixed setup the ui
    configuration still applies. This Fixes #1153
* Thu Oct 24 2019 marcus.schaefer@gmail.com
  - Added helper script to test status of test builds
    build_status fetches information from obs about the status
    of the integration test builds. It also allows an easy refresh
    of the tests regarding content changes on git when called
    with the refresh parameter: build_status refresh
* Wed Oct 23 2019 marcus.schaefer@gmail.com
  - Update development documentation
    With the latest change to the logger kiwi can now be better
    used as an api in other python programs
* Wed Oct 23 2019 marcus.schaefer@gmail.com
  - Fixed install_devel_packages helper
    Missing libffi and enchant devel packages. Also deleted
    trang since it's not provided by default in the distro
    and optional
* Wed Oct 23 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.25 → 9.18.26
* Wed Oct 23 2019 marcus.schaefer@gmail.com
  - Update documentation
    Link paths to the integration tests has changed
* Wed Oct 23 2019 marcus.schaefer@gmail.com
  - Fixed package list for arm test builds
* Wed Oct 23 2019 marcus.schaefer@gmail.com
  - Move arm build tests to obsrepositories
* Wed Oct 23 2019 marcus.schaefer@gmail.com
  - Move s390 build tests to obsrepositories
* Wed Oct 23 2019 marcus.schaefer@gmail.com
  - Reorganize build tests
    We build images against different distributions. In order to
    do that in obs we should be able to handle one prj config per
    distribution. Thus the tests move from a flat tree to a distro
    structured tree here and in obs
* Wed Oct 23 2019 marcus.schaefer@gmail.com
  - Move suse tests to obsrepositories
    Changes on the obs backend made this change necessary.
    The chain of process decisions is different if a repo is
    added to the prj config compared to if the repo is added
    to the kiwi XML file. It seems the preferred solution
    is the obs prj config and I'm tired running into problems
    again and again
* Tue Oct 22 2019 dcassany@suse.com
  - Make home attribute optional on users definition
    This commit makes home attribute of users definition optional. This way
    the home directory is created according to the distribution defaults.
    Note that `-m` option is passed to user add, thus the home directory is
    requested to be created even without having an explicit home path
    defined.
    Fixes #1025
* Mon Oct 21 2019 marcus.schaefer@gmail.com
  - Refactor use of logging facility
    Use getLogger method instead of a global log object
    Also use caplog fixture to capture log messages in
    unit tests. This Fixes #1244
* Mon Oct 21 2019 marcus.schaefer@gmail.com
  - Version 2.29.24 fixes the pattern problem
    and avoids the recursion bug
* Mon Oct 21 2019 marcus.schaefer@gmail.com
  - Fixed oem resize message and invokation
    The oem resize should only start if there is unallocated
    space on the disk available. If it starts the message in
    case of a not applicable resize should be more meaningful
    This commit addresses both issues and Fixes #1102
* Fri Oct 18 2019 marcus.schaefer@gmail.com
  - nothing provides yast2-registration
    With the move of the tests to the TW repo this package was
    no longer provided
* Fri Oct 18 2019 marcus.schaefer@gmail.com
  - Deleted openSUSE-release-dvd from test images
    For whatever reason the Tumbleweed repo does not provide
    this package anymore
* Fri Oct 18 2019 marcus.schaefer@gmail.com
  - Update integration tests
    OBS has changed the repo paths. openSUSE:Factory/snapshot is
    empty which resulted in any suse test to fail. This commit
    changes the repo to openSUSE:Tumbleweed/standard
* Thu Oct 17 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.24 → 9.18.25
* Thu Oct 17 2019 marcus.schaefer@gmail.com
  - Fixed grub mkconfig call for read-only root
    In case of an overlay root system via overlayroot="true" all parts
    of the rootfs are read-only by squashfs except for the extra boot
    partition. However tools like grub's mkconfig creates temporary
    files at call time and therefore /tmp needs to be writable during
    the call time of the tools. Related to Issue #1194
* Thu Oct 17 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.23 → 9.18.24
* Thu Oct 17 2019 marcus.schaefer@gmail.com
  - Fixed method header of write_meta_data
    Interface class and implementation class has to use the
    same header definitions.
* Thu Oct 17 2019 marcus.schaefer@gmail.com
  - Lookup grub mkconfig tool
    In the same way as we need to lookup the name for the mkimage
    tool we also have to lookup the name of the config tool.
    That's because distributions do not handle that consistently
* Thu Oct 17 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.22 → 9.18.23
* Thu Oct 17 2019 marcus.schaefer@gmail.com
  - Fixed EFI path creation
    Only copy files to the EFI path on prior creation of that path
* Thu Oct 17 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.21 → 9.18.22
* Thu Oct 17 2019 marcus.schaefer@gmail.com
  - Fixed fallback copy of grub config file
    For ISO images that are EFI bootable as well as for EFI
    secure boot configurations that are not based on shim-install
    kiwi provides a fallback code that copies the grub config file
    to the efi/efi-vendor boot path. This fallback code was broken
    because of the recent change to let grub2 mkconfig create the
    config file. The call of grub2 mkconfig happens at a later
    stage which required an adaption of the fallback mechanism.
    This is related to Issue #1194
* Thu Oct 17 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.20 → 9.18.21
* Thu Oct 17 2019 marcus.schaefer@gmail.com
  - Fixed use of config_file before assignment
* Wed Oct 16 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.19 → 9.18.20
* Wed Oct 16 2019 dcassany@suse.com
  - Re-structure unit tests folders
    This commit relocates unit tests to a folder structure that matches
    the source code structure.
    Fixes #1128
* Wed Oct 16 2019 marcus.schaefer@gmail.com
  - Delete unused template data
    With the move to grub2 mkconfig some static template data
    became obsolete. This commit removes the unused data
* Tue Oct 15 2019 marcus.schaefer@gmail.com
  - Adapted handling of initrd boot names
    Due to the change of using grub2-mkconfig the way custom kiwi
    initrd file names are handled doesn't work anymore. grub2-mkconfig
    is not able to cope with the names kiwi used when creating custom
    kiwi initrd's (initrd.vmx). Thus the same naming code as used
    for the dracut initrd system has to apply for the custom kiwi
    initrd code as well. This commit moves the name handling into
    the baseclass because the same naming schema now applies to
    both initrd systems.
* Tue Oct 15 2019 marcus.schaefer@gmail.com
  - Fixed install image setup for kiwi initrd system
    If the kiwi initrd system is used the eltorito image was
    not found because searched in the wrong place
* Mon Oct 14 2019 dcassany@suse.com
  - Change kiwi-ng-3 binary references to kiwi-ng
    This commit changes from kiwi-ng-3 or kiwi to kiwi-ng the console script used
    in command line examples.
* Fri Oct 11 2019 dcassany@suse.com
  - Add INFO message for primary group
    This commit adds an INFO message if the primary group is set according
    to the groups attribute in description file.
    Fixes #1059
* Fri Oct 11 2019 dcassany@suse.com
  - Use kiwi-ng and kiwicompat as console_scripts
    This commit instead of installing kiwi-ng-3 and kiwicompat-3 as
    console_scripts it makes use of kiwi-ng and kiwicompat. Then all others
    are created as symlinks at rpm level in spec.
    Fixes #1226
* Thu Oct 10 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.18 → 9.18.19
* Tue Oct 08 2019 dcassany@suse.com
  - Upadate xml_parser autogenerated code
    This commit updates xml_parser.py autogenerated code using a newer
    generateDS version. The previous generateDS version is not properly
    handling the regular expressions of some element's content.
    Fixes #1217
* Tue Oct 08 2019 dcassany@suse.com
  - Remove universal flag
    kiwi is no longer an universal python module, since it does not support
    python 2 anymore. This will prevent to install future versions on
    python2 environments using pip.
    Related with #1226
* Fri Oct 04 2019 dcassany@suse.com
  - Refactor patch_open use in builder's tests
    This commit removes the use of @patch_open decorator
    in favor of directly patching 'builtins.open' and use
    mock.mock_open utility to mock the context manager.
    Related to #1128
* Fri Oct 04 2019 marcus.schaefer@gmail.com
  - Flexible use of linuxefi module
    Not all distributions provides the grub linuxefi module anymore.
    This means a static list for building an efi grub image if needed
    is no longer appropriate. This patch changes the module handling
    at the following places
    1. Use linuxefi for building custom efi modules only if present
    on the host system
    2. Use linuxefi related grub2-mkconfig variables only if the
    host grub2-mkconfig implementation supports it
    3. Prevent building custom efi image on Fedora by extending
    the search path for the distro provided efi image and also
    adapt the spec file accordingly
* Thu Oct 03 2019 dcassany@suse.com
  - Fix the sha256 generated file content
    This commit makes sure the generated sha256 file in a 'kiwi result
    bundle' call includes the filename with the correct extension. For
    compressed files it was omiting the suffix that included during the
    compression.
    Fixes #1223 and related to bsc#1139915
* Wed Oct 02 2019 marcus.schaefer@gmail.com
  - Fixed rpmdb compat link setup
    On older versions of zypper the path /var/lib/rpm was hardcoded
    and not used from the rpm macro definition. For such systems and
    to support them properly on hosts that have the rpm database
    already moved a compat link was created. However if the host has
    the rpm database at /var/lib/rpm the link doesn't make sense.
    This patch fixes this and therefore bsc#1150190
* Tue Oct 01 2019 marcus.schaefer@gmail.com
  - Complete dracut setup for luks boot
    An image that is configured with an encrypted root including /boot
    includes a /.root.keyfile in initrd to let dracut/systemd decrypt
    the root and mount it without asking the password. On rebuild of
    the initrd, dracut has no configuration that tells it to include
    the /.root.keyfile again. This patch adds that configuration and
    Fixes #1192
* Mon Sep 30 2019 marcus.schaefer@gmail.com
  - Follow up patch for SourceType info
    The message that display the selected source type was
    using the former metalink text which is wrong. This
    patch corrects the message and only display it if a
    sourcetype was specified
* Mon Sep 30 2019 marcus.schaefer@gmail.com
  - Update contributing chapter
    Simplify the setup of a development environment and
    update the documentation appropriately
* Mon Sep 30 2019 marcus.schaefer@gmail.com
  - Support specifying the source type of repos
    Repository source paths can be more than just a baseurl.
    There is also the opportunity to point to a metalink
    file or a mirrorlist. In both cases the packagemanager
    needs to know the type of this target. Therefore a new
    attribute called sourcetype exists which allows to
    specify the type the repo path uri is associated with.
    Currently the dnf repository class is the only one that
    makes use of the information. This change is required to
    support Fedora >= 30 images. I also expect this concept
    to be used by other distributions in the future
* Mon Sep 30 2019 dcassany@suse.com
  - Using the correct Tumbleweed base image
* Fri Sep 27 2019 marcus.schaefer@gmail.com
  - Refactor use of raises in unit tests
    Use raises as context manager instead of a method decorator.
    This clearly identifies which code part is expected to raise
    an exception. Related to Issue #1128
* Thu Sep 26 2019 marcus.schaefer@gmail.com
  - Refactor repository unit tests
    Refactor repository unit tests as described in Issue #1128
* Wed Sep 25 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.17 → 9.18.18
* Wed Sep 25 2019 marcus.schaefer@gmail.com
  - Fixed typo in message text
    Systen -> System
* Wed Sep 25 2019 marcus.schaefer@gmail.com
  - Fixed return code validation of check_filesystem
    Usually the return code from the filesystem check tools is
    simple: Non zero exit code means an error occurred. However
    in case of the extX filesystem this does not apply. This
    commit documents the possible error conditions and supplies
    a tool specific check condition. This Fixes #1209
* Wed Sep 25 2019 marcus.schaefer@gmail.com
  - Update dracut caller options
    No need to pass the --force option and added --verbose option
    as it provides useful information in the image log file
* Tue Sep 24 2019 marcus.schaefer@gmail.com
  - Fixed kiwi-live module setup
    The installation of the checkmedia tool is optional and
    and not mandatory. In addition activate the media check
    verification also through the upstream used rd.live.check
    kernel parameter. This is related to Issue #1158
* Mon Sep 23 2019 dcassany@suse.com
  - Update documentation to the PXE install file names
* Mon Sep 23 2019 marcus.schaefer@gmail.com
  - Update kiwi live ISO chapter
    Compare overlay vs.dmsquash live ISO modules by their
    features to allow customers a proper selection of the
    module. This Fixes #1158
* Mon Sep 23 2019 dcassany@suse.com
  - Add information in PXE install files
    This commmit adds additional information for the image and pxeboot files
    that are part of the install tarball in OEM PXE deployments. This way all
    files inside the install tarball include the following pattern
    <image-name>.<arch>-<version>
    at the same time anyfile prefix and suffix remains unchanged.
    Fixes #1147
* Fri Sep 20 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.16 → 9.18.17
* Wed Sep 18 2019 dcassany@suse.com
  - Make kiwi-overlay module compatible with kiwi-repart
    This commit makes the modules provided by dracut-kiwi-overlay and
    dracut-kiwi-oem-repart compatible. The main idea of this commit
    is forcing the preparation of the overlay rootfs write partition
    after kiwi-repart gets into the play. Since kiwi-overlay mounts the
    write partitiontition it has to be executed after the kiwi-repart.
    For that instead of doing the job using an initqueue event added by a
    udev rule we just add the very same logic in pre-mount hook that happens
    after the kiwi-repart pre-mount hook thanks to lower priority.
    Fixes #1184
* Wed Sep 18 2019 49054986+lorenzen-b1@users.noreply.github.com
  - fix docu following schema: profile inheritance
    following the schema the "requires" element needs an attribute "profile"
* Tue Sep 17 2019 marcus.schaefer@gmail.com
  - Use grub2-mkconfig for writing grub config
    Instead of creating a template based grub config file, use
    grub2-mkconfig to create the config file during the build
    process. This commit changes from config template to grub2
    tooling for the disk based image types vmx and oem
    This Fixes #1194
* Tue Sep 17 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.15 → 9.18.16
* Tue Sep 17 2019 dcassany@suse.com
  - Fix modules omission for dracut based initrds
    This commit fixes a regression introduced in 07ea23a4. In OEM images
    the dracut modules were not properly omitted as the code was evaluating
    the wrong variable.
    Fixes #1201
* Fri Sep 13 2019 dcassany@suse.com
  - Fix GPT to MBR convertion
    This commit swaps the order of the command in gpt to mbr convertion
    in partitioner.gpt.set_mbr method.
    sgdisk by default converts the partition table from MBR to GPT in memory.
    The change is never applied unless you provide the -g option forcing to
    overwrite the partition table format. If sgdisk does the convertion in
    memory and the user does not provide the -g flag it returns an error
    code.
    The solution applied in this commit is to just run the GPT to MBR
    convertion as the last sgdisk command and change partition type before
    running the convertion.
* Fri Sep 13 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.14 → 9.18.15
* Fri Sep 13 2019 30520224+jpwidera@users.noreply.github.com
  - Fixed user permission
    The comand was evaluated as chmod -c -R '...' . This is not the
    correct syntax. Removing quotation marks solved problem
    and Fixes #1191
* Thu Sep 12 2019 dcassany@suse.com
  - Clean up openstack packages
* Thu Sep 12 2019 dcassany@suse.com
  - Fix unresolves for x86 integration tests
    nfsidmap package is no longer available in TW. It's been renamed to
    libnfsidmap1, moreover this is a package already required by nfs-client
    and similar packages. Thus gets installed in the modified image
    descriptions without having to list it, as it is already a dependency of
    another required package.
* Thu Sep 12 2019 marcus.schaefer@gmail.com
  - Do not require multipath in dracut-kiwi-oem-dump
    Installation of multipath tools triggers storage devices
    to be handled as multipath maps in dracut. If the deployment
    happens in a non multipath system those devices do not exist
    and the system later hangs in the dracut initqueue waiting
    for mapper devices that never appears
* Thu Sep 12 2019 jan.widera@posteo.de
  - Reverting partsthat are already implemented
    This problem is discussed in #1195
* Tue Sep 10 2019 jan.widera@posteo.de
  - Switched back to original root-device search
* Tue Sep 10 2019 marcus.schaefer@gmail.com
  - Detect raid compound in root disk detection
    Make sure raid managed storage e.g fake raid is detected
    using the correct md device. Fixes #1181
* Tue Sep 10 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.13 → 9.18.14
* Fri Aug 30 2019 widera@helzel.com
  - Allows to list fake-raid partitions
    Solves problem in #1181
* Fri Aug 30 2019 dcassany@suse.com
  - Add the `-wildcards` flag in mksqashfs call
    This commit ensures the `-wildcards` flag of mksquashfs is being used.
    This is related to #1184
* Fri Aug 30 2019 dcassany@suse.com
  - Adding overlayroot integration test
* Thu Aug 29 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.12 → 9.18.13
* Thu Aug 29 2019 marcus.schaefer@gmail.com
  - Add --add-bootstrap-packages option
    The prepare and build commands now allows to specify additional
    packages to be installed as part of the early bootstrap phase
    This Fixes #1151
* Wed Aug 28 2019 marcus.schaefer@gmail.com
  - Detect raid disks in oem dump module
    The current disk detection only takes lsblk entries into
    account that marks the device as 'disk'. However on raid
    disks like fake raid controllers the disk is mapped via
    dmraid and marked as 'raidX' device. This commit also takes
    those devices into account for deployment. Issue #1181
* Tue Aug 27 2019 marcus.schaefer@gmail.com
  - Fix return value of is_prepared method
    The method is expected to return a bool value. In fact it
    returned a list. An empty list is evalutated as False in
    python, a list with content as True. So the way the method
    is used is correct but the return value should be a real
    bool value to match the docs and expectations. Also the
    unit test for this code was wrong. This Fixes #1175
* Mon Aug 26 2019 marcus.schaefer@gmail.com
  - Update documentation regarding fstab adaptions
* Mon Aug 26 2019 marcus.schaefer@gmail.com
  - Add support for custom fstab script extension
    In addition to fstab append and patch features we also allow
    an fstab.script file that is called chrooted. The change is
    needed to support overlay mounting of filesystems as part
    of the initrd. If system filesystems needs to be changed in
    a way that they can be used in an overlay mount, the standard
    mount entry has to take the x-initrd.mount capability which
    requires a modification of the fstab which is cumbersome to
    handle as a patch file. This concept is currently used as
    part of the MicroOS project in SUSE and is applied in the
    integration test build maintained for this target. This
    Fixes bsc#1129566
* Fri Aug 23 2019 ngompa13@gmail.com
  - Fix GitLab CI jobs for building on Fedora
    Mock is incorrectly using systemd sysusers now without a systemd dependency or
    working sysusers scriptlets. For now, manually create the mock group.
    In addition, let's go ahead and upgrade to a Fedora 30 chroot for the mock builds.
* Fri Aug 23 2019 dcassany@suse.com
  - Avoid default installation of dracut kiwi modules
    With this commit dracut modules won't be installed by default
    in the initrd unless they are requested by the commandline calling
    dracut or by a dracut configuration file.
    Fixes bsc#1142899 bsc#1136444
    Fixes #1103
* Fri Aug 23 2019 marcus.schaefer@gmail.com
  - Update live iso integration test build
    Our live iso test is setup for EFI. Since the switch to grub
    no isolinux will be used with the test. Thus there is no need
    to install the gfxboot branding package anymore
* Thu Aug 22 2019 dcermak@suse.com
  - Stop inheriting from object
    This is no longer required in Python3
* Thu Aug 22 2019 dcassany@suse.com
  - Add crypt dependency to kiwi-lib dracut module
    This commit fixes the dependencies of the kiwi-lib dracut module to
    include crypt module required by kiwi-luks-lib.sh.
    In addition it also updates the check() section to return 255 instead of
    0. In check section a return code of 0 means install it, 255 install
    only if required by another module, anything else, do not install.
    Related with bsc#1142899
* Wed Aug 21 2019 marcus.schaefer@gmail.com
  - Create ssh host keys for MicroOS test image
* Wed Aug 21 2019 marcus.schaefer@gmail.com
  - Added network setup for MicroOS test build
* Tue Aug 20 2019 schwab@suse.de
  - Add support for riscv64
* Tue Aug 20 2019 marcus.schaefer@gmail.com
  - Fixed conflict in integration build tests
    pkgconf-pkg-config conflicts with pkg-config on TW
* Tue Aug 20 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.11 → 9.18.12
* Mon Aug 19 2019 marcus.schaefer@gmail.com
  - Added MicroOS integration test
    The future technologies team is implementing a coreOS derivate
    based on btrfs and some overlay technology. For supporting them
    some changes were required in kiwi and thus we should add an
    integration test build which makes use of this features.
* Mon Aug 19 2019 marcus.schaefer@gmail.com
  - Add required cryptomount coding for EFI boot
    For non EFI boot grub2-install has code which gets activated
    through the GRUB_ENABLE_CRYPTODISK setting. However for the
    EFI boot case no installation of boot code is needed and
    therefore the grub earlyboot script has to run cryptomount
* Mon Aug 19 2019 marcus.schaefer@gmail.com
  - Add /mnt to list of protected paths
    On recursive removal make sure /mnt belong to the protected
    elements. This Fixes #1170
* Mon Aug 19 2019 marcus.schaefer@gmail.com
  - Added full encrypted image build test
* Fri Aug 16 2019 marcus.schaefer@gmail.com
  - Extended LUKS encryption support
    We supported luks encrypted images with the exception of the
    boot partition because grub was not able to read from an
    encrypted device at that time. Since some time grub is able
    to read from an encrypted partition and this commit add
    support for it. With this patch luks encrypted images will
    no longer create an extra boot partition and the entire
    system will be encrypted. The opening of the luks container
    happens on the grub level only once. Customers can still
    specify to use an unencrypted extra boot partition with the
    bootpartition="true" flag. In this case the opening of the
    luks containers happens on the systemd level as before.
    This is related to Issue #1162
* Thu Aug 15 2019 stefan.seyfried@sap.com
  - remove '-z' option from rsync local copy calls
    rsync's "compress" option just does not make any sense when rsync is
    used to copy files locally, it only increases CPU usage and slows down
    the process ;-)
* Wed Aug 14 2019 marcus.schaefer@gmail.com
  - Delete SuSEfirewall2 from test builds
    The package seems to be no longer present on suse
* Wed Aug 14 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.10 → 9.18.11
* Mon Aug 12 2019 marcus.schaefer@gmail.com
  - Allow dracut initrd to be used with pxe type
    The pxe image type builds a simple filesystem image plus a
    custom initrd. That initrd is usually build from the kiwi
    netboot image descriptions which implements a workflow to
    fetch the filesystem image and deploy it as rootfs for a
    pxe client. User who wants to implement their own handling
    of the rootfs image in e.g a custom dracut module were not
    able to build this image type because we did not allow
    the initrd_system attribute for the pxe type
* Mon Aug 12 2019 marcus.schaefer@gmail.com
  - Use message variable for long message text
* Mon Aug 12 2019 marcus.schaefer@gmail.com
  - Fixed handling of bool values in initrd code
    Some values evaluated in the initrd code are created in
    the kiwi builder and passed in as a profile file. bool
    values created by kiwi for use in shell scripts takes
    the string 'true' or 'false' or are not set at all if not
    specified in the kiwi XML description. Some code paths
    in the initrd code uses the '-n' switch to check for bool
    values, however if the string 'false' is passed '-n' will
    do the wrong thing. Therefore a method for the initrd
    code has been introduced to clearly handle bool values
* Mon Aug 05 2019 dcassany@suse.com
  - Bump version: 9.18.9 → 9.18.10
* Fri Aug 02 2019 dcassany@suse.com
  - Align setup.py with the correct license
* Fri Aug 02 2019 marcus.schaefer@gmail.com
  - Pass components to debootstrap call
    If repo components are specified the collective list of
    component names should be passed to the debootstrap call.
    This Fixes #1157
* Thu Aug 01 2019 marcus.schaefer@gmail.com
  - Update image name for s390 oem integration test
    Align image name to the schema we use for all other
    integration tests
* Thu Aug 01 2019 marcus.schaefer@gmail.com
  - Fixed zipl bootloader setup
    targetgeometry not allowed for targettype SCSI
* Fri Jul 26 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.8 → 9.18.9
* Fri Jul 26 2019 marcus.schaefer@gmail.com
  - Fixed left over import of six module
    The use of the six compat module was needed to support py2
    With the drop of py2 support all of six was no longer needed.
    However this one was overlooked.
* Fri Jul 26 2019 daniel.molkentin@suse.com
  - 99-kiwi-lib requires rmdir, install it
    Fixes bsc#1143033
* Thu Jul 25 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.7 → 9.18.8
* Wed Jul 24 2019 marcus.schaefer@gmail.com
  - Added multiconsole setup to Fedora build test
* Tue Jul 23 2019 marcus.schaefer@gmail.com
  - Allow multiple values for grub terminal setup
    With regards to the grub documentation from
    https://www.gnu.org/software/grub/manual/grub/grub.html#terminal_005finput
    multiple terminal consoles can be active. This patch allows
    to specify terminal collection between serial, console and gfxterm
    This Fixes #1123
* Tue Jul 23 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.6 → 9.18.7
* Mon Jul 22 2019 marcus.schaefer@gmail.com
  - Fixed use of Command calls in destructors
    The Command class creates namedtuple to store the result
    of the call. That tuple is created inside of the Command
    namespace. If called inside of a __del__ destructor which
    is often the case in kiwi classes I recently observed an
    exception from python saying:
    File "/usr/lib64/python3.6/collections/__init__.py", line 429, in namedtuple
    File "<string>", line 1, in <module>
    ModuleNotFoundError: import of builtins halted; None in sys.modules
    I do not understand why this is a problem for python now
    and only found the solution in making the command_type variable
    a global namedtuple.
* Mon Jul 22 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.5 → 9.18.6
* Sat Jul 20 2019 ngompa13@gmail.com
  - Fix the pyxattr dependency to allow kiwi to function
    Most Linux distributions offer the pyxattr module, including
    openSUSE Tumbleweed. Going forward, we will use the pyxattr
    module by default as a dependency and only switch back to the
    other xattr module when on older SUSE Linux distributions that
    lack the pyxattr module.
    Note that because kiwi uses setuptools to create the CLI entry
    points, kiwi checks the Python dependencies before executing,
    so we change the dependency in the setup.py accordingly so that
    it will not fail to start.
* Fri Jul 19 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.4 → 9.18.5
* Fri Jul 19 2019 marcus.schaefer@gmail.com
  - Update spec file requirements for xattr
    On suse systems the python-xattr module is used. On any other
    distribution the python-pyxattr module is used. This commit
    modifies the spec file to reflect the Requires tag appropriately.
    On CentOS there is currently no pyxattr build available. Thus we
    provide that package for this target in the KIWI Staging area
    at Virtualization:Appliances:Staging. There is an ongoing effort
    to bring pyxattr to EPEL which would make it available on CentOS
    and would obsolete the custom build we did.
* Fri Jul 19 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.3 → 9.18.4
* Fri Jul 19 2019 marcus.schaefer@gmail.com
  - Update PXE integration test
    Move to multibuild, build one standard(uncompressed) filesystem
    image and one compressed version. In any case we expect only
    one compression process either on the filesystem file or on
    the archive creation. This is related to Issue #1039
* Fri Jul 19 2019 dcassany@suse.com
  - Do not recompress PXE image if compressed flag is true
    This commit is two fold:
    * Refactor PXE builder to make use of the ArchiveTar instead of
    directly calling tar command.
    * Do not compress PXE tarball if the contained image is already
    compressed according the type's compressed attribute.
    Related to #1039
* Fri Jul 19 2019 marcus.schaefer@gmail.com
  - Fixed use of FileSystemBuilder class
    This was a broken coding for the construction of a
    FileSystemBuilder instance in the PxeBuilder implementation.
    The unit testing did not fail due to mocking code.
    Integration testing however showed it immediately
* Thu Jul 18 2019 marcus.schaefer@gmail.com
  - Added support for fscreateoptions attribute
    Along with the fsmountoptions attribute there is now also the
    fscreateoptions attribute which allows to control the options
    used for creating the filesystem. Please note, it's not kiwi's
    task to validate that the given option string is supported
    by the selected filesystem. This means providing wrong values
    here will cause the build to fail at the time the filesystem
    gets created. This Fixes #1109
* Wed Jul 17 2019 dcassany@suse.com
  - Do not compress the install tarball archive
    Most of the components of the *.install.tar.xz file of a PXE install
    image are already compressed, thus it doesn't make much sense to
    recompress them again.
    Fixes #1032
* Tue Jul 16 2019 dcermak@suse.com
  - virtual_size must be an integer in metadata.json for libvirt vagrant boxes
    vagrant-libvirt expects that the parameter virtual_size from metadata.json is an
    integer and not a string.
    Supplying a string results in a backtrace when the user provides a different
    value for libvirt.machine_virtual_size (as the integer is then compared to
    string).
* Tue Jul 16 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.2 → 9.18.3
* Mon Jul 15 2019 marcus.schaefer@gmail.com
  - Fixed ISO creation in EFI mode with cdrtools
    The changes introduced in #1113 will use the configured bootloader
    e.g grub to boot the ISO image in BIOS and EFI mode. The creation
    process works flawlessly if xorriso is used. However if cdrtools
    are configured the options passed to e.g mkisofs were wrong. In
    addition it's not possible to create a hybrid ISO based on
    isohybrid if the loader is not isolinux. If cdrtools are in use
    the process to make an ISO hybrid bootable is always based on
    isohybrid and thus only works with isolinux. This patch also
    covers this case with a warning message and the consequence that
    we have to skip the hybrid setup in this case.
* Mon Jul 15 2019 marcus.schaefer@gmail.com
  - Fixed setup of bootloader files
    The BootLoaderConfig class interface writes several files
    e.g etc/sysconfig/bootloader, boot/grub2/grub.cfg and more.
    Depending on the image type some of those files belongs
    into the root directory and some belongs into the boot
    directory. For standard images both locations points to
    the same master root entry point. However for special
    types like live systems the root tree and the boot tree
    are different targets. For example live root filesystems
    are a squashfs compressed image file whereas the plain
    booting information lives outside. Because of that this
    patch introduces a refactoring of the BootLoaderConfig
    class to allow to distinguish between root_dir and
    boot_dir paths. In addition the live image builder makes
    use of the new concept and thus Fixes #1112
* Fri Jul 12 2019 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
* Fri Jul 12 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.1 → 9.18.2
* Fri Jul 12 2019 marcus.schaefer@gmail.com
  - Update documentation references
    The kiwi project has been moved into its own upstream
    organisation named OSInside. Due to the move some doc
    and README references needs to be adapted
* Fri Jul 12 2019 marcus.schaefer@gmail.com
  - Bump version: 9.18.0 → 9.18.1
* Thu Jul 11 2019 marcus.schaefer@gmail.com
  - Fixed spec for use with Recommends
    The Recommends tag is not known by CentOS/RHEL < v8
* Thu Jul 11 2019 marcus.schaefer@gmail.com
  - Bump version: 9.17.42 → 9.18.0
* Wed Jul 10 2019 marcus.schaefer@gmail.com
  - Update documentation
    The kiwi-descriptions repository has been moved into the
    OSInside organisation
* Wed Jul 10 2019 marcus.schaefer@gmail.com
  - drop py2 variant of kiwi from completion
* Wed Jul 10 2019 ngompa13@gmail.com
  - Simplify packaging and re-add support for building for CentOS 7
* Tue Jul 09 2019 dcermak@suse.com
  - Don't add config.vm.base_mac to libvirt vagrant boxes
    - Refactor VagrantConfigTemplate to no longer require a base_mac by default
    - Move _random_mac() to Virtualbox subclass
    - Include config.vm.base_mac in Virtualbox boxes via
    get_additional_vagrant_config_settings()
    This fixes #1119
* Mon Jul 08 2019 marcus.schaefer@gmail.com
  - Bump version: 9.17.41 → 9.17.42
* Mon Jul 08 2019 marcus.schaefer@gmail.com
  - Fixed get_persistent_device_from_unix_node
    The method get_persistent_device_from_unix_node takes a device
    path and looks up it's basename to be present as persistent
    variant below the given schema, e.g by-id. However if the
    method receives an already persistent device path e.g from
    /dev/mapper the persistent schema representation will only
    match a numbered dm-N device and not the map name. The method
    then returns nothing but should return the original device
    path. This caused bad after effects like reported in
    Issue SUSE-Enceladus/azure-li-services#163
* Sun Jul 07 2019 marcus.schaefer@gmail.com
  - Drop support for python2
    Python2 is announced to be unmaintained from Jan 2020.
    KIWI supports Python 2.7 and it should not support any python version that
    is not maintained upstream. This Fixes #1036
* Fri Jul 05 2019 dcermak@suse.com
  - [doc] Add user documentation about the usage of the embedded Vagrantfile
    - Document the usage of the `vagrantconfig.embedded_vagrantfile` attribute
    - Remove the suggestion to generate the ssh keys during image creation (this
    results in **all** boxes having the same ssh host keys, which is pretty
    dangerous if someone would use a vagrant box in a production environment.)
    - Stop recommending veewee, this project is dead
    - Replace forgotten hard coded number with {schema_version}
* Thu Jul 04 2019 dcermak@suse.com
  - Fix test breakage when /etc/kiwi.yml is present
    The unit test for the RuntimeConfig class are also testing the default values in
    some functions. To work around a possibly existing ~/.config/kiwi/config.yml,
    several functions change the value of HOME. This is unfortunately not
    sufficient if a /etc/kiwi.yml exists, as that one is taken as a fallback *if*
    ~/.config/kiwi/config.yml isn't present.
    This issue is fixed by creating a default_runtime_config with os.path.exists
    patched to return False. Thereby none of the runtime configuration files will be
    taken into account.
* Thu Jul 04 2019 dcermak@suse.com
  - Add embedded_vagrantfile attribute to vagrantconfig
    This element allows the user to specify a relative path to an alternative
    Vagrantfile that will be embedded inside the finished Vagrant box.
    - update XML schema
    - add additional logic to DiskFormatVagrantBase.create_image_format
    - add unit test for the custom Vagrantfile
    - fix other vagrant unit tests
* Thu Jul 04 2019 marcus.schaefer@gmail.com
  - Bump version: 9.17.40 → 9.17.41
* Wed Jul 03 2019 marcus.schaefer@gmail.com
  - Update Boot From Hard Disk method
    Instead of searching for an efi binary to boot, use the exit method
    that exits from grub and let the firmware choose the next entry
    in the device list
* Wed Jul 03 2019 nadvornik@suse.cz
  - Do not crash on missing HOME
* Tue Jul 02 2019 marcus.schaefer@gmail.com
  - Added live ISO integration tests for arm
* Tue Jul 02 2019 marcus.schaefer@gmail.com
  - Consolidate syslinux file names and search paths
    Handle those file names and search path in the Defaults space
    and only once in the code
* Tue Jul 02 2019 guillaume.gardet@free.fr
  - Remove '^' which break BaseStripFirmware function (boo#1132455)
* Mon Jul 01 2019 dcassany@suse.com
  - Do not supress output for dracut call
    This commit adds a stderr_to_stdout option to Command.run method to
    redirect stderr to stdout.
    Additionally this commit also includes to the debug log the dracut
    call output, including both, stderr and stdout.
    Fixes #1114
* Mon Jul 01 2019 marcus.schaefer@gmail.com
  - Fixed path_test unit test
    The code there checked for the message of an exception
    but recent changes in pytest did not allow to do it that
    way anymore.
* Mon Jul 01 2019 marcus.schaefer@gmail.com
  - Fixed zipl bootloader setup
    On zipl we manually move the kernel and initrd file to the
    zipl boot path because symlinks can't be read. That move
    operation used the wrong filenames and was broken since
    baseCreateCommonKernelFile is only used in the legacy
    custom kiwi boot images but not in the dracut case.
* Fri Jun 28 2019 dcassany@suse.com
  - Adding support for Pacman package manager
    This commit adds support for pacman package manager and, in
    consequence, support for Arch Linux images. It also adds
    the package definition for Arch Linux.
* Fri Jun 28 2019 marcus.schaefer@gmail.com
  - update per review by Tom
* Thu Jun 27 2019 marcus.schaefer@gmail.com
  - Fixed spec file requirement list for arm on Fedora
    The package u-boot-tools is named uboot-tools on Fedora and RHEL
* Thu Jun 27 2019 marcus.schaefer@gmail.com
  - Update secure boot fallback code
    With the concept of shim being an option and not mandatory
    also the fallback code has to adapt and treat the absence
    of shim.efi as not fatal. In this situation we expect the
    found grub.efi binary to be correctly signed which we can
    only assume but not prove
* Thu Jun 27 2019 marcus.schaefer@gmail.com
  - Make signed grub search path more generic
* Wed Jun 26 2019 marcus.schaefer@gmail.com
  - Update distribution support information
    Update the documentation with regards to our supported
    distribution statement. This Fixes #1108
* Wed Jun 26 2019 marcus.schaefer@gmail.com
  - Update signed grub.efi search path list
    On arm there is no shim package that provides a signed grub
    loader for secure boot. Instead the grub package(s) provides
    the signed loader under yet another location in the system.
    This commit adds the new search path
* Wed Jun 26 2019 marcus.schaefer@gmail.com
  - Refactor ISO boot, use grub in EFI mode
    Before this commit isolinux was used to boot an ISO and
    thus forms a hard requirement. isolinux however only
    exists for the x86 platform. This limitation did not
    allow to create ISO images for other platforms. With this
    commit a refactoring of the ISO boot setup is introduced.
    * isolinux is only used if the bios firmware is requested
    and the platform matches the x86 architecture. A runtime
    check will check for this condition and exits early if
    not applicable
    * in case of the EFI firmware we already used grub in
    EFI mode but still had isolinux in place for the legacy/CSM
    boot. That part is now also replaced by a platform specific
    grub eltorito image and grub's boot_hybrid.img for hybrid
    boot. On platforms that do not provide those modules the
    support for it will be skipped
    With this change in place it's possible to control the ISO
    boot layout through the firmware setup and all platform
    specific modules are handled as such. Therefore we also
    deleted the syslinux requirement. This Fixes #1092
* Tue Jun 25 2019 dcassany@suse.com
  - Fix memory leak in OCI contianer tests
    This commit fixes a memory leak in container_image_oci_test caused
    by partially mocking a file opening. A ContainerImageOci instance
    tries to open and read two files: the runtime configuration, if
    present, and the `/.buildenv`, if present. In order to test the
    `/.buildenv` presence file opening is mocked causing the runtime
    configuration reading fall in an inifite loop. This commit mocks the
    the RuntimeConfig instances to avoid this issue.
    Fixes #1110
* Mon Jun 17 2019 marcus.schaefer@gmail.com
  - Stabilize Gitlab rpm stage
    The rpm stage in the gitlab CI pipeline runs against a collection
    of mirror services. If those mirrors are not available the test
    fails. Such failed tests are cumbersome because they don't indicate
    an error condition we can/should fix. The openSUSE TW mirrors
    showed to be unreachable more often than others which might be
    because that target changes their content relatively often. This
    patch changes the test strategy to allow the TW rpm test to fail
    but still keep the other rpm targets mandatory as they don't show
    the connection problems.
* Fri Jun 14 2019 marcus.schaefer@gmail.com
  - Provider better error message in prepare phase
    In case of an error the real valuable information is often
    somewhere in the package manager output that does not get
    exposed to the users console by default. The error message
    we provide should tell users how they can get further details
    such that they know how to find the real cause of the problem.
    This patch enhances the error message in that regard.
* Tue Jun 11 2019 dcassany@suse.com
  - Make kiwi installable in a venv
    This commit sets the buildroot to the venv `sys.prefix`. This way
    all the binaries are installed in a path under the venv.
    Fixes #1022
* Fri Jun 07 2019 marcus.schaefer@gmail.com
  - Bump version: 9.17.39 → 9.17.40
* Wed Jun 05 2019 marcus.schaefer@gmail.com
  - Decrease the default min partition size
    The default 50M as min size for a partition could be set
    to a smaller value. For now 10MB seems to be enough for
    the overhead calculation and leads to more accurate results
    on the specified size constraints
* Mon May 27 2019 marcus.schaefer@gmail.com
  - Update documentation for consistency
    Instead of hard coded names for example images and their
    versions a prolog map including placeholders has been
    added.
* Fri May 24 2019 marcus.schaefer@gmail.com
  - Bump version: 9.17.38 → 9.17.39
* Thu May 23 2019 marcus.schaefer@gmail.com
  - Update obs docs per review by Tom
* Wed May 22 2019 dcassany@suse.de
  - Disable check-valid-until with repository_gpgcheck
    This commit is two fold:
    * From one side fixes a wrong use of the `trusted` option for
    apt repositories. `trusted=no` does not force to run the gpg checks
    it just forces the repository to be considered untrusted regardless
    the result of the security checks.
    * From the other side it disables the option `check-valid-until` in
    case gpg checks are disabled using the `repository_gpgcheck`. It
    works at repository level. This enables using unmaintained or
    expired repositories for the build.
    Fixes #1028
* Fri May 17 2019 toms@suse.de
  - Simplify shell pipe expression with shell builtin
    Replace "echo $var | sed ..." expression with ${var//SEARCH/REPLACE}
    shell builtin as suggested by Codacy
* Thu May 16 2019 marcus.schaefer@gmail.com
  - Fixed runtime checker message
    The output of check_image_include_repos_publicly_resolvable was
    not well formatted and was also using an object address that
    is not useful for users
* Wed May 15 2019 marcus.schaefer@gmail.com
  - Make mediacheck runtime check arch independent
    The check_mediacheck_only_for_x86_arch runtime check fails on
    non x86 architectures but the tagmedia toolchain exists independent
    of the platform architecture. This Fixes #1091
* Tue May 14 2019 marcus.schaefer@gmail.com
  - Set home as protected path
    Along with adding home to the protection list, cleanup
    the prepare instance cleanup code in a way that it only
    runs if a root_bind object exists which needs to call
    its cleanup path
* Mon May 13 2019 dcermak@suse.com
  - Extend docs about building multiple profiles on OBS
* Fri May 10 2019 dcermak@suse.com
  - Remove FIXME from the runtime configuration file example
* Thu May 09 2019 dcermak@suse.com
  - Improve the documentation about building in the Build Service
    Co-Authored-By: Thomas Schraitle <tom_schr@web.de>
* Thu May 09 2019 dcermak@suse.com
  - Turn sphinx warnings into errors
    Modify the sphinx Makefile to treat warnings
    like undefined references as errors
* Wed May 08 2019 aplanas@gmail.com
  - kiwi-live-lib: mount live ISO as read-only
    During the boot process of a live image, dracut shows this WARNING:
    dracut-initqueue: mount: /run/initramfs/live: WARNING: device write-protected, mounted read-only
    This is not a problem, as the live ISO image is, indeed, read-only.
    This patch fix this cosmetic issue being explicit in the mount
    options in `mountIso` function.
* Tue May 07 2019 marcus.schaefer@gmail.com
  - Call isolinux-config only on supported archs
* Mon May 06 2019 dcassany@suse.de
  - Discard default dependencies for sysroot.mount
    This commit makes default dependencies from sysroot.mount to be
    explicitly omitted. This fixes potential inconsistencies in
    ordering pre-mount.service with local-fs.target. This change is
    also applied to upstream sysroot.mount generator here:
    https://github.com/systemd/systemd/pull/12281
    Fixes #1015
* Fri May 03 2019 dcassany@suse.de
  - Fix locale setting
    For pre-Leap 15 openSUSE versions KIWI >= 9.12.0 was not completely
    setting locale, as it was missingto set the RC_LANG variable from
    `/etc/sysconfig/language` file. Current commit enforces to update
    locale in `/etc/sysconfig/language` (if the file exists) at the
    same time it applies systemd-firstboot configurations.
    Fixes #1081
* Thu May 02 2019 dcermak@suse.com
  - Cleanup TODO & FIXME from xml_description.rst
* Fri Apr 26 2019 dcermak@suse.com
  - Add GitLab CI pipeline badge to README.rst
* Fri Apr 26 2019 dcermak@suse.com
  - Extend the development documentation
    Co-Authored-By: Thomas Schraitle <tom_schr@web.de>
* Fri Apr 26 2019 dcermak@suse.com
  - Log thrown exceptions in Compress.get_format()
* Fri Apr 26 2019 dcermak@suse.com
  - Fix documentation of Compress.get_format()
* Fri Apr 26 2019 dcermak@suse.com
  - log exception in SystemPrepare.__del__
* Fri Apr 26 2019 dcermak@suse.com
  - Use yaml.safe_load instead of yaml.load
    yaml.load is relatively dangerous when the loaded data comes from untrusted
    sources, as it can allow for arbitrary code execution, see:
    https://pyyaml.org/wiki/PyYAMLDocumentation#LoadingYAML
    safe_load limits the created python objects to the basic Python types like
    integers and strings, which is all that we need for the runtime configuration
    file.
* Thu Apr 25 2019 marcus.schaefer@gmail.com
  - Fixing doc source for broken refs and xml syntax
* Wed Apr 24 2019 dcermak@suse.com
  - Document the usage of profiles via the CLI and OBS
* Wed Apr 24 2019 tomschr@users.noreply.github.com
  - Apply suggestions from @tomschr
    Co-Authored-By: dcermak <45594031+dcermak@users.noreply.github.com>
* Wed Apr 24 2019 dcermak@suse.com
  - Improve the documentation of the runtime configuration file
    Co-Authored-By: Thomas Schraitle <tom_schr@web.de>
* Wed Apr 24 2019 tomschr@users.noreply.github.com
  - Apply suggestions from @tomschr
    Co-Authored-By: dcermak <45594031+dcermak@users.noreply.github.com>
* Wed Apr 24 2019 dcermak@suse.com
  - Extend the documentation of Custom Disk Volumes
* Wed Apr 24 2019 dcermak@suse.com
  - Add documentation of the XML schema in a tutorial like fashion
    Co-Authored-By: Thomas Schraitle <tom_schr@web.de>
* Wed Apr 24 2019 dcermak@suse.com
  - Add documentation how to configure VMX build types
* Tue Apr 23 2019 dcermak@suse.com
  - Cleanup warnings in utils/size.py
    - use a raw string for the regexp search string
    - improve the readability of the returned value
* Tue Apr 23 2019 dcermak@suse.com
  - Make the user.password attribute mandatory
    Not providing a user password results in an error when usermod or openssl
    is later called by kiwi (depending on the value of `pwdformat`).
    This fixes #1061.
* Tue Apr 23 2019 marcus.schaefer@gmail.com
  - Fixed repo setup for cloud integration test builds
    Using the devel:languages:python repos leads to inconsistencies
    on the module dependencies
* Mon Apr 22 2019 marcus.schaefer@gmail.com
  - Bump version: 9.17.37 → 9.17.38
* Mon Apr 22 2019 marcus.schaefer@gmail.com
  - Delete obsolete repository types
    Deleted red-carpet, slack-site, up2date-mirrors, urpmi and yast2
    from the allowed values list of the repository type attribute.
    This Fixes #1029
* Mon Apr 22 2019 marcus.schaefer@gmail.com
  - Fixed build_in_buildservice stale references
    Fixed style issues reported on sphinx build. Also deleted
    pointers to non existing references
* Mon Apr 22 2019 marcus.schaefer@gmail.com
  - Delete suseRemovePackagesMarkedForDeletion
    Any package removal is controlled by kiwi itself. There is no
    need to provide a shell helper method that is rpm specific.
    This Fixes #1054
* Thu Apr 18 2019 dirk@dmllr.de
  - 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>
* Tue Apr 16 2019 dcermak@suse.com
  - Split overview/workflow.rst into multiple files
    Co-Authored-By: Thomas Schraitle <tom_schr@web.de>
* Tue Apr 16 2019 tomschr@users.noreply.github.com
  - Update doc/source/building/build_in_buildservice.rst
    Co-Authored-By: dcermak <45594031+dcermak@users.noreply.github.com>
* Mon Apr 15 2019 dcermak@suse.com
  - Rework documentation about building on OBS
* Mon Apr 15 2019 marcus.schaefer@gmail.com
  - Added integration test guest image for OpenStack
* Sun Apr 14 2019 marcus.schaefer@gmail.com
  - Update suse integration tests per Factory changes
    The way plymouth themes are provided has changed on suse.
    The package plymouth-branding-openSUSE is no longer providing
    the theme named openSUSE. In fact the plan is to switch to
    the upstream bgrt theme which is provided in another package.
    This commit adapts to the changes in the distribution
* Fri Apr 12 2019 dcermak@suse.com
  - Bump copyright year in the docs
* Thu Apr 11 2019 dcermak@suse.com
  - Fix spelling in kiwi.rnc
* Thu Apr 11 2019 marcus.schaefer@gmail.com
  - Bump version: 9.17.36 → 9.17.37
* Wed Apr 10 2019 marcus.schaefer@gmail.com
  - Fix rpm metadata creation
    There are rpm versions that require access to /dev and fail
    with the error message 'Failed to initialize NSS library'
    For details see: https://bugs.centos.org/view.php?id=14767
    Due to the rpm location checkup fix from Issue #1037 this
    change impacts builds for distributions that uses an rpm
    version with the above behavior (e.g CentOS) and fails as
    consequence of the rpm call error. This commit fixes this
    in a way that we make sure the host /dev is available at
    the time of the call.
* Wed Apr 10 2019 marcus.schaefer@gmail.com
  - Bump version: 9.17.35 → 9.17.36
* Wed Apr 10 2019 dcassany@suse.de
  - Fix xml syntax on documentation example
* Wed Apr 10 2019 dcassany@suse.de
  - Add custom curl options docs
* Tue Apr 09 2019 marcus.schaefer@gmail.com
  - Refactor handling of runtime tests check dict
    Consolidate check list into CliTask base class such that we
    can avoid duplication of runtime check dicts. Only runtime
    tests that require stateful information according to the
    commandline call are handled directly in the task code
* Tue Apr 09 2019 marcus.schaefer@gmail.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.
* Tue Apr 09 2019 dcassany@suse.de
  - Adding custom curl options for dracut-kiwi-lib module
    This commit parses the `rd.kiwi.install.pxe.curl_options` argument from
    the kernel command line to read and use curl options for the
    `fetch_file` function of `kiwi-net-lib.sh` utility. Options are passed
    as comma separated values.
    Fixes #891
* Mon Apr 08 2019 dcassany@suse.de
  - Update bootstrap macro management
    This commit extends the bootstrap macro management to also consider
    the case where image was already bootstrap. Note this is a common case
    for building derived container images and also the situation when
    `--allow-existing-root` flag is in use.
* Fri Apr 05 2019 marcus.schaefer@gmail.com
  - Auto upgrade all image descriptions to v7.0 schema
* Fri Apr 05 2019 marcus.schaefer@gmail.com
  - Deleted pxedeploy section
    There is no further demand in the client config creation for the
    legacy netboot code. Customers using the netboot initrd already
    create the client config.<MAC> file manually or through another
    system. With the next generation kiwi we also recommend the disk
    based network deployment using the dracut capabilities and marked
    the netboot code as still supported but on the legacy stream.
    Along with the deletion in the schema the following changes
    were also done:
    * Deleted use of pxedeploy section in implementation
    * Increase schema version to v7.0
    * Update documentation on schema version update
    * Added xsl stylesheet conversion from v6.9 to v7.0
    Automatic schema version upgrade from v6.9 to v7.0 deletes
    the pxedeploy section from any type specification
    This Fixes #19
* Thu Apr 04 2019 dcassany@suse.de
  - Fix filesystem labels
    If multiple volumes were defined they were not properly labeled. This
    commit fixes a miss use of custom_args dictonary by the filesystem
    base class. This class was modifying the given custom_args that is
    passed by reference, thus modifiyng the custom_args instance of the
    caller. This issue was causing to propagate the modified
    create_options of a filesystem across all the volumes, causing all
    volumes to be labelled as ROOT. With this commit Filesystem class
    performs a deepcopy of the custom_args dictionary to limit the scope of
    any change inside each Filesystem instance.
    Fixes #1044
* Thu Apr 04 2019 dcassany@suse.de
  - Bump version: 9.17.34 → 9.17.35
* Wed Apr 03 2019 dcassany@suse.de
  - Fix regression on kiwi-repart dracut module
    There was a regression introduced in #1035 (048b5c3e). We mask
    systemd-fsck-root.service during the repart, but we are not always
    unmasking it. If the repart is not possible the service is masked but
    not unmasked, which causes the boot to fail.
    With this commit after masking the fsck service we trap EXIT and run the
    unmask command on script exit. This way we ensure the unmask command is
    always executed.
* Tue Apr 02 2019 marcus.schaefer@gmail.com
  - Doc fix for lex literal_block as xml
* Mon Apr 01 2019 marcus.schaefer@gmail.com
  - Update compression flag for qcow2 format
    In case of a qcow2 format we store the result uncompressed
    Since the format conversion only takes the real bytes into
    account such that the sparseness of the raw disk will not
    result in the output format and can be taken one by one
    This Fixes bsc#1128146
    In addition the commit includes a refactoring for the
    evaluation of the compress flag in the runtime config.
    Instead of the global overwrite, the flag gets evaluated
    individually at the time the result metadata is created
* Mon Apr 01 2019 dcassany@suse.de
  - Add the possibility to disable runtime checks
    This commit adds runtime configuration parameters to disable the runtime
    checks. This is specially handy if someone does not want to use the kiwi
    dracut modules and provide custom ones instead. In orde disable some
    runtime check consider a runtime config yaml like:
    runtime_checks:
    - disable:
    - check_dracut_module_for_oem_install_in_package_list
    - check_dracut_module_for_live_iso_in_package_list
    This commit fixes #893
* Mon Apr 01 2019 marcus.schaefer@gmail.com
  - Fixup has_rpm method from RpmDataBase class
    The method checked for the presence of /usr/bin/rpm. But
    that binary is also provided by another toolkit named
    busybox. Thus to check if the rpm we are aiming for is
    present the check has been modified to look for /usr/bin/rpmdb
    which is exclusively provided by rpm only. This Fixes #1037
* Sun Mar 31 2019 marcus.schaefer@gmail.com
  - Fixed creation of image metadata files
    At the end of a build process the metadata information files .packages
    and .verified are created. On rpm based systems, rpm is invoked as
    chrooted operation inside the new root tree. For images that gets
    installed exclusively from the bootstrap phase there is no rpm inside
    of the image and the call fails. The result are empty metadata files.
    This patch prevents calling rpm inside of the image root tree if it's
    not installed and also uses the RpmDataBase interface instead of
    directly calling rpm. This Fixes #1037
* Fri Mar 29 2019 marcus.schaefer@gmail.com
  - Bump version: 9.17.33 → 9.17.34
* Fri Mar 29 2019 stefan.seyfried@sap.com
  - kiwi-repart: avoid race between repart and fsck
    See issue #1034, this fixes non-booting CentOS-7 OEM images that fail
    during repartition / FS resize.
    Summary: all parted actions trigger a rescan of partition tables and
    this repeatedly starts / stops systemd-fsck-root.service until it
    finally fails. The workaround is to mask systemd-fsck-root.service
    during repartitioning / FS resize.
* Fri Mar 29 2019 marcus.schaefer@gmail.com
  - Update travis doc building target
    Disable doc test on travis, we have this in the gitlab-ci
    pipeline.
* Fri Mar 29 2019 marcus.schaefer@gmail.com
  - Move sphinx config to python3
    Disable modules that have not been ported to sphinx 2.0 API
* Fri Mar 29 2019 marcus.schaefer@gmail.com
  - Disable linkcheck/spellcheck
    The spellcheck plugin has not been moved to the sphinx 2.0 API
    and there are tons of spelling mistakes reported due to the use
    of technical terms that are unknown to spellcheck. Also disabled
    the linkcheck because it just stands more in our way than it
    reports issues that needs to be fixed.
* Thu Mar 28 2019 marcus.schaefer@gmail.com
  - Bump version: 9.17.32 → 9.17.33
* Thu Mar 28 2019 marcus.schaefer@gmail.com
  - Added integration test for bootstrap only builds
* Thu Mar 28 2019 marcus.schaefer@gmail.com
  - Fixed bootstrap only building
    Image descriptions that define packages in the bootstrap section
    only don't need a package manager inside of the image. However
    the code to update the location of the rpm database did not
    check the presence of rpm and failed on such image descriptions.
    This Fixes #1030
* Tue Mar 26 2019 dcermak@suse.com
  - Extend live ISO documentation
* Tue Mar 26 2019 aplanas@gmail.com
  - Replace @staticmethod with @classmethod when needed
    @classmethod are used in Python to represent methods that can
    query and update the class (cls parameter). Is expected to be
    used for metaprograming, or advanced techniques that require the
    access to the class itself, before we have an instance.
    @staticmethod are used to associate a function to a class. It will
    not be have access to the instance (self) not the class (cls). In
    other programming languages are known as class methods.
    This patch replace all the @classmethod with @staticmethod when
    there is not need to access to the cls parameter, because the
    intention is to be used as normal functions.
* Mon Mar 25 2019 dcermak@suse.com
  - Minor improvements to the documentation
    - add a newline to the workflow's abstract
    - add warning to installation via the distro's package manager
    - fix package name of git
    - add marker for `Installation from OBS` section
* Mon Mar 25 2019 dcermak@suse.com
  - Add intersphinx extension to the docs
* Mon Mar 25 2019 dcermak@suse.com
  - New method: Path.access - thin wrapper arround os.access
    This function calls os.access, but first checks whether the input parameters are
    sane, instead of simply returning false when the file in question does not exist
    or an invalid mode was specified.
* Mon Mar 25 2019 marcus.schaefer@gmail.com
  - Added doc chapter on Fstab modifications
* Fri Mar 22 2019 dcermak@suse.com
  - Split code_style_plus_unit_test into two jobs for parallel runs
* Fri Mar 22 2019 dcermak@suse.com
  - Addapt documentation to changed script calling convention
* Fri Mar 22 2019 dcermak@suse.com
  - Only execute scripts via bash when they are not user executable
    Currently we call scripts directly through bash, which has the unfortunate
    disadvantage, that the shebang line is completely ignored.
    Now we instead check whether the owner of the script is allowed to execute it
    and if yes, we let the OS execute it (which takes the shebang into account) or
    otherwise call it through bash.
* Fri Mar 22 2019 marcus.schaefer@gmail.com
  - Support optional fstab.patch file
    In addition to the support for fstab.append, users can now also
    provide a patch file to change the contents of the fstab file
    as it got written by kiwi. The feature is probably rarely used
    but needed in the area of suse's transactional update mechanism.
    This Fixes bsc#1129566 and Fixes #945
* Thu Mar 21 2019 dcermak@suse.com
  - Add warning about a missing /vagrant/ folder to the documentation
* Thu Mar 21 2019 dcermak@suse.com
  - Fix libvirt vagrant box Vagrantfile to use rsync by default
    The documentation is suggesting that rsync is used by default to synchronize the
    shared folders, yet the libvirt vagrant boxes used the system default (=nfs).
* Tue Mar 19 2019 marcus.schaefer@gmail.com
  - Bump version: 9.17.31 → 9.17.32
* Tue Mar 19 2019 stefan.seyfried@sap.com
  - relax the live iso root dir permissions
    The root of the live ISO has permissions 0700, which is inconvenient if
    you mount it to explore its contents. Relax to 0755 instead.
    Without this, the mounted ISO FS can only be accessed by root.
* Mon Mar 18 2019 marcus.schaefer@gmail.com
  - Fixed race condition on live overlay mount
    Make sure to wait for all targets of the overlay mount
    This Fixes #1015
* Sun Mar 17 2019 marcus.schaefer@gmail.com
  - Bump version: 9.17.30 → 9.17.31
* Fri Mar 15 2019 marcus.schaefer@gmail.com
  - Update the documentation regarding vagrant boxes
    Extend the documentation on how to build VirtualBox vagrant boxes
    All this was done by Dan Čermák <dcermak@suse.com>
* Fri Mar 15 2019 marcus.schaefer@gmail.com
  - Refactor incremental changelog update
    The creation of the package changelog is based on a reference file.
    However that reference file contained log information in a specific
    timezone which requires to hardcode the region of that timezone
    in the code to correctly run date/time calculations. This can
    be done better from a conceptual point of view. This patch changes
    the handling in a way that the reference file is a git log
    excerpt including the dates as git log lists them. The dates
    contains complete numeric time/date/zone information and can be
    used for calculations. The changelog helper tool converts the
    result data to match the requirements of rpm changelog files
    and prints the time/date information localized to the callers
    timezone or as UTC if the --utc switch is given. By default the
    user local timezone settings applies. That way the setup of
    the local timezone is immaterial to the changelog processor
    and the workaround in the gitlab-ci rpm stage can be deleted
    too.
* Fri Mar 15 2019 dcassany@suse.com
  - Add buildah tool support for OCI and Docker types
    This commit adds buildah tool support for OCI and Docker types. It
    requires buildah and skopeo to be installed in the host. The use of
    umoci (kept as default choice) or buildah is configured using the
    runtime configuration file; consider the following structure:
    ```
    oci:
    - archive_tool: buildah
    ```
* Fri Mar 15 2019 dcassany@suse.de
  - Fix derived docker images build
    This commit fixes the derived docker images when the base image is a
    compressed file. After the refactor in #998 the decompression of the
    base image and the skopeo call to import the decompressed image happened
    in absolutely independent scopes. NamedTemporaryFile python class by
    default deletes the created temporary file when the class instance is
    destroyed, this class is used to decompress the base image. Because of
    isolated scopes at the time skopeo was called the NamedTemporaryFile
    instance was not there anymore. This commit makes sure that the
    temporary file instance is already in memory at the time skopeo is
    called.
* Fri Mar 15 2019 marcus.schaefer@gmail.com
  - Fixed gitlab-ci rpm stage localtime setup
    By default the timezone of the container is set to UTC. However
    the reference changelog entries are created in the CET timezone.
    The current implementation uses dateutil.parser.parse to parse
    the reference date/time. That call takes the localtime into account
    and responds with a warning:
    + UnknownTimezoneWarning: tzname CET identified but not understood
    The current code does not convert the CET timezone into the
    localtime timezone (UTC in this case) and creates a timezone naive
    datetime object. That object however can't be used to compare
    with timezone aware datetime objects which causes a runtime
    exception. The qick fix here is to set the localtime to the
    timezone used in the reference changes file
* Thu Mar 14 2019 marcus.schaefer@gmail.com
  - Limit scope of virtualbox_guest_additions_present
    This attribute is only used with the virtualbox provider.
    Added a schematron rule to limit the scope to the
    virtualbox provider only. This Fixes #1003
* Thu Mar 14 2019 marcus.schaefer@gmail.com
  - Bump version: 9.17.29 → 9.17.30
* Thu Mar 14 2019 marcus.schaefer@gmail.com
  - Add consistency check to update_changelog
    Don't take commits into account that are older than the
    given reference commit. This would destroy the chronological
    order. Missing commits older than the reference can be
    incorporated by rebuild_changelog_reference.sh
* Thu Mar 14 2019 marcus.schaefer@gmail.com
  - Fixed reading of container config
    The additional_tags attribute is optional. If not set
    the container config hash does not contain this key.
    Accessing the key without the get() method leads to
    an unhandled python exception
* Wed Mar 13 2019 stefan.seyfried@sap.com
  - add rd.kiwi.oem.maxdisk= boot parameter
    this limits the disks considered for oem deployment to a given size
* Wed Mar 13 2019 marcus.schaefer@gmail.com
  - Abandon the bumpversion helper
    The bumpversion helper script updated the reference file
    with changes since the latest date of the existing reference.
    However even though the two pieces are in chronological order
    that does not mean that the concatenated version of those
    is still in chronological order. Thus that helper is deleted
    and a new helper rebuild_changelog_reference exists. That
    rebuilds the entire reference file from the history and
    makes sure it is in chronological order. The tool should
    only be called if the chronological order of the total changes
    information is violated which under normal conditions
    does not happen
* Wed Mar 13 2019 marcus.schaefer@gmail.com
  - Allow --since|--until opts in update_changelog
    In addition to create changelog information since the
    latest date of a reference changelog, also allow to create
    changelog information until the latest data of a reference
    changelog
* Wed Mar 13 2019 marcus.schaefer@gmail.com
  - Update changelog reference
* Wed Mar 13 2019 ms@suse.de
  - Bump version: 9.17.28 → 9.17.29
* Wed Mar 13 2019 ms@suse.de
  - Update changelog reference
* Wed Mar 13 2019 ms@suse.de
  - Fixed bumpversion helper
    Make sure the commit for the changelog reference update
    and the commit for the version bump have different
    timestamps by sleeping 2sec between the two actions
* Wed Mar 13 2019 ms@suse.de
  - Update API documentation
    In reference to Refactor OCI images packing the difference
    between docker and OCI images is just on packing format.
    Thus the extra docker container subclass is no longer present.
* Wed Mar 13 2019 ms@suse.de
  - Bump version: 9.17.27 → 9.17.28
* Wed Mar 13 2019 ms@suse.de
  - Update changelog reference
* Wed Mar 13 2019 seife+dev@b1-systems.com
  - kiwi-dump-image: fix kiwi_oemdevicefilter for rd.debug
* Wed Mar 13 2019 ms@suse.de
  - Added bumpversion helper
    Script that also updates the changelog reference file
    before the version bump. It's optional to use this but
    it would be handy as the commit would show the rpm
    changelog differences from one tag to the other
* Tue Mar 12 2019 ms@suse.de
  - Fixed code smells on completion_generator
    Also update python interpreter to use for the completion
    and the changelog helpers
* Tue Mar 12 2019 ms@suse.de
  - Update gitlab CI config
    The rpm stage needs python because the changelog script
    is now written in python
* Tue Mar 12 2019 ngompa13@gmail.com
  - Drop duplicate EPEL7 reference in the test CentOS appliance
    We already request the standard, update, and extras repos and
    the EPEL7 repo separately. There's no reason to request the
    "centos" EPEL7 repo which combines standard+update and EPEL7
    repos already.
* Mon Mar 11 2019 seife+dev@b1-systems.com
  - centos-appliance: reorder repos to fix build
    EPEL has older package versions of e.g. librepo, which breaks dnf.
    Re-prioritize to prefer the good CentOS packages instead of bad EPEL.
* Mon Mar 11 2019 ms@suse.de
  - Update changelog file
    Fix changelog entries for their encoding, author name and format
    Also make sure commits are shown in reverse chronological order
    of the author date. We intentionally don't use the commit date
    because a commit can be older than the latest entry in the current
    reference file and would then not be part of the git log
    information
* Sun Mar 10 2019 ms@suse.de
  - Introduce better changelog handling
    The current way of creating the changelog file for the package
    is based on reading the entire history of the git repository and
    turns that information into a changelog. The downside of this
    approach is that any change in the code that creates this changelog
    information will impact older entries and could cause a conflict
    on the changes file of the released package. This usually leads
    to declined package submissions and blocks us in fixing bugs
    in the changelog generator. This commit changes the process in
    a way that only changes related to the oldest entry of a reference
    changelog file compared to the current branch are taken into
    account. This Fixes #979
* Sun Mar 10 2019 dcassany@suse.de
  - Adding a derived docker image build test
* Sun Mar 10 2019 ms@suse.de
  - Bump version: 9.17.26 → 9.17.27
* Fri Mar 08 2019 ngompa13@gmail.com
  - Use correct GRUB 2 and shim EFI packages for test CentOS 7 appliance
    CentOS 7 has inherited the changes from Fedora in how its EFI binaries
    are packaged, so we need to adapt to handle those and build the appliance
    properly.
* Fri Mar 08 2019 ms@suse.de
  - Fixed evaluation of @root size setup
    The @root volume setup allows to specify a size for the root
    volume in an LVM setup. The size setting was not respected and
    the root volume was always resized to the rest space available.
    This patch fixes the read_volume_setup_all_free method
    on the dracut kiwi library to know if there is root volume
    setup and respect its contents. This Fixes #983
* Fri Mar 08 2019 ngompa13@gmail.com
  - Update generated configuration file for DNF
    The dnf.conf file generated by KIWI contained some obsolete
    options as well as options that have been renamed.
    This change updates the options set so that they match what
    is expected by DNF and configures the appropriate behavior.
* Thu Mar 07 2019 ms@suse.de
  - Bump version: 9.17.25 → 9.17.26
* Thu Mar 07 2019 ms@suse.de
  - hotfix runtime check for count of fullsize volumes
    The check did not respect images that do not come up with
    a systemdisk section. systemdisk is an optional section and
    the test did not respect this and failed with a stack trace
* Thu Mar 07 2019 ms@suse.de
  - Bump version: 9.17.24 → 9.17.25
* Thu Mar 07 2019 ms@suse.de
  - Update provider support status in vagrant docs
* Thu Mar 07 2019 ms@suse.de
  - Rebuild schema docs
    Create an up to date state of the oxygen schema doc in the repo
* Thu Mar 07 2019 ms@suse.de
  - Fixed Title underline too short warning in the doc
* Thu Mar 07 2019 ms@suse.de
  - Fixed permanent redirect links in documentation
* Thu Mar 07 2019 ms@suse.de
  - Bump version: 9.17.23 → 9.17.24
* Thu Mar 07 2019 ms@suse.de
  - Cleanup example_dot_profile_config.xml
    Don't use multiple all size volumes
* Thu Mar 07 2019 dcermak@suse.com
  - Add different installation methods to the documentation
* Thu Mar 07 2019 ms@suse.de
  - Check for multiple allsize volumes setup
    Added runtime check check_volume_setup_defines_multiple_fullsize_volumes
    which reads the volume setup and counts the number of volumes that
    define a 'all' volume. Only one is allowed
* Wed Mar 06 2019 ms@suse.de
  - Complete test coverage on iso tools testing
    If there is no mkisofs/genisoimage present on the system, the
    tests based on real example iso files are skipped. The code
    tested in this case is now covered in a mock style to run
    through the logic even without the tools in place
* Wed Mar 06 2019 ms@suse.de
  - Follow up fix for zypper compat link
    Move the code handling the compat setup of the rpm database
    to the correct method of the repository API. Call the
    import of the signing keys only if there are signing
    keys
* Wed Mar 06 2019 dcermak@suse.com
  - Fix suseRemoveYaST to work with set -e
    When the config.sh is invoked with set -e then suseRemoveYaST causes the whole
    script to fail when no yast packages are present. The problem is that `grep
    yast` returns 1 in that case.
    => Explicitly ignore the return value of grep
    Furthermore, if no YaST packages were found, we don't want to invoke rpm, as
    that would fail too (as it is called without any parameters).
* Wed Mar 06 2019 ms@suse.de
  - Care for update alternatives on rpmdb move
    In set_database_to_image_path we also have to care for the
    move of the alternatives path to the new rpmdb location
* Wed Mar 06 2019 ms@suse.de
  - Fixup zypper/suse link to rpm database
    The compat code generating the /var/lib/rpm link was only
    effective if a signing key was specified, however it should
    be effective in any case
* Tue Mar 05 2019 ms@suse.de
  - Run cdrtools based unit tests on demand
    Only if the underlaying system provides legacy cdrtools,
    run the unit tests which actually reads the test data iso
    using those tools.
* Tue Mar 05 2019 dcermak@suse.com
  - Add GitLab CI pipeline status to README.rst
* Mon Mar 04 2019 ms@suse.de
  - Improve error messages
    The error messages for running a build against an undefined
    image definition as well as the error message to explain why
    the imageinclude attribute can only be used with public repos
    has been improved by suggestions from J. Mixer
* Mon Mar 04 2019 seife+dev@b1-systems.com
  - pxe: use dracut's network code, drop own setup
* Fri Mar 01 2019 dcermak@suse.com
  - Extend the GitLab-CI pipeline
    - build the documentation in the build_doc stage
    - run tests for all supported Python versions in tox_check
    - build an RPM for Fedora 29 & OpenSUSE Tumbleweed in RPM stage
* Fri Mar 01 2019 ngompa13@gmail.com
  - Ensure DNF is installed for kiwi itself and the test CentOS 7 appliance
    In e33f53aa4513c38a42736c82db3ec5e0b9da41d4, we switched to DNF when requesting YUM.
    This now means we need to ensure DNF is installed for images where
    we previously used YUM for that.
* Thu Feb 28 2019 dcermak@suse.com
  - Add environment for running the unit tests with Python 3.7 to tox
    Python 3.7 does only appear to be available on Ubuntu Xenial with sudo enabled
* Thu Feb 28 2019 dcermak@suse.com
  - Extend documentation about using KIWI to build vagrant images
* Thu Feb 28 2019 dcermak@suse.com
  - Extend documentation on how to build inside OBS
* Thu Feb 28 2019 dcermak@suse.com
  - Bump required minimum disk space
* Thu Feb 28 2019 dcermak@suse.com
  - Extend index.rst by a "advertising" section
* Thu Feb 28 2019 dcermak@suse.com
  - Add url to PyPI & use https instead of http
* Thu Feb 28 2019 dcermak@suse.com
  - Extend quickstart to be more viable as a stand-alone document
* Thu Feb 28 2019 dcermak@suse.com
  - Reorder TOCs so that the most important comes first
* Thu Feb 28 2019 dcermak@suse.com
  - (whitespace-cleanup) on doc/source/overview/workflow.rst
* Thu Feb 28 2019 ngompa13@gmail.com
  - Rework package manager selection to use DNF when YUM is requested
    YUM v3 is no longer developed, having been superseded by DNF for
    several years. With DNF now available as a usable package manager
    in Red Hat Enterprise Linux 7 through the Extras channel and
    SUSE Linux Enterprise 15 through PackageHub, there is no reason for
    keeping support for YUM v3 around.
    We are keeping support for requesting YUM because in Red Hat Enterprise
    Linux 7, DNF is referred to as "YUM v4", and it is simply referred to
    as "YUM" in Red Hat Enterprise Linux 8. To avoid confusion from people,
    we're just going to leave it in place as an alias to the DNF package
    manager.
    As for why this is happening now, Fedora is retiring YUM v3 in
    Fedora 31, so we might as well get it over with and cut over now.
    Reference: https://fedoraproject.org/wiki/Changes/Retire_YUM_3
* Thu Feb 28 2019 dcermak@suse.com
  - Fix some spelling mistakes & sentence order in the docs
* Thu Feb 28 2019 ms@suse.de
  - GitLab CI integration
    Run tox targets on demand. With GitLab CI selected containers
    are small but also limited in their scope.
* Thu Feb 28 2019 ms@suse.de
  - Fixed iso tools unit test
    Test was not environment independent and behaved differently
    compared to which iso tool change is installed.
* Thu Feb 28 2019 ms@suse.de
  - GitLab CI integration
    Select 3.6 image to run the test
* Thu Feb 28 2019 ms@suse.de
  - Fixed shellcheck issue on kiwi-partitions-lib.sh
    Fixup SC2046: Quote this to prevent word splitting
* Thu Feb 28 2019 ms@suse.de
  - GitLab CI integration
    Not so easy to get pip running there. Try standard binary
    name of after pip ugrade to install the rest of the chain
* Thu Feb 28 2019 ms@suse.de
  - GitLab CI integration
    No alternative naming for py3 commands
* Thu Feb 28 2019 ms@suse.de
  - GitLab CI integration
    Fixed install of tox on the runner
* Thu Feb 28 2019 ms@suse.de
  - GitLab CI integration
    Require tox to be installed on the runner
* Thu Feb 28 2019 ms@suse.de
  - GitLab CI integration
    pip not installed by default on the runner
* Thu Feb 28 2019 ms@suse.de
  - Looks like Travis will go away
    Try moving CI integration to GitLab
* Wed Feb 27 2019 ms@suse.de
  - Write sha256sum --check compatible shasum format
    Change the output format of the bundler shasum file to be
    compatible with a 'sha256sum --check' call.
    This fixes bsc#1127173
* Wed Feb 27 2019 ms@suse.de
  - Move azure integration test build to Factory repos
* Wed Feb 27 2019 ms@suse.de
  - Fixed package list of azure integration test
* Wed Feb 27 2019 ms@suse.de
  - Fixed repo setup from azure integration test
* Wed Feb 27 2019 ms@suse.de
  - Bump version: 9.17.22 → 9.17.23
* Tue Feb 26 2019 dcermak@suse.com
  - Allow xdist to run the tests in parallel for the Python 2.7 env
    This reverts an accidental change that was introduced with
    942ed7a8eea65f1c99b5f51a8587cfbeae73b484, which removed the {posargs} from
    tox.ini for the python 2.7 environment.
* Tue Feb 26 2019 ms@suse.de
  - Added get_description method to XMLState
    In preparation to access the contents of the <description>
    section this pull requests adds a simple method to read
    the contents.
* Mon Feb 25 2019 ms@suse.de
  - Update tools from strip list for oemboot
    For legacy oemboot kiwi descriptions the strip list for
    tools to keep in the initrd is still active. On s390
    required tools for dasd_configure were missing and got
    added by this commit. This Fixes #963
* Mon Feb 25 2019 ms@suse.de
  - Fixed import of signing keys
    In reference to bsc#1112357 it was required to add the compat
    symlink /var/lib/rpm such that zypper can read the signing
    keys. Unfortunately zypper does not use the configured rpmdb
    from the rpm macro setup.
* Mon Feb 25 2019 seife+dev@b1-systems.com
  - add rd.kiwi.install.pass.bootparam boot parameter
    if this boolean is set, most boot parameters are passed on
    to the kexec kernel on OEM image deployments
* Sat Feb 23 2019 ms@suse.de
  - Bump version: 9.17.21 → 9.17.22
* Sat Feb 23 2019 ms@suse.de
  - Followup fix for disk detection from root device
    No matter if one ore more devices are used in a multipath map,
    if the root device is managed by multipath kiwi has to use the
    mapped device for all operations, otherwise we run into busy
    or blocked state inside of the initrd operations. This is
    related to Issue #954 and bsc#1126283 and bsc#1126318
* Sat Feb 23 2019 ms@suse.de
  - Fixed relocation of GPT
    Simplify the relocation of the GPT to the end of the current
    disk by using sgdisk -e instead of gdisk. The possitive after
    effect of this is that the broken return value handling of
    gdisk in centos will be fixed and did not harm the kiwi
    deployment anymore. This Fixes #958
* Fri Feb 22 2019 ms@suse.de
  - Bump version: 9.17.20 → 9.17.21
* Fri Feb 22 2019 ms@suse.de
  - Speedup the make build target
    Activated the pytest xdist feature Dan added for the
    make build target to speedup package creation
* Fri Feb 22 2019 ms@suse.de
  - Bump version: 9.17.19 → 9.17.20
* Fri Feb 22 2019 ms@suse.de
  - Update vagrant libvirt unit test
    Take extra config from DiskFormatVagrantLibVirt as base for the
    test and don't mock that information as it was done before
    in the base class
* Fri Feb 22 2019 ms@suse.de
  - Extend the vagrant base class test
    Take an example for additional vagrant config settings into account
* Fri Feb 22 2019 ms@suse.de
  - Refactor unit tests for vagrant classes
    Better use of pytest capabilities, avoid mock rewrite of
    implementation classes
* Fri Feb 22 2019 ms@suse.de
  - Fixed DiskFormatVagrantBase docs and behavior
    Update class docs per review by Dan, also raise on use
    of methods without proper provider implementation
* Fri Feb 22 2019 ms@suse.de
  - Fixed create_box_img in DiskFormatVagrantLibVirt
    The call to create_box_img did not use the given tmpdir
    parameter but assumes an instance variable to provide this
    information
* Thu Feb 21 2019 seife+dev@b1-systems.com
  - fix network failure with "BOOTIF=" parameter
    If a BOOTIF= parameter (pxelinux "IPAPPEND 2" option) is present, dracut
    handles the network already *and* overwrites the 90-net.rules that
    kiwi-*-net-genrules.sh created, thus the interface is not named "lan0"
    and ifup is destined to fail.
    Work around the issue by detecting if the interface is already handled
    by generic dracut code and just skipping the ifup call.
    Fixes / improves issue #942
* Thu Feb 21 2019 ms@suse.de
  - Added some style fixes to the vagrant classes
    Adapt doc strings to match style on lists. Change variable
    names not class global to be lowercase. Use 80 chars per
    line. Don't reach code that potentially uses undefined
    variables
* Thu Feb 21 2019 ms@suse.de
  - Refactor vagrant storage subformat
    In preparation to support other vagrant providers a base class
    for Vagrant operations has been created. Original Code written
    by DanČermák <dcermak@suse.com>
* 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
* Wed Feb 20 2019 ms@suse.de
  - Fixed losetup call due to move in option names
    util-linux dropped losetup-Add-support-for-setting-logical-blocksize.patch
    because different implementations exists in the new kernel, and it has
    a conflicting implementation in util-linux. This caused a change in the
    option to specify the logical sector size. The option --logical-blocksize
    was replaced by --sector-size. We adapt this now in kiwi too
* Wed Feb 20 2019 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
* Wed Feb 20 2019 ro@suse.de
  - s390-test-image: add factory base project (same as on arm)
* Mon Feb 18 2019 dcermak@suse.com
  - Add support to build vagrant boxes with the Virtualbox provider
    This commits adds initial support to build Vagrant boxes with the Virtualbox
    provider.
    - The attribute 'provider' of the option <vagrantconfig> now supports the option
    "virtualbox".
    - A new boolean attribute 'virtualbox_guest_additions_present' was added to
    <vagrantconfig>. When set to true, KIWI will assume that guest additions have
    been installed into the base image and configure the shared folders to use
    vboxfs, otherwise rsync will be used.
    This fixes #532 (https://github.com/SUSE/kiwi/issues/532).
* Thu Feb 14 2019 ms@suse.de
  - Bump version: 9.17.18 → 9.17.19
* Thu Feb 14 2019 ms@suse.de
  - Fixed isolinux fallback path
    In case isolinux-config failed or does not exist on the
    distribution a fallback path is called. That code hardlinks
    the files to the isolinux compiled in standard path. However
    due to the move of the grub unicode file for iso images
    the path contains a directory. Directories can't be hardlinked
    thus this patch uses 'cp -l' instead of the 'ln' command to
    create the linked target contents.
* Thu Feb 14 2019 ms@suse.de
  - Bump version: 9.17.17 → 9.17.18
* Wed Feb 13 2019 ms@suse.de
  - Fix location of grub unicode font
    This is a follow up patch for #f5bac4495d34. The change of the
    location of the font file was not applied if an iso target, live
    or install image is being built. This patch completes the change
    and Fixes bsc#1124885
* Wed Feb 13 2019 ms@suse.de
  - Fix handling of zypper return codes
    The following codes should be handled as errors:
    104 - ZYPPER_EXIT_INF_CAP_NOT_FOUND
    105 - ZYPPER_EXIT_ON_SIGNAL
    106 - ZYPPER_EXIT_INF_REPOS_SKIPPED
* Tue Feb 12 2019 dcassany@suse.de
  - Refactor OCI images packing
    This commit refactors the OCI images support:
    * added import_container_image and export_container_image methods
    to oci_tools classes. 'umoci' and 'buildah' consume different
    formats thus the inital skopeo call to import a container is tool
    dependent.
    * use oci-archive transport for packing the OCI images, this causes
    docker and oci operations to just diverge on transport type.
    * add_tag method no longer needed in oci_tools/base, skopeo is used
    for that matter.
    * container/docker.py class is no longer needed. The difference
    between docker and OCI images is just on packing format which is just
    a parameter in skopeo. It does not deserve a dedicated class
    * system/root_import/docker.py class no longer needed. The difference
    between OCI and Docker class was just the transport type for the
    skopeo call. It does not deserve a dedicated class
* Mon Feb 11 2019 ms@suse.de
  - Sort file and dir entries in iso sortfile
* Sun Feb 10 2019 bwiedemann@suse.de
  - tox: Allow to run a single test
    using
    tox -v -e unit_py2_7 -- -vv ./test/unit/iso_tools_cdrtools_test.py
* Sat Feb 09 2019 bwiedemann@suse.de
  - Sort filesystem listings
    so that kiwi works in a reproducible way
    in spite of indeterministic filesystem readdir order
    and http://bugs.python.org/issue30461
    See https://reproducible-builds.org/ for why this is good.
* Sat Feb 09 2019 ms@suse.de
  - Moved azure integration test to Leap15
    Factory doesn't resolve well together with Cloud:Tools.
    I'd like to have stable integration tests and not getting
    screwed with any change on Factory
* Sat Feb 09 2019 ms@suse.de
  - Bump version: 9.17.16 → 9.17.17
* Fri Feb 08 2019 ms@suse.de
  - Added new preferences subsection
    In the preferences section the following optional subsection
    can be configured:
    <rpm-locale-filtering>true|false</rpm-locale-filtering>
    If set to true the default locales POSIX, C, and C.UTF-8 are
    applied as rpm install_lang macro. If the locale section is
    configured in addition the list is extended by that information
    too
* Fri Feb 08 2019 ms@suse.de
  - Extend the .packages file by the license field
    For rpm based builds the License field from the rpm metadata
    is extracted into the .packages file. For Debian based build
    the license information is in an extra file and not taken
    into account for the moment.
* Fri Feb 08 2019 ms@suse.de
  - Bump version: 9.17.15 → 9.17.16
* Thu Feb 07 2019 ms@suse.de
  - Added support for %_install_langs rpm macro
    During the image build the custom rpm macro %_install_langs
    is configured with the <locale> setup from the KIWI XML
    description. This allows to filter language specific packages
    on the rpm level and Fixes #771
* Wed Feb 06 2019 ms@suse.de
  - Add API for package manager returncode validation
    Allow to validate the return code from a package manager
    operation. In case of zypper the standard UNIX return
    code validation does not apply. Return codes from zypper
    which are >= 100 are not treated as an error anymore
* Wed Feb 06 2019 ms@suse.de
  - Fix Failed to cache rpm database on zypper addrepo
    Occasionally zypper fails when adding the repo with the
    rpm error message 'Failed to cache rpm database'. I was
    not able to find out why this happens and I also could
    not find a way to reproduce it safely. However this
    commit adds a workaround that seems to fix the issue
    when it happens. If the first call of zypper addrepo
    fails kiwi now issues the exact same call again and
    only if that fails too an exception is thrown
    In addition the patch changes the zypper call and avoids
    the option --type. That option is marked legacy and ignored
    by zypper but causes a misleading warning message
* Mon Feb 04 2019 ms@suse.de
  - Handle location of the rpm DB on the macro level
    The location of the rpm database is no longer a standard
    path one can trust. Some distributions put it to /var/lib
    others to /usr/lib. This introduces the problem of dealing
    with different locations between the bootstrapping (host rpm)
    phase and the image installation (image rpm) phase.
    This commit implements a solution based on an intermediate
    rpm database configuration. KIWI creates the macros.kiwi file
    inside of the image root which is read by any call of rpm
    in the inner and outer system. During bootstrap phase the
    rpm dbpath from the host system is used and later in the
    install phase the dbpath from the rpm package as it was
    installed by the target image distribution is used. In case
    of a dbpath difference the database is automatically moved
    to the new location by setting the _dbpath_rebuild macro
    to the correct location. At the end the custom KIWI macro
    is deleted.
    As this process allows custom macro defintions during the
    KIWI run it also serves as the base for a solution to
    Issue #771 which will be done in a follow up request to
    this commit.
    Also the workaround for bsc#1112357 which uses a static
    dbpath to store an optionally given signing key will be
    addressed with this commit. The macro setup happens before
    the import_trusted_keys method which makes any specification
    for a strict dbpath obsolete.
    Last the implementation deletes the obsolete
    dump_reload_package_database code. rpm is able to automatically
    do the conversion of different db versions such that the code
    in kiwi is obsolete. In addition that code only worked for
    rather old db versions. The public API has not changed though,
    but the method is marked obsolete and does nothing anymore.
    In addition to the deletion of obsolete code a new API
    method post_process_install_requests_bootstrap has been
    introduced to handle actions required after bootstrap
    and before installing of packages from inside the new image
* Mon Feb 04 2019 dcassany@suse.de
  - Add custom partitioning docs
    This commit adds two new documentation chapters. One covering
    custom partitioning scheme in KIWI. And another covering setting
    custom volumes in KIWI
* Thu Jan 31 2019 ms@suse.de
  - Bump version: 9.17.14 → 9.17.15
* 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
  - Bump version: 9.17.13 → 9.17.14
* 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.17.12 → 9.17.13
* Tue Jan 29 2019 ms@suse.de
  - Fixed grub theme lookup
    If the theme was not found at the expected place an exception
    was thrown. However the alternative lookup code in /boot was
    not reached with that exception. This commit fixes this
* Mon Jan 28 2019 ms@suse.de
  - Bump version: 9.17.11 → 9.17.12
* Mon Jan 28 2019 dcassany@suse.de
  - Add a runtime check for preferences metadata
    This commit adds a runtime check for preferences metadata. More
    specfic verifies there is a packagemanager defined and an image version
    defined.
    Fixes #925
* Fri Jan 25 2019 ms@suse.de
  - Support alternative EFI and grub modules paths
    In SUSE products EFI binaries are historically located in
    /usr/lib*/efi. In a recent move to package grub2 as noarch
    fate#326960, a collision between x86_64 and aarch64 has been
    identified, as both place platform-specific files in the same
    spot. To rectify this, a new location was devised:
    /usr/share/efi/$(uname -m). At the same time /usr/lib/grub2 will
    move to /usr/share/grub2. This Fixes #924
* Fri Jan 25 2019 ms@suse.de
  - Fixed Xen guest detection
    We only support Xen setup e.g in the Amazon Cloud for the
    x86_64 architecture. This Fixes bsc#1123186 and bsc#1123185
* Thu Jan 24 2019 ms@suse.de
  - Fixed location of grub unicode font file
    grub2 is expecting the unicode font below the fonts
    directory in the /boot/grub*/ depending on how the
    distribution installs grub2. This Fixes bsc#1119416
* Thu Jan 24 2019 ms@suse.de
  - Fix documentation howto delete a package
    The documentation described an invalid XML grammar
* Thu Jan 24 2019 ms@suse.de
  - Bump version: 9.17.10 → 9.17.11
* Thu Jan 24 2019 ms@suse.de
  - Fix package conflict for completion file
    The completion can only be provided by one package if not
    python version specific completion files are provided. Due
    to the fix in #920 the completion file must be provided by
    another sub-package. This commit moves it to the
    kiwi-man-pages package. Actually kiwi man pages provides
    more than just the man pages, but also the PDF documentation
    and I think the completion information serves the purpose of
    documentation to some degree too.
* Thu Jan 24 2019 ms@suse.de
  - Bump version: 9.17.9 → 9.17.10
* Thu Jan 24 2019 ms@suse.de
  - Fixed file name of completion file
    The bash completion file must match one of the alternatives links.
    Otherwise the bash completion mechanism will not match. kiwi-ng is
    the unique alternative link name compared to the still present
    legacy kiwi version and should be used preferably
* Wed Jan 23 2019 dcassany@suse.de
  - Add container history metadata on umoci repack call
    This commit makes sure that `umoci repack` call includes history
    metadata and skips that in `umoci config` call.
    Fixes #918
* Thu Jan 17 2019 ms@suse.de
  - Bump version: 9.17.8 → 9.17.9
* Thu Jan 17 2019 ms@suse.de
  - Update schematron rule
    install_continue_on_timeout is only for oem types
* Thu Jan 17 2019 dcassany@suse.de
  - Do not assume package manager is always there
    This commit modifies the dump_reload_package_database method
    for zypper to not assume rpm binary is always part of the image.
    An image could be bootstrapped only without zypper or rpm, in that
    case it does not make sense and it is not possible to dump and reload
    rpmdb.
    Fixes #915 and related to #550
* Thu Jan 17 2019 ms@suse.de
  - Allow to switch off install image boot timeout
    This commit adds a new attribute called:
    <type ... install_continue_on_timeout="true|false"/>
    It allows to setup the boot timeout for install images
    build with KIWI. If not set or set to 'true' the configured
    boottimeout or its default applies to the install image
    as it was before. If set to 'false' there will be no
    timeout in the install image bootloader setup and the boot
    only continues on manual intervention.
* Fri Jan 11 2019 ms@suse.de
  - Bump version: 9.17.7 → 9.17.8
* Thu Jan 10 2019 ms@suse.de
  - Make result compression in the bundler optional
    Calling kiwi result bundle will take the image build results
    and bundle the relevant image files according to their image
    type. Depending on the result configuration this could instruct
    the bundler to compress one or more files from the result.
    By default this compression is switched off in the bundler but
    can be activated to save storage space and speedup download
    of the image with the following runtime configuration:
    bundle:
    - compress: true|false
    If compression is activated the result image has to be
    uncompressed before it can be used. This Fixes #901
* Mon Jan 07 2019 ms@suse.de
  - Bump version: 9.17.6 → 9.17.7
* Mon Jan 07 2019 ms@suse.de
  - Fix use of SysConfig objects
    objects of that class did not provide a get method but
    overload the bracket [] operator. Using the get() method
    failed. This Fixes #910
* Sat Jan 05 2019 ms@suse.de
  - Use chkstat to verify and fix file permissions
    Call chkstat in system mode which reads /etc/sysconfig/security
    to determine the configured security level and applies the
    appropriate permission definitions from the /etc/permissions*
    files. It's possible to provide those files as overlay files
    in the image description to apply a certain permission setup
    when needed. Otherwise the default setup as provided on the
    package level applies. It's required that the image root system
    has chkstat installed. If not present KIWI skips this step
    and continuous with a warning. This Fixes #895
* Fri Dec 21 2018 dcassany@suse.de
  - Allow setting the protocol for exposed ports
    With this commit it is possible to set tcp or upd (e.g. "80/tcp") for
    exposed container ports. If no protocol is provided OCI defaults are
    applied.
    Fixes #906
* Wed Dec 19 2018 toms@suse.de
  - Use cls in @classmethods instead of self
    For consistency reasons.
* Wed Dec 19 2018 ms@suse.de
  - Bump version: 9.17.5 → 9.17.6
* Tue Dec 18 2018 ms@suse.de
  - Allow setctsid to be part of custom boot images
* 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
* Wed Dec 12 2018 ms@suse.de
  - Bump version: 9.17.4 → 9.17.5
* Wed Dec 12 2018 ms@suse.de
  - Make sure manual pages are part of pypi archive
    As consequence of the change in the travis setup to make
    use of the native 'pages' and 'pypi' providers from travis the
    environment for the sdist target has changed. Within the
    doc_travis tox env no manual pages was build. In combination
    with the 'pypi' provider setup in .travis.yml which uses
    skip_cleanup: true, this caused the pypi archive to miss
    any manual pages which lead to a runtime error on install
    via pip.
* Tue Dec 11 2018 ms@suse.de
  - Bump version: 9.17.3 → 9.17.4
* Mon Dec 10 2018 ms@suse.de
  - Don't trust the vmlinux symlink to be present
* Mon Dec 10 2018 ms@suse.de
  - Refactor kernel version lookup
    Check the presence of the gzip compressed kernel binary
    and use it. If not present use the arbitrary kernel image
    format with the known limitations.
* Mon Dec 10 2018 ms@suse.de
  - More clarity on kernel version lookup
    Lookup of the kernel version is done by directly reading the
    kernel image via a small tool named kversion. The scope of the
    tool is limited and does not work for e.g kernel images which
    contains its own decompressor code. For the special cases we
    defined exceptions, one was zImage. The recently added exception
    for vmlinuz seemed too intrusive to me and was also not well
    documented. This patch tries to clarify and get us back to
    explicit and easy to read coding. Fixes #899
* Tue Dec 04 2018 ro@suse.de
  - testing: fix issues marked by shellcheck
* Thu Nov 29 2018 ro@suse.de
  - kernel.py: also try vmlinux-version.gz in case of image-version to
    get the version number
* Tue Nov 27 2018 dcassany@suse.de
  - Add Ubuntu bionic build tests
* Tue Nov 27 2018 dcassany@suse.de
  - Another round of OCI tools refactoring
    In order to provide buildah support some of the logic about
    temporary directories for OCI images creation needs to be moved
    to the dedicated OCI tool class.
    While umoci can operate in any directory and this is passed as an
    argument, this is not the case for buildah. In buildah workflow
    the storage path of work-in-progress images/containers is not
    customizable neither the mountpoint of the container rootfs.
* Mon Nov 26 2018 ms@suse.de
  - Bump version: 9.17.2 → 9.17.3
* Mon Nov 26 2018 ms@suse.de
  - Update documentation for rd.live.cowfile.mbsize
* Mon Nov 26 2018 ms@suse.de
  - Use cow file on persistent grub live loop boot
    When using tools like live-grub-stick the live iso as generated
    by kiwi will be copied as file on the target device and a grub
    loopback setup is created there to boot the live system from file.
    In such a case the persistent write setup which tries to create
    an extra write partition on the target fails in almost all cases
    because the target has no free and unpartitioned space available.
    Therefore in case of such a loopback mounted system we create a
    cow file(live_system.cow) instead of a partition to setup
    persistent writing. The cow file will be created in the same
    directory the live iso image file was read from grub
    This Fixes #860
* Fri Nov 23 2018 ms@suse.de
  - Bump version: 9.17.1 → 9.17.2
* Fri Nov 23 2018 dcassany@suse.de
  - Create a custom `setup.py clean` command
    The default `setup.py clean` command does not clean `dist` and
    `*.egg-info` folders. This commit makes sure those are cleaned and
    also ands a `setup.py clean` command in the `clean` Makefile target
* Fri Nov 23 2018 ms@suse.de
  - Better exception handling in oem installer
    If an error condition applies in the kiwi dump dracut code
    the reaction was to stop the process with a dracut die() call.
    If the option 'rd.debug' was set on boot, this lead to a debugging
    shell which is good, but in a standard process this lead to a
    lock of the machine which is an unfortunate situation. This
    patch changes the behavior to always print the error message
    as a dialog message box on the primary console and reboot
    the system after keypress or timeout. In case of the debug
    switch configured the system die()'s as before.
    This Fixes #884
* Mon Nov 19 2018 dcassany@suse.de
  - Add parted dependency for dracut-kiwi-live package
    dracut-kiwi-live requires `partprobe` tool and this is provided by
    parted package. Persistent overlay setup fails if parted is not
    installed in the image.
* Thu Nov 15 2018 ms@suse.de
  - Added unit test for syslinux lookup paths
* Thu Nov 15 2018 dcassany@suse.de
  - Include the isolinux ubuntu paths
    This commit adds the ubuntu installation paths the places to look
    for isolinux binaries.
* Tue Nov 13 2018 dcassany@suse.de
  - Fix spec to better support Debian and Ubuntu builds
    This commit fixes the spec to properly build for Debian and Ubuntu.
    More specific:
    * update-alternatives path has been adapted
    * python3-kiwi are now enabled for Debian 9 and Ubuntu 18.04
* Mon Nov 12 2018 ms@suse.de
  - Make gfxboot a recommended package
    gfxboot is needed on the host for certain boot graphics
    operations. It's used if the boot theme provides a gfxboot.cfg
    In this case the tool is also required. The setup of the
    boot themes is differently implemented in each of the
    distributions we support. In addition on suse distributions
    gfxboot is no longer in the core system. Given that we are
    not able to find a common base on requirement of the package
    we changed gfxboot from a required to a recommended package
    and deleted the requirement on debian based distros
* Fri Nov 09 2018 dcassany@suse.de
  - Adding OEM and ISO image types for Fedora tests
* Fri Nov 09 2018 seife+dev@b1-systems.com
  - kiwi-dump-image: improve dialog usage
    Dialog's "--radiolist" feature requires to navigate to the item,
    press "space" to select the item and then "enter" to execute.
    With "--menu", it is enough to just navigate to the item and press
    "enter" to execute, which is much more intuitive for most users.
* Fri Nov 09 2018 dcassany@suse.de
  - Add support for --no-history umoci's flag
    Using this flag kiwi appends only a single history entry for OCI
    containers.
* Fri Nov 09 2018 ms@suse.de
  - Bump version: 9.17.0 → 9.17.1
* Fri Nov 09 2018 dcassany@suse.de
  - Little code styling fix
* Fri Nov 09 2018 ms@suse.de
  - Fixed oem installer
    In the implementation of the ramdisk installer from
    SUSE/ramdisk_deployment(4fdeee3faa3) an error for the
    standard case was introduced such that the lsblk call
    was invalid. This lead to no devices being present
    for the installation. This patch Fixes #877
* Thu Nov 08 2018 dcassany@suse.de
  - Fix rsync call for filesystem images
    For filesystem images the rsync call was missing a finale slash for
    the source path causing the sync also the containing directory. With
    this change the filesystem image does not include the rootfs in any
    subdirectory.
    Fixes #875
* Tue Nov 06 2018 dcassany@suse.de
  - Add history metadata for container builds
    This commit adds the history section in contianerconfig. With it
    'author', 'created_by' and 'comment' can be customized. In addition
    'created' is always included with the image creation date time.
    'created_by' entry is set to 'KIWI __version__' by default if nothing
    is provided.
    Fixes #852
* Tue Nov 06 2018 ms@suse.de
  - Bump version: 9.16.36 → 9.17.0
* Tue Nov 06 2018 ms@suse.de
  - Change bundling of image formats
    By default none of the image formats were stored as compressed
    file. The reason behind this was the assumption that some
    formats automatically makes use of compression, which is true
    but only in their processing and not in their data blocks at
    creation time. Storage and handling of the image file itself
    becomes cumbersome and therefore we change the default bundle
    setup for image formats to be compressed. This means the image
    as it gets packed by KIWI needs to be uncompressed before use.
    The following image formats are affected by the change in a
    call of the result bundler:
    kiwi result bundle ...
    * qcow2 (.qcow2.xz)
    * vdi   (.vdi.xz)
    * vhd   (.vhd.xz)
    * vhdx  (.vhdx.xz)
    * vmdk  (.vmdk.xz)
    All other image formats already defined a custom bundling
    setup including compression and are not affected by this change.
    This Fixes #650
* Tue Nov 06 2018 ms@suse.de
  - Fixed firmware strip and lookup for kiwi initrd
    In a kiwi initrd the function baseStripFirmware can be
    used to strip down the firmware to the actually used
    kernel drivers in that initrd. The code to do this was
    broken due to the changes in #64cb5b003140a. This
    patch done by Ruediger Oertel <ro@suse.de> fixes the
    method to work correctly again.
* Tue Nov 06 2018 seife+dev@b1-systems.com
  - kiwi-partitions-lib: wait for udev before lsblk
    A LVM-enabled oem image spuriously did not resize its PV / LVs. Tracking
    this down, I discovered that lsblk was sometimes racing with udev and
    the disk was just not available during get_partition_node_name().
    Call udev_pending() before all lsblk calls to avoid that.
    (lsblk man page also advocates this to synchronize with udev)
* Tue Nov 06 2018 ms@suse.de
  - Bump version: 9.16.35 → 9.16.36
* Tue Nov 06 2018 ms@suse.de
  - Bypass Jekyll processing for github pages
    sphinx uses directories that start with underscores which
    Jekyll considers these to be special resources and does not copy
    them to the final site.
* Mon Nov 05 2018 ms@suse.de
  - Bump version: 9.16.34 → 9.16.35
* Mon Nov 05 2018 ms@suse.de
  - Revert last travis.yml change
    This reverts commit 7fb7e8c39fa861b6226d54e04483be8e96a5f8be.
* Mon Nov 05 2018 ms@suse.de
  - Bump version: 9.16.33 → 9.16.34
* Mon Nov 05 2018 ms@suse.de
  - Next try to fixup pypi deployment
    Reset to encrypted password hash which worked before
* Mon Nov 05 2018 ms@suse.de
  - Bump version: 9.16.32 → 9.16.33
* Mon Nov 05 2018 ms@suse.de
  - Move pypi secret to secure variable on travis
* Mon Nov 05 2018 ms@suse.de
  - Bump version: 9.16.31 → 9.16.32
* Mon Nov 05 2018 ms@suse.de
  - Use travis-sphinx to generate github pages doc
    The output from the sphinx build does not render css
    and java script correctly on github pages, thus switch
    back to travis-sphinx to generate that data
* Mon Nov 05 2018 ms@suse.de
  - Bump version: 9.16.30 → 9.16.31
* Mon Nov 05 2018 ms@suse.de
  - Move github token to secure variable on travis
* Mon Nov 05 2018 ms@suse.de
  - Bump version: 9.16.29 → 9.16.30
* Mon Nov 05 2018 ms@suse.de
  - Run pages deployment before pypi
    In addition update the pypi secret
* Mon Nov 05 2018 ms@suse.de
  - Move travis references to .com domain
* Mon Nov 05 2018 ms@suse.de
  - Bump version: 9.16.28 → 9.16.29
* Mon Nov 05 2018 dcassany@suse.de
  - Arrange command test arguments to match py2 and py3 order
    Apparently dictionary keys are not sorted equaly in py2 and py3. While
    the code does not relay on command flags order the test command
    validation does. This commit ensures the umoci command is the same for
    both, py2 and py3, with all the flags in the same order.
* Mon Nov 05 2018 dcassany@suse.de
  - Make process config arguments method static
* Mon Nov 05 2018 ms@suse.de
  - Added oci_tools to package MANIFEST
* Mon Nov 05 2018 ms@suse.de
  - Use the travis pages provider for doc deployment
    In the past we used the travis-sphinx script to deploy
    the documentation to gh-pages via the travis CI. However
    with the change to the travis github App we need to
    change this deployment into a real deployment stage
    of the travis setup
* Mon Nov 05 2018 ms@suse.de
  - Fixed azurectl redirect in documentation
* Mon Nov 05 2018 ms@suse.de
  - Bump version: 9.16.27 → 9.16.28
* Sun Nov 04 2018 ms@suse.de
  - Added Deploy and Run System in a RamDisk docu
* Wed Oct 31 2018 dcassany@suse.de
  - Refactor containerconfig xml evaluation
    This commit refactors the extracted data from containerconfig section
    to be tool agnostic.
    Related to #863
* Tue Oct 30 2018 ms@suse.de
  - Support ramdisk deployment in OEM images
    Using the rd.kiwi.ramdisk boot option enables the deployment
    into a ramdisk. If this option is enabled only ramdisk devices
    as provided by the brd kernel driver will be available for
    deployment
* Mon Oct 29 2018 ms@suse.de
  - Apply OCI interface for container and root_import
    Instead of directly calling the container archiving tool,
    in this case umoci, the code has been changed to use the
    new OCI interface class. This Fixes #859
* Mon Oct 29 2018 dcassany@suse.de
  - Distinguish install and image dracut config
    This commit distinguishes the files that should be installed inside
    the image dracut only than the ones installed in both, in install initrd
    and image initrd.
    Fixes #858
* Mon Oct 29 2018 ms@suse.de
  - Added OCI tooling interface class
    An initiative to formulate industry standards around container
    formats and runtime is available at https://www.opencontainers.org
    Different tools to implement the specifications had been
    created. The purpose of this class and its sub-classes is
    to provide a common interface in kiwi to allow using all
    tools such that the container support in kiwi covers every
    linux distribution no matter what tooling was preferred.
    Related to Issue #859
* Fri Oct 26 2018 ms@suse.de
  - Warn on Modifications to intermediate config files
    Some files are taken from the host and managed as intermediate
    config files during the build of the image. Changes to those
    files during the build run by e.g a script will not become
    effective because the file gets restored. With this patch we
    detect the modification condition and throw a warning message
    such that the author of the image can adapt the description
    as suggested in the message. This Fixes #817
* Thu Oct 25 2018 ms@suse.de
  - Cleanup code to make flake8 happy
    The new version of flake8 is more strict on code checking and
    complained at several places. This commit fixes the code smells
    such that flake8 is happy again
* Fri Oct 19 2018 ms@suse.de
  - Bump version: 9.16.26 → 9.16.27
* Fri Oct 19 2018 ms@suse.de
  - Use %{ix86} rather than %ix86 in spec template
    Clear macro annotation prevents clarity issues
* Thu Oct 18 2018 ms@suse.de
  - Fixed spec file for gfxboot requires
    Require gfxboot but only for the x86 architecture
* Thu Oct 18 2018 ms@suse.de
  - Bump version: 9.16.25 → 9.16.26
* Thu Oct 18 2018 dcassany@suse.de
  - Move the default rpm database path into Defaults class
* Thu Oct 18 2018 ms@suse.de
  - Handle default uri mime type in Defaults class
* Thu Oct 18 2018 dcassany@suse.de
  - Add a hardcoded rpm database path to import trusted keys
    This commits adds a hardcoded rpm database location to make
    sure the imported keys are in the expected location for zypper.
    Fixes #855
* Thu Oct 18 2018 ms@suse.de
  - Allow simple path source in Uri class
    This patch is needed as follow up fix for the setup of the
    package cache in local repositories. The is_remote method
    from the Uri class is used to identify if a repostory source
    is remote or local. At that point the initial repository
    source was already translated into its components. In case
    of a local repository the Uri instance now receives a simple
    path and the is_remote method raised with a style error.
    This patch allows the Uri class to be more friendly and
    initializes a local path as file:/ typed source.
    Related to Issue #847
* Thu Oct 18 2018 ms@suse.de
  - Bump version: 9.16.24 → 9.16.25
* Thu Oct 18 2018 ms@suse.de
  - Add timestamp to logfile entries
    On the console output we use a log format with timestamps
    This is useful for the logfile contents too
* Wed Oct 17 2018 seife@tuxbox-git.slipkontur.de
  - sort package list which accompanies the image
    This makes it much easier to diff the lists of two images to find out
    the differences in package versions.
* Wed Oct 17 2018 ms@suse.de
  - Don't cache packages from local repos for zypper
    Access to packages from local repositories is as fast as reading
    them from a cache location. The additional package copy and cache
    update is superfluous and should be avoided. This Fixes #847
* Tue Oct 16 2018 ms@suse.de
  - Bump version: 9.16.23 → 9.16.24
* Tue Oct 16 2018 dcassany@suse.de
  - Update /etc/machine-id management docs
    Updates the information about how /etc/machine-id is treated in KIWI
    and provides some hints for old systems where /var/lib/dbus/machine-id
    is not a symlink to /etc/machine-id
    Related to #843
* Tue Oct 16 2018 ms@suse.de
  - Unpack root.tar.gz file for LVM integration test
* Tue Oct 16 2018 ms@suse.de
  - Added LVM integration test build
* Mon Oct 15 2018 ms@suse.de
  - Bump version: 9.16.22 → 9.16.23
* Mon Oct 15 2018 ms@suse.de
  - Added machine id setup in dracut preparation
    In case of a dracut booted image we empty out the systemd
    machine-id configuration file to trigger the rebuild of that
    information by the dracut boot code at boot time. This allows
    for unique systemd identifiers if the same image gets deployed
    on different machines. This also makes the script implementations
    people put in in config.sh or images.sh to solve this problem
    obsolete. This Fixes #843
* Fri Oct 12 2018 ms@suse.de
  - Fix use of uri type in debootstrap call
    Referencing a file in a debootstrap call is done using
    the file:/ source type. However when using file:// debootstrap
    does something different and failed to find the file. The
    additional / had a bad impact to the call.
* Thu Oct 11 2018 ms@suse.de
  - Bump version: 9.16.21 → 9.16.22
* Thu Oct 11 2018 ms@suse.de
  - Delete obsolete rhel/fedora doc move
    With the fix to use the rpm macro consistently it
    is no longer required to move around the docs
* Thu Oct 11 2018 ms@suse.de
  - Bump version: 9.16.20 → 9.16.21
* Thu Oct 11 2018 ms@suse.de
  - Fixed package specs for dracut modules on fedora
    dracut-network is a separate package on Fedora/RHEL too
* Thu Oct 11 2018 ms@suse.de
  - Add alternative search path for syslinux binaries
    On debian/ubuntu systems /usr/lib/ISOLINUX is a valid
    search path for syslinux binaries like isolinux.bin.
    This Fixes #839
* Thu Oct 11 2018 ms@suse.de
  - Fixed package doc install target
    The spec file uses the %{_defaultdocdir} macro but the
    corresponding Makefile target used a hardcoded path which
    lead to inconsistencies on debian/ubuntu based systems.
    This Fixes #838
* Thu Oct 11 2018 ms@suse.de
  - Fixed package specs for dracut modules on debian
    btrfs tools are provided by btrfs-tools package and not by
    btrfs-progs. In addition dracut-network is a separate package
    on debian/ubuntu based distributions. This Fixes #837
* Tue Oct 09 2018 ms@suse.de
  - Don't require gfxboot on rhel/fedora
* Tue Oct 09 2018 ms@suse.de
  - Fixup zypper calls in documentation
    The way the documentation describes the zypper call to add
    a repository was wrong in several places.
* Tue Oct 09 2018 ms@suse.de
  - Added gfxboot to required packages in spec
    kiwi calls gfxboot as tool when building live iso images.
    Thus this tool provided by the gfxboot package should be
    a requirement for kiwi
* Tue Oct 09 2018 ms@suse.de
  - Bump version: 9.16.19 → 9.16.20
* Mon Oct 08 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
* Mon Oct 08 2018 ms@suse.de
  - Fixup README travis and codacy status badges
* 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
* Sun Oct 07 2018 ms@suse.de
  - Include livenet module with dmsquash-live support
    The upstream dracut dmsquash-live module supports network
    mode with the livenet module. But that module must be
    explicitly included and is not fetched automatically.
    This Fixes #827
* Fri Oct 05 2018 ms@suse.de
  - Bump version: 9.16.18 → 9.16.19
* Fri Oct 05 2018 ms@suse.de
  - Rename private method to be more expressive
* Fri Oct 05 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
* 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
* Fri Oct 05 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
* Tue Oct 02 2018 fergal.mc.carthy@suse.com
  - Eliminate redundant code
    Create a helper method, _create_volume_no_zero, which calls the
    lvreate command with appropriate options and calls the vgscan
    command immeditately afterwards to create any missing /dev nodes.
* Sat Sep 29 2018 ms@suse.de
  - Fixed broken link to ec2uploadimg tool
* Sat Sep 29 2018 ms@suse.de
  - Update contact information
    We moved from IRC to Matrix as chat platform. Thus the
    documentation needs to be updated accordingly
* Thu Sep 27 2018 fergal.mc.carthy@suse.com
  - Fixes LVM based image creation in OBS
    While attempting to create LVM based images under the Open Build
    Service I recently ran into some issues related to the fact that
    there is no udev running in the chroot environment used to build
    kiwi based images.
    Two workarounds have been implemented in this patch:
    (1) When calling lvcreate, include the `-Zn` option to disable
    the automatic zeroing of the header of the newly created
    LV device; doing so requires that the LV device's /dev
    entry exists immediately after it has been created, but
    in a chroot'd environment udev isn't going to be running
    to automatically populate /dev/<vg_name>/<lv_name> or
    /dev/mapper/<vg_name>-<lv_name>.
    This should be safe to do since the LV is being created
    within a loopback device based partition, which is backed
    by a zero filled file, created by qemu-img.
    (2) After creating an LV we need to run `vgscan --mknodes`
    to create the required device nodes under /dev, which
    won't be automatically created since udev isn't running
    in the chroot'd environment.
    Unit tests updated to account for additional `-Zn` arguments that
    are being passed to `lvcreate` and for additional call that is
    being made to `vgscan --mknodes`.
    This fixes #824.
* Wed Sep 26 2018 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 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
* 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
* 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
* Sun Feb 11 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"
* Tue Feb 06 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 rjschwei@suse.com
  - - Fix style error
* 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 rjschwei@suse.com
  - - Early exit if firmware is efi or uefi but the expected grub module is
    not part of the package list
* 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
* 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 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 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 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
* Thu Oct 26 2017 ryan@desfo.org
  - updated contributing link
* Thu Oct 26 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.
* Sat May 06 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
* Fri Apr 14 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.
* Fri Apr 14 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.
* Fri Apr 14 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 ngompa13@gmail.com
  - Fix default reposdir path for DNF
* 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
* 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 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
  - 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 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

Files

No Filelist in the Package !

Generated by rpm2html 1.8.1

Fabrice Bellet, Fri Dec 20 23:34:21 2024