Commit Graph

22 Commits

Author SHA1 Message Date
Marcus Schäfer
ae6effd5de
Change package manager dnf to dnf4
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
2023-06-12 17:44:06 +02:00
Marcus Schäfer
009c88a48b
Added new CloneDevice class
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.
2022-04-05 17:43:41 +02:00
Marcus Schäfer
b373a8d16d Drop support for cdrtools
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
2021-11-11 06:43:56 -05:00
Marcus Schäfer
836633c7b2
Fix/Refactor s390 support
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.
2020-09-30 17:14:30 +02:00
Marcus Schäfer
e582651ee1
Added new build type kis
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
2020-04-27 15:57:10 +02:00
Marcus Schäfer
f6f77b3162
Fixup documentation for consistency
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.
2020-02-19 18:01:14 +01:00
Marcus Schäfer
89226abd46
Addded doc_suse tox target to build docbook target
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
2020-02-14 15:14:30 +01:00
Marcus Schäfer
2046220c07 Refactor documentation layout and structure
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.
2017-05-10 16:32:23 +02:00
Marcus Schäfer
fe9064e629
Fixed doc api build for renamed source file 2017-03-07 16:45:06 +01:00
Marcus Schäfer
57769bca44
Fixup typo in ReST style 2017-01-24 09:40:58 +01:00
Marcus Schäfer
6c69f1c5e7
Add utils.sysconfig to api documentation 2017-01-23 17:25:39 +01:00
Marcus Schäfer
0537a6f186
Fixed typo in solver api documentation 2016-11-22 10:36:29 +01:00
Marcus Schäfer
119e96dc8f Added Sat solver class
Added implementation for Solver class based on the SUSE
libsolv C library and the solv python binding
2016-11-21 12:02:01 +01:00
Marcus Schäfer
fd86f02a06 Added API doc hook for solver path 2016-11-08 18:15:37 +01:00
Marcus Schäfer
3ddc4326c8
Added BlockID class
Class to provide support for retrieving block device metadata
2016-09-22 15:18:42 +02:00
Marcus Schäfer
a1cd4a4a10
Update API documentation
Recall sphinx-apidoc and update the generated result markup
2016-08-24 17:04:15 +02:00
Marcus Schäfer
1ea8b0ed6a
Update Documentation
Update state of supported distributions
2016-06-27 17:28:44 +02:00
Thomas Schraitle
c40d397b6e Small spelling corrections
Apply title style:
* package -> Package
* module -> Module
* Use backticks for kiwi.* modules to avoid spelling problems
2016-04-26 09:17:04 +02:00
Thomas Schraitle
63add3325c Integrate version string from placeholder
Use |version| placeholder, no bumpversion etc. is needed.
Actually, it's taken from conf.py
2016-04-22 13:31:54 +02:00
Marcus Schäfer
6468b7c8ab Ignore auto generated code for API docs 2016-04-10 22:51:20 +02:00
Marcus Schäfer
9be138acc8 Update api documentation setup 2016-04-08 16:10:15 +02:00
Marcus Schäfer
b2552121f8 Create Initial autodoc structure
Called 'sphinx-apidoc -o source/api ../kiwi'
2016-04-08 16:10:15 +02:00