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