Sync from SUSE:SLFO:Main python-kiwi revision 98f77598922816fabd274901328554be
This commit is contained in:
commit
5c339ed66c
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
71
PKGBUILD
Normal file
71
PKGBUILD
Normal file
@ -0,0 +1,71 @@
|
||||
# Maintainer: Marcus Schaefer <ms@suse.com>
|
||||
# Maintainer: David Cassany <dcassany@suse.com>
|
||||
|
||||
pkgname=('python-kiwi' 'kiwi-man-pages' 'dracut-kiwi-lib' 'dracut-kiwi-oem-repart' 'dracut-kiwi-oem-dump' 'dracut-kiwi-live' 'dracut-kiwi-overlay')
|
||||
arch=(x86_64)
|
||||
pkgver=9.25.22
|
||||
pkgrel=0
|
||||
pkgdesc="KIWI - Appliance Builder Next Generation"
|
||||
url="https://github.com/SUSE/kiwi/tarball/master"
|
||||
license=('GPL3')
|
||||
makedepends=(python-setuptools gcc shadow grep)
|
||||
provides=(kiwi-ng kiwi)
|
||||
source=("${pkgname}.tar.gz")
|
||||
changelog="${pkgname}.changes"
|
||||
md5sums=('2e88d62046b49112f55ca259b41ebece')
|
||||
|
||||
|
||||
build() {
|
||||
cd kiwi-${pkgver}
|
||||
python setup.py build
|
||||
}
|
||||
|
||||
package_python-kiwi(){
|
||||
depends=(python-docopt python-simplejson python-lxml python-requests python-setuptools python-yaml grub qemu squashfs-tools gptfdisk pacman e2fsprogs xfsprogs btrfs-progs libisoburn lvm2 mtools parted multipath-tools rsync tar shadow screen kiwi-man-pages)
|
||||
optdepends=('gnupg: keyring creation for APT package manager')
|
||||
cd kiwi-${pkgver}
|
||||
python setup.py install --root="${pkgdir}/" --optimize=1 --skip-build
|
||||
ln -sr "${pkgdir}/usr/bin/kiwi-ng" "${pkgdir}/usr/bin/kiwi"
|
||||
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||
}
|
||||
|
||||
package_kiwi-man-pages(){
|
||||
cd kiwi-${pkgver}
|
||||
make buildroot="${pkgdir}/" docdir="/usr/share/doc/${pkgname}" install_package_docs
|
||||
}
|
||||
|
||||
package_dracut-kiwi-lib(){
|
||||
depends=(cryptsetup btrfs-progs gptfdisk coreutils e2fsprogs grep lvm2 mdadm parted util-linux xfsprogs dialog curl xz device-mapper dracut pv bc)
|
||||
cd kiwi-${pkgver}
|
||||
install -d -m 755 ${pkgdir}/usr/lib/dracut/modules.d/99kiwi-lib
|
||||
cp -a dracut/modules.d/99kiwi-lib ${pkgdir}/usr/lib/dracut/modules.d/
|
||||
}
|
||||
|
||||
package_dracut-kiwi-oem-repart(){
|
||||
depends=(dracut-kiwi-lib=${pkgver})
|
||||
cd kiwi-${pkgver}
|
||||
install -d -m 755 ${pkgdir}/usr/lib/dracut/modules.d/90kiwi-repart
|
||||
cp -a dracut/modules.d/90kiwi-repart ${pkgdir}/usr/lib/dracut/modules.d/
|
||||
}
|
||||
|
||||
package_dracut-kiwi-oem-dump(){
|
||||
depends=(dracut-kiwi-lib=${pkgver} multipath-tools kexec-tools)
|
||||
cd kiwi-${pkgver}
|
||||
install -d -m 755 ${pkgdir}/usr/lib/dracut/modules.d/90kiwi-dump
|
||||
cp -a dracut/modules.d/90kiwi-dump ${pkgdir}/usr/lib/dracut/modules.d/
|
||||
cp -a dracut/modules.d/99kiwi-dump-reboot ${pkgdir}/usr/lib/dracut/modules.d/
|
||||
}
|
||||
|
||||
package_dracut-kiwi-live(){
|
||||
depends=(dracut dialog xfsprogs e2fsprogs util-linux device-mapper libisoburn parted)
|
||||
cd kiwi-${pkgver}
|
||||
install -d -m 755 ${pkgdir}/usr/lib/dracut/modules.d/90kiwi-live
|
||||
cp -a dracut/modules.d/90kiwi-live ${pkgdir}/usr/lib/dracut/modules.d/
|
||||
}
|
||||
|
||||
package_dracut-kiwi-overlay(){
|
||||
depends=(dracut util-linux)
|
||||
cd kiwi-${pkgver}
|
||||
install -d -m 755 ${pkgdir}/usr/lib/dracut/modules.d/90kiwi-overlay
|
||||
cp -a dracut/modules.d/90kiwi-overlay ${pkgdir}/usr/lib/dracut/modules.d/
|
||||
}
|
46
python-kiwi-rpmlintrc
Normal file
46
python-kiwi-rpmlintrc
Normal file
@ -0,0 +1,46 @@
|
||||
# There is a kiwi manual page, kiwi-ng exists for the alternative system
|
||||
addFilter("no-manual-page-for-binary kiwi-ng")
|
||||
|
||||
# don't blame on empty package, kiwi-boot-requires for obs
|
||||
# integration is used to provide a requires list but the package
|
||||
# itself comes with no content which is intentional. In addition
|
||||
# don't blame on lib dependency which are also an expected result
|
||||
# for this buildservice internal package
|
||||
addFilter("suse-filelist-empty .*")
|
||||
addFilter("explicit-lib-dependency .*")
|
||||
|
||||
# don't check uid for tftpboot
|
||||
addFilter("non-standard-uid .*")
|
||||
|
||||
# don't check for buildroot usage, kiwi's Makefile uses the same var name
|
||||
addFilter("rpm-buildroot-usage .*")
|
||||
|
||||
# don't check position-independent-executable
|
||||
addFilter("position-independent-executable-suggested .*")
|
||||
|
||||
# don't check for file duplicates
|
||||
addFilter("files-duplicate .*")
|
||||
addFilter("cross-directory-hard-link .*")
|
||||
|
||||
# don't check for locale locations, they are used in the initrd only
|
||||
addFilter("file-not-in-%lang .*")
|
||||
|
||||
# don't check for manual page of binaries used in initrd only
|
||||
addFilter("W: no-manual-page-for-binary dcounter");
|
||||
addFilter("W: no-manual-page-for-binary startshell");
|
||||
addFilter("W: no-manual-page-for-binary utimer");
|
||||
addFilter("W: no-manual-page-for-binary driveready");
|
||||
addFilter("W: no-manual-page-for-binary setctsid");
|
||||
addFilter("W: no-manual-page-for-binary isconsole");
|
||||
addFilter("W: no-manual-page-for-binary kiwicompat");
|
||||
|
||||
# kiwi master package can't be noarch if sub packages are arch specific
|
||||
addFilter("W: no-binary");
|
||||
|
||||
# if we add a provides to the obsoleted another warning that the
|
||||
# same package is provided and obsoleted appears. This warning is
|
||||
# pointless or doesn't explain what it really wants
|
||||
addFilter("W: obsolete-not-provided");
|
||||
|
||||
# providing deb packages from this spec requires the tag to be hard coded
|
||||
addFilter("W: hardcoded-packager-tag");
|
32213
python-kiwi.changes
Normal file
32213
python-kiwi.changes
Normal file
File diff suppressed because it is too large
Load Diff
759
python-kiwi.spec
Normal file
759
python-kiwi.spec
Normal file
@ -0,0 +1,759 @@
|
||||
#
|
||||
# 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
|
BIN
python-kiwi.tar.gz
(Stored with Git LFS)
Normal file
BIN
python-kiwi.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user