- Bump version: 9.18.8 → 9.18.9
- 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.
- 99-kiwi-lib requires rmdir, install it
Fixes bsc#1143033
- Bump version: 9.18.7 → 9.18.8
- Added multiconsole setup to Fedora build test
- 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
- Bump version: 9.18.6 → 9.18.7
- 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
OBS-URL: https://build.opensuse.org/request/show/720209
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=45
- Bump version: 9.17.40 → 9.17.41
- 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
- Do not crash on missing HOME
- Added live ISO integration tests for arm
- Consolidate syslinux file names and search paths
Handle those file names and search path in the Defaults space
and only once in the code
- Remove '^' which break BaseStripFirmware function (boo#1132455)
- 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
- 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.
- Fixed zipl bootloader setup
OBS-URL: https://build.opensuse.org/request/show/713571
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=43
- Bump version: 9.17.38 → 9.17.39
- Update obs docs per review by Tom
- 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
- Simplify shell pipe expression with shell builtin
Replace "echo $var | sed ..." expression with ${var//SEARCH/REPLACE}
shell builtin as suggested by Codacy
- 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
- 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
OBS-URL: https://build.opensuse.org/request/show/705193
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=42
- Bump version: 9.17.30 → 9.17.31
- 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>
- 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.
- 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
OBS-URL: https://build.opensuse.org/request/show/685857
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=38
- Bump version: 9.17.14 → 9.17.15
- 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
OBS-URL: https://build.opensuse.org/request/show/670306
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=37
- Bump version: 9.17.6 → 9.17.7
- 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
- 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
- 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
OBS-URL: https://build.opensuse.org/request/show/663362
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=35
- Bump version: 9.16.26 → 9.16.27
- Use %{ix86} rather than %ix86 in spec template
Clear macro annotation prevents clarity issues
- Fixed spec file for gfxboot requires
Require gfxboot but only for the x86 architecture
- Bump version: 9.16.25 → 9.16.26
- Move the default rpm database path into Defaults class
- Handle default uri mime type in Defaults class
- Add a hardcoded rpm database path to import trusted keys
OBS-URL: https://build.opensuse.org/request/show/643192
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=33
- Bump version: 9.16.17 → 9.16.18
- 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
- Bump version: 9.16.16 → 9.16.17
- 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
- Bump version: 9.16.15 → 9.16.16
OBS-URL: https://build.opensuse.org/request/show/638661
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=32
- Bump version: 9.16.5 → 9.16.6
- Fix result bundle command
This commits fixes a regression introduced in 98c9c77a
- Bump version: 9.16.4 → 9.16.5
- 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
- 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)
OBS-URL: https://build.opensuse.org/request/show/626923
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=30
- Bump version: 9.15.1 → 9.15.2
- Fix zypper add lock operations
This commit fixes the arguments passed to zypper in add lock
operations.
- Add correct GPL-3.0-or-later license
Add the correct license reference in the spec License field
Fixes#732
- 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
OBS-URL: https://build.opensuse.org/request/show/609805
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=28
- Bump version: 9.15.0 → 9.15.1
- Add a chapter for uninstall package requests in docs (#726)
Add a chapter for uninstall package requests in docs
- 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)
- 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
- Bump version: 9.14.7 → 9.15.0
OBS-URL: https://build.opensuse.org/request/show/605755
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=27
- Bump version: 9.14.6 → 9.14.7
- 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
- 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
OBS-URL: https://build.opensuse.org/request/show/604053
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=26
- Bump version: 9.14.1 → 9.14.2
- 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
- Check partition table after cow part creation
Proceed with the persistent write partition setup only
if the cow partition could have been created successfully
- 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
OBS-URL: https://build.opensuse.org/request/show/595114
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=25
- Bump version: 9.13.9 → 9.14.0
- Rebuild online schema documentation
- XSL Auto update descriptions due to schema change
- 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
- Add efiparttable type attribute
This commit allows to choose the partition table type for efi firmwares
OBS-URL: https://build.opensuse.org/request/show/591104
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=23
- Bump version: 9.13.4 → 9.13.5
- 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
- Bump version: 9.13.3 → 9.13.4
- 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.
- Bump version: 9.13.2 → 9.13.3
OBS-URL: https://build.opensuse.org/request/show/583474
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=22
- Bump version: 9.12.9 → 9.13.0
- Fixup grub2 theme setup
The presence of a background file was mandatory for kiwi to
use the theme. But the background information is optional
- 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
- 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
OBS-URL: https://build.opensuse.org/request/show/578322
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=20
- Bump version: 9.12.8 → 9.12.9
- 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
- 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
- Initial support for building Debian/Ubuntu packages in spec
This adds support for producing the main kiwi package as well as the
OBS-URL: https://build.opensuse.org/request/show/576012
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=19
- Bump version: 9.12.7 → 9.12.8
- Exclude install source device from target list
- 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.
- 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
- Cleanup misleading method name
- Fixed coverage report setup
Latest version of the coverage module requires a report setup
OBS-URL: https://build.opensuse.org/request/show/573218
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=18
- Bump version: 9.12.5 → 9.12.6
- 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.
- Bump version: 9.12.4 → 9.12.5
- 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
- uboot-setup-panda.tgz was readded by mistake as boot hooks are no longer needed
OBS-URL: https://build.opensuse.org/request/show/570609
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=17
- Bump version: 9.11.29 → 9.11.30
- Deleted syslinux from ppc/oemboot/suse-SLES15
syslinux is not provided for ppc. This Fixes bsc#1073310
[boot] fix double quote in grub menu which makes kernel updates for CentOS / RHEL / Fedora break grub.cfg
- 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.
OBS-URL: https://build.opensuse.org/request/show/563059
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=16
- Bump version: 9.11.21 → 9.11.22
- 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
- Bump version: 9.11.20 → 9.11.21
- package: Prepare for Tumbleweed moving to suse_version 1550
- Bump version: 9.11.19 → 9.11.20
- 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
OBS-URL: https://build.opensuse.org/request/show/544423
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=14
- Bump version: 9.11.16 → 9.11.17
- Delete atftp from SLE15 boot descriptions
atftp will not be part of SLE15 per fate#323633.
This Fixes#543
- 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
- Code cleaning and enhancing variables names
- Use usr/lib/rpm if present instead of var/lib/rpm
With this commit OEM recovery tries to backup usr/lib/rpm if present,
OBS-URL: https://build.opensuse.org/request/show/541767
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=13
- Bump version: 9.11.13 → 9.11.14
- Cleanup SLE12 boot image descriptions
- Bump version: 9.11.12 → 9.11.13
- Cleanup SLE boot image descriptions
Don't use packages which does not exist on SLE, Fixes#523
- 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.
- 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
OBS-URL: https://build.opensuse.org/request/show/536422
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=11
- Bump version: 9.11.1 → 9.11.2
- Rebuild online schema documentation
- Bump version: 9.11.0 → 9.11.1
- 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
- Update oemboot/rhel-07.0 due to isolinux changes
OBS-URL: https://build.opensuse.org/request/show/523261
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=9
- Bump version: 9.6.2 → 9.7.0
- Make sure all required yum repo options are set
enabled and gpgcheck parameters has to be set for any
configured yum repository
- 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
- Reactivate warnings report in pytest
- 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
OBS-URL: https://build.opensuse.org/request/show/500565
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=6
- Bump version: 9.3.3 → 9.4.0
- Allow https location as repository source
- 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.
- Added SLE13 distribution matcher
- Update distribution matcher in spec file
- Refactor ContainerBuilder
Use Checksum instance to run a checksum match
Check for existence of base image at earliest opportunity
when constructing a ContainerBuilder
OBS-URL: https://build.opensuse.org/request/show/479991
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=2
- Bump version: 9.18.28 → 9.18.29
- Update Host/Image support matrix
Update documentation about the Host vs. Image support and
compatibility matrix with regards to the SLES target.
- 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
- Bump version: 9.18.27 → 9.18.28
- Delete left over print statement from unit test
- 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
- Bump Fedora x86 build test to Fedora30
- Bump version: 9.18.26 → 9.18.27
- 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`.
OBS-URL: https://build.opensuse.org/request/show/743848
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=50