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.
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
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
```
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
This commit adds a runtime check for preferences metadata. More
specfic verifies there is a packagemanager defined and an image version
defined.
Fixes#925
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
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
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
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
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
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
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
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
* 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
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.
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)
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)
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
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
An instance of RuntimeChecker allows to semantically check for
error conditions according to the provided image description
and build options. Related to #20