760 lines
23 KiB
RPMSpec
760 lines
23 KiB
RPMSpec
|
#
|
||
|
# spec file for package kiwi
|
||
|
#
|
||
|
# Copyright (c) 2023 SUSE LLC
|
||
|
#
|
||
|
# All modifications and additions to the file contributed by third parties
|
||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||
|
# upon. The license for this file, and modifications and additions to the
|
||
|
# file, is the same license as for the pristine package itself (unless the
|
||
|
# license for the pristine package is not an Open Source License, in which
|
||
|
# case the license is the MIT License). An "Open Source License" is a
|
||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||
|
# published by the Open Source Initiative.
|
||
|
#
|
||
|
# Please submit bugfixes or comments via:
|
||
|
#
|
||
|
# https://github.com/OSInside/kiwi/issues
|
||
|
#
|
||
|
|
||
|
# If they aren't provided by a system installed macro, define them
|
||
|
%{!?_defaultdocdir: %global _defaultdocdir %{_datadir}/doc}
|
||
|
%{!?__python3: %global __python3 /usr/bin/python3}
|
||
|
|
||
|
%if %{undefined python3_sitelib}
|
||
|
%global python3_sitelib %(%{__python3} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
|
||
|
%endif
|
||
|
|
||
|
%if 0%{?el7}
|
||
|
%global python3_pkgversion 36
|
||
|
%else
|
||
|
%{!?python3_pkgversion:%global python3_pkgversion 3}
|
||
|
%endif
|
||
|
|
||
|
%if 0%{?debian} || 0%{?ubuntu}
|
||
|
%global is_deb 1
|
||
|
%global pygroup python
|
||
|
%global sysgroup admin
|
||
|
%global develsuffix dev
|
||
|
%else
|
||
|
%global pygroup Development/Languages/Python
|
||
|
%global sysgroup System/Management
|
||
|
%global develsuffix devel
|
||
|
%endif
|
||
|
|
||
|
Name: python-kiwi
|
||
|
Version: 9.25.22
|
||
|
Provides: kiwi-schema = 7.5
|
||
|
Release: 0
|
||
|
Url: https://github.com/OSInside/kiwi
|
||
|
Summary: KIWI - Appliance Builder Next Generation
|
||
|
License: GPL-3.0-or-later
|
||
|
%if "%{_vendor}" == "debbuild"
|
||
|
# Needed to set Maintainer in output debs
|
||
|
Packager: Marcus Schaefer <marcus.schaefer@suse.com>
|
||
|
%endif
|
||
|
Group: %{pygroup}
|
||
|
Source: %{name}.tar.gz
|
||
|
Source1: %{name}-rpmlintrc
|
||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||
|
BuildRequires: gcc
|
||
|
BuildRequires: python%{python3_pkgversion}-%{develsuffix} >= 3.6
|
||
|
BuildRequires: python%{python3_pkgversion}-setuptools
|
||
|
%if 0%{?fedora} || 0%{?suse_version}
|
||
|
BuildRequires: fdupes
|
||
|
%endif
|
||
|
%if 0%{?suse_version}
|
||
|
BuildRequires: shadow
|
||
|
%endif
|
||
|
%if 0%{?debian} || 0%{?ubuntu}
|
||
|
BuildRequires: passwd
|
||
|
%endif
|
||
|
|
||
|
%description
|
||
|
The KIWI Image System provides an operating system image builder
|
||
|
for Linux supported hardware platforms as well as for virtualization
|
||
|
and cloud systems like Xen, KVM, VMware, EC2 and more.
|
||
|
|
||
|
%package -n kiwi-systemdeps-core
|
||
|
Summary: KIWI - Core host system dependencies
|
||
|
Group: %{sysgroup}
|
||
|
Provides: kiwi-image-tbz-requires = %{version}-%{release}
|
||
|
Obsoletes: kiwi-image-tbz-requires < %{version}-%{release}
|
||
|
%if "%{_vendor}" != "debbuild"
|
||
|
Provides: kiwi-image:tbz
|
||
|
%endif
|
||
|
# tools conditionally used by kiwi
|
||
|
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||
|
Recommends: gnupg2
|
||
|
Recommends: debootstrap
|
||
|
Recommends: dpkg
|
||
|
%endif
|
||
|
%if 0%{?suse_version}
|
||
|
Recommends: gpg2
|
||
|
Recommends: debootstrap
|
||
|
Recommends: dpkg
|
||
|
%if 0%{?suse_version} >= 1650
|
||
|
Recommends: dnf
|
||
|
%endif
|
||
|
%endif
|
||
|
# package managers required by distro
|
||
|
%if 0%{?fedora} || 0%{?rhel} >= 8 || 0%{?suse_version} >= 1650
|
||
|
Provides: kiwi-packagemanager:microdnf
|
||
|
Requires: microdnf
|
||
|
%endif
|
||
|
%if 0%{?fedora} >= 41
|
||
|
Requires: dnf5
|
||
|
Requires: dnf5-plugins
|
||
|
Provides: kiwi-packagemanager:dnf5
|
||
|
%else
|
||
|
%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} >= 1650
|
||
|
Requires: dnf
|
||
|
Provides: kiwi-packagemanager:dnf
|
||
|
Provides: kiwi-packagemanager:dnf4
|
||
|
Provides: kiwi-packagemanager:yum
|
||
|
%endif
|
||
|
%endif
|
||
|
%if 0%{?fedora} >= 26 || 0%{?suse_version}
|
||
|
Requires: zypper
|
||
|
Provides: kiwi-packagemanager:zypper
|
||
|
%endif
|
||
|
%if 0%{?debian} || 0%{?ubuntu}
|
||
|
Requires: debootstrap
|
||
|
Requires: dpkg
|
||
|
Requires: gnupg
|
||
|
%endif
|
||
|
# tools required by kiwi
|
||
|
Requires: kiwi-tools
|
||
|
Requires: mtools
|
||
|
Requires: rsync
|
||
|
Requires: tar >= 1.2.7
|
||
|
Requires: cpio
|
||
|
Requires: lsof
|
||
|
Requires: openssl
|
||
|
|
||
|
%description -n kiwi-systemdeps-core
|
||
|
This metapackage installs the necessary system dependencies
|
||
|
to run KIWI.
|
||
|
|
||
|
%package -n kiwi-systemdeps-containers
|
||
|
Summary: KIWI - host requirements for OCI container images
|
||
|
Group: %{sysgroup}
|
||
|
Provides: kiwi-image-docker-requires = %{version}-%{release}
|
||
|
Obsoletes: kiwi-image-docker-requires < %{version}-%{release}
|
||
|
%if "%{_vendor}" != "debbuild"
|
||
|
Provides: kiwi-image:docker
|
||
|
%endif
|
||
|
%if 0%{?suse_version}
|
||
|
Requires: umoci
|
||
|
%else
|
||
|
Requires: buildah
|
||
|
%endif
|
||
|
Requires: skopeo
|
||
|
|
||
|
%description -n kiwi-systemdeps-containers
|
||
|
Host setup helper to pull in all packages required/useful on
|
||
|
the build host to build OCI container images
|
||
|
|
||
|
%package -n kiwi-systemdeps-containers-wsl
|
||
|
Summary: KIWI - host requirements for WSL container images
|
||
|
Group: %{sysgroup}
|
||
|
Provides: kiwi-image-wsl-requires = %{version}-%{release}
|
||
|
Obsoletes: kiwi-image-wsl-requires < %{version}-%{release}
|
||
|
%if "%{_vendor}" != "debbuild"
|
||
|
Provides: kiwi-image:appx
|
||
|
%endif
|
||
|
%if 0%{?suse_version}
|
||
|
Requires: fb-util-for-appx
|
||
|
%endif
|
||
|
%if 0%{?fedora} || 0%{?rhel}
|
||
|
Requires: appx-util
|
||
|
%endif
|
||
|
|
||
|
%description -n kiwi-systemdeps-containers-wsl
|
||
|
Host setup helper to pull in all packages required/useful on
|
||
|
the build host to build WSL container images
|
||
|
|
||
|
%package -n kiwi-systemdeps-iso-media
|
||
|
Summary: KIWI - host requirements for live and install iso images
|
||
|
Group: %{sysgroup}
|
||
|
Provides: kiwi-image-iso-requires = %{version}-%{release}
|
||
|
Obsoletes: kiwi-image-iso-requires < %{version}-%{release}
|
||
|
%if "%{_vendor}" != "debbuild"
|
||
|
Provides: kiwi-image:iso
|
||
|
%endif
|
||
|
%if 0%{?suse_version}
|
||
|
Requires: checkmedia
|
||
|
%endif
|
||
|
Requires: xorriso
|
||
|
%ifarch %{ix86} x86_64
|
||
|
Requires: syslinux
|
||
|
%endif
|
||
|
Requires: kiwi-systemdeps-core = %{version}-%{release}
|
||
|
Requires: kiwi-systemdeps-filesystems = %{version}-%{release}
|
||
|
Requires: kiwi-systemdeps-bootloaders = %{version}-%{release}
|
||
|
|
||
|
%description -n kiwi-systemdeps-iso-media
|
||
|
Host setup helper to pull in all packages required/useful on
|
||
|
the build host to build live and install iso images.
|
||
|
|
||
|
%package -n kiwi-systemdeps-bootloaders
|
||
|
Summary: KIWI - host requirements for configuring bootloaders
|
||
|
%if 0%{?suse_version}
|
||
|
%ifarch x86_64
|
||
|
Requires: grub2-x86_64-efi
|
||
|
%endif
|
||
|
%ifarch %{ix86} x86_64
|
||
|
Recommends: gfxboot
|
||
|
%endif
|
||
|
%endif
|
||
|
%if 0%{?fedora} || 0%{?rhel}
|
||
|
%ifarch x86_64
|
||
|
Requires: grub2-efi-x64
|
||
|
%endif
|
||
|
%endif
|
||
|
%if ! (0%{?debian} || 0%{?ubuntu})
|
||
|
Requires: grub2
|
||
|
%endif
|
||
|
%ifarch %arm aarch64
|
||
|
%if 0%{?fedora} || 0%{?rhel}
|
||
|
Requires: uboot-tools
|
||
|
%endif
|
||
|
%if 0%{?suse_version}
|
||
|
Requires: u-boot-tools
|
||
|
%endif
|
||
|
%endif
|
||
|
%ifarch s390 s390x
|
||
|
Requires: s390-tools
|
||
|
%endif
|
||
|
Requires: kiwi-systemdeps-core = %{version}-%{release}
|
||
|
|
||
|
%description -n kiwi-systemdeps-bootloaders
|
||
|
Host setup helper to pull in all packages required/useful on
|
||
|
the build host for configuring bootloaders on images.
|
||
|
|
||
|
%package -n kiwi-systemdeps-filesystems
|
||
|
Summary: KIWI - host requirements for filesystems
|
||
|
Group: %{sysgroup}
|
||
|
Provides: kiwi-image-pxe-requires = %{version}-%{release}
|
||
|
Obsoletes: kiwi-image-pxe-requires < %{version}-%{release}
|
||
|
Provides: kiwi-filesystem-requires = %{version}-%{release}
|
||
|
Obsoletes: kiwi-filesystem-requires < %{version}-%{release}
|
||
|
%if "%{_vendor}" != "debbuild"
|
||
|
Provides: kiwi-image:pxe
|
||
|
Provides: kiwi-image:kis
|
||
|
%if ! (0%{?rhel} >= 8)
|
||
|
Provides: kiwi-filesystem:btrfs
|
||
|
%endif
|
||
|
Provides: kiwi-filesystem:ext2
|
||
|
Provides: kiwi-filesystem:ext3
|
||
|
Provides: kiwi-filesystem:ext4
|
||
|
Provides: kiwi-filesystem:squashfs
|
||
|
Provides: kiwi-filesystem:xfs
|
||
|
%endif
|
||
|
Requires: dosfstools
|
||
|
Requires: e2fsprogs
|
||
|
Requires: xfsprogs
|
||
|
%if 0%{?suse_version}
|
||
|
Requires: btrfsprogs
|
||
|
%else
|
||
|
%if ! (0%{?rhel} >= 8)
|
||
|
Requires: btrfs-progs
|
||
|
%endif
|
||
|
%endif
|
||
|
%if 0%{?suse_version}
|
||
|
Requires: squashfs
|
||
|
%else
|
||
|
Requires: squashfs-tools
|
||
|
%endif
|
||
|
%if "%{_vendor}" == "debbuild"
|
||
|
Requires: qemu-utils
|
||
|
%else
|
||
|
%if 0%{?suse_version}
|
||
|
Requires: qemu-tools
|
||
|
%else
|
||
|
Requires: qemu-img
|
||
|
%endif
|
||
|
%endif
|
||
|
Requires: kiwi-systemdeps-core = %{version}-%{release}
|
||
|
|
||
|
%description -n kiwi-systemdeps-filesystems
|
||
|
Host setup helper to pull in all packages required/useful on
|
||
|
the build host to build filesystem images
|
||
|
|
||
|
%package -n kiwi-systemdeps-disk-images
|
||
|
Summary: KIWI - host requirements for disk images
|
||
|
Group: %{sysgroup}
|
||
|
Provides: kiwi-image-oem-requires = %{version}-%{release}
|
||
|
Obsoletes: kiwi-image-oem-requires < %{version}-%{release}
|
||
|
Provides: kiwi-image-vmx-requires = %{version}-%{release}
|
||
|
Obsoletes: kiwi-image-vmx-requires < %{version}-%{release}
|
||
|
%if "%{_vendor}" != "debbuild"
|
||
|
Provides: kiwi-image:oem
|
||
|
Provides: kiwi-image:vmx
|
||
|
%endif
|
||
|
Requires: kiwi-systemdeps-filesystems = %{version}-%{release}
|
||
|
Requires: kiwi-systemdeps-bootloaders = %{version}-%{release}
|
||
|
Requires: kiwi-systemdeps-iso-media = %{version}-%{release}
|
||
|
%if 0%{?suse_version}
|
||
|
Requires: gptfdisk
|
||
|
%else
|
||
|
Requires: gdisk
|
||
|
%endif
|
||
|
Requires: lvm2
|
||
|
Requires: parted
|
||
|
Requires: kpartx
|
||
|
Requires: cryptsetup
|
||
|
Requires: mdadm
|
||
|
Requires: util-linux
|
||
|
# lsblk is part of util-linux-systemd on openSUSE
|
||
|
%if 0%{?suse_version}
|
||
|
Requires: util-linux-systemd
|
||
|
%endif
|
||
|
|
||
|
%description -n kiwi-systemdeps-disk-images
|
||
|
Host setup helper to pull in all packages required/useful on
|
||
|
the build host to build disk images
|
||
|
|
||
|
%package -n kiwi-systemdeps-image-validation
|
||
|
Summary: KIWI - host requirements for handling image descriptions better
|
||
|
Group: %{sysgroup}
|
||
|
%if 0%{?fedora} || 0%{?rhel} >= 8 || 0%{?suse_version} || 0%{?debian} || 0%{?ubuntu}
|
||
|
Recommends: jing
|
||
|
%endif
|
||
|
%if 0%{?fedora} || 0%{?rhel} >= 8 || 0%{?suse_version}
|
||
|
Requires: python%{python3_pkgversion}-solv
|
||
|
%endif
|
||
|
%if ! (0%{?rhel} && 0%{?rhel} < 8)
|
||
|
Recommends: python%{python3_pkgversion}-anymarkup-core
|
||
|
%endif
|
||
|
|
||
|
%description -n kiwi-systemdeps-image-validation
|
||
|
Host setup helper to pull in all packages required/useful on
|
||
|
the build host to handling image descriptions better. This also
|
||
|
includes reading of image descriptions for different markup
|
||
|
languages
|
||
|
|
||
|
%package -n kiwi-systemdeps
|
||
|
Summary: KIWI - Host system dependencies
|
||
|
Group: %{sysgroup}
|
||
|
Requires: kiwi-systemdeps-core = %{version}-%{release}
|
||
|
Requires: kiwi-systemdeps-bootloaders = %{version}-%{release}
|
||
|
%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
|
||
|
# None of the container build tools are available in Debian/Ubuntu
|
||
|
Requires: kiwi-systemdeps-containers = %{version}-%{release}
|
||
|
Requires: kiwi-systemdeps-containers-wsl = %{version}-%{release}
|
||
|
%endif
|
||
|
Requires: kiwi-systemdeps-filesystems = %{version}-%{release}
|
||
|
Requires: kiwi-systemdeps-disk-images = %{version}-%{release}
|
||
|
Requires: kiwi-systemdeps-iso-media = %{version}-%{release}
|
||
|
%if 0%{?fedora} || 0%{?suse_version}
|
||
|
Requires: kiwi-systemdeps-image-validation = %{version}-%{release}
|
||
|
%endif
|
||
|
|
||
|
%description -n kiwi-systemdeps
|
||
|
Host setup helper to pull in all packages required/useful to
|
||
|
leverage all functionality in KIWI.
|
||
|
|
||
|
# python3-kiwi
|
||
|
%package -n python%{python3_pkgversion}-kiwi
|
||
|
Summary: KIWI - Appliance Builder Next Generation
|
||
|
Group: %{pygroup}
|
||
|
Obsoletes: python2-kiwi
|
||
|
Conflicts: python2-kiwi
|
||
|
Conflicts: kiwi-man-pages < %{version}
|
||
|
Requires: screen
|
||
|
Requires: file
|
||
|
Requires: sed
|
||
|
Requires: python%{python3_pkgversion} >= 3.6
|
||
|
%if 0%{?ubuntu} || 0%{?debian}
|
||
|
Requires: python%{python3_pkgversion}-yaml
|
||
|
Requires: python%{python3_pkgversion}-typing-extensions
|
||
|
%else
|
||
|
Requires: python%{python3_pkgversion}-PyYAML
|
||
|
%endif
|
||
|
Requires: python%{python3_pkgversion}-simplejson
|
||
|
Requires: python%{python3_pkgversion}-docopt
|
||
|
Requires: python%{python3_pkgversion}-lxml
|
||
|
Requires: python%{python3_pkgversion}-requests
|
||
|
Requires: python%{python3_pkgversion}-setuptools
|
||
|
%if 0%{?rhel} || 0%{?fedora}
|
||
|
Requires: (python%{python3_pkgversion}-typing-extensions if python%{python3_pkgversion} < 3.8)
|
||
|
%endif
|
||
|
%if 0%{?suse_version}
|
||
|
Requires: (python%{python3_pkgversion}-typing_extensions if python%{python3_pkgversion} < 3.8)
|
||
|
%endif
|
||
|
%if ! (0%{?rhel} && 0%{?rhel} < 8)
|
||
|
Recommends: kiwi-man-pages
|
||
|
%endif
|
||
|
%if "%{_vendor}" == "debbuild"
|
||
|
# Avoid issues with not being able to use magic Provides
|
||
|
Requires: kiwi-systemdeps = %{version}-%{release}
|
||
|
%else
|
||
|
# Only require core dependencies, and allow OBS to pull the rest through magic Provides
|
||
|
Requires: kiwi-systemdeps-core = %{version}-%{release}
|
||
|
%if ! 0%{?el7}
|
||
|
# Retain default expectation for local installations
|
||
|
Recommends: kiwi-systemdeps = %{version}-%{release}
|
||
|
%endif
|
||
|
%endif
|
||
|
|
||
|
%description -n python%{python3_pkgversion}-kiwi
|
||
|
Python 3 library of the KIWI Image System. Provides an operating system
|
||
|
image builder for Linux supported hardware platforms as well as for
|
||
|
virtualization and cloud systems like Xen, KVM, VMware, EC2 and more.
|
||
|
|
||
|
%package -n kiwi-tools
|
||
|
Summary: KIWI - Collection of Boot Helper Tools
|
||
|
License: GPL-3.0-or-later
|
||
|
Group: %{sysgroup}
|
||
|
|
||
|
%description -n kiwi-tools
|
||
|
This package contains a small set of helper tools used for the
|
||
|
kiwi created initial ramdisk which is used to control the very
|
||
|
first boot of an appliance. The tools are not meant to be used
|
||
|
outside of the scope of kiwi appliance building.
|
||
|
|
||
|
%if "%{_vendor}" != "debbuild"
|
||
|
%ifarch %{ix86} x86_64
|
||
|
%package -n kiwi-pxeboot
|
||
|
Summary: KIWI - PXE boot structure
|
||
|
Requires: syslinux
|
||
|
%if 0%{?fedora} || 0%{?rhel}
|
||
|
Requires(pre): shadow-utils
|
||
|
%else
|
||
|
Requires(pre): shadow
|
||
|
%endif
|
||
|
%if 0%{?suse_version} >= 1550
|
||
|
Requires(pre): user(tftp)
|
||
|
%endif
|
||
|
License: GPL-3.0-or-later
|
||
|
Group: %{sysgroup}
|
||
|
|
||
|
%description -n kiwi-pxeboot
|
||
|
This package contains the basic PXE directory structure which is
|
||
|
needed to serve kiwi built images via PXE.
|
||
|
%endif
|
||
|
%endif
|
||
|
|
||
|
%package -n dracut-kiwi-lib
|
||
|
Summary: KIWI - Dracut kiwi Library
|
||
|
%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} || 0%{?debian}
|
||
|
# Ubuntu 16.04 OBS environments refuse to set up due to
|
||
|
# initramfs-tools / dracut conflict and initramfs-tools is required
|
||
|
# to set up the build environment...
|
||
|
BuildRequires: dracut
|
||
|
%endif
|
||
|
Requires: bc
|
||
|
Requires: cryptsetup
|
||
|
%if 0%{?fedora} || 0%{?rhel} || 0%{?ubuntu} >= 1804 || 0%{?debian} >= 9
|
||
|
%if 0%{?rhel} && 0%{?rhel} < 8
|
||
|
Requires: btrfs-progs
|
||
|
%else
|
||
|
Recommends: btrfs-progs
|
||
|
%endif
|
||
|
Requires: gdisk
|
||
|
Requires: dracut-network
|
||
|
%else
|
||
|
%if 0%{?debian} || 0%{?ubuntu}
|
||
|
Recommends: btrfs-tools
|
||
|
Requires: gdisk
|
||
|
%else
|
||
|
Requires: btrfsprogs
|
||
|
Requires: gptfdisk
|
||
|
%endif
|
||
|
%endif
|
||
|
Requires: coreutils
|
||
|
Requires: e2fsprogs
|
||
|
Requires: grep
|
||
|
Requires: lvm2
|
||
|
Requires: mdadm
|
||
|
Requires: util-linux
|
||
|
# lsblk is part of util-linux-systemd on openSUSE
|
||
|
%if 0%{?suse_version}
|
||
|
Requires: util-linux-systemd
|
||
|
%endif
|
||
|
Requires: xfsprogs
|
||
|
Requires: dialog
|
||
|
Requires: pv
|
||
|
Requires: curl
|
||
|
%if 0%{?debian} || 0%{?ubuntu}
|
||
|
Requires: xz-utils
|
||
|
Requires: dmsetup
|
||
|
%else
|
||
|
Requires: xz
|
||
|
Requires: device-mapper
|
||
|
%endif
|
||
|
%ifarch s390 s390x
|
||
|
Requires: s390-tools
|
||
|
Requires: parted
|
||
|
%endif
|
||
|
License: GPL-3.0-or-later
|
||
|
Group: %{sysgroup}
|
||
|
|
||
|
%description -n dracut-kiwi-lib
|
||
|
This package contains a collection of methods to provide a library
|
||
|
for tasks done in other kiwi dracut modules
|
||
|
|
||
|
%package -n dracut-kiwi-oem-repart
|
||
|
Summary: KIWI - Dracut module for oem(repart) image type
|
||
|
%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} || 0%{?debian}
|
||
|
# Ubuntu 16.04 OBS environments refuse to set up due to
|
||
|
# initramfs-tools / dracut conflict and initramfs-tools is required
|
||
|
# to set up the build environment...
|
||
|
BuildRequires: dracut
|
||
|
%endif
|
||
|
Requires: dracut-kiwi-lib = %{version}-%{release}
|
||
|
License: GPL-3.0-or-later
|
||
|
Group: %{sysgroup}
|
||
|
|
||
|
%description -n dracut-kiwi-oem-repart
|
||
|
This package contains the kiwi-repart dracut module which is
|
||
|
used to repartition the oem disk image to the current disk
|
||
|
geometry according to the setup in the kiwi image configuration
|
||
|
|
||
|
%package -n dracut-kiwi-oem-dump
|
||
|
Summary: KIWI - Dracut module for oem(install) image type
|
||
|
%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} || 0%{?debian}
|
||
|
# Ubuntu 16.04 OBS environments refuse to set up due to
|
||
|
# initramfs-tools / dracut conflict and initramfs-tools is required
|
||
|
# to set up the build environment...
|
||
|
BuildRequires: dracut
|
||
|
%endif
|
||
|
Requires: dracut-kiwi-lib = %{version}-%{release}
|
||
|
Requires: kexec-tools
|
||
|
Requires: gawk
|
||
|
Requires: kpartx
|
||
|
License: GPL-3.0-or-later
|
||
|
Group: %{sysgroup}
|
||
|
|
||
|
%description -n dracut-kiwi-oem-dump
|
||
|
This package contains the kiwi-dump and kiwi-dump-reboot dracut
|
||
|
modules which is used to install an oem image onto a target disk.
|
||
|
It implements a simple installer which allows for user selected
|
||
|
target disk or unattended installation to target. The source of
|
||
|
the image to install could be either from media(CD/DVD/USB) or
|
||
|
from remote
|
||
|
|
||
|
%package -n dracut-kiwi-live
|
||
|
Summary: KIWI - Dracut module for iso(live) image type
|
||
|
%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} || 0%{?debian}
|
||
|
# Ubuntu 16.04 OBS environments refuse to set up due to
|
||
|
# initramfs-tools / dracut conflict and initramfs-tools is required
|
||
|
# to set up the build environment...
|
||
|
BuildRequires: dracut
|
||
|
%endif
|
||
|
Requires: dialog
|
||
|
Requires: xfsprogs
|
||
|
Requires: e2fsprogs
|
||
|
Requires: util-linux
|
||
|
# lsblk is part of util-linux-systemd on openSUSE
|
||
|
%if 0%{?suse_version}
|
||
|
Requires: util-linux-systemd
|
||
|
%endif
|
||
|
%if 0%{?debian} || 0%{?ubuntu}
|
||
|
Requires: dmsetup
|
||
|
Requires: dracut-network
|
||
|
%endif
|
||
|
%if 0%{?fedora} || 0%{?rhel}
|
||
|
Requires: device-mapper
|
||
|
Requires: dracut-network
|
||
|
%endif
|
||
|
%if 0%{?suse_version}
|
||
|
Requires: device-mapper
|
||
|
%endif
|
||
|
Requires: dracut
|
||
|
License: GPL-3.0-or-later
|
||
|
Group: %{sysgroup}
|
||
|
|
||
|
%description -n dracut-kiwi-live
|
||
|
This package contains the kiwi-live dracut module which is used
|
||
|
for booting iso(live) images built with KIWI
|
||
|
|
||
|
%package -n dracut-kiwi-overlay
|
||
|
Summary: KIWI - Dracut module for vmx(+overlay) image type
|
||
|
%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} || 0%{?debian}
|
||
|
# Ubuntu 16.04 OBS environments refuse to set up due to
|
||
|
# initramfs-tools / dracut conflict and initramfs-tools is required
|
||
|
# to set up the build environment...
|
||
|
BuildRequires: dracut
|
||
|
%endif
|
||
|
Requires: dracut-kiwi-lib = %{version}-%{release}
|
||
|
Requires: dracut
|
||
|
License: GPL-3.0-or-later
|
||
|
Group: %{sysgroup}
|
||
|
|
||
|
%description -n dracut-kiwi-overlay
|
||
|
This package contains the kiwi-overlay dracut module which is used
|
||
|
for booting vmx images built with KIWI and configured to use an
|
||
|
overlay root filesystem
|
||
|
|
||
|
%package -n dracut-kiwi-verity
|
||
|
Summary: KIWI - Dracut module for disk with embedded verity metadata
|
||
|
%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} || 0%{?debian}
|
||
|
# Ubuntu 16.04 OBS environments refuse to set up due to
|
||
|
# initramfs-tools / dracut conflict and initramfs-tools is required
|
||
|
# to set up the build environment...
|
||
|
BuildRequires: dracut
|
||
|
%endif
|
||
|
Requires: dracut-kiwi-lib = %{version}-%{release}
|
||
|
Requires: dracut
|
||
|
BuildRequires: gcc
|
||
|
License: GPL-3.0-or-later
|
||
|
Group: %{sysgroup}
|
||
|
|
||
|
%description -n dracut-kiwi-verity
|
||
|
This package contains the kiwi-verity dracut module which is used
|
||
|
for booting oem images built with KIWI and configured to use an
|
||
|
embedded verity metadata block via the embed_verity_metadata
|
||
|
type attribute
|
||
|
|
||
|
%package -n kiwi-man-pages
|
||
|
Summary: KIWI - manual pages
|
||
|
License: GPL-3.0-or-later
|
||
|
Group: %{sysgroup}
|
||
|
|
||
|
%description -n kiwi-man-pages
|
||
|
Provides manual pages to describe the kiwi commands
|
||
|
|
||
|
%prep
|
||
|
%setup -q -n kiwi-%{version}
|
||
|
|
||
|
# Drop shebang for kiwi/xml_parse.py, as we don't intend to use it
|
||
|
# as an independent script
|
||
|
sed -e "s|#!/usr/bin/env python||" -i kiwi/xml_parse.py
|
||
|
|
||
|
%build
|
||
|
# Build C-Tools
|
||
|
make CFLAGS="${RPM_OPT_FLAGS}" tools
|
||
|
|
||
|
%install
|
||
|
# Install Python 3 version
|
||
|
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot} %{?is_deb:--install-layout=deb}
|
||
|
|
||
|
# Install C-Tools, man-pages, completion and kiwi default configuration
|
||
|
make buildroot=%{buildroot}/ install
|
||
|
|
||
|
# Install dracut modules
|
||
|
make buildroot=%{buildroot}/ install_dracut
|
||
|
|
||
|
# Install documentation in PDF format
|
||
|
make buildroot=%{buildroot}/ docdir=%{_defaultdocdir}/ install_package_docs
|
||
|
|
||
|
# Create symlinks for correct binaries
|
||
|
ln -sr %{buildroot}%{_bindir}/kiwi-ng %{buildroot}%{_bindir}/kiwi
|
||
|
ln -sr %{buildroot}%{_bindir}/kiwi-ng %{buildroot}%{_bindir}/kiwi-ng-3
|
||
|
ln -sr %{buildroot}%{_bindir}/kiwicompat %{buildroot}%{_bindir}/kiwicompat-3
|
||
|
|
||
|
%if "%{_vendor}" != "debbuild"
|
||
|
# kiwi pxeboot directory structure to be packed in kiwi-pxeboot
|
||
|
%ifarch %{ix86} x86_64
|
||
|
for i in KIWI pxelinux.cfg image upload boot; do \
|
||
|
mkdir -p %{buildroot}/srv/tftpboot/$i ;\
|
||
|
done
|
||
|
%endif
|
||
|
%endif
|
||
|
|
||
|
%if 0%{?fedora} || 0%{?suse_version}
|
||
|
%fdupes %{buildroot}/srv/tftpboot
|
||
|
%endif
|
||
|
|
||
|
%if "%{_vendor}" != "debbuild" && 0%{?suse_version} < 1550
|
||
|
%ifarch %{ix86} x86_64
|
||
|
%pre -n kiwi-pxeboot
|
||
|
#============================================================
|
||
|
# create user and group tftp if they does not exist
|
||
|
if ! /usr/bin/getent group tftp >/dev/null; then
|
||
|
%{_sbindir}/groupadd -r tftp
|
||
|
fi
|
||
|
if ! /usr/bin/getent passwd tftp >/dev/null; then
|
||
|
%{_sbindir}/useradd -c "TFTP account" -d /srv/tftpboot -G tftp -g tftp \
|
||
|
-r -s /bin/false tftp
|
||
|
fi
|
||
|
%endif
|
||
|
%endif
|
||
|
|
||
|
%files -n kiwi-systemdeps-core
|
||
|
# Empty metapackage
|
||
|
|
||
|
%files -n kiwi-systemdeps-bootloaders
|
||
|
# Empty metapackage
|
||
|
|
||
|
%files -n kiwi-systemdeps-containers
|
||
|
# Empty metapackage
|
||
|
|
||
|
%files -n kiwi-systemdeps-containers-wsl
|
||
|
# Empty metapackage
|
||
|
|
||
|
%files -n kiwi-systemdeps-iso-media
|
||
|
# Empty metapackage
|
||
|
|
||
|
%files -n kiwi-systemdeps-filesystems
|
||
|
# Empty metapackage
|
||
|
|
||
|
%files -n kiwi-systemdeps-disk-images
|
||
|
# Empty metapackage
|
||
|
|
||
|
%files -n kiwi-systemdeps-image-validation
|
||
|
# Empty metapackage
|
||
|
|
||
|
%files -n kiwi-systemdeps
|
||
|
# Empty metapackage
|
||
|
|
||
|
%files -n python%{python3_pkgversion}-kiwi
|
||
|
%dir %{_defaultdocdir}/python-kiwi
|
||
|
%{_bindir}/kiwi
|
||
|
%{_bindir}/kiwi-ng
|
||
|
%{_bindir}/kiwicompat
|
||
|
%{_bindir}/kiwi-ng-3*
|
||
|
%{_bindir}/kiwicompat-3*
|
||
|
%{python3_sitelib}/kiwi*
|
||
|
%{_usr}/share/bash-completion/completions/kiwi-ng
|
||
|
%{_defaultdocdir}/python-kiwi/LICENSE
|
||
|
%{_defaultdocdir}/python-kiwi/README
|
||
|
|
||
|
%files -n kiwi-man-pages
|
||
|
%{_defaultdocdir}/python-kiwi/kiwi.pdf
|
||
|
%config %_sysconfdir/kiwi.yml
|
||
|
%doc %{_mandir}/man8/*
|
||
|
|
||
|
%files -n kiwi-tools
|
||
|
%{_bindir}/dcounter
|
||
|
%{_bindir}/isconsole
|
||
|
%{_bindir}/utimer
|
||
|
|
||
|
%files -n dracut-kiwi-lib
|
||
|
%{_usr}/lib/dracut/modules.d/99kiwi-lib
|
||
|
|
||
|
%files -n dracut-kiwi-oem-repart
|
||
|
%{_usr}/lib/dracut/modules.d/90kiwi-repart
|
||
|
|
||
|
%files -n dracut-kiwi-oem-dump
|
||
|
%{_usr}/lib/dracut/modules.d/90kiwi-dump
|
||
|
%{_usr}/lib/dracut/modules.d/99kiwi-dump-reboot
|
||
|
|
||
|
%files -n dracut-kiwi-live
|
||
|
%{_usr}/lib/dracut/modules.d/90kiwi-live
|
||
|
|
||
|
%files -n dracut-kiwi-overlay
|
||
|
%{_usr}/lib/dracut/modules.d/90kiwi-overlay
|
||
|
|
||
|
%files -n dracut-kiwi-verity
|
||
|
%{_usr}/lib/dracut/modules.d/80kiwi-verity
|
||
|
%{_bindir}/kiwi-parse-verity
|
||
|
|
||
|
%if "%{_vendor}" != "debbuild"
|
||
|
%ifarch %{ix86} x86_64
|
||
|
%files -n kiwi-pxeboot
|
||
|
%if 0%{?suse_version} < 1550
|
||
|
%dir %attr(0755,tftp,tftp) /srv/tftpboot
|
||
|
%endif
|
||
|
%dir /srv/tftpboot/KIWI
|
||
|
%dir /srv/tftpboot/pxelinux.cfg
|
||
|
%dir /srv/tftpboot/image
|
||
|
%dir /srv/tftpboot/upload
|
||
|
%dir /srv/tftpboot/boot
|
||
|
%endif
|
||
|
%endif
|
||
|
|
||
|
%changelog
|