Hello community,

here is the log from the commit of package python-kiwi for openSUSE:Factory 
checked in at 2018-03-08 10:56:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-kiwi (Old)
 and      /work/SRC/openSUSE:Factory/.python-kiwi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-kiwi"

Thu Mar  8 10:56:21 2018 rev:22 rq:583474 version:9.13.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-kiwi/python-kiwi.changes  2018-03-01 
12:00:59.736764616 +0100
+++ /work/SRC/openSUSE:Factory/.python-kiwi.new/python-kiwi.changes     
2018-03-08 10:56:21.959785424 +0100
@@ -1,0 +2,174 @@
+Tue Mar  6 17:01:58 CET 2018 - m...@suse.de
+
+- Bump version: 9.13.4 → 9.13.5
+  
+-------------------------------------------------------------------
+Tue Mar  6 16:43:35 CET 2018 - m...@suse.de
+  
+- Fixed btrfs search path in earlyboot script
+  
+  If kiwi generates its own efi image for the boot process
+  it does not setup the btrfs relative path setup in the
+  earlyboot script embedded into the generated efi image.
+  This has a bad impact on the file search because the
+  btrfs setup done in kiwi puts root below the @ volume
+  which we then need to specify of the relative lookup
+  is not activated. Fixes bsc#1082155
+  
+-------------------------------------------------------------------
+Tue Mar  6 15:51:52 CET 2018 - m...@suse.de
+  
+- Bump version: 9.13.3 → 9.13.4
+  
+-------------------------------------------------------------------
+Mon Mar  5 18:00:26 CET 2018 - dcass...@suse.com
+  
+- Use LABEL for the swap partition
+  
+  If multipath and device maps are active the fstab entry should use
+  the LABEL reference. Systemd calls swapon and it only works properly
+  with multipath devices when LABEL reference is used or calling directly
+  on the /dev/dm-* device file.
+  
+-------------------------------------------------------------------
+Sat Mar  3 18:29:01 CET 2018 - m...@suse.de
+  
+- Bump version: 9.13.2 → 9.13.3
+  
+-------------------------------------------------------------------
+Fri Mar  2 16:39:44 CET 2018 - m...@suse.de
+  
+- The order of the options for mkisofs matters
+  
+  Setting -eltorito-platform after -b causes mkisofs to fail
+  
+-------------------------------------------------------------------
+Fri Mar  2 16:31:14 CET 2018 - m...@suse.de
+  
+- Resize partition table after image resize
+  
+  The command 'kiwi image resize' allows to resize the size
+  of a disk image. Depending on the partition table type it
+  is also required to resize the partition table inside of
+  the image to let the file size change become effective
+  This Fixes #534
+  
+-------------------------------------------------------------------
+Fri Mar  2 16:18:13 CET 2018 - michalmar...@eaton.com
+  
+- APT: Support patternType in the bootstrap phase
+  
+  With patternType="onlyRequired" (the default), run debootstrap with
+--variant=minbase to install only essential packages. With
+  patternType="plusRecommended", let debootstrap  also install important
+  packages. This is not exactly what the patternType keyword means with
+  other targets, but it allows to choose between an absolutely minimal
+  image and a small but usable system.
+  
+-------------------------------------------------------------------
+Fri Mar  2 14:56:28 CET 2018 - m...@suse.de
+  
+- Bump version: 9.13.1 → 9.13.2
+  
+-------------------------------------------------------------------
+Fri Mar  2 10:56:11 CET 2018 - dcass...@suse.com
+  
+- Reactivate device mappings after repart. Fixes #645
+  
+  This commit recreates removed device maps and triggers again
+  systemd generators in order to adapt again device units to the
+  new context. Fixes #645
+  
+-------------------------------------------------------------------
+Fri Mar  2 10:05:48 CET 2018 - m...@suse.de
+  
+- Refactor ovftool check
+  
+  The way this was done mask errors from the call
+  with the check if the tool exists on the host.
+  This patch refactors this and makes clear where
+  we check for the tool to be installed and where
+  we actually call it
+  
+-------------------------------------------------------------------
+Fri Mar  2 10:04:13 CET 2018 - m...@suse.de
+  
+- Extend has_option_in_help to also check error data
+  
+-------------------------------------------------------------------
+Thu Mar  1 14:58:38 CET 2018 - m...@suse.de
+  
+- Check if isotool supports eltorito-platform option
+  
+  Along with the change there is a small refactoring to
+  populate the iso tool search to the public api of the
+  Iso class
+  
+-------------------------------------------------------------------
+Thu Mar  1 10:23:52 CET 2018 - m...@suse.de
+  
+- Set eltorito-platform for efi
+  
+  The default eltorito platform is set to "x86_64 PC", however
+  in an alternative bootloader spec for efi this would be the
+  wrong platform spec. This patch adds the correct platform
+  to the alt-boot setup for efi. References #643
+  
+-------------------------------------------------------------------
+Wed Feb 28 15:41:58 CET 2018 - m...@suse.de
+  
+- Fixup obs test status helper
+  
+  Use osc results output to get better status information
+  
+-------------------------------------------------------------------
+Wed Feb 28 10:47:29 CET 2018 - m...@suse.de
+  
+- Fixed get_free_disk_bytes in dracut kiwi-lib
+  
+  The method used any device from the lsblk output, but it can
+  happen that some device nodes with different name point to
+  the same physical device. The method would then calculate
+  the free space wrong. This patch takes the PARTUUID value
+  into account to make sure any partition device size is used
+  only once. This Fixes #648
+  
+-------------------------------------------------------------------
+Tue Feb 27 12:34:52 CET 2018 - tom_s...@web.de
+  
+- Use pytest instead of py.test
+  
+  From pytest 3.0, it is recommended to use "pytest" as the main
+  command. The use of "py.test" is deprecated and is potentially removed
+  in the future.
+  
+-------------------------------------------------------------------
+Tue Feb 27 11:04:15 CET 2018 - m...@suse.de
+  
+- Update tox setup
+  
+  Add python 3.6 target and activate it for the travis
+  and the local make targets
+  
+  Use major python version for the check(flake) and doc
+  targets where the interpreter minor version is not
+  primarily important
+  
+  This references #641
+  
+-------------------------------------------------------------------
+Tue Feb 27 10:52:39 CET 2018 - m...@suse.de
+  
+- Update yast setup documentation
+  
+  Incorporate changes per review by Tom
+  
+-------------------------------------------------------------------
+Mon Feb 26 18:03:38 CET 2018 - m...@suse.de
+  
+- Fixed oem build test
+  
+  bind-utils explicitly required for obs to be able
+  to resolve the package dependencies
+  
+-------------------------------------------------------------------
@@ -29,0 +204,5 @@
+Fri Feb 23 12:20:52 CET 2018 - ama...@suse.de
+  
+- Use mkisofs instead of wodim
+  
+-------------------------------------------------------------------
@@ -108,0 +288,9 @@
+  
+-------------------------------------------------------------------
+Tue Feb 20 13:41:36 CET 2018 - michalmar...@eaton.com
+  
+- APT: Run debootstrap with --variant=minbase
+  
+  This selects only packages with Priority: required, which is more in
+  line with what the other package managers are doing. A patch for
+  kiwi-descriptions has been submitted to adapt to this new behavior.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-kiwi.spec ++++++
--- /var/tmp/diff_new_pack.IhRAfs/_old  2018-03-08 10:56:23.007747700 +0100
+++ /var/tmp/diff_new_pack.IhRAfs/_new  2018-03-08 10:56:23.011747556 +0100
@@ -38,7 +38,7 @@
 %endif
 
 Name:           python-kiwi
-Version:        9.13.1
+Version:        9.13.5
 Provides:       kiwi-schema = 6.6
 Release:        0
 Url:            https://github.com/SUSE/kiwi
@@ -136,7 +136,11 @@
 %endif
 Requires:       dosfstools
 Requires:       e2fsprogs
+%if 0%{?suse_version} >= 1500
+Requires:       mkisofs
+%else
 Requires:       genisoimage
+%endif
 Requires:       grub2
 Requires:       kiwi-man-pages
 Requires:       kiwi-tools
@@ -210,7 +214,11 @@
 %endif
 Requires:       dosfstools
 Requires:       e2fsprogs
+%if 0%{?suse_version} >= 1500
+Requires:       mkisofs
+%else
 Requires:       genisoimage
+%endif
 Requires:       grub2
 Requires:       kiwi-man-pages
 Requires:       kiwi-tools
@@ -372,11 +380,15 @@
 Requires:       device-mapper
 %endif
 Requires:       dracut
+%if 0%{?suse_version} >= 1500
+Requires:       mkisofs
+%else
 %if 0%{?fedora} || 0%{?rhel} || 0%{?debian} || 0%{?ubuntu}
 Requires:       genisoimage
 %else
 Requires:       cdrkit-cdrtools-compat
 %endif
+%endif
 License:        GPL-3.0+
 Group:          %{sysgroup}
 

++++++ python-kiwi.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/.bumpversion.cfg 
new/kiwi-9.13.5/.bumpversion.cfg
--- old/kiwi-9.13.1/.bumpversion.cfg    2018-02-26 17:46:55.000000000 +0100
+++ new/kiwi-9.13.5/.bumpversion.cfg    2018-03-06 17:01:58.000000000 +0100
@@ -1,5 +1,5 @@
 [bumpversion]
-current_version = 9.13.1
+current_version = 9.13.5
 commit = True
 tag = True
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/.travis.requirements.txt 
new/kiwi-9.13.5/.travis.requirements.txt
--- old/kiwi-9.13.1/.travis.requirements.txt    2017-09-15 10:37:16.000000000 
+0200
+++ new/kiwi-9.13.5/.travis.requirements.txt    1970-01-01 01:00:00.000000000 
+0100
@@ -1 +0,0 @@
-tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/.travis.yml new/kiwi-9.13.5/.travis.yml
--- old/kiwi-9.13.1/.travis.yml 2017-11-30 08:54:06.000000000 +0100
+++ new/kiwi-9.13.5/.travis.yml 2018-02-27 11:49:54.000000000 +0100
@@ -4,10 +4,10 @@
   - gh-pages
 matrix:
   include:
-  - python: 3.4
-    env: TOXENV=unit_py3,check,doc_travis
+  - python: 3.6
+    env: TOXENV=unit_py3_6,check,doc_travis
   - python: 2.7
-    env: TOXENV=unit_py2,check,doc_travis
+    env: TOXENV=unit_py2_7,check,doc_travis
 before_install:
 - sudo apt-get update -qq
 - sudo apt-get install -y git
@@ -17,7 +17,7 @@
 - sudo apt-get install -y shellcheck
 install:
 - pip install --upgrade pip
-- pip install -r .travis.requirements.txt
+- pip install tox
 script:
 - tox
 after_success:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/Makefile new/kiwi-9.13.5/Makefile
--- old/kiwi-9.13.1/Makefile    2018-02-15 12:00:05.000000000 +0100
+++ new/kiwi-9.13.5/Makefile    2018-02-27 11:49:54.000000000 +0100
@@ -12,7 +12,8 @@
 
 .PHONY: test
 test:
-       tox -e unit_py3
+       tox -e unit_py3_4
+       tox -e unit_py3_6
 
 flake:
        tox -e check
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/PKG-INFO new/kiwi-9.13.5/PKG-INFO
--- old/kiwi-9.13.1/PKG-INFO    2018-02-26 17:51:55.000000000 +0100
+++ new/kiwi-9.13.5/PKG-INFO    2018-03-06 17:07:19.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: kiwi
-Version: 9.13.1
+Version: 9.13.5
 Summary: KIWI - Appliance Builder (next generation)
 Home-page: http://suse.github.io/kiwi
 Author: Marcus Schaefer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/doc/build/man/kiwi.8 
new/kiwi-9.13.5/doc/build/man/kiwi.8
--- old/kiwi-9.13.1/doc/build/man/kiwi.8        2018-02-26 17:51:50.000000000 
+0100
+++ new/kiwi-9.13.5/doc/build/man/kiwi.8        2018-03-06 17:07:13.000000000 
+0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "KIWI" "8" "Feb 26, 2018" "9.13.1" "kiwi"
+.TH "KIWI" "8" "Mar 06, 2018" "9.13.5" "kiwi"
 .SH NAME
 kiwi \- Creating Operating System Images
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/doc/build/man/kiwi::image::info.8 
new/kiwi-9.13.5/doc/build/man/kiwi::image::info.8
--- old/kiwi-9.13.1/doc/build/man/kiwi::image::info.8   2018-02-26 
17:51:50.000000000 +0100
+++ new/kiwi-9.13.5/doc/build/man/kiwi::image::info.8   2018-03-06 
17:07:13.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "KIWI::IMAGE::INFO" "8" "Feb 26, 2018" "9.13.1" "kiwi"
+.TH "KIWI::IMAGE::INFO" "8" "Mar 06, 2018" "9.13.5" "kiwi"
 .SH NAME
 kiwi::image::info \- Provide detailed information about an image description
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/doc/build/man/kiwi::image::resize.8 
new/kiwi-9.13.5/doc/build/man/kiwi::image::resize.8
--- old/kiwi-9.13.1/doc/build/man/kiwi::image::resize.8 2018-02-26 
17:51:50.000000000 +0100
+++ new/kiwi-9.13.5/doc/build/man/kiwi::image::resize.8 2018-03-06 
17:07:13.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "KIWI::IMAGE::RESIZE" "8" "Feb 26, 2018" "9.13.1" "kiwi"
+.TH "KIWI::IMAGE::RESIZE" "8" "Mar 06, 2018" "9.13.5" "kiwi"
 .SH NAME
 kiwi::image::resize \- Resize disk images to new geometry
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/doc/build/man/kiwi::result::bundle.8 
new/kiwi-9.13.5/doc/build/man/kiwi::result::bundle.8
--- old/kiwi-9.13.1/doc/build/man/kiwi::result::bundle.8        2018-02-26 
17:51:50.000000000 +0100
+++ new/kiwi-9.13.5/doc/build/man/kiwi::result::bundle.8        2018-03-06 
17:07:13.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "KIWI::RESULT::BUNDLE" "8" "Feb 26, 2018" "9.13.1" "kiwi"
+.TH "KIWI::RESULT::BUNDLE" "8" "Mar 06, 2018" "9.13.5" "kiwi"
 .SH NAME
 kiwi::result::bundle \- Bundle build results
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/doc/build/man/kiwi::result::list.8 
new/kiwi-9.13.5/doc/build/man/kiwi::result::list.8
--- old/kiwi-9.13.1/doc/build/man/kiwi::result::list.8  2018-02-26 
17:51:50.000000000 +0100
+++ new/kiwi-9.13.5/doc/build/man/kiwi::result::list.8  2018-03-06 
17:07:13.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "KIWI::RESULT::LIST" "8" "Feb 26, 2018" "9.13.1" "kiwi"
+.TH "KIWI::RESULT::LIST" "8" "Mar 06, 2018" "9.13.5" "kiwi"
 .SH NAME
 kiwi::result::list \- List build results
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/doc/build/man/kiwi::system::build.8 
new/kiwi-9.13.5/doc/build/man/kiwi::system::build.8
--- old/kiwi-9.13.1/doc/build/man/kiwi::system::build.8 2018-02-26 
17:51:50.000000000 +0100
+++ new/kiwi-9.13.5/doc/build/man/kiwi::system::build.8 2018-03-06 
17:07:13.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "KIWI::SYSTEM::BUILD" "8" "Feb 26, 2018" "9.13.1" "kiwi"
+.TH "KIWI::SYSTEM::BUILD" "8" "Mar 06, 2018" "9.13.5" "kiwi"
 .SH NAME
 kiwi::system::build \- Build image in combined prepare and create step
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/doc/build/man/kiwi::system::create.8 
new/kiwi-9.13.5/doc/build/man/kiwi::system::create.8
--- old/kiwi-9.13.1/doc/build/man/kiwi::system::create.8        2018-02-26 
17:51:50.000000000 +0100
+++ new/kiwi-9.13.5/doc/build/man/kiwi::system::create.8        2018-03-06 
17:07:13.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "KIWI::SYSTEM::CREATE" "8" "Feb 26, 2018" "9.13.1" "kiwi"
+.TH "KIWI::SYSTEM::CREATE" "8" "Mar 06, 2018" "9.13.5" "kiwi"
 .SH NAME
 kiwi::system::create \- Create image from prepared root system
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/doc/build/man/kiwi::system::prepare.8 
new/kiwi-9.13.5/doc/build/man/kiwi::system::prepare.8
--- old/kiwi-9.13.1/doc/build/man/kiwi::system::prepare.8       2018-02-26 
17:51:50.000000000 +0100
+++ new/kiwi-9.13.5/doc/build/man/kiwi::system::prepare.8       2018-03-06 
17:07:13.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "KIWI::SYSTEM::PREPARE" "8" "Feb 26, 2018" "9.13.1" "kiwi"
+.TH "KIWI::SYSTEM::PREPARE" "8" "Mar 06, 2018" "9.13.5" "kiwi"
 .SH NAME
 kiwi::system::prepare \- Prepare image root system
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/doc/build/man/kiwi::system::update.8 
new/kiwi-9.13.5/doc/build/man/kiwi::system::update.8
--- old/kiwi-9.13.1/doc/build/man/kiwi::system::update.8        2018-02-26 
17:51:50.000000000 +0100
+++ new/kiwi-9.13.5/doc/build/man/kiwi::system::update.8        2018-03-06 
17:07:13.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "KIWI::SYSTEM::UPDATE" "8" "Feb 26, 2018" "9.13.1" "kiwi"
+.TH "KIWI::SYSTEM::UPDATE" "8" "Mar 06, 2018" "9.13.5" "kiwi"
 .SH NAME
 kiwi::system::update \- Update/Upgrade image root system
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi-9.13.1/doc/source/building/working_with_images/setup_yast_on_first_boot.rst
 
new/kiwi-9.13.5/doc/source/building/working_with_images/setup_yast_on_first_boot.rst
--- 
old/kiwi-9.13.1/doc/source/building/working_with_images/setup_yast_on_first_boot.rst
        2018-02-26 16:34:13.000000000 +0100
+++ 
new/kiwi-9.13.5/doc/source/building/working_with_images/setup_yast_on_first_boot.rst
        2018-02-27 10:52:25.000000000 +0100
@@ -1,23 +1,23 @@
 .. _yast-on-boot:
 
-Setting Up YAST at First Boot
+Setting Up YaST at First Boot
 =============================
 
 .. sidebar:: Abstract
 
     This page provides information how to setup the KIWI
-    XML description to start the SUSE YAST system setup
+    XML description to start the SUSE YaST system setup
     utility at first boot of the image
 
-To be able to use YAST in a non interactive way, you need to
-create a YAST profile which tells it what to do. To create the
-profile, run:
+To be able to use YaST in a non interactive way, create a
+YaST profile which tells the autoyast module what to do.
+To create the profile, run:
 
 .. code:: bash
 
     yast autoyast
 
-Once the YAST profile exists, update the KIWI XML description
+Once the YaST profile exists, update the KIWI XML description
 as follows:
 
 1. Edit the KIWI XML file and add the following package to
@@ -27,7 +27,7 @@
 
        <package name="yast2-firstboot"/>
 
-2. Copy the YAST profile file as overlay file to your KIWI image
+2. Copy the YaST profile file as overlay file to your KIWI image
    description overlay directory:
 
    .. code:: bash
@@ -36,9 +36,9 @@
        mkdir -p root/etc/YaST2
        cp PROFILE_FILE root/etc/YaST2/firstboot.xml
 
-3. Copy and activate the YAST firstboot template.
+3. Copy and activate the YaST firstboot template.
    This is done by the following instructions which needs to be written
-   into the KIWI :file:`config.sh` which also lives in the image
+   into the KIWI :file:`config.sh` which is stored in the image
    description directory:
 
    .. code:: bash
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/doc/source/conf.py 
new/kiwi-9.13.5/doc/source/conf.py
--- old/kiwi-9.13.1/doc/source/conf.py  2018-02-26 17:46:55.000000000 +0100
+++ new/kiwi-9.13.5/doc/source/conf.py  2018-03-06 17:01:58.000000000 +0100
@@ -93,7 +93,7 @@
 # built documents.
 #
 # The short X.Y version.
-version = u'9.13.1'
+version = u'9.13.5'
 # The full version, including alpha/beta/rc tags.
 release = version
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi-9.13.1/dracut/modules.d/90kiwi-repart/kiwi-repart-disk.sh 
new/kiwi-9.13.5/dracut/modules.d/90kiwi-repart/kiwi-repart-disk.sh
--- old/kiwi-9.13.1/dracut/modules.d/90kiwi-repart/kiwi-repart-disk.sh  
2018-01-26 10:03:31.000000000 +0100
+++ new/kiwi-9.13.5/dracut/modules.d/90kiwi-repart/kiwi-repart-disk.sh  
2018-03-06 15:51:31.000000000 +0100
@@ -77,6 +77,13 @@
     deactivate_all_device_maps
 }
 
+function activate_device_mappings {
+    if type multipath &> /dev/null; then
+        multipath -r
+        systemctl daemon-reload
+    fi
+}
+
 function finalize_disk_repart {
     declare kiwi_RootPart=${kiwi_RootPart}
     finalize_partition_table "${disk}"
@@ -113,14 +120,14 @@
     if [ "${kiwi_oemswap}" = "true" ];then
         new_parts=$((new_parts + 1))
     fi
-    # deactivate all active device mappings
-    deactivate_device_mappings
     # check if we can repart this disk
     if ! check_repart_possible \
         ${disk_root_mbytes} ${disk_free_mbytes} ${min_additional_mbytes}
     then
         return 1
     fi
+    # deactivate all active device mappings
+    deactivate_device_mappings
     # repart root partition
     local command_query
     local root_part_size=+${disk_have_root_system_mbytes}M
@@ -167,14 +174,14 @@
     if [ "${min_additional_mbytes}" -lt 5 ];then
         min_additional_mbytes=5
     fi
-    # deactivate all active device mappings
-    deactivate_device_mappings
     # check if we can repart this disk
     if ! check_repart_possible \
         ${disk_root_mbytes} ${disk_free_mbytes} ${min_additional_mbytes}
     then
         return 1
     fi
+    # deactivate all active device mappings
+    deactivate_device_mappings
     # create lvm.conf appropriate for resize
     setup_lvm_config
     # repart lvm partition
@@ -311,3 +318,6 @@
 
 # create swap space
 create_swap "$(get_swap_map)"
+
+# recreate device maps and retrigger systemd generators
+activate_device_mappings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi-9.13.1/dracut/modules.d/99kiwi-lib/kiwi-filesystem-lib.sh 
new/kiwi-9.13.5/dracut/modules.d/99kiwi-lib/kiwi-filesystem-lib.sh
--- old/kiwi-9.13.1/dracut/modules.d/99kiwi-lib/kiwi-filesystem-lib.sh  
2018-01-25 09:53:29.000000000 +0100
+++ new/kiwi-9.13.5/dracut/modules.d/99kiwi-lib/kiwi-filesystem-lib.sh  
2018-03-06 15:51:31.000000000 +0100
@@ -86,11 +86,12 @@
     # hook to update the system fstab
     # """
     local device=$1
+    local swap_label="SWAP"
     test -n "${device}" || return
-    if ! mkswap "${device}" 1>&2;then
+    if ! mkswap "${device}" --label "${swap_label}" 1>&2;then
         die "Failed to create swap signature"
     fi
-    echo "${device} swap swap defaults 0 0" > /fstab.swap
+    echo "LABEL=${swap_label} swap swap defaults 0 0" > /fstab.swap
 }
 
 function merge_swap_to_fstab {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi-9.13.1/dracut/modules.d/99kiwi-lib/kiwi-partitions-lib.sh 
new/kiwi-9.13.5/dracut/modules.d/99kiwi-lib/kiwi-partitions-lib.sh
--- old/kiwi-9.13.1/dracut/modules.d/99kiwi-lib/kiwi-partitions-lib.sh  
2018-01-22 19:28:52.000000000 +0100
+++ new/kiwi-9.13.5/dracut/modules.d/99kiwi-lib/kiwi-partitions-lib.sh  
2018-02-28 14:43:13.000000000 +0100
@@ -267,10 +267,26 @@
     local rest_bytes
     rest_bytes=${disk_bytes}
     local part_bytes=0
+    local part_count=0
+    local part_uuids
     for part in $(
         lsblk -p -r -o NAME,TYPE "${disk}" | grep part | cut -f1 -d ' '
     );do
-        part_bytes=$((part_bytes + $(blockdev --getsize64 "${part}")))
+        current_part_uuid=$(get_partition_uuid "${part}")
+        for part_uuid in ${part_uuids[*]};do
+            if [ "${current_part_uuid}" = "${part_uuid}" ];then
+                # this partition uuid was already handled. The device
+                # node is pointing to the same physical device and
+                # should only be taken into account once
+                unset part
+                break
+            fi
+        done
+        if [ ! -z "${part}" ]; then
+            part_bytes=$((part_bytes + $(blockdev --getsize64 "${part}")))
+            part_uuids[${part_count}]=${current_part_uuid}
+            part_count=$((part_count + 1))
+        fi
     done
     rest_bytes=$((rest_bytes - part_bytes))
     echo ${rest_bytes}
@@ -280,6 +296,10 @@
     blkid -s PTTYPE -o value "$1"
 }
 
+function get_partition_uuid {
+    blkid -s PARTUUID -o value "$1"
+}
+
 function relocate_gpt_at_end_of_disk {
     local cmd
     local cmd_file=/part.input
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/kiwi/bootloader/config/grub2.py 
new/kiwi-9.13.5/kiwi/bootloader/config/grub2.py
--- old/kiwi-9.13.1/kiwi/bootloader/config/grub2.py     2018-02-16 
16:13:10.000000000 +0100
+++ new/kiwi-9.13.5/kiwi/bootloader/config/grub2.py     2018-03-06 
17:01:45.000000000 +0100
@@ -652,21 +652,31 @@
     def _create_early_boot_script_for_uuid_search(self, filename, uuid):
         with open(filename, 'w') as early_boot:
             early_boot.write(
-                'search --fs-uuid --set=root %s\n' % uuid
+                'set btrfs_relative_path="yes"{0}'.format(os.linesep)
             )
             early_boot.write(
-                'set prefix=($root)%s/%s\n' % (
-                    self.get_boot_path(), self.boot_directory_name
+                'search --fs-uuid --set=root {0}{1}'.format(uuid, os.linesep)
+            )
+            early_boot.write(
+                'set prefix=($root){0}/{1}{2}'.format(
+                    self.get_boot_path(), self.boot_directory_name, os.linesep
                 )
             )
 
     def _create_early_boot_script_for_mbrid_search(self, filename, mbrid):
         with open(filename, 'w') as early_boot:
             early_boot.write(
-                'search --file --set=root /boot/%s\n' % mbrid.get_id()
+                'set btrfs_relative_path="yes"{0}'.format(os.linesep)
+            )
+            early_boot.write(
+                'search --file --set=root /boot/{0}{1}'.format(
+                    mbrid.get_id(), os.linesep
+                )
             )
             early_boot.write(
-                'set prefix=($root)/boot/%s\n' % self.boot_directory_name
+                'set prefix=($root)/boot/{0}{1}'.format(
+                    self.boot_directory_name, os.linesep
+                )
             )
 
     def _get_grub2_boot_path(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/kiwi/filesystem/isofs.py 
new/kiwi-9.13.5/kiwi/filesystem/isofs.py
--- old/kiwi-9.13.1/kiwi/filesystem/isofs.py    2017-09-15 10:37:16.000000000 
+0200
+++ new/kiwi-9.13.5/kiwi/filesystem/isofs.py    2018-03-06 09:32:32.000000000 
+0100
@@ -19,9 +19,6 @@
 from kiwi.filesystem.base import FileSystemBase
 from kiwi.command import Command
 from kiwi.iso import Iso
-from kiwi.path import Path
-
-from kiwi.exceptions import KiwiIsoToolError
 
 
 class FileSystemIsoFs(FileSystemBase):
@@ -46,7 +43,7 @@
         iso.add_efi_loader_parameters()
         Command.run(
             [
-                self._find_iso_creation_tool()
+                Iso.get_iso_creation_tool()
             ] + iso.get_iso_creation_parameters() + [
                 '-o', filename, self.root_dir
             ]
@@ -54,7 +51,7 @@
         hybrid_offset = iso.create_header_end_block(filename)
         Command.run(
             [
-                self._find_iso_creation_tool(),
+                Iso.get_iso_creation_tool(),
                 '-hide', iso.header_end_name,
                 '-hide-joliet', iso.header_end_name
             ] + iso.get_iso_creation_parameters() + [
@@ -64,19 +61,3 @@
         iso.relocate_boot_catalog(filename)
         iso.fix_boot_catalog(filename)
         return hybrid_offset
-
-    def _find_iso_creation_tool(self):
-        """
-        There are tools by J.Schilling and tools from the community
-        Depending on what is installed a decision needs to be made
-        """
-        iso_creation_tools = ['mkisofs', 'genisoimage']
-        for tool in iso_creation_tools:
-            tool_found = Path.which(tool)
-            if tool_found:
-                return tool_found
-
-        raise KiwiIsoToolError(
-            'No iso creation tool found, searched for: %s' %
-            iso_creation_tools
-        )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/kiwi/iso.py new/kiwi-9.13.5/kiwi/iso.py
--- old/kiwi-9.13.1/kiwi/iso.py 2017-11-15 11:11:58.000000000 +0100
+++ new/kiwi-9.13.5/kiwi/iso.py 2018-03-06 11:24:25.000000000 +0100
@@ -29,6 +29,7 @@
 from builtins import bytes
 
 # project
+from .utils.command_capabilities import CommandCapabilities
 from .logger import log
 from .path import Path
 from .command import Command
@@ -272,6 +273,39 @@
                 )
             log.debug('Fixed iso catalog contents')
 
+    @classmethod
+    def get_iso_creation_tool(self):
+        """
+        There are tools by J.Schilling and tools from the community
+        Depending on what is installed a decision needs to be made
+        """
+        iso_creation_tools = ['mkisofs', 'genisoimage']
+        for tool in iso_creation_tools:
+            tool_found = Path.which(tool)
+            if tool_found:
+                return tool_found
+
+        raise KiwiIsoToolError(
+            'No iso creation tool found, searched for: %s' %
+            iso_creation_tools
+        )
+
+    @classmethod
+    def get_isoinfo_tool(self):
+        """
+        There are tools by J.Schilling and tools from the community
+        Depending on what is installed a decision needs to be done
+        """
+        alternative_lookup_paths = ['/usr/lib/genisoimage']
+        isoinfo = Path.which('isoinfo', alternative_lookup_paths)
+        if isoinfo:
+            return isoinfo
+
+        raise KiwiIsoToolError(
+            'No isoinfo tool found, searched in PATH: %s and %s' %
+            (os.environ.get('PATH'), alternative_lookup_paths)
+        )
+
     def init_iso_creation_parameters(self, custom_args=None):
         """
         Create a set of standard parameters for the main isolinux loader
@@ -322,9 +356,14 @@
         """
         loader_file = self.boot_path + '/efi'
         if os.path.exists(os.sep.join([self.source_dir, loader_file])):
+            self.iso_loaders.append('-eltorito-alt-boot')
+            iso_tool = self.get_iso_creation_tool()
+            if iso_tool and CommandCapabilities.has_option_in_help(
+                iso_tool, '-eltorito-platform', raise_on_error=False
+            ):
+                self.iso_loaders += ['-eltorito-platform', 'efi']
             self.iso_loaders += [
-                '-eltorito-alt-boot', '-b', loader_file,
-                '-no-emul-boot', '-joliet-long'
+                '-b', loader_file, '-no-emul-boot', '-joliet-long'
             ]
             loader_file_512_byte_blocks = os.path.getsize(
                 os.sep.join([self.source_dir, loader_file])
@@ -406,7 +445,7 @@
             'listing_type', ['name', 'filetype', 'start']
         )
         listing = Command.run(
-            [self._find_isoinfo_tool(), '-R', '-l', '-i', isofile]
+            [self.get_isoinfo_tool(), '-R', '-l', '-i', isofile]
         )
         listing_result = {}
         for line in listing.output.split('\n'):
@@ -458,20 +497,6 @@
                 ['bash', '-c', bash_command]
             )
 
-    def _find_isoinfo_tool(self):
-        """
-        There are tools by J.Schilling and tools from the community
-        Depending on what is installed a decision needs to be done
-        """
-        alternative_lookup_paths = ['/usr/lib/genisoimage']
-        isoinfo = Path.which('isoinfo', alternative_lookup_paths)
-        if isoinfo:
-            return isoinfo
-        raise KiwiIsoToolError(
-            'No isoinfo tool found, searched in PATH: %s and %s' %
-            (os.environ.get('PATH'), alternative_lookup_paths)
-        )
-
     def _create_sortfile(self):
         catalog_file = \
             self.source_dir + '/' + self.boot_path + '/boot.catalog'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/kiwi/package_manager/apt.py 
new/kiwi-9.13.5/kiwi/package_manager/apt.py
--- old/kiwi-9.13.1/kiwi/package_manager/apt.py 2017-09-15 10:37:16.000000000 
+0200
+++ new/kiwi-9.13.5/kiwi/package_manager/apt.py 2018-03-06 11:24:25.000000000 
+0100
@@ -54,6 +54,7 @@
         self.custom_args = custom_args
         if not custom_args:
             self.custom_args = []
+        self.deboostrap_minbase = True
 
         runtime_config = self.repository.runtime_config()
         self.apt_get_args = runtime_config['apt_get_args']
@@ -139,12 +140,13 @@
                     'provided key will only be used inside the chroot '
                     'environment'
                 )
-            Command.run(
-                [
-                    'debootstrap', '--no-check-gpg', self.distribution,
-                    bootstrap_dir, self.distribution_path
-                ], self.command_env
-            )
+            cmd = ['debootstrap', '--no-check-gpg']
+            if self.deboostrap_minbase:
+                cmd.append('--variant=minbase')
+            cmd.extend([
+                self.distribution, bootstrap_dir, self.distribution_path
+            ])
+            Command.run(cmd, self.command_env)
             data = DataSync(
                 bootstrap_dir + '/', self.root_dir
             )
@@ -223,6 +225,7 @@
         """
         if '--no-install-recommends' not in self.custom_args:
             self.custom_args.append('--no-install-recommends')
+        self.deboostrap_minbase = True
 
     def process_plus_recommended(self):
         """
@@ -230,6 +233,7 @@
         """
         if '--no-install-recommends' in self.custom_args:
             self.custom_args.remove('--no-install-recommends')
+        self.deboostrap_minbase = False
 
     def match_package_installed(self, package_name, apt_get_output):
         """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/kiwi/partitioner/base.py 
new/kiwi-9.13.5/kiwi/partitioner/base.py
--- old/kiwi-9.13.1/kiwi/partitioner/base.py    2017-09-15 10:37:16.000000000 
+0200
+++ new/kiwi-9.13.5/kiwi/partitioner/base.py    2018-03-06 15:51:31.000000000 
+0100
@@ -98,3 +98,11 @@
         Implementation in specialized partitioner class
         """
         raise NotImplementedError
+
+    def resize_table(self, entries=None):
+        """
+        Resize partition table
+
+        :param int entries: unused
+        """
+        raise NotImplementedError
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/kiwi/partitioner/dasd.py 
new/kiwi-9.13.5/kiwi/partitioner/dasd.py
--- old/kiwi-9.13.1/kiwi/partitioner/dasd.py    2017-09-15 10:37:16.000000000 
+0200
+++ new/kiwi-9.13.5/kiwi/partitioner/dasd.py    2018-03-06 15:51:31.000000000 
+0100
@@ -76,3 +76,11 @@
             # are not able to detect real errors with the fdasd operation at
             # that point.
             log.debug('potential fdasd errors were ignored')
+
+    def resize_table(self, entries=None):
+        """
+        Resize partition table
+
+        Nothing to be done here for DASD devices
+        """
+        pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/kiwi/partitioner/gpt.py 
new/kiwi-9.13.5/kiwi/partitioner/gpt.py
--- old/kiwi-9.13.1/kiwi/partitioner/gpt.py     2017-09-15 10:37:16.000000000 
+0200
+++ new/kiwi-9.13.5/kiwi/partitioner/gpt.py     2018-03-06 15:51:31.000000000 
+0100
@@ -136,3 +136,16 @@
         if efi_partition_number:
             # turn former EFI partition into standard linux partition
             self.set_flag(efi_partition_number, 't.linux')
+
+    def resize_table(self, entries=128):
+        """
+        Resize partition table
+
+        :param int entries: default entries
+        """
+        Command.run(
+            [
+                'sgdisk', '--resize-table', '{0}'.format(entries),
+                self.disk_device
+            ]
+        )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/kiwi/partitioner/msdos.py 
new/kiwi-9.13.5/kiwi/partitioner/msdos.py
--- old/kiwi-9.13.1/kiwi/partitioner/msdos.py   2017-09-15 10:37:16.000000000 
+0200
+++ new/kiwi-9.13.5/kiwi/partitioner/msdos.py   2018-03-06 15:51:31.000000000 
+0100
@@ -120,3 +120,11 @@
                 )
         else:
             log.warning('Flag %s ignored on msdos', flag_name)
+
+    def resize_table(self, entries=None):
+        """
+        Resize partition table
+
+        Nothing to be done here for msdos table
+        """
+        pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/kiwi/storage/loop_device.py 
new/kiwi-9.13.5/kiwi/storage/loop_device.py
--- old/kiwi-9.13.1/kiwi/storage/loop_device.py 2017-11-15 11:11:58.000000000 
+0100
+++ new/kiwi-9.13.5/kiwi/storage/loop_device.py 2018-03-06 15:51:31.000000000 
+0100
@@ -72,14 +72,19 @@
         """
         return True
 
-    def create(self):
+    def create(self, overwrite=True):
         """
-        Setup a loop device of the specified size and blocksize
+        Setup a loop device of the blocksize given in the constructor
+        The file to loop is created with the size specified in the
+        constructor unless an existing one should not be overwritten
+
+        :param bool overwrite: overwrite existing file to loop
         """
-        qemu_img_size = format(self.filesize_mbytes) + 'M'
-        Command.run(
-            ['qemu-img', 'create', self.filename, qemu_img_size]
-        )
+        if overwrite:
+            qemu_img_size = format(self.filesize_mbytes) + 'M'
+            Command.run(
+                ['qemu-img', 'create', self.filename, qemu_img_size]
+            )
         loop_options = []
         if self.blocksize_bytes and self.blocksize_bytes != 512:
             loop_options.append('--logical-blocksize')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/kiwi/storage/subformat/ova.py 
new/kiwi-9.13.5/kiwi/storage/subformat/ova.py
--- old/kiwi-9.13.1/kiwi/storage/subformat/ova.py       2018-02-07 
14:10:14.000000000 +0100
+++ new/kiwi-9.13.5/kiwi/storage/subformat/ova.py       2018-03-06 
09:32:32.000000000 +0100
@@ -17,12 +17,13 @@
 #
 import os
 import stat
+from textwrap import dedent
 
 # project
 from kiwi.storage.subformat.vmdk import DiskFormatVmdk
 from kiwi.command import Command
-from kiwi.logger import log
 from kiwi.utils.command_capabilities import CommandCapabilities
+from kiwi.path import Path
 
 from kiwi.exceptions import (
     KiwiFormatSetupError,
@@ -55,26 +56,42 @@
         self.options = self.get_qemu_option_list(custom_args)
 
     def create_image_format(self):
-        # Creates the vmdk disk image and vmx config
+        # Check for required ovftool
+        ovftool = Path.which(filename='ovftool', access_mode=os.X_OK)
+        if not ovftool:
+            tool_not_found_message = dedent('''\n
+                Required tool {0} not found in PATH on the build host
+
+                Building OVA images requires VMware's {0} tool which
+                can be installed from the following location
+
+                https://www.vmware.com/support/developer/ovf
+            ''')
+            raise KiwiCommandNotFound(
+                tool_not_found_message.format(ovftool)
+            )
+
+        # Create the vmdk disk image and vmx config
         super(DiskFormatOva, self).create_image_format()
-        # Converts to ova using ovftool
+
+        # Convert to ova using ovftool
         vmx = self.get_target_file_path_for_format('vmx')
         ova = self.get_target_file_path_for_format('ova')
         try:
             os.unlink(ova)
         except OSError:
             pass
-        ovftool_cmd = ['ovftool']
+        ovftool_options = []
         if CommandCapabilities.has_option_in_help(
-                'ovftool', '--shaAlgorithm', raise_on_error=False):
-            ovftool_cmd.append('--shaAlgorithm=SHA1')
-        ovftool_cmd.extend([vmx, ova])
-        try:
-            Command.run(ovftool_cmd)
-        except KiwiCommandNotFound as e:
-            log.info('Building OVA images requires VMware\'s ovftool, get it 
from https://www.vmware.com/support/developer/ovf/')
-            raise e
-        # ovftool ignores the umask and creates files with 0600 for some reason
+            ovftool, '--shaAlgorithm', raise_on_error=False
+        ):
+            ovftool_options.append('--shaAlgorithm=SHA1')
+        Command.run(
+            [ovftool] + ovftool_options + [vmx, ova]
+        )
+        # ovftool ignores the umask and creates files with 0600
+        # apply file permission bits set in the vmx file to the
+        # ova file
         st = os.stat(vmx)
         os.chmod(ova, stat.S_IMODE(st.st_mode))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/kiwi/tasks/image_resize.py 
new/kiwi-9.13.5/kiwi/tasks/image_resize.py
--- old/kiwi-9.13.1/kiwi/tasks/image_resize.py  2017-11-22 09:06:34.000000000 
+0100
+++ new/kiwi-9.13.5/kiwi/tasks/image_resize.py  2018-03-06 15:51:31.000000000 
+0100
@@ -46,6 +46,9 @@
 import os
 
 # project
+from kiwi.firmware import FirmWare
+from kiwi.storage.loop_device import LoopDevice
+from kiwi.partitioner import Partitioner
 from kiwi.tasks.base import CliTask
 from kiwi.help import Help
 from kiwi.logger import log
@@ -107,10 +110,23 @@
 
         new_disk_size = StringToSize.to_bytes(self.command_args['--size'])
 
+        # resize raw disk
         log.info(
             'Resizing raw disk to {0} bytes'.format(new_disk_size)
         )
         resize_result = image_format.resize_raw_disk(new_disk_size)
+
+        # resize raw disk partition table
+        firmware = FirmWare(self.xml_state)
+        loop_provider = LoopDevice(image_format.diskname)
+        loop_provider.create(overwrite=False)
+        partitioner = Partitioner(
+            firmware.get_partition_table_type(), loop_provider
+        )
+        partitioner.resize_table()
+        del loop_provider
+
+        # resize disk format from resized raw disk
         if disk_format and resize_result is True:
             log.info(
                 'Creating {0} disk format from resized raw disk'.format(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/kiwi/utils/command_capabilities.py 
new/kiwi-9.13.5/kiwi/utils/command_capabilities.py
--- old/kiwi-9.13.1/kiwi/utils/command_capabilities.py  2018-01-22 
19:28:47.000000000 +0100
+++ new/kiwi-9.13.5/kiwi/utils/command_capabilities.py  2018-03-06 
09:32:32.000000000 +0100
@@ -55,6 +55,9 @@
             for line in command.output.splitlines():
                 if flag in line:
                     return True
+            for line in command.error.splitlines():
+                if flag in line:
+                    return True
         except Exception:
             message = 'Could not parse {} output'.format(call)
             if raise_on_error:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/kiwi/version.py 
new/kiwi-9.13.5/kiwi/version.py
--- old/kiwi-9.13.1/kiwi/version.py     2018-02-26 17:46:55.000000000 +0100
+++ new/kiwi-9.13.5/kiwi/version.py     2018-03-06 17:01:58.000000000 +0100
@@ -18,5 +18,5 @@
 """
 Global version information used in kiwi and the package
 """
-__version__ = '9.13.1'
-__githash__ = 'c0bd6ed9d860b4e993cc922a83a90894b2a2c476'
+__version__ = '9.13.5'
+__githash__ = '272af8560d4884b675f3c6489a0ada57d519ce42'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/kiwi.egg-info/PKG-INFO 
new/kiwi-9.13.5/kiwi.egg-info/PKG-INFO
--- old/kiwi-9.13.1/kiwi.egg-info/PKG-INFO      2018-02-26 17:51:55.000000000 
+0100
+++ new/kiwi-9.13.5/kiwi.egg-info/PKG-INFO      2018-03-06 17:07:19.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: kiwi
-Version: 9.13.1
+Version: 9.13.5
 Summary: KIWI - Appliance Builder (next generation)
 Home-page: http://suse.github.io/kiwi
 Author: Marcus Schaefer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/kiwi.egg-info/SOURCES.txt 
new/kiwi-9.13.5/kiwi.egg-info/SOURCES.txt
--- old/kiwi-9.13.1/kiwi.egg-info/SOURCES.txt   2018-02-26 17:51:55.000000000 
+0100
+++ new/kiwi-9.13.5/kiwi.egg-info/SOURCES.txt   2018-03-06 17:07:19.000000000 
+0100
@@ -1,7 +1,6 @@
 .bumpversion.cfg
 .coverage
 .landscape.yml
-.travis.requirements.txt
 .travis.yml
 .virtualenv.dev-requirements.txt
 .virtualenv.requirements.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/package/python-kiwi-spec-template 
new/kiwi-9.13.5/package/python-kiwi-spec-template
--- old/kiwi-9.13.1/package/python-kiwi-spec-template   2018-02-15 
12:00:05.000000000 +0100
+++ new/kiwi-9.13.5/package/python-kiwi-spec-template   2018-03-06 
09:32:32.000000000 +0100
@@ -136,7 +136,11 @@
 %endif
 Requires:       dosfstools
 Requires:       e2fsprogs
+%if 0%{?suse_version} >= 1500
+Requires:       mkisofs
+%else
 Requires:       genisoimage
+%endif
 Requires:       grub2
 Requires:       kiwi-man-pages
 Requires:       kiwi-tools
@@ -210,7 +214,11 @@
 %endif
 Requires:       dosfstools
 Requires:       e2fsprogs
+%if 0%{?suse_version} >= 1500
+Requires:       mkisofs
+%else
 Requires:       genisoimage
+%endif
 Requires:       grub2
 Requires:       kiwi-man-pages
 Requires:       kiwi-tools
@@ -372,11 +380,15 @@
 Requires:       device-mapper
 %endif
 Requires:       dracut
+%if 0%{?suse_version} >= 1500
+Requires:       mkisofs
+%else
 %if 0%{?fedora} || 0%{?rhel} || 0%{?debian} || 0%{?ubuntu}
 Requires:       genisoimage
 %else
 Requires:       cdrkit-cdrtools-compat
 %endif
+%endif
 License:        GPL-3.0+
 Group:          %{sysgroup}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi-9.13.1/test/unit/bootloader_config_grub2_test.py 
new/kiwi-9.13.5/test/unit/bootloader_config_grub2_test.py
--- old/kiwi-9.13.1/test/unit/bootloader_config_grub2_test.py   2018-02-14 
10:18:04.000000000 +0100
+++ new/kiwi-9.13.5/test/unit/bootloader_config_grub2_test.py   2018-03-06 
17:01:45.000000000 +0100
@@ -574,6 +574,7 @@
             'root_dir/boot/efi/EFI/BOOT/earlyboot.cfg', 'w'
         )
         assert file_mock.write.call_args_list == [
+            call('set btrfs_relative_path="yes"\n'),
             call('search --fs-uuid --set=root 0815\n'),
             call('set prefix=($root)//grub2\n')
         ]
@@ -791,6 +792,7 @@
             call('root_dir//EFI/BOOT/earlyboot.cfg', 'w')
         ]
         assert file_mock.write.call_args_list == [
+            call('set btrfs_relative_path="yes"\n'),
             call('search --file --set=root /boot/0xffffffff\n'),
             call('set prefix=($root)/boot/grub2\n')
         ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/test/unit/filesystem_isofs_test.py 
new/kiwi-9.13.5/test/unit/filesystem_isofs_test.py
--- old/kiwi-9.13.1/test/unit/filesystem_isofs_test.py  2017-09-15 
10:37:16.000000000 +0200
+++ new/kiwi-9.13.5/test/unit/filesystem_isofs_test.py  2018-03-06 
09:32:32.000000000 +0100
@@ -3,10 +3,6 @@
 
 import mock
 
-from .test_helper import raises
-
-from kiwi.exceptions import KiwiIsoToolError
-
 from kiwi.filesystem.isofs import FileSystemIsoFs
 
 
@@ -22,36 +18,19 @@
         assert self.isofs.custom_args['mount_options'] == []
         assert self.isofs.custom_args['some_args'] == 'data'
 
-    @raises(KiwiIsoToolError)
-    @patch('kiwi.filesystem.isofs.Command.run')
-    @patch('kiwi.filesystem.isofs.Iso')
-    @patch('kiwi.filesystem.isofs.Path.which')
-    def test_create_on_file_no_tool_found(
-        self, mock_which, mock_iso, mock_command
-    ):
-        mock_which.return_value = None
-        self.isofs.create_on_file('myimage', None)
-
     @patch('kiwi.filesystem.isofs.Command.run')
+    @patch('kiwi.filesystem.isofs.Iso.get_iso_creation_tool')
     @patch('kiwi.filesystem.isofs.Iso')
-    @patch('kiwi.filesystem.isofs.Path.which')
-    def test_create_on_file_mkisofs(
-        self, mock_which, mock_iso, mock_command
+    def test_create_on_file(
+        self, mock_iso, mock_get_iso_creation_tool, mock_command
     ):
         iso = mock.Mock()
         iso.header_end_name = 'header_end'
         iso.get_iso_creation_parameters = mock.Mock(
             return_value=['args']
         )
+        mock_get_iso_creation_tool.return_value = '/usr/bin/mkisofs'
         mock_iso.return_value = iso
-        path_return_values = [
-            '/usr/bin/mkisofs', '/usr/bin/mkisofs'
-        ]
-
-        def side_effect(arg):
-            return path_return_values.pop()
-
-        mock_which.side_effect = side_effect
         self.isofs.create_on_file('myimage', None)
         iso.init_iso_creation_parameters.assert_called_once_with([])
         iso.add_efi_loader_parameters.assert_called_once_with()
@@ -67,49 +46,6 @@
                 '-hide-joliet', 'header_end', 'args', '-o', 'myimage',
                 'root_dir'
             ])
-        ]
-        iso.relocate_boot_catalog.assert_called_once_with(
-            'myimage'
-        )
-        iso.fix_boot_catalog.assert_called_once_with(
-            'myimage'
-        )
-
-    @patch('kiwi.filesystem.isofs.Command.run')
-    @patch('kiwi.filesystem.isofs.Iso')
-    @patch('kiwi.filesystem.isofs.Path.which')
-    def test_create_on_file_genisoimage(
-        self, mock_which, mock_iso, mock_command
-    ):
-        iso = mock.Mock()
-        iso.header_end_name = 'header_end'
-        iso.get_iso_creation_parameters = mock.Mock(
-            return_value=['args']
-        )
-        mock_iso.return_value = iso
-        path_return_values = [
-            '/usr/bin/genisoimage', None, '/usr/bin/genisoimage', None
-        ]
-
-        def side_effect(arg):
-            return path_return_values.pop()
-
-        mock_which.side_effect = side_effect
-        self.isofs.create_on_file('myimage', None)
-        iso.init_iso_creation_parameters.assert_called_once_with([])
-        iso.add_efi_loader_parameters.assert_called_once_with()
-        iso.create_header_end_block.assert_called_once_with(
-            'myimage'
-        )
-        assert mock_command.call_args_list == [
-            call([
-                '/usr/bin/genisoimage', 'args', '-o', 'myimage', 'root_dir'
-            ]),
-            call([
-                '/usr/bin/genisoimage', '-hide', 'header_end',
-                '-hide-joliet', 'header_end', 'args', '-o', 'myimage',
-                'root_dir'
-            ])
         ]
         iso.relocate_boot_catalog.assert_called_once_with(
             'myimage'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/test/unit/iso_test.py 
new/kiwi-9.13.5/test/unit/iso_test.py
--- old/kiwi-9.13.1/test/unit/iso_test.py       2017-11-15 11:11:58.000000000 
+0100
+++ new/kiwi-9.13.5/test/unit/iso_test.py       2018-03-06 11:24:25.000000000 
+0100
@@ -136,20 +136,28 @@
 
     @patch('os.path.exists')
     @patch('os.path.getsize')
-    def test_add_efi_loader_parameters(self, mock_getsize, mock_exists):
+    @patch('kiwi.iso.CommandCapabilities.has_option_in_help')
+    def test_add_efi_loader_parameters(
+        self, mock_has_option_in_help, mock_getsize, mock_exists
+    ):
+        mock_has_option_in_help.return_value = True
         mock_getsize.return_value = 4096
         mock_exists.return_value = True
         self.iso.add_efi_loader_parameters()
         assert self.iso.iso_loaders == [
-            '-eltorito-alt-boot', '-b', 'boot/x86_64/efi',
-            '-no-emul-boot', '-joliet-long', '-boot-load-size', '8'
+            '-eltorito-alt-boot', '-eltorito-platform', 'efi',
+            '-b', 'boot/x86_64/efi',
+            '-no-emul-boot', '-joliet-long',
+            '-boot-load-size', '8'
         ]
 
     @patch('os.path.exists')
     @patch('os.path.getsize')
+    @patch('kiwi.iso.CommandCapabilities.has_option_in_help')
     def test_add_efi_loader_parameters_big_loader(
-        self, mock_getsize, mock_exists
+        self, mock_has_option_in_help, mock_getsize, mock_exists
     ):
+        mock_has_option_in_help.return_value = False
         mock_getsize.return_value = 33554432
         mock_exists.return_value = True
         self.iso.add_efi_loader_parameters()
@@ -165,6 +173,12 @@
 
     @raises(KiwiIsoToolError)
     @patch('os.path.exists')
+    def test_get_iso_creation_tool_no_tool_found(self, mock_exists):
+        mock_exists.return_value = False
+        self.iso.get_iso_creation_tool()
+
+    @raises(KiwiIsoToolError)
+    @patch('os.path.exists')
     def test_isols_no_tool_found(self, mock_exists):
         mock_exists.return_value = False
         self.iso.isols('some-iso')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/test/unit/package_manager_apt_test.py 
new/kiwi-9.13.5/test/unit/package_manager_apt_test.py
--- old/kiwi-9.13.1/test/unit/package_manager_apt_test.py       2017-09-15 
10:37:16.000000000 +0200
+++ new/kiwi-9.13.5/test/unit/package_manager_apt_test.py       2018-03-06 
11:24:25.000000000 +0100
@@ -101,8 +101,8 @@
         assert mock_run.call_args_list == [
             call(command=['mountpoint', 'root-dir/dev'], raise_on_error=False),
             call([
-                'debootstrap', '--no-check-gpg', 'xenial',
-                'root-dir.debootstrap', 'xenial_path'],
+                'debootstrap', '--no-check-gpg', '--variant=minbase',
+                'xenial', 'root-dir.debootstrap', 'xenial_path'],
                 ['env']),
             call([
                 'chroot', 'root-dir', 'apt-key', 'add', 'key-file.asc'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/test/unit/partitioner_base_test.py 
new/kiwi-9.13.5/test/unit/partitioner_base_test.py
--- old/kiwi-9.13.1/test/unit/partitioner_base_test.py  2017-09-15 
10:37:16.000000000 +0200
+++ new/kiwi-9.13.5/test/unit/partitioner_base_test.py  2018-03-06 
15:51:31.000000000 +0100
@@ -31,3 +31,7 @@
     @raises(NotImplementedError)
     def test_set_mbr(self):
         self.partitioner.set_mbr()
+
+    @raises(NotImplementedError)
+    def test_resize_table(self):
+        self.partitioner.resize_table()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/test/unit/partitioner_dasd_test.py 
new/kiwi-9.13.5/test/unit/partitioner_dasd_test.py
--- old/kiwi-9.13.1/test/unit/partitioner_dasd_test.py  2017-09-15 
10:37:16.000000000 +0200
+++ new/kiwi-9.13.5/test/unit/partitioner_dasd_test.py  2018-03-06 
15:51:31.000000000 +0100
@@ -65,3 +65,6 @@
         self.file_mock.write.assert_called_once_with(
             'n\np\n\n\nw\nq\n'
         )
+
+    def test_resize_table(self):
+        self.partitioner.resize_table()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/test/unit/partitioner_gpt_test.py 
new/kiwi-9.13.5/test/unit/partitioner_gpt_test.py
--- old/kiwi-9.13.1/test/unit/partitioner_gpt_test.py   2017-09-15 
10:37:16.000000000 +0200
+++ new/kiwi-9.13.5/test/unit/partitioner_gpt_test.py   2018-03-06 
15:51:31.000000000 +0100
@@ -77,3 +77,10 @@
             call(['sgdisk', '-m', '1:2:3:4', '/dev/loop0']),
             call(['sgdisk', '-t', '4:8300', '/dev/loop0'])
         ]
+
+    @patch('kiwi.partitioner.gpt.Command.run')
+    def test_resize_table(self, mock_command):
+        self.partitioner.resize_table(42)
+        mock_command.assert_called_once_with(
+            ['sgdisk', '--resize-table', '42', '/dev/loop0']
+        )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/test/unit/partitioner_msdos_test.py 
new/kiwi-9.13.5/test/unit/partitioner_msdos_test.py
--- old/kiwi-9.13.1/test/unit/partitioner_msdos_test.py 2017-09-15 
10:37:16.000000000 +0200
+++ new/kiwi-9.13.5/test/unit/partitioner_msdos_test.py 2018-03-06 
15:51:31.000000000 +0100
@@ -106,3 +106,6 @@
     def test_set_flag_ignored(self, mock_warn):
         self.partitioner.set_flag(1, 't.csm')
         assert mock_warn.called
+
+    def test_resize_table(self):
+        self.partitioner.resize_table()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/test/unit/storage_subformat_ova_test.py 
new/kiwi-9.13.5/test/unit/storage_subformat_ova_test.py
--- old/kiwi-9.13.1/test/unit/storage_subformat_ova_test.py     2018-02-07 
14:10:14.000000000 +0100
+++ new/kiwi-9.13.5/test/unit/storage_subformat_ova_test.py     2018-03-06 
09:32:32.000000000 +0100
@@ -82,13 +82,15 @@
             )
         ]
 
+    @patch('kiwi.storage.subformat.ova.Path.which')
     @patch('kiwi.storage.subformat.ova.Command.run')
     @patch('os.stat')
     @patch('os.chmod')
     @patch_open
     def test_create_image_format(
-        self, mock_open, mock_chmod, mock_stat, mock_command
+        self, mock_open, mock_chmod, mock_stat, mock_command, mock_which
     ):
+        mock_which.return_value = 'ovftool'
         qemu_img_result = mock.Mock()
         ovftool_help_result = mock.Mock()
         ovftool_help_result.output = """This is a new ovftool
@@ -114,25 +116,8 @@
             'target_dir/some-disk-image.x86_64-1.2.3.ova'
         ])
 
-    @patch('kiwi.storage.subformat.ova.Command.run')
-    @patch_open
+    @patch('kiwi.storage.subformat.ova.Path.which')
     @raises(KiwiCommandNotFound)
-    def test_create_image_format_no_ovftool(
-        self, mock_open, mock_command
-    ):
-        qemu_img_result = mock.Mock()
-        ovftool_help_result = mock.Mock()
-        ovftool_help_result.output = ""
-
-        command_results = [
-            ovftool_help_result, qemu_img_result
-        ]
-
-        def side_effect(arg):
-            if len(command_results) == 0:
-                raise KiwiCommandNotFound('ovftool not found')
-            return command_results.pop()
-
-        mock_command.side_effect = side_effect
-        mock_open.return_value = self.context_manager_mock
+    def test_create_image_format_no_ovftool(self, mock_which):
+        mock_which.return_value = None
         self.disk_format.create_image_format()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/test/unit/tasks_image_resize_test.py 
new/kiwi-9.13.5/test/unit/tasks_image_resize_test.py
--- old/kiwi-9.13.1/test/unit/tasks_image_resize_test.py        2017-11-22 
09:06:34.000000000 +0100
+++ new/kiwi-9.13.5/test/unit/tasks_image_resize_test.py        2018-03-06 
15:51:31.000000000 +0100
@@ -29,12 +29,27 @@
             return_value=mock.Mock()
         )
 
+        self.firmware = mock.Mock()
+        self.firmware.get_partition_table_type = mock.Mock(
+            return_value='gpt'
+        )
+        self.partitioner = mock.Mock()
+        self.loop_provider = mock.Mock()
         self.image_format = mock.Mock()
         self.image_format.has_raw_disk = mock.Mock()
         self.image_format.diskname = 'some-disk.raw'
         kiwi.tasks.image_resize.DiskFormat = mock.Mock(
             return_value=self.image_format
         )
+        kiwi.tasks.image_resize.FirmWare = mock.Mock(
+            return_value=self.firmware
+        )
+        kiwi.tasks.image_resize.LoopDevice = mock.Mock(
+            return_value=self.loop_provider
+        )
+        kiwi.tasks.image_resize.Partitioner = mock.Mock(
+            return_value=self.partitioner
+        )
 
         self.task = ImageResizeTask()
 
@@ -74,6 +89,8 @@
         self.task.command_args['resize'] = True
         self.image_format.resize_raw_disk.return_value = True
         self.task.process()
+        self.loop_provider.create.assert_called_once_with(overwrite=False)
+        self.partitioner.resize_table.assert_called_once_with()
         self.image_format.resize_raw_disk.assert_called_once_with(
             42 * 1024 * 1024 * 1024
         )
@@ -85,6 +102,8 @@
         self.task.command_args['--size'] = '42m'
         self.image_format.resize_raw_disk.return_value = True
         self.task.process()
+        self.loop_provider.create.assert_called_once_with(overwrite=False)
+        self.partitioner.resize_table.assert_called_once_with()
         self.image_format.resize_raw_disk.assert_called_once_with(
             42 * 1024 * 1024
         )
@@ -96,6 +115,8 @@
         self.task.command_args['--size'] = '42'
         self.image_format.resize_raw_disk.return_value = True
         self.task.process()
+        self.loop_provider.create.assert_called_once_with(overwrite=False)
+        self.partitioner.resize_table.assert_called_once_with()
         self.image_format.resize_raw_disk.assert_called_once_with(
             42
         )
@@ -108,6 +129,8 @@
         self.task.command_args['--size'] = '42'
         self.image_format.resize_raw_disk.return_value = False
         self.task.process()
+        self.loop_provider.create.assert_called_once_with(overwrite=False)
+        self.partitioner.resize_table.assert_called_once_with()
         self.image_format.resize_raw_disk.assert_called_once_with(
             42
         )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi-9.13.1/test/unit/utils_command_capabilities_test.py 
new/kiwi-9.13.5/test/unit/utils_command_capabilities_test.py
--- old/kiwi-9.13.1/test/unit/utils_command_capabilities_test.py        
2018-01-22 19:28:47.000000000 +0100
+++ new/kiwi-9.13.5/test/unit/utils_command_capabilities_test.py        
2018-03-06 09:32:32.000000000 +0100
@@ -11,11 +11,13 @@
 class TestCommandCapabilities(object):
     @patch('kiwi.command.Command.run')
     def test_has_option_in_help(self, mock_run):
-        command_type = namedtuple('command', ['output'])
+        command_type = namedtuple('command', ['output', 'error'])
         mock_run.return_value = command_type(
-            output="Dummy line\n\t--some-flag\n\t--some-other-flag"
+            output="Dummy line\n\t--some-flag\n\t--some-other-flag",
+            error="Dummy line\n\t--error-flag\n\t--some-other-flag"
         )
         assert CommandCapabilities.has_option_in_help('command', '--some-flag')
+        assert CommandCapabilities.has_option_in_help('command', 
'--error-flag')
         assert CommandCapabilities.has_option_in_help(
             'command', '--some-flag', help_flags=['subcommand', '-h']
         )
@@ -28,6 +30,7 @@
         )
         mock_run.assert_has_calls([
             call(['command', '--help']),
+            call(['command', '--help']),
             call(['command', 'subcommand', '-h']),
             call(['chroot', 'root_dir', 'command', 'subcommand', '-h']),
             call(['command', '--help'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi-9.13.1/tox.ini new/kiwi-9.13.5/tox.ini
--- old/kiwi-9.13.1/tox.ini     2018-02-26 17:46:50.000000000 +0100
+++ new/kiwi-9.13.5/tox.ini     2018-02-27 16:05:14.000000000 +0100
@@ -15,8 +15,9 @@
 skipsdist = True
 envlist =
     check,
-    unit_py3,
-    unit_py2,
+    unit_py3_6,
+    unit_py3_4,
+    unit_py2_7,
     doc
 
 
@@ -29,13 +30,15 @@
     /usr/bin/shellcheck
     /bin/bash
 basepython =
-    {check,doc,doc_travis,doc_travis_deploy}: python3.4
-    unit_py3: python3.4
-    unit_py2: python2.7
+    {check,doc,doc_travis,doc_travis_deploy}: python3
+    unit_py3_6: python3.6
+    unit_py3_4: python3.4
+    unit_py2_7: python2.7
 envdir =
-    {check,doc,doc_travis,doc_travis_deploy}: {toxworkdir}/3.4
-    unit_py3: {toxworkdir}/3.4
-    unit_py2: {toxworkdir}/2.7
+    {check,doc,doc_travis,doc_travis_deploy}: {toxworkdir}/3
+    unit_py3_6: {toxworkdir}/3.6
+    unit_py3_4: {toxworkdir}/3.4
+    unit_py2_7: {toxworkdir}/2.7
 passenv =
     *
 usedevelop = True
@@ -43,8 +46,8 @@
     -r.virtualenv.dev-requirements.txt
 
 
-# Unit Test run with basepython set to 2.x
-[testenv:unit_py2]
+# Unit Test run with basepython set to 2.7
+[testenv:unit_py2_7]
 skip_install = True
 usedevelop = True
 setenv =
@@ -57,12 +60,12 @@
 changedir=test/unit
 commands =
     bash -c 'cd ../../ && ./setup.py develop'
-    py.test --no-cov-on-fail --cov=kiwi \
+    pytest --no-cov-on-fail --cov=kiwi \
         --cov-report=term-missing --cov-fail-under=100 --cov-config .coveragerc
 
 
-# Unit Test run with basepython set to 3.x
-[testenv:unit_py3]
+# Unit Test run with basepython set to 3.4
+[testenv:unit_py3_4]
 skip_install = True
 usedevelop = True
 setenv =
@@ -75,7 +78,25 @@
 changedir=test/unit
 commands =
     bash -c 'cd ../../ && ./setup.py develop'
-    py.test --no-cov-on-fail --cov=kiwi \
+    pytest --no-cov-on-fail --cov=kiwi \
+        --cov-report=term-missing --cov-fail-under=100 --cov-config .coveragerc
+
+
+# Unit Test run with basepython set to 3.6
+[testenv:unit_py3_6]
+skip_install = True
+usedevelop = True
+setenv =
+    PYTHONPATH={toxinidir}/test
+    PYTHONUNBUFFERED=yes
+    WITH_COVERAGE=yes
+passenv =
+    *
+deps = {[testenv]deps}
+changedir=test/unit
+commands =
+    bash -c 'cd ../../ && ./setup.py develop'
+    pytest --no-cov-on-fail --cov=kiwi \
         --cov-report=term-missing --cov-fail-under=100 --cov-config .coveragerc
 
 


Reply via email to