diff --git a/python-kiwi.changes b/python-kiwi.changes index 4d6081f..2814b12 100644 --- a/python-kiwi.changes +++ b/python-kiwi.changes @@ -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 diff --git a/python-kiwi.spec b/python-kiwi.spec index e308f1b..272fd07 100644 --- a/python-kiwi.spec +++ b/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 diff --git a/python-kiwi.tar.gz b/python-kiwi.tar.gz index cb9c665..242be7c 100644 --- a/python-kiwi.tar.gz +++ b/python-kiwi.tar.gz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:05761d9575e7f9611d690fb94717091a223c86e27f7286f5a746a1591c781778 -size 2354687 +oid sha256:6661c0af54948b964fbec1a5059fab1679050eae302cfe520fce6164d1fee507 +size 2351931