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