forked from pool/python-kiwi
- Bump version: 9.12.8 → 9.12.9
- Update .virtualenv.dev-requirements.txt sphinx 1.7.0 is not compatible with travis-sphinx thus we stick with 1.6.7 until travis-sphinx followed the sphinx changes - Add restrictions to Path.remove_hierarchy When an iso file is used as repo, this iso will be loop mounted on the host and bind mounted into the image root as long as the image builds. When the mount is released a recursive cleanup of the complete path happens. This is done by calling Path.remove_hierarchy. However if a sub path of the mount path contains a system root directory which is mandatory for the Linux root system it is not allowed to be deleted even if it is empty at the time of the mount cleanup. Thus this patch adds a lookup for protected directory names and only runs the recursive deletion as long as no protected member is part of the path. This fixes bsc#1080301 - Initial support for building Debian/Ubuntu packages in spec This adds support for producing the main kiwi package as well as the OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=87
This commit is contained in:
parent
73e2887d46
commit
0ce16ca40e
@ -1,6 +1,88 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 12 16:48:17 CET 2018 - ms@suse.de
|
||||
|
||||
- Bump version: 9.12.8 → 9.12.9
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 12 15:55:46 CET 2018 - ms@suse.de
|
||||
|
||||
- Update .virtualenv.dev-requirements.txt
|
||||
|
||||
sphinx 1.7.0 is not compatible with travis-sphinx
|
||||
thus we stick with 1.6.7 until travis-sphinx followed
|
||||
the sphinx changes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 12 14:51:17 CET 2018 - ms@suse.de
|
||||
|
||||
- Add restrictions to Path.remove_hierarchy
|
||||
|
||||
When an iso file is used as repo, this iso will be loop mounted on
|
||||
the host and bind mounted into the image root as long as the image
|
||||
builds. When the mount is released a recursive cleanup of the complete
|
||||
path happens. This is done by calling Path.remove_hierarchy. However
|
||||
if a sub path of the mount path contains a system root directory
|
||||
which is mandatory for the Linux root system it is not allowed
|
||||
to be deleted even if it is empty at the time of the mount cleanup.
|
||||
Thus this patch adds a lookup for protected directory names and
|
||||
only runs the recursive deletion as long as no protected member
|
||||
is part of the path. This fixes bsc#1080301
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Feb 10 22:49:25 CET 2018 - ngompa@datto.com
|
||||
|
||||
- Initial support for building Debian/Ubuntu packages in spec
|
||||
|
||||
This adds support for producing the main kiwi package as well as the
|
||||
packages for the dracut modules to be used when building Debian-based
|
||||
distribution images with KIWI.
|
||||
|
||||
The Debian/Ubuntu package is built using debbuild: https://github.com/ascherer/debbuild
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 9 15:38:16 CET 2018 - ms@suse.de
|
||||
|
||||
- Fixed build_pxe_root_filesystem documentation
|
||||
|
||||
The article still used filename references from v7 code stream
|
||||
This patch updates the docs to match the sources it refers to
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 7 14:38:47 CET 2018 - ms@suse.de
|
||||
|
||||
- Update dropped features documentation
|
||||
|
||||
The information on the partition based install method was
|
||||
unclear and misleading. This patch clarifies the documentation
|
||||
in this regard
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 7 14:22:58 CET 2018 - ms@suse.de
|
||||
|
||||
- Delete obsolete ovf format value
|
||||
|
||||
Support for ova has been added which makes the ovf format
|
||||
value obsolete and redundant
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 6 15:55:55 CET 2018 - MichalMarek1@eaton.com
|
||||
|
||||
- OVA: Print a user-friendly message if ovftool is not available
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 6 15:55:29 CET 2018 - MichalMarek1@eaton.com
|
||||
|
||||
- OVA: Require ovftype="vmware"
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 5 18:33:10 CET 2018 - rjschwei@suse.com
|
||||
|
||||
- Expand consistency check for grub efi package to cover debian based
|
||||
and RH distros
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 5 17:02:19 CET 2018 - ms@suse.de
|
||||
|
||||
|
||||
- Bump version: 9.12.7 → 9.12.8
|
||||
|
||||
-------------------------------------------------------------------
|
||||
@ -25,6 +107,17 @@ Mon Feb 5 15:28:12 CET 2018 - ms@suse.de
|
||||
The size was too small to show device names which causes a
|
||||
line break to be displayed in the next line
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 5 10:13:14 CET 2018 - rjschwei@suse.com
|
||||
|
||||
- Fix style error
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 5 09:29:07 CET 2018 - rjschwei@suse.com
|
||||
|
||||
- Early exit if firmware is efi or uefi but the expected grub module is
|
||||
not part of the package list
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 4 20:19:45 CET 2018 - ms@suse.de
|
||||
|
||||
@ -159,6 +252,15 @@ Sat Jan 27 11:14:48 CET 2018 - ms@suse.de
|
||||
taken into account when another dracut call happens on the
|
||||
system.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 26 12:19:18 CET 2018 - MichalMarek1@eaton.com
|
||||
|
||||
- Add support for building OVA images
|
||||
|
||||
Implement support for format="ova" using VMware's ovftool. We use the
|
||||
vmdk format as a basis and then just call ovftool to convert *.vmdk +
|
||||
*.vmx to an OVA.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 26 11:38:29 CET 2018 - ms@suse.de
|
||||
|
||||
@ -168,6 +270,16 @@ Fri Jan 26 11:38:29 CET 2018 - ms@suse.de
|
||||
from the plain kiwi initrd to the dracut initrd system.
|
||||
This is related to Issue #576
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 26 11:02:39 CET 2018 - MichalMarek1@eaton.com
|
||||
|
||||
- flake8: Use a more conservative max-complexity setting
|
||||
|
||||
Set the default threshold to 12 and annotate the outliers with
|
||||
"noqa: C901". Most of the cases are due to lack of switch statement in
|
||||
python, but there are some worth titying up. Now we can grep for them
|
||||
:).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 26 10:28:53 CET 2018 - ms@suse.de
|
||||
|
||||
|
146
python-kiwi.spec
146
python-kiwi.spec
@ -16,7 +16,13 @@
|
||||
#
|
||||
|
||||
|
||||
%{!?python2_sitelib:%global python2_sitelib %{python_sitelib}}
|
||||
%{!?_defaultdocdir: %global _defaultdocdir %{_datadir}/doc}
|
||||
%{!?__python2: %global __python2 /usr/bin/python2}
|
||||
|
||||
# Expanded form required for debbuild's simpler engine
|
||||
%if %{undefined python2_sitelib}
|
||||
%global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
|
||||
%endif
|
||||
|
||||
# translate version id to distribution name as it is used in kiwi
|
||||
# generic approach
|
||||
@ -92,14 +98,40 @@
|
||||
%define distro fedora-25.0
|
||||
%endif
|
||||
|
||||
# Ubuntu
|
||||
# Use xenial templates for 16.04 and newer
|
||||
%if 0%{?ubuntu} >= 1604
|
||||
%define distro ubuntu-xenial
|
||||
%endif
|
||||
|
||||
# Debian
|
||||
# Use the stretch templates for 9 and newer
|
||||
%if 0%{?debian} >= 9
|
||||
%define distro debian-stretch
|
||||
%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.12.8
|
||||
Version: 9.12.9
|
||||
Release: 0
|
||||
Provides: kiwi-schema = 6.6
|
||||
Url: https://github.com/SUSE/kiwi
|
||||
Summary: KIWI - Appliance Builder Next Generation
|
||||
License: GPL-3.0+
|
||||
Group: Development/Languages/Python
|
||||
Group: %{pygroup}
|
||||
%if %{_vendor} == "debbuild"
|
||||
# Needed to set Maintainer in output debs
|
||||
%endif
|
||||
Source: %{name}.tar.gz
|
||||
Source1: %{name}-boot-packages
|
||||
Source2: %{name}-rpmlintrc
|
||||
@ -109,12 +141,15 @@ BuildRequires: fdupes
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
%endif
|
||||
BuildRequires: python-devel
|
||||
BuildRequires: python-%{develsuffix}
|
||||
BuildRequires: python-setuptools
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: shadow
|
||||
BuildRequires: update-alternatives
|
||||
%endif
|
||||
%if 0%{?debian} || 0%{?ubuntu}
|
||||
BuildRequires: passwd
|
||||
%endif
|
||||
%if 0%{?fedora} || 0%{?rhel}
|
||||
BuildRequires: chkconfig
|
||||
%endif
|
||||
@ -127,12 +162,16 @@ 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
|
||||
Group: %{pygroup}
|
||||
Provides: python-kiwi = %{version}-%{release}
|
||||
%if 0%{?fedora} || 0%{?suse_version}
|
||||
Recommends: jing
|
||||
%endif
|
||||
%if 0%{?debian} || 0%{?ubuntu}
|
||||
Requires: python-yaml
|
||||
%else
|
||||
Requires: python-PyYAML
|
||||
%endif
|
||||
Requires: python-docopt
|
||||
Requires: python-future
|
||||
Requires: python-lxml
|
||||
@ -172,6 +211,13 @@ Provides: kiwi-packagemanager:dnf
|
||||
Requires: zypper
|
||||
Provides: kiwi-packagemanager:zypper
|
||||
%endif
|
||||
%if 0%{?debian} || 0%{?ubuntu}
|
||||
Requires: debootstrap
|
||||
Requires: gdisk
|
||||
Requires: multipath-tools
|
||||
Requires: qemu-utils
|
||||
Requires: squashfs-tools
|
||||
%endif
|
||||
Requires: dosfstools
|
||||
Requires: e2fsprogs
|
||||
Requires: genisoimage
|
||||
@ -183,12 +229,15 @@ Requires: mtools
|
||||
Requires: parted
|
||||
Requires: rsync
|
||||
Requires: tar >= 1.2.7
|
||||
%if %{_vendor} != "debbuild"
|
||||
# Not supported with debbuild yet
|
||||
%ifarch %arm aarch64
|
||||
Requires: u-boot-tools
|
||||
%endif
|
||||
%ifarch s390 s390x
|
||||
Requires: s390-tools
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%description -n python2-kiwi
|
||||
Python 2 library of the KIWI Image System. Provides an operating system
|
||||
@ -270,7 +319,7 @@ virtualization and cloud systems like Xen, KVM, VMware, EC2 and more.
|
||||
|
||||
%package -n kiwi-tools
|
||||
Summary: KIWI - Collection of Boot Helper Tools
|
||||
Group: System/Management
|
||||
Group: %{sysgroup}
|
||||
|
||||
%description -n kiwi-tools
|
||||
This package contains a small set of helper tools used for the
|
||||
@ -278,10 +327,11 @@ 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
|
||||
Group: System/Management
|
||||
Group: %{sysgroup}
|
||||
Requires: syslinux
|
||||
%if 0%{?fedora} || 0%{?rhel}
|
||||
Requires(pre): shadow-utils
|
||||
@ -293,14 +343,20 @@ Requires(pre): shadow
|
||||
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
|
||||
Group: System/Management
|
||||
Group: %{sysgroup}
|
||||
%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}
|
||||
%if 0%{?fedora} || 0%{?rhel} || 0%{?debian} || 0%{?ubuntu}
|
||||
Requires: btrfs-progs
|
||||
Requires: gdisk
|
||||
%else
|
||||
@ -309,7 +365,6 @@ Requires: gptfdisk
|
||||
%endif
|
||||
Requires: coreutils
|
||||
Requires: curl
|
||||
Requires: device-mapper
|
||||
Requires: dialog
|
||||
Requires: e2fsprogs
|
||||
Requires: grep
|
||||
@ -319,7 +374,13 @@ Requires: parted
|
||||
Requires: pv
|
||||
Requires: util-linux
|
||||
Requires: xfsprogs
|
||||
%if 0%{?debian} || 0%{?ubuntu}
|
||||
Requires: dmsetup
|
||||
Requires: xz-utils
|
||||
%else
|
||||
Requires: device-mapper
|
||||
Requires: xz
|
||||
%endif
|
||||
%ifarch s390 s390x
|
||||
Requires: s390-tools
|
||||
%endif
|
||||
@ -330,8 +391,13 @@ for tasks done in other kiwi dracut modules
|
||||
|
||||
%package -n dracut-kiwi-oem-repart
|
||||
Summary: KIWI - Dracut module for oem(repart) image type
|
||||
Group: System/Management
|
||||
Group: %{sysgroup}
|
||||
%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
|
||||
|
||||
%description -n dracut-kiwi-oem-repart
|
||||
@ -341,12 +407,17 @@ 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
|
||||
Group: System/Management
|
||||
Group: %{sysgroup}
|
||||
%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: dmraid
|
||||
Requires: dracut-kiwi-lib
|
||||
Requires: kexec-tools
|
||||
%if 0%{?suse_version}
|
||||
%if 0%{?suse_version} || 0%{?debian} || 0%{?ubuntu}
|
||||
Requires: multipath-tools
|
||||
%endif
|
||||
%if 0%{?fedora} || 0%{?rhel}
|
||||
@ -364,15 +435,24 @@ remote
|
||||
|
||||
%package -n dracut-kiwi-live
|
||||
Summary: KIWI - Dracut module for iso(live) image type
|
||||
Group: System/Management
|
||||
Group: %{sysgroup}
|
||||
%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
|
||||
Requires: device-mapper
|
||||
%endif
|
||||
Requires: dialog
|
||||
Requires: dracut
|
||||
Requires: e2fsprogs
|
||||
Requires: util-linux
|
||||
Requires: xfsprogs
|
||||
%if 0%{?fedora} || 0%{?rhel}
|
||||
%if 0%{?debian} || 0%{?ubuntu}
|
||||
Requires: dmsetup
|
||||
%else
|
||||
Requires: device-mapper
|
||||
%endif
|
||||
Requires: dracut
|
||||
%if 0%{?fedora} || 0%{?rhel} || 0%{?debian} || 0%{?ubuntu}
|
||||
Requires: genisoimage
|
||||
%else
|
||||
Requires: cdrkit-cdrtools-compat
|
||||
@ -384,8 +464,13 @@ for booting iso(live) images built with KIWI
|
||||
|
||||
%package -n dracut-kiwi-overlay
|
||||
Summary: KIWI - Dracut module for vmx(+overlay) image type
|
||||
Group: System/Management
|
||||
Group: %{sysgroup}
|
||||
%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
|
||||
Requires: util-linux
|
||||
|
||||
@ -397,7 +482,7 @@ overlay root filesystem
|
||||
%if 0%{?suse_version}
|
||||
%package -n kiwi-boot-requires
|
||||
Summary: KIWI - buildservice package requirements for boot images
|
||||
Group: System/Management
|
||||
Group: %{sysgroup}
|
||||
Provides: kiwi-boot:netboot
|
||||
Provides: kiwi-boot:oemboot
|
||||
Provides: kiwi-filesystem:btrfs
|
||||
@ -415,7 +500,7 @@ Requires: e2fsprogs
|
||||
Requires: skopeo
|
||||
Requires: umoci
|
||||
Requires: xfsprogs
|
||||
%if 0%{?fedora} || 0%{?rhel}
|
||||
%if 0%{?fedora} || 0%{?rhel} || 0%{?debian} || 0%{?ubuntu}
|
||||
Requires: btrfs-progs
|
||||
%else
|
||||
Requires: btrfsprogs
|
||||
@ -437,7 +522,7 @@ of the kiwi - buildservice integration exclusively
|
||||
|
||||
%package -n kiwi-man-pages
|
||||
Summary: KIWI - manual pages
|
||||
Group: System/Management
|
||||
Group: %{sysgroup}
|
||||
|
||||
%description -n kiwi-man-pages
|
||||
Provides manual pages to describe the kiwi commands
|
||||
@ -456,13 +541,14 @@ python3 setup.py build --cflags="${RPM_OPT_FLAGS}"
|
||||
|
||||
%install
|
||||
# Install Python 2 version
|
||||
python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
|
||||
python2 setup.py install --prefix=%{_prefix} --root=%{buildroot} %{?is_deb:--install-layout=deb}
|
||||
|
||||
%if 0%{?fedora} || 0%{?suse_version}
|
||||
# Install Python 3 version
|
||||
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
|
||||
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot} %{?is_deb:--install-layout=deb}
|
||||
%endif
|
||||
|
||||
%if %{_vendor} != "debbuild"
|
||||
# init alternatives setup
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
|
||||
@ -487,6 +573,7 @@ for i in KIWI pxelinux.cfg image upload boot; do \
|
||||
mkdir -p %{buildroot}/srv/tftpboot/$i ;\
|
||||
done
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel}
|
||||
install -m 755 -d %{buildroot}/%{_defaultdocdir}/python-kiwi
|
||||
@ -536,6 +623,7 @@ rm -rf %{buildroot}/%{_defaultdocdir}/packages
|
||||
--remove kiwicompat %_bindir/kiwicompat
|
||||
%endif
|
||||
|
||||
%if %{_vendor} != "debbuild"
|
||||
%ifarch %ix86 x86_64
|
||||
%pre -n kiwi-pxeboot
|
||||
#============================================================
|
||||
@ -548,6 +636,7 @@ if ! /usr/bin/getent passwd tftp >/dev/null; then
|
||||
-r -s /bin/false tftp
|
||||
fi
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%files -n python2-kiwi
|
||||
%defattr(-,root,root,-)
|
||||
@ -586,11 +675,10 @@ fi
|
||||
|
||||
%files -n kiwi-tools
|
||||
%defattr(-, root, root)
|
||||
%exclude %{_bindir}/kiwi
|
||||
%exclude %{_bindir}/kiwicompat
|
||||
%exclude %{_bindir}/kiwi-ng*
|
||||
%exclude %{_bindir}/kiwicompat-*
|
||||
%{_bindir}/*
|
||||
%{_bindir}/dcounter
|
||||
%{_bindir}/isconsole
|
||||
%{_bindir}/kversion
|
||||
%{_bindir}/utimer
|
||||
|
||||
%files -n dracut-kiwi-lib
|
||||
%defattr(-, root, root)
|
||||
@ -612,6 +700,7 @@ fi
|
||||
%defattr(-, root, root)
|
||||
%{_usr}/lib/dracut/modules.d/90kiwi-overlay
|
||||
|
||||
%if %{_vendor} != "debbuild"
|
||||
%ifarch %ix86 x86_64
|
||||
%files -n kiwi-pxeboot
|
||||
%defattr(-, root, root)
|
||||
@ -622,6 +711,7 @@ fi
|
||||
%dir /srv/tftpboot/upload
|
||||
%dir /srv/tftpboot/boot
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version}
|
||||
%files -n kiwi-boot-requires
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:05761d9575e7f9611d690fb94717091a223c86e27f7286f5a746a1591c781778
|
||||
size 2354687
|
||||
oid sha256:6661c0af54948b964fbec1a5059fab1679050eae302cfe520fce6164d1fee507
|
||||
size 2351931
|
||||
|
Loading…
Reference in New Issue
Block a user