SHA256
1
0
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:
Marcus Schaefer 2018-02-13 08:43:28 +00:00 committed by Git OBS Bridge
parent 73e2887d46
commit 0ce16ca40e
3 changed files with 233 additions and 31 deletions

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:05761d9575e7f9611d690fb94717091a223c86e27f7286f5a746a1591c781778
size 2354687
oid sha256:6661c0af54948b964fbec1a5059fab1679050eae302cfe520fce6164d1fee507
size 2351931