228 lines
6.4 KiB
RPMSpec
228 lines
6.4 KiB
RPMSpec
|
|
%{?python_enable_dependency_generator}
|
||
|
|
|
||
|
|
Name: kiwi
|
||
|
|
Version: 9.16.12
|
||
|
|
Release: 2
|
||
|
|
License: GPLv3+
|
||
|
|
Summary: Flexible operating system image builder
|
||
|
|
|
||
|
|
URL: http://suse.github.io/kiwi/
|
||
|
|
Source0: https://files.pythonhosted.org/packages/source/k/%{name}/%{name}-%{version}.tar.gz
|
||
|
|
|
||
|
|
#Patch1000 comes from Fedora 29
|
||
|
|
Patch1000: kiwi-9.12.8-use-pyxattr.patch
|
||
|
|
|
||
|
|
BuildRequires: bash-completion dracut fdupes gcc make
|
||
|
|
%if %{with_python2}
|
||
|
|
BuildRequires: python2-devel python2-setuptools
|
||
|
|
%endif
|
||
|
|
BuildRequires: python3-devel python3-setuptools shadow-utils
|
||
|
|
|
||
|
|
BuildRequires: %{_bindir}/sphinx-build-3 python3-sphinxcontrib-spelling
|
||
|
|
BuildRequires: python3-docopt python3-future python3-lxml python3-pyxattr
|
||
|
|
BuildRequires: python3-six python3-pyyaml python3-requests
|
||
|
|
|
||
|
|
%description
|
||
|
|
KIWI is an imaging solution that is based on an image XML description.
|
||
|
|
Such a description is represented by a directory which includes at least
|
||
|
|
one config.xml or .kiwi file and may as well include other files like
|
||
|
|
scripts or configuration data.
|
||
|
|
|
||
|
|
%package systemdeps
|
||
|
|
Summary: Common system dependencies for %{name}
|
||
|
|
Provides: %{name}-image:docker %{name}-image:iso %{name}-image:oem
|
||
|
|
Provides: %{name}-image:pxe %{name}-image:tbz %{name}-image:vmx
|
||
|
|
|
||
|
|
Requires: dnf
|
||
|
|
Provides: %{name}-packagemanager:dnf
|
||
|
|
|
||
|
|
Requires: yum
|
||
|
|
Provides: %{name}-packagemanager:yum
|
||
|
|
|
||
|
|
Requires: device-mapper-multipath dosfstools e2fsprogs
|
||
|
|
Requires: xorriso gdisk grub2 lvm2 mtools parted
|
||
|
|
Requires: qemu-img rsync squashfs-tools tar >= 1.2.7
|
||
|
|
Requires: %{name}-tools = %{version}-%{release}
|
||
|
|
|
||
|
|
Recommends: debootstrap jing
|
||
|
|
|
||
|
|
%ifarch %{arm} aarch64
|
||
|
|
Requires: uboot-tools
|
||
|
|
%endif
|
||
|
|
%ifarch x86_64
|
||
|
|
Requires: grub2-efi
|
||
|
|
%endif
|
||
|
|
%if ! %{with_python2}
|
||
|
|
Obsoletes: python2-%{name} < %{version}-%{release}
|
||
|
|
%endif
|
||
|
|
|
||
|
|
%description systemdeps
|
||
|
|
This metapackage installs the necessary system dependencies
|
||
|
|
to run KIWI.
|
||
|
|
|
||
|
|
%if %{with_python2}
|
||
|
|
%package -n python2-%{name}
|
||
|
|
Summary: %{name} - Python 2 implementation
|
||
|
|
Requires: %{name}-systemdeps = %{version}-%{release}
|
||
|
|
Requires: python2-setuptools
|
||
|
|
|
||
|
|
Conflicts: flumotion < 0.11.0.1-9
|
||
|
|
BuildArch: noarch
|
||
|
|
%{?python_provide:%python_provide python2-%{name}}
|
||
|
|
|
||
|
|
%description -n python2-%{name}
|
||
|
|
Python 2 package of the %{name}. Provides an operating system
|
||
|
|
image builder for Linux supported hardware platforms and for
|
||
|
|
virtualization,such as Xen, KVM, VMware, EC2 and so on.
|
||
|
|
%endif
|
||
|
|
|
||
|
|
%package -n python3-%{name}
|
||
|
|
Summary: %{name} - Python 3 implementation
|
||
|
|
Requires: %{name}-systemdeps = %{version}-%{release}
|
||
|
|
Requires: python3-setuptools
|
||
|
|
BuildArch: noarch
|
||
|
|
%{?python_provide:%python_provide python3-%{name}}
|
||
|
|
|
||
|
|
%description -n python3-%{name}
|
||
|
|
Python 3 package of the %{name}. Provides an operating system
|
||
|
|
image builder for Linux supported hardware platforms and for
|
||
|
|
virtualization,such as Xen, KVM, VMware, EC2 and so on.
|
||
|
|
|
||
|
|
%package tools
|
||
|
|
Summary: Tools for boot
|
||
|
|
|
||
|
|
%description tools
|
||
|
|
%{name}-tools package contains some helper tools,which is used for the
|
||
|
|
%{name} created initial ramdisk used to control the very first boot of
|
||
|
|
an appliance.
|
||
|
|
|
||
|
|
%ifarch %{ix86} x86_64
|
||
|
|
%package pxeboot
|
||
|
|
Summary: %{name} - PXE boot structure
|
||
|
|
Requires: syslinux
|
||
|
|
Requires: tftp-server
|
||
|
|
|
||
|
|
%description pxeboot
|
||
|
|
%{name}-pxeboot package contains the basic PXE directory structure which is
|
||
|
|
needed to serve %{name} built images via PXE.
|
||
|
|
%endif
|
||
|
|
|
||
|
|
%package cli
|
||
|
|
Summary: Flexible operating system appliance image builder
|
||
|
|
Provides: %{name}-schema = 6.9
|
||
|
|
Provides: %{name} = %{version}-%{release}
|
||
|
|
Requires: python3-%{name} = %{version}-%{release}
|
||
|
|
Requires: bash-completion
|
||
|
|
BuildArch: noarch
|
||
|
|
|
||
|
|
%description cli
|
||
|
|
%{name} is an imaging solution that is based on an image XML description.
|
||
|
|
Such a description is represented by a directory which includes at least
|
||
|
|
one config.xml or .kiwi file and may as well include other files like
|
||
|
|
scripts or configuration data.
|
||
|
|
|
||
|
|
%package other
|
||
|
|
Summary: Other information about %{name}
|
||
|
|
Requires: bc btrfs-progs coreutils cryptsetup curl device-mapper
|
||
|
|
Requires: dialog dracut e2fsprogs gdisk grep lvm2 mdadm parted
|
||
|
|
Requires: pv util-linux xfsprogs xz xorriso
|
||
|
|
Requires: device-mapper-multipath gawk kexec-tools
|
||
|
|
BuildArch: noarch
|
||
|
|
|
||
|
|
Provides: dracut-%{name}-lib dracut-%{name}-oem-repart dracut-%{name}-oem-dump
|
||
|
|
Provides: dracut-%{name}-oem-dump dracut-%{name}-live
|
||
|
|
|
||
|
|
Obsoletes: dracut-%{name}-lib dracut-%{name}-oem-repart dracut-%{name}-oem-dump
|
||
|
|
Obsoletes: dracut-%{name}-oem-dump dracut-%{name}-live
|
||
|
|
|
||
|
|
%description other
|
||
|
|
%{name}-other package contains other information about %{name}.
|
||
|
|
|
||
|
|
|
||
|
|
%package_help
|
||
|
|
|
||
|
|
%prep
|
||
|
|
%autosetup -n %{name}-%{version} -p1
|
||
|
|
|
||
|
|
sed -e "s|#!/usr/bin/env python||" -i kiwi/xml_parse.py
|
||
|
|
|
||
|
|
%build
|
||
|
|
%set_build_flags
|
||
|
|
|
||
|
|
%make_build -C doc man SPHINXBUILD=sphinx-build-3
|
||
|
|
|
||
|
|
%if %{with_python2}
|
||
|
|
%py2_build
|
||
|
|
%endif
|
||
|
|
%py3_build
|
||
|
|
|
||
|
|
%install
|
||
|
|
%if %{with_python2}
|
||
|
|
%py2_install
|
||
|
|
%endif
|
||
|
|
%py3_install
|
||
|
|
|
||
|
|
mkdir -p %{buildroot}%{_datadir}/bash-completion/completions
|
||
|
|
mv %{buildroot}%{_sysconfdir}/bash_completion.d/kiwi-ng-3.sh %{buildroot}%{_datadir}/bash-completion/completions/kiwi-ng
|
||
|
|
|
||
|
|
rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d
|
||
|
|
|
||
|
|
rm -rf %{buildroot}%{_docdir}/packages
|
||
|
|
|
||
|
|
ln -sr %{buildroot}%{_bindir}/kiwi-ng %{buildroot}%{_bindir}/kiwi
|
||
|
|
ln -sr %{buildroot}%{_bindir}/kiwi-ng-3 %{buildroot}%{_bindir}/kiwi-ng
|
||
|
|
ln -sr %{buildroot}%{_bindir}/kiwicompat-3 %{buildroot}%{_bindir}/kiwicompat
|
||
|
|
|
||
|
|
%ifarch %{ix86} x86_64
|
||
|
|
for i in KIWI pxelinux.cfg image upload boot; do \
|
||
|
|
mkdir -p %{buildroot}%{_sharedstatedir}/tftpboot/$i ;\
|
||
|
|
done
|
||
|
|
%fdupes %{buildroot}%{_sharedstatedir}/tftpboot
|
||
|
|
%endif
|
||
|
|
|
||
|
|
%files systemdeps
|
||
|
|
|
||
|
|
%if %{with_python2}
|
||
|
|
%files -n python2-%{name}
|
||
|
|
%defattr(-,root,root)
|
||
|
|
%license LICENSE
|
||
|
|
%{_bindir}/%{name}*
|
||
|
|
%{python2_sitelib}/%{name}*/
|
||
|
|
%endif
|
||
|
|
|
||
|
|
%files -n python3-%{name}
|
||
|
|
%defattr(-,root,root)
|
||
|
|
%license LICENSE
|
||
|
|
%{_bindir}/%{name}*
|
||
|
|
%{python3_sitelib}/%{name}*/
|
||
|
|
|
||
|
|
%files tools
|
||
|
|
%defattr(-,root,root)
|
||
|
|
%license LICENSE
|
||
|
|
%{_bindir}/*
|
||
|
|
|
||
|
|
%files cli
|
||
|
|
%defattr(-,root,root)
|
||
|
|
%{_bindir}/%{name}*
|
||
|
|
%{_datadir}/bash-completion/completions/%{name}-ng
|
||
|
|
|
||
|
|
%ifarch %{ix86} x86_64
|
||
|
|
%files pxeboot
|
||
|
|
%defattr(-,root,root)
|
||
|
|
%license LICENSE
|
||
|
|
%{_sharedstatedir}/tftpboot/*
|
||
|
|
%endif
|
||
|
|
|
||
|
|
%files other
|
||
|
|
%defattr(-,root,root)
|
||
|
|
%license LICENSE
|
||
|
|
%{_prefix}/lib/dracut/modules.d/*
|
||
|
|
|
||
|
|
%files help
|
||
|
|
%defattr(-,root,root)
|
||
|
|
%{_mandir}/man8/%{name}*
|
||
|
|
|
||
|
|
%changelog
|
||
|
|
* Sat Sep 21 2019 openEuler Buildteam <buildteam@openeuler.org> - 9.16.12-2
|
||
|
|
- Package init
|