forked from pool/python-kiwi
Build package for both python2 and python3
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=4
This commit is contained in:
parent
77a33debaa
commit
1580733b90
@ -38,5 +38,5 @@ addFilter("W: no-manual-page-for-binary kiwicompat");
|
|||||||
# kiwi master package can't be noarch if sub packages are arch specific
|
# kiwi master package can't be noarch if sub packages are arch specific
|
||||||
addFilter("W: no-binary");
|
addFilter("W: no-binary");
|
||||||
|
|
||||||
# multipython builds does not deal well with fdupes
|
# don't think we need a postin for update alternatives
|
||||||
addFilter("E: files-duplicated-waste");
|
addFilter("W: ghost-files-without-postin");
|
||||||
|
@ -3,9 +3,7 @@ Thu Mar 9 17:21:54 CET 2017 - ms@suse.com
|
|||||||
|
|
||||||
- Setup package for multipython build
|
- Setup package for multipython build
|
||||||
|
|
||||||
There is an initiative at SUSE to combine the python2
|
Build package for both python2 and python3
|
||||||
and python3 package builds into a single spec in order
|
|
||||||
to provide packages for both versions of python
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Mar 8 17:24:18 CET 2017 - ms@suse.com
|
Wed Mar 8 17:24:18 CET 2017 - ms@suse.com
|
||||||
|
248
python-kiwi.spec
248
python-kiwi.spec
@ -16,76 +16,9 @@
|
|||||||
#
|
#
|
||||||
# https://github.com/SUSE/kiwi/issues
|
# https://github.com/SUSE/kiwi/issues
|
||||||
#
|
#
|
||||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
%{?!python2_sitelib:%define python2_sitelib %python_sitelib}
|
||||||
Name: python-kiwi
|
|
||||||
Version: 9.3.2
|
|
||||||
Provides: kiwi-schema = 6.5
|
|
||||||
Release: 0
|
|
||||||
Url: https://github.com/SUSE/kiwi
|
|
||||||
Summary: KIWI - Appliance Builder Next Generation
|
|
||||||
License: GPL-3.0+
|
|
||||||
Group: Development/Languages/Python
|
|
||||||
Source: %{name}.tar.gz
|
|
||||||
Source1: %{name}-boot-packages
|
|
||||||
Source2: %{name}-rpmlintrc
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
||||||
BuildRequires: %{python_module base}
|
|
||||||
BuildRequires: %{python_module setuptools}
|
|
||||||
BuildRequires: python-rpm-macros
|
|
||||||
BuildRequires: fdupes
|
|
||||||
BuildRequires: update-alternatives
|
|
||||||
BuildRequires: shadow
|
|
||||||
Provides: kiwi-image:tbz
|
|
||||||
Provides: kiwi-image:docker
|
|
||||||
Provides: kiwi-image:iso
|
|
||||||
Provides: kiwi-image:vmx
|
|
||||||
Provides: kiwi-image:pxe
|
|
||||||
Provides: kiwi-image:oem
|
|
||||||
Requires: update-alternatives
|
|
||||||
Requires: python-docopt
|
|
||||||
Requires: python-setuptools
|
|
||||||
Requires: python-lxml
|
|
||||||
Requires: python-xattr
|
|
||||||
Requires: python-six
|
|
||||||
Requires: python-future
|
|
||||||
Requires(post): update-alternatives
|
|
||||||
Requires(postun): update-alternatives
|
|
||||||
# tools used by kiwi
|
|
||||||
%if 0%{?suse_version}
|
|
||||||
Requires: zypper
|
|
||||||
Requires: squashfs
|
|
||||||
Provides: kiwi-packagemanager:zypper
|
|
||||||
%endif
|
|
||||||
%if 0%{?rhel_version} || 0%{?centos_version}
|
|
||||||
Requires: yum
|
|
||||||
Requires: squashfs-tools
|
|
||||||
Provides: kiwi-packagemanager:yum
|
|
||||||
%endif
|
|
||||||
Requires: genisoimage
|
|
||||||
Requires: kiwi-tools
|
|
||||||
Requires: rsync
|
|
||||||
Requires: tar >= 1.2.7
|
|
||||||
Requires: gptfdisk
|
|
||||||
Requires: qemu-tools
|
|
||||||
Requires: dosfstools
|
|
||||||
Requires: e2fsprogs
|
|
||||||
Requires: lvm2
|
|
||||||
Requires: parted
|
|
||||||
Requires: multipath-tools
|
|
||||||
Requires: grub2
|
|
||||||
Requires: mtools
|
|
||||||
%ifarch %arm aarch64
|
|
||||||
Requires: u-boot-tools
|
|
||||||
%endif
|
|
||||||
%ifarch x86_64
|
|
||||||
Requires: grub2-x86_64-efi
|
|
||||||
%endif
|
|
||||||
%ifarch s390 s390x
|
|
||||||
Requires: s390-tools
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# translate version id to distribution
|
# translate version id to distribution name as it is used in kiwi
|
||||||
# name as it is used in kiwi
|
|
||||||
%if 0%{?suse_version}
|
%if 0%{?suse_version}
|
||||||
%define distro %(echo `export VER=%{suse_version}; echo "suse-${VER:0:2}.${VER:2:1}"`)
|
%define distro %(echo `export VER=%{suse_version}; echo "suse-${VER:0:2}.${VER:2:1}"`)
|
||||||
# redefine for the SLES case if no sles_version exists
|
# redefine for the SLES case if no sles_version exists
|
||||||
@ -119,13 +52,150 @@ Requires: s390-tools
|
|||||||
%define distro rhel-07.0
|
%define distro rhel-07.0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%python_subpackages
|
|
||||||
|
Name: python-kiwi
|
||||||
|
Version: 9.3.2
|
||||||
|
Provides: kiwi-schema = 6.5
|
||||||
|
Release: 0
|
||||||
|
Url: https://github.com/SUSE/kiwi
|
||||||
|
Summary: KIWI - Appliance Builder Next Generation
|
||||||
|
License: GPL-3.0+
|
||||||
|
Group: Development/Languages/Python
|
||||||
|
Source: %{name}.tar.gz
|
||||||
|
Source1: %{name}-boot-packages
|
||||||
|
Source2: %{name}-rpmlintrc
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: python3-setuptools
|
||||||
|
BuildRequires: python-devel
|
||||||
|
BuildRequires: python-setuptools
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: update-alternatives
|
||||||
|
BuildRequires: shadow
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The KIWI Image System provides an operating system image builder
|
The KIWI Image System provides an operating system image builder
|
||||||
for Linux supported hardware platforms as well as for virtualization
|
for Linux supported hardware platforms as well as for virtualization
|
||||||
and cloud systems like Xen, KVM, VMware, EC2 and more.
|
and cloud systems like Xen, KVM, VMware, EC2 and more.
|
||||||
|
|
||||||
|
# python2-kiwi
|
||||||
|
%package -n python2-kiwi
|
||||||
|
Summary: KIWI - Appliance Builder Next Generation
|
||||||
|
Group: Development/Languages/Python
|
||||||
|
Provides: kiwi-image:tbz
|
||||||
|
Provides: kiwi-image:docker
|
||||||
|
Provides: kiwi-image:iso
|
||||||
|
Provides: kiwi-image:vmx
|
||||||
|
Provides: kiwi-image:pxe
|
||||||
|
Provides: kiwi-image:oem
|
||||||
|
Requires: update-alternatives
|
||||||
|
Requires: python-docopt
|
||||||
|
Requires: python-setuptools
|
||||||
|
Requires: python-lxml
|
||||||
|
Requires: python-xattr
|
||||||
|
Requires: python-six
|
||||||
|
Requires: python-future
|
||||||
|
Requires(post): update-alternatives
|
||||||
|
Requires(postun): update-alternatives
|
||||||
|
# tools used by kiwi
|
||||||
|
%if 0%{?suse_version}
|
||||||
|
Requires: zypper
|
||||||
|
Requires: squashfs
|
||||||
|
Provides: kiwi-packagemanager:zypper
|
||||||
|
%endif
|
||||||
|
%if 0%{?rhel_version} || 0%{?centos_version}
|
||||||
|
Requires: yum
|
||||||
|
Requires: squashfs-tools
|
||||||
|
Provides: kiwi-packagemanager:yum
|
||||||
|
%endif
|
||||||
|
Requires: genisoimage
|
||||||
|
Requires: kiwi-tools
|
||||||
|
Requires: kiwi-man-pages
|
||||||
|
Requires: rsync
|
||||||
|
Requires: tar >= 1.2.7
|
||||||
|
Requires: gptfdisk
|
||||||
|
Requires: qemu-tools
|
||||||
|
Requires: dosfstools
|
||||||
|
Requires: e2fsprogs
|
||||||
|
Requires: lvm2
|
||||||
|
Requires: parted
|
||||||
|
Requires: multipath-tools
|
||||||
|
Requires: grub2
|
||||||
|
Requires: mtools
|
||||||
|
%ifarch %arm aarch64
|
||||||
|
Requires: u-boot-tools
|
||||||
|
%endif
|
||||||
|
%ifarch x86_64
|
||||||
|
Requires: grub2-x86_64-efi
|
||||||
|
%endif
|
||||||
|
%ifarch s390 s390x
|
||||||
|
Requires: s390-tools
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description -n python2-kiwi
|
||||||
|
Python 2 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.
|
||||||
|
|
||||||
|
# python3-kiwi
|
||||||
|
%package -n python3-kiwi
|
||||||
|
Summary: KIWI - Appliance Builder Next Generation
|
||||||
|
Group: Development/Languages/Python
|
||||||
|
Provides: kiwi-image:tbz
|
||||||
|
Provides: kiwi-image:docker
|
||||||
|
Provides: kiwi-image:iso
|
||||||
|
Provides: kiwi-image:vmx
|
||||||
|
Provides: kiwi-image:pxe
|
||||||
|
Provides: kiwi-image:oem
|
||||||
|
Requires: update-alternatives
|
||||||
|
Requires: python3-docopt
|
||||||
|
Requires: python3-setuptools
|
||||||
|
Requires: python3-lxml
|
||||||
|
Requires: python3-xattr
|
||||||
|
Requires: python3-six
|
||||||
|
Requires: python3-future
|
||||||
|
Requires(post): update-alternatives
|
||||||
|
Requires(postun): update-alternatives
|
||||||
|
# tools used by kiwi
|
||||||
|
%if 0%{?suse_version}
|
||||||
|
Requires: zypper
|
||||||
|
Requires: squashfs
|
||||||
|
Provides: kiwi-packagemanager:zypper
|
||||||
|
%endif
|
||||||
|
%if 0%{?rhel_version} || 0%{?centos_version}
|
||||||
|
Requires: yum
|
||||||
|
Requires: squashfs-tools
|
||||||
|
Provides: kiwi-packagemanager:yum
|
||||||
|
%endif
|
||||||
|
Requires: genisoimage
|
||||||
|
Requires: kiwi-tools
|
||||||
|
Requires: kiwi-man-pages
|
||||||
|
Requires: rsync
|
||||||
|
Requires: tar >= 1.2.7
|
||||||
|
Requires: gptfdisk
|
||||||
|
Requires: qemu-tools
|
||||||
|
Requires: dosfstools
|
||||||
|
Requires: e2fsprogs
|
||||||
|
Requires: lvm2
|
||||||
|
Requires: parted
|
||||||
|
Requires: multipath-tools
|
||||||
|
Requires: grub2
|
||||||
|
Requires: mtools
|
||||||
|
%ifarch %arm aarch64
|
||||||
|
Requires: u-boot-tools
|
||||||
|
%endif
|
||||||
|
%ifarch x86_64
|
||||||
|
Requires: grub2-x86_64-efi
|
||||||
|
%endif
|
||||||
|
%ifarch s390 s390x
|
||||||
|
Requires: s390-tools
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description -n python3-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
|
%package -n kiwi-tools
|
||||||
Summary: KIWI - Collection of Boot Helper Tools
|
Summary: KIWI - Collection of Boot Helper Tools
|
||||||
License: GPL-3.0+
|
License: GPL-3.0+
|
||||||
@ -163,7 +233,7 @@ Provides: kiwi-filesystem:squashfs
|
|||||||
Requires: btrfsprogs
|
Requires: btrfsprogs
|
||||||
Requires: e2fsprogs
|
Requires: e2fsprogs
|
||||||
Requires: xfsprogs
|
Requires: xfsprogs
|
||||||
Requires: python-kiwi = %{version}
|
Requires: python3-kiwi = %{version}
|
||||||
Requires: %(echo `cat %{S:1}|grep %{_target_cpu}:%{distro}:|cut -f3- -d:`)
|
Requires: %(echo `cat %{S:1}|grep %{_target_cpu}:%{distro}:|cut -f3- -d:`)
|
||||||
License: GPL-3.0+
|
License: GPL-3.0+
|
||||||
Group: System/Management
|
Group: System/Management
|
||||||
@ -187,10 +257,18 @@ Provides manual pages to describe the kiwi commands
|
|||||||
%setup -q -n kiwi-%{version}
|
%setup -q -n kiwi-%{version}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%python_build --cflags="${RPM_OPT_FLAGS}"
|
# Build Python 2 version
|
||||||
|
python2 setup.py build --cflags="${RPM_OPT_FLAGS}"
|
||||||
|
|
||||||
|
# Build Python 3 version
|
||||||
|
python3 setup.py build --cflags="${RPM_OPT_FLAGS}"
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%python_install
|
# Install Python 2 version
|
||||||
|
python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
|
||||||
|
|
||||||
|
# Install Python 3 version
|
||||||
|
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
|
||||||
|
|
||||||
# init alternatives setup
|
# init alternatives setup
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
@ -213,7 +291,8 @@ done
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%fdupes %{buildroot}/srv/tftpboot
|
%fdupes %{buildroot}/srv/tftpboot
|
||||||
%fdupes %{buildroot}/%{python_sitelib}/kiwi/boot
|
%fdupes %{buildroot}/%{python3_sitelib}/kiwi/boot
|
||||||
|
%fdupes %{buildroot}/%{python2_sitelib}/kiwi/boot
|
||||||
|
|
||||||
%post
|
%post
|
||||||
%{_sbindir}/update-alternatives \
|
%{_sbindir}/update-alternatives \
|
||||||
@ -240,16 +319,27 @@ if ! /usr/bin/getent passwd tftp >/dev/null; then
|
|||||||
fi
|
fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files %python_files
|
%files -n python2-kiwi
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_bindir}/kiwi-ng-%{py_ver}
|
%{_bindir}/kiwi-ng-2*
|
||||||
%{_bindir}/kiwicompat-%{py_ver}
|
%{_bindir}/kiwicompat-2*
|
||||||
%ghost %{_bindir}/kiwi
|
%ghost %{_bindir}/kiwi
|
||||||
%ghost %{_bindir}/kiwicompat
|
%ghost %{_bindir}/kiwicompat
|
||||||
%ghost %_sysconfdir/alternatives/kiwi
|
%ghost %_sysconfdir/alternatives/kiwi
|
||||||
%ghost %_sysconfdir/alternatives/kiwicompat
|
%ghost %_sysconfdir/alternatives/kiwicompat
|
||||||
%{python_sitelib}/*
|
%{python2_sitelib}/*
|
||||||
%config %_sysconfdir/bash_completion.d/kiwi-ng-%{py_ver}.sh
|
%config %_sysconfdir/bash_completion.d/kiwi-ng-2*.sh
|
||||||
|
|
||||||
|
%files -n python3-kiwi
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_bindir}/kiwi-ng-3*
|
||||||
|
%{_bindir}/kiwicompat-3*
|
||||||
|
%ghost %{_bindir}/kiwi
|
||||||
|
%ghost %{_bindir}/kiwicompat
|
||||||
|
%ghost %_sysconfdir/alternatives/kiwi
|
||||||
|
%ghost %_sysconfdir/alternatives/kiwicompat
|
||||||
|
%{python3_sitelib}/*
|
||||||
|
%config %_sysconfdir/bash_completion.d/kiwi-ng-3*.sh
|
||||||
|
|
||||||
%files -n kiwi-man-pages
|
%files -n kiwi-man-pages
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:b04812a71c32f7d7d870f27d488bcf3e02c74fc5a3f6fb9a90062157297071c2
|
oid sha256:6c49bd1db1c79c01969e92039a1398201d22600969efe8ee3fd0969b90d2d026
|
||||||
size 2933953
|
size 2949691
|
||||||
|
Loading…
Reference in New Issue
Block a user