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.
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
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.
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
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 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
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
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
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.
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
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
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
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
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.
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.
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
```
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