Commit Graph

193 Commits

Author SHA1 Message Date
Neal Gompa
a9ebd4615f package/spec: Reorganize supported DNF variants in packaging
DNF5 has replaced DNF4 and MicroDNF since Fedora Linux 41, and this
replacement will take effect with CentOS Stream/RHEL 11 onward.

Furthermore, openSUSE Tumbleweed is switching to DNF5 for its support
of DNF, so switch things so that DNF5 is available for openSUSE.
2026-01-21 09:25:29 -05:00
Marcus Schäfer
4a259aaaea
Move OVA support to open-vmdk
Finally this commit drops the use of the VMware ovftool
and moves to the real opensource alternative open-vmdk
This Fixes #2292
2026-01-21 11:45:04 +01:00
Marcus Schäfer
2c49b0851f
Fixed spec file requires
The package requirement for binutils was set to TW (>=1650)
only but is also required for SLES16/Leap16 which is 1600
This commit fixes the condition to match with all required
distributions and fixes bsc#1253637
2025-11-18 09:49:24 +01:00
Marcus Schäfer
510ca97dec
Update spec file due to dract changed module dirs
Follow up change for the fix of the recommended dracut
module ordering for out-of-tree modules.
2025-09-01 09:52:24 +02:00
Neal Gompa
1f41f2f3f7 Add dependency for isomd5sum for iso images and set in kiwi-settings
This ensures that isomd5sum is pulled into the environment for ISO image
builds, and the updated settings makes it so that kiwi boxes will use it.
2025-06-08 08:15:34 -04:00
Marcus Schäfer
2c92441600
The way we build debs requires setuptools
debbuild doesn't work when setuptools is not there
2025-05-21 11:39:10 +02:00
Marcus Schäfer
d5cf99e37f
Drop use of setuptools
Since we moved to poetry and no code using setuptools anymore,
this requirement can be dropped. The commit also updates the
plugin documentation which was still based on setup.py
2025-05-21 10:09:10 +02:00
Marcus Schäfer
a2f4ca00d3
Add support for new tarball-based WSL format
With the new image="wsl" type one can build a WSL container
image that uses the new tarball format. This Fixes #2678
2025-05-12 16:22:01 +02:00
Neal Gompa
8992c94579 package: Add kiwi-image:oci Provides to -systemdeps-containers
This allows the Open Build Service to correctly resolve dependencies
when building OCI images.
2025-04-02 08:12:05 -04:00
Marcus Schäfer
14fefdbe48
Fixed python3_sitelib for debbuild in OBS 2025-03-21 21:18:08 +01:00
Marcus Schäfer
8474085b81
distutils sysconfig is deprecated
Move to sysconfig module
2025-03-06 11:32:25 +01:00
Marcus Schäfer
7cfcb93c0f
Fix erofs requires in spec
erofs-utils for SUSE only exists in Tumbleweed. The
former conditon would also add the requirement for ALP
and SLFO which is wrong. This commit fixes it
2024-10-23 10:23:36 +02:00
Marcus Schäfer
0209b13818
Add support for erofs
erofs is an alternative readonly filesystem that can be
used as alternative to squashfs. This Fixes #2633
2024-09-13 15:04:45 +02:00
Marcus Schäfer
7077e5e8ac
limit eif_build requires to fedora >= 42 2024-09-11 14:15:07 +02:00
Marcus Schäfer
d9b396058c
Add new build type provides for enclave
Add a provides tag (read by the open buildservice) for the new
enclave builder. Also add a recommends to eif_builder in
the systemdeps-core meta package
2024-09-11 12:32:18 +02:00
Marcus Schäfer
52f0574200
Revert "remove dependency on /usr/bin/python"
This reverts commit 15b4501884.
The change provided here entirely broke kiwi in OBS. With this
patch applied every image build in OBS fails with the following
message: 'line 1: /usr/sbin/kiwi: No such file or directory'
2024-09-02 09:08:05 +02:00
Petr Gajdos
15b4501884 remove dependency on /usr/bin/python 2024-08-27 11:35:17 +02:00
Marcus Schäfer
d149ab09db
Get rid of debootstrap
Replace debootstrap with an apt-get based pre-download of
packages followed by a dpkg-deb extraction.
This Fixes #2599
2024-08-02 21:57:04 +02:00
Marcus Schäfer
d1a21e58f5
Update requires for kiwi-systemdeps-disk-images
On Tumbleweed several changes caused tools like strings
or the codepage for mtools to be missing in a standard
installation. For building disk images especially EFI
capable ones with vendor information kiwi needs the above
tool. This commit adds the packages providing them on
Tumbleweed to the meta systemdeps for disk images.
This Fixes #2585
2024-07-09 09:40:49 +02:00
Marcus Schäfer
edd75ec6a2
Supplements are not understood by Debian/Ubuntu 2024-07-08 09:17:49 +02:00
Marcus Schäfer
98cf4e906f
Split out bash completion into a sub-package
Per review of the SUSE packaging team we should split out
the bash completion into its own sub-package to give users
better control over the completion feature.
2024-07-04 16:16:44 +02:00
Neal Gompa
584f9ffa03 package: Add fully qualified provides for python3-kiwi in spec
On SUSE distributions, currently the expectation is that packages
built against the Python interpreter should have fully qualified
names in the form of pythonXY-<modulename>. Additionally, all other
Linux distributions prefer something similar in the form of
pythonX.Y-<modulename>.

This ensures we have those names so that distribution dependency
generation works as expected.
2024-07-04 05:32:56 -04:00
Marcus Schäfer
624df1d346
Add bash to package requirements
If there are script evaluations that does not specify
an interpreter, kiwi uses bash for it. The same applies
for sub-process invocations using shell pipelines. Thus
the bash shell is a required tool for kiwi under certain
circumstances. Further details in Issue #2567
2024-06-17 09:26:29 +02:00
Neal Gompa
73e971e94e package: Always include patches and number all sources and patches
This ensures that stuff is applied reliably and all sources and patches
are included as expected.

Then the added kiwi-revert-bls-default-for-suse.patch is applied
conditionally for SUSE distributions.
2024-05-29 17:56:03 -04:00
Alberto Planas
b94ffb2536
package: adjust openSUSE patch 2024-05-29 16:54:21 +02:00
Marcus Schäfer
fe0dd16b81
Fix spec file
Require docopt-ng for Fedora 41+
2024-05-08 10:48:57 +02:00
Neal Gompa
8e4adffcf8 Temporarily revert grub-bls default to false for SUSE distributions
For the time being, SUSE distributions cannot handle KIWI's default
to use BLS with GRUB2. Until they catch up, revert this for them only.
2024-05-02 06:26:31 -04:00
Marcus Schäfer
03e9deceb0
Add missing tool requires
Latest changes on the bundler used sed and file
which were not required by the spec. This is
related to bsc#1221790
2024-04-19 21:10:44 +02:00
Marcus Schäfer
9fe3e96824
Keep runtime_checker_metadata.yml as module file
It was a bad idea to install a mandatory source file outside
the module path. This prevents running kiwi from source
2024-04-19 17:07:49 +02:00
Marcus Schäfer
7e6c31e37e
Fixed runtime checks for dracut module packages
Unfortunately the packaging of kiwi on Debian follows different
naming conventions for dracut module packages which causes
the runtime check to fail. This commit allows to check for
multiple package names and adds the variants used on Debian.
This Fixes #2524
2024-04-18 11:26:12 +02:00
Marcus Schäfer
3220e357d3
Add schema upgrade opportunity for old schemas
kiwi files using a schema version < 7.4 are no longer supported
by kiwi >= v10.x.x. Thus this commit provides the required
XSL stylesheets to upgrade older schemas to v74 such that they
can be consumed by the latest kiwi version. The needed xsltproc
instruction is placed on the main page of the documentation.
2024-04-04 16:52:25 +02:00
Marcus Schäfer
d3fff78cfb
Update schema version in spec file 2024-03-13 08:35:17 +01:00
Marcus Schäfer
74d80982b5
Fix s390 tools and grub requirement
On Fedora/RHEL this is named s390utils and there is no grub2
2024-03-10 11:28:35 +01:00
Neal Gompa
2c35655c7f Ensure we use a compatible docopt-ng version
To ensure our trick to switch between docopt and docopt-ng works,
we need to have a higher minimum version for docopt-ng where
compatibility with the original docopt was restored.
2024-03-06 21:33:26 -05:00
Neal Gompa
7125211f9b
Switch to Poetry and use pyproject.toml definitions
This allows kiwi to be built, developed, tested, and installed
through Poetry. This also raises the minimum Python version to 3.9.
2024-03-06 09:28:26 +01:00
Marcus Schäfer
d3ea590867
Added requirement for xmltodict to spec
Actually the real issue to this defect seems to live in the
anymarkup source code. It seems that the import of xmltodict
at the beginning of the core module is optional, but later on
when handling XML xmltodict seems to be mandatory, see here:
https://github.com/bkabrda/anymarkup-core/blob/08896a8215819edcc413e3f2588518046
9a4c2ed/anymarkup_core/__init__.py#L210-L229. Because this
issue can result in a "ImportError: Can't parse xml: xmltodict not installed"
turning kiwi into a bad exit condition I propose to add
this python requirement to the kiwi spec as a workaround and
try fixing the anymarkup packaging and module setup upstream
in addition. To my knowledge all relevant distributions
provides xmltodict
2024-02-24 15:42:00 +01:00
Marcus Schäfer
b781feaea0
Follow up fix for drop obsolete C tools from kiwi
The spec file make call to build the C code was forgotten
to be deleted
2024-02-12 09:54:26 +01:00
Marcus Schäfer
18347989dd
Drop PDF build of the documentation
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.
2024-02-11 15:11:39 +01:00
Marcus Schäfer
c2766b23a6
Drop obsolete C tools from kiwi
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
2024-02-11 10:54:58 +01:00
Marcus Schäfer
54f92d2a9f
Drop support for syslinux/isolinux
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
2024-01-26 21:25:37 +01:00
Neal Gompa
5a2a278a6e package: Drop unused xorriso dep on dracut-kiwi-live subpackage
We do not actually use xorriso anywhere inside of the dracut module,
nor do we pull in any utilities from the xorriso package into the
generated initramfs anyway.

Fixes: https://github.com/OSInside/kiwi/issues/2404
2023-12-13 15:31:56 -05:00
Marcus Schäfer
c685c2d129
Don't make toml a requirement 2023-11-09 09:04:44 +01:00
Marcus Schäfer
2980ad1926
Support TOML markup
Allow to use TOML markup for the kiwi image description
This Fixes #2372
2023-09-13 12:07:24 +02:00
Evan Goode
b5b3c79ca6
Require DNF 5 in Fedora >= 41, not Fedora > 38
The switch to DNF 5 has been postponed to (likely) Fedora 41.
2023-08-15 18:06:13 -04:00
Dan Čermák
210ab23c2d
rpm spec: add missing requires of typing_extensions for python < 3.8 2023-08-01 10:11:05 +02:00
Dan Čermák
718b82bf01
rpm spec: bump copyright year 2023-08-01 09:58:26 +02:00
Marcus Schäfer
a60183535f
Fixed mail address in spec file 2023-07-24 09:09:51 +02:00
Marcus Schäfer
b7a64febea
Delete (py)xattr module requirement
The required functionality is provided by the core os library
2023-07-20 17:07:08 +02:00
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
e8bb1cd04b
Add support for dnf5 package manager
dnf5 is the next generation of the dnf package manager.
dnf5 is not a drop in replacement to dnf which is the reason
why this commit adds a new interface class for package and
repository management under a new name: dnf5. Beginning with
Fedora >= 39 dnf5 will be the standard. Thus the requirements
on the packaging level were adapted too.
This Fixes #2300
This Fixes #2262
2023-06-12 13:58:36 +02:00