Hello community,

here is the log from the commit of package virt-manager for openSUSE:Factory 
checked in at 2018-11-10 16:58:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virt-manager (Old)
 and      /work/SRC/openSUSE:Factory/.virt-manager.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "virt-manager"

Sat Nov 10 16:58:33 2018 rev:184 rq:645919 version:2.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/virt-manager/virt-manager.changes        
2018-10-25 09:13:02.654264591 +0200
+++ /work/SRC/openSUSE:Factory/.virt-manager.new/virt-manager.changes   
2018-11-10 16:59:40.607731638 +0100
@@ -1,0 +2,58 @@
+Tue Oct 30 16:06:51 MDT 2018 - carn...@suse.com
+
+- Upstream bug fixes (bsc#1027942)
+  b8aff280-virtinst-quickfix-ubuntu-net-preseed-insert-cdrom-error.patch
+  25b88733-urldetect-Dont-overload-suse_content-variable.patch
+  9308bae3-util-Fix-typo-vpcu-vcpu.patch
+
+-------------------------------------------------------------------
+Tue Oct 30 15:37:09 MDT 2018 - carn...@suse.com
+
+- Update to virt-manager 2.0.0 (fate#326786)
+  virt-manager-2.0.0.tar.bz2
+  * Finish port to Python 3 (Radostin Stoyanov, Cole Robinson)
+  * Improved VM defaults for supported OS: q35 PCIe, usb3, CPU host-model
+  * Search based OS selection UI for new VMs (Daniel P. Berrangé, Cole 
Robinson)
+  * Track OS name for lifetime of domain in XML
+  * Host interface management UI has been completely removed
+  * Show domain IP on interface details page (Lin Ma, Cole Robinson)
+  * More efficient stats polling with AllDomainStats (Simon Kobyda, Cole 
Robinson)
+  * TPM device model and backend UI (Marc-André Lureau, Stefan Berger)
+  * Show connection state in UI (Lin Ma)
+  * Show attached devices in UI (Lin Ma)
+  * UI option to plug/unplug VM nic link (Simon Kobyda)
+  * UI support for disk discard and detect_zeroes (Povilas Kanapickas, Lin Ma)
+  * Improved SUSE –location URL/ISO detection (Charles Arnold)
+  * cli and UI support for SCSI persistent reservations (Lin Ma)
+  * cli: Add –network mtu.size= option (Anya Harter)
+  * cli: Add –disk driver.copy_on_read (Anya Harter)
+  * cli: Add –disk geometry support (Anya Harter)
+  * cli: Add –sound codec support (Anya Harter)
+  * cli: Add –hostdev net/char/block for LXC (Lubomir Rintel)
+  * cli: Add –memorybacking access_mode and source_type (Marc-André Lureau)
+  * cli: Add –boot rebootTimout (Yossi Ovadia)
+  * cli: Add –boot bootloader=
+  * cli: Add –destroy-on-exit
+- Drop patches contained in new tarball or not required
+  0004-virtinst-python3-use-binary-mode-for-kernel.patch
+  27d4b167-virtinst-update-location-for-opensuse.patch
+  5a7698c7-fix-select-network-vol.patch
+  d15b78ab-virtinst-read-CPU-model-from-domain-capabilities.patch
+  fd6a8154-virtinst-compare-host-and-domain-cpu-models.patch
+  5a7698c7-fix-select-network-vol.patch
+  virtcli-python2-to-python3-conversion.patch
+  virtinst-add-ppc64-arch-support.patch
+  virtinst-check-date-format.patch
+  virtinst-fix-sle-distro-parsing.patch
+  virtinst-handle-tumbleweed-treeinfo-file.patch
+  virtinst-nfs-install-sanitize.patch
+  virtinst-no-usb-tablet-for-xenpv.patch
+  virtinst-set-qemu-emulator.patch
+  virtinst-storage-ocfs2.patch
+  virtman-add-connect-default.patch
+  virtman-fix-missing-translations.patch
+  virtman-libvirtd-not-running.patch
+  virtman-packages.patch
+  virtmisc-python2-to-python3-conversion.patch
+
+-------------------------------------------------------------------

Old:
----
  0004-virtinst-python3-use-binary-mode-for-kernel.patch
  27d4b167-virtinst-update-location-for-opensuse.patch
  5a7698c7-fix-select-network-vol.patch
  d15b78ab-virtinst-read-CPU-model-from-domain-capabilities.patch
  fd6a8154-virtinst-compare-host-and-domain-cpu-models.patch
  virt-manager-1.5.1.tar.bz2
  virtcli-python2-to-python3-conversion.patch
  virtinst-add-ppc64-arch-support.patch
  virtinst-check-date-format.patch
  virtinst-fix-sle-distro-parsing.patch
  virtinst-handle-tumbleweed-treeinfo-file.patch
  virtinst-nfs-install-sanitize.patch
  virtinst-no-usb-tablet-for-xenpv.patch
  virtinst-set-qemu-emulator.patch
  virtinst-storage-ocfs2.patch
  virtman-add-connect-default.patch
  virtman-fix-missing-translations.patch
  virtman-libvirtd-not-running.patch
  virtman-packages.patch
  virtmisc-python2-to-python3-conversion.patch

New:
----
  25b88733-urldetect-Dont-overload-suse_content-variable.patch
  9308bae3-util-Fix-typo-vpcu-vcpu.patch
  b8aff280-virtinst-quickfix-ubuntu-net-preseed-insert-cdrom-error.patch
  virt-manager-2.0.0.tar.bz2

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

Other differences:
------------------
++++++ virt-manager.spec ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:15.263689281 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:15.267689277 +0100
@@ -12,22 +12,16 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
 
-%define with_guestfs       0
-%define askpass_package    "openssh-askpass"
-%define qemu_user          "qemu"
-%define libvirt_kvm_packages   ""
-%define libvirt_xen_packages   ""
-%define preferred_distros  "sles15,opensuse15"
-%define kvm_packages       ""
-%define _version           1.5.1
-%define _release           0
+%global __python %{__python3}
+%global with_guestfs               0
+%global default_hvs                "qemu,xen,lxc"
 
 Name:           virt-manager
-Version:        1.5.1
+Version:        2.0.0
 Release:        0
 Summary:        Virtual Machine Manager
 License:        GPL-2.0-or-later
@@ -38,35 +32,28 @@
 Source2:        virt-install.desktop
 Source3:        virt-manager-supportconfig
 # Upstream Patches
-Patch1:         27d4b167-virtinst-update-location-for-opensuse.patch
-Patch2:         d15b78ab-virtinst-read-CPU-model-from-domain-capabilities.patch
-Patch3:         fd6a8154-virtinst-compare-host-and-domain-cpu-models.patch
-Patch4:         5a7698c7-fix-select-network-vol.patch
+Patch1:         
b8aff280-virtinst-quickfix-ubuntu-net-preseed-insert-cdrom-error.patch
+Patch2:         25b88733-urldetect-Dont-overload-suse_content-variable.patch
+Patch3:         9308bae3-util-Fix-typo-vpcu-vcpu.patch
 # SUSE Only
 Patch70:        virtman-desktop.patch
 Patch71:        virtman-kvm.patch
 Patch72:        virtman-keycombo.patch
 Patch73:        virtman-show-suse-install-repos.patch
-Patch74:        virtman-libvirtd-not-running.patch
-Patch75:        virtman-dont-allow-grub.xen-to-be-deleted.patch
-Patch76:        virtinst-pvgrub2-bootloader.patch
-Patch77:        virtinst-nfs-install-sanitize.patch
+Patch74:        virtman-dont-allow-grub.xen-to-be-deleted.patch
+Patch75:        virtinst-pvgrub2-bootloader.patch
 # Features or Enhancements
 Patch101:       virtman-default-guest-from-host-os.patch
 Patch102:       virtman-default-to-xen-pv.patch
-Patch103:       virtman-packages.patch
-Patch104:       virtman-load-stored-uris.patch
-Patch105:       virtman-add-connect-default.patch
-Patch120:       virtinst-storage-ocfs2.patch
-Patch121:       virtinst-default-xen-to-qcow2-format.patch
-Patch122:       virtinst-detect-oes-distros.patch
-Patch123:       virtinst-modify-gui-defaults.patch
-Patch124:       virtinst-vol-default-nocow.patch
-Patch125:       virtinst-set-cache-mode-unsafe-for-install.patch
-Patch126:       virtinst-set-qemu-emulator.patch
-Patch127:       virtinst-add-ppc64-arch-support.patch
-Patch128:       virtinst-s390x-disable-graphics.patch
-Patch129:       virtinst-add-caasp-support.patch
+Patch103:       virtman-load-stored-uris.patch
+Patch120:       virtinst-default-xen-to-qcow2-format.patch
+Patch121:       virtinst-detect-oes-distros.patch
+Patch122:       virtinst-modify-gui-defaults.patch
+Patch123:       virtinst-vol-default-nocow.patch
+Patch124:       virtinst-set-cache-mode-unsafe-for-install.patch
+Patch125:       virtinst-s390x-disable-graphics.patch
+Patch126:       virtinst-add-caasp-support.patch
+Patch127:       virtinst-add-sle15-detection-support.patch
 # Bug Fixes
 Patch150:       virtman-prevent-double-click-starting-vm-twice.patch
 Patch151:       virtman-increase-setKeepAlive-count.patch
@@ -74,32 +61,23 @@
 Patch153:       virtman-check-for-valid-display.patch
 Patch154:       virtman-allow-creating-i686-vm.patch
 Patch155:       virtman-dont-specify-vte-version.patch
-Patch156:       virtman-fix-missing-translations.patch
 Patch160:       virtinst-xen-drive-type.patch
 Patch161:       virtinst-xenbus-disk-index-fix.patch
 Patch162:       virtinst-refresh_before_fetch_pool.patch
 Patch163:       virtinst-use-xenpae-kernel-for-32bit.patch
 Patch164:       virtinst-use-qemu-for-cdrom-device.patch
-Patch165:       virtinst-fix-sle-distro-parsing.patch
-Patch166:       virtinst-check-date-format.patch
-Patch167:       virtinst-no-usb-tablet-for-xenpv.patch
-Patch168:       virtinst-add-sle15-detection-support.patch
-Patch169:       virtinst-keep-install-iso-attached.patch
-Patch170:       virtinst-osdict-get_supported.patch
-Patch171:       virtinst-dont-use-special-copy-cpu-features.patch
-Patch172:       virtinst-use-latest-opensuse-version-when-unknown-media.patch
-Patch173:       virtinst-handle-tumbleweed-treeinfo-file.patch
+Patch165:       virtinst-keep-install-iso-attached.patch
+Patch166:       virtinst-osdict-get_supported.patch
+Patch167:       virtinst-dont-use-special-copy-cpu-features.patch
+Patch168:       virtinst-use-latest-opensuse-version-when-unknown-media.patch
 # Python2 to Python3 patches
-Patch200:       virtmisc-python2-to-python3-conversion.patch
-Patch201:       virtcli-python2-to-python3-conversion.patch
-Patch202:       virtconv-python2-to-python3-conversion.patch
-Patch203:       virtinst-python2-to-python3-conversion.patch
-Patch204:       virtman-python2-to-python3-conversion.patch
-Patch205:       virttests-python2-to-python3-conversion.patch
-Patch206:       0002-virtinst-python3-avoid-comparison-of-None-and-int.patch
-Patch207:       0003-virtinst-python3-avoid-using-long-type.patch
-Patch208:       0004-virtinst-python3-use-binary-mode-for-kernel.patch
-Patch209:       virtman-register-delete-event-for-details-dialog.patch
+Patch200:       virtconv-python2-to-python3-conversion.patch
+Patch201:       virtinst-python2-to-python3-conversion.patch
+Patch202:       virtman-python2-to-python3-conversion.patch
+Patch203:       virttests-python2-to-python3-conversion.patch
+Patch204:       0002-virtinst-python3-avoid-comparison-of-None-and-int.patch
+Patch205:       0003-virtinst-python3-avoid-using-long-type.patch
+Patch206:       virtman-register-delete-event-for-details-dialog.patch
 
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -189,7 +167,6 @@
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
-%patch4 -p1
 # SUSE Only
 %patch70 -p1
 %patch71 -p1
@@ -197,14 +174,10 @@
 %patch73 -p1
 %patch74 -p1
 %patch75 -p1
-%patch76 -p1
-%patch77 -p1
 # Enhancements
 %patch101 -p1
 %patch102 -p1
 %patch103 -p1
-%patch104 -p1
-%patch105 -p1
 %patch120 -p1
 %patch121 -p1
 %patch122 -p1
@@ -213,8 +186,6 @@
 %patch125 -p1
 %patch126 -p1
 %patch127 -p1
-%patch128 -p1
-%patch129 -p1
 # Bug Fixes
 %patch150 -p1
 %patch151 -p1
@@ -222,7 +193,6 @@
 %patch153 -p1
 %patch154 -p1
 %patch155 -p1
-%patch156 -p1
 %patch160 -p1
 %patch161 -p1
 %patch162 -p1
@@ -232,11 +202,6 @@
 %patch166 -p1
 %patch167 -p1
 %patch168 -p1
-%patch169 -p1
-%patch170 -p1
-%patch171 -p1
-%patch172 -p1
-%patch173 -p1
 # Python2 to Python3 patches
 %patch200 -p1
 %patch201 -p1
@@ -245,45 +210,16 @@
 %patch204 -p1
 %patch205 -p1
 %patch206 -p1
-%patch207 -p1
-%patch208 -p1
-%patch209 -p1
 
 %build
-%if %{qemu_user}
-%define _qemu_user --qemu-user=%{qemu_user}
-%endif
-
-%if %{kvm_packages}
-%define _kvm_packages --kvm-package-names=%{kvm_packages}
-%endif
-
-%if %{preferred_distros}
-%define _preferred_distros --preferred-distros=%{preferred_distros}
-%endif
-
-%if %{libvirt_kvm_packages}
-%define _libvirt_kvm_packages 
--libvirt-kvm-package-names=%{libvirt_kvm_packages}
-%endif
-
-%if %{libvirt_xen_packages}
-%define _libvirt_xen_packages 
--libvirt-xen-package-names=%{libvirt_xen_packages}
-%endif
-
-%if %{askpass_package}
-%define _askpass_package --askpass-package-names=%{askpass_package}
+%if %{default_hvs}
+%global _default_hvs --default-hvs %{default_hvs}
 %endif
 
 python3 setup.py configure \
     --prefix=%{_prefix} \
     --default-graphics="spice" \
-    %{?_qemu_user} \
-    %{?_kvm_packages} \
-    %{?_libvirt_kvm_packages} \
-    %{?_libvirt_xen_packages} \
-    %{?_askpass_package} \
-    %{?_preferred_distros} \
-    %{?_default_graphics}
+    %{?_default_hvs}
 
 %install
 python3 setup.py \
@@ -338,7 +274,6 @@
 %{_datadir}/applications/%{name}.desktop
 %{_datadir}/applications/YaST2/virt-install.desktop
 %{_datadir}/glib-2.0/schemas/org.virt-manager.virt-manager.gschema.xml
-%{_datadir}/GConf/gsettings/org.virt-manager.virt-manager.convert
 %dir /usr/lib/supportconfig
 %dir /usr/lib/supportconfig/plugins
 /usr/lib/supportconfig/plugins/virt_manager
@@ -365,8 +300,6 @@
 %dir %{_datadir}/YaST2
 %dir %{_datadir}/YaST2/clients
 %dir %{_datadir}/applications/YaST2
-%dir %{_datadir}/GConf
-%dir %{_datadir}/GConf/gsettings
 %dir %{_datadir}/appdata
 %{_datadir}/YaST2/clients/virt-install.rb
 

++++++ 0002-virtinst-python3-avoid-comparison-of-None-and-int.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:15.331689198 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:15.331689198 +0100
@@ -14,11 +14,11 @@
  virtinst/progress.py | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/virtinst/progress.py b/virtinst/progress.py
-index e07591a14fa0..eef3f7613506 100644
---- a/virtinst/progress.py
-+++ b/virtinst/progress.py
-@@ -339,7 +339,7 @@ class RateEstimator:
+Index: virt-manager-2.0.0/virtinst/progress.py
+===================================================================
+--- virt-manager-2.0.0.orig/virtinst/progress.py
++++ virt-manager-2.0.0/virtinst/progress.py
+@@ -321,7 +321,7 @@ class RateEstimator:
          self.start_time = now
          self.last_update_time = now
          self.last_amount_read = 0
@@ -27,7 +27,7 @@
  
      def update(self, amount_read, now=None):
          if now is None: now = time.time()
-@@ -351,7 +351,7 @@ class RateEstimator:
+@@ -333,7 +333,7 @@ class RateEstimator:
              # if we just started this file, all bets are off
              self.last_update_time = now
              self.last_amount_read = amount_read
@@ -36,6 +36,3 @@
              return
  
          #print 'times', now, self.last_update_time
--- 
-2.15.1
-

++++++ 0003-virtinst-python3-avoid-using-long-type.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:15.339689188 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:15.343689184 +0100
@@ -12,27 +12,24 @@
  virtinst/progress.py | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
-diff --git a/virtinst/progress.py b/virtinst/progress.py
-index eef3f7613506..bea4fad98938 100644
---- a/virtinst/progress.py
-+++ b/virtinst/progress.py
-@@ -30,6 +30,7 @@ import math
+Index: virt-manager-2.0.0/virtinst/progress.py
+===================================================================
+--- virt-manager-2.0.0.orig/virtinst/progress.py
++++ virt-manager-2.0.0/virtinst/progress.py
+@@ -16,6 +16,7 @@ import math
  import fcntl
  import struct
  import termios
 +from six import integer_types
  
- # Code from http://mail.python.org/pipermail/python-list/2000-May/033365.html
+ # Code from https://mail.python.org/pipermail/python-list/2000-May/033365.html
  def terminal_width(fd=1):
-@@ -481,7 +482,7 @@ def format_number(number, SI=0, space=' '):
+@@ -464,7 +465,7 @@ def format_number(number, SI=0, space='
          depth  = depth + 1
          number = number / step
  
--    if isinstance(number, int) or isinstance(number, int):
+-    if isinstance(number, int):
 +    if isinstance(number, integer_types):
          # it's an int or a long, which means it didn't get divided,
          # which means it's already short enough
          fmt = '%i%s%s'
--- 
-2.15.1
-

++++++ 25b88733-urldetect-Dont-overload-suse_content-variable.patch ++++++
Subject: urldetect: Don't overload suse_content variable
From: Cole Robinson crobi...@redhat.com Thu Oct 18 17:16:14 2018 -0400
Date: Thu Oct 18 17:16:14 2018 -0400:
Git: 25b8873340cd7523a74babbd5b6c0f5c66935a05

Use an explicit check_for_suse_content variable rather than
stuffing -1 into suse_content

diff --git a/virtinst/urldetect.py b/virtinst/urldetect.py
index 4196b10..455ae00 100644
--- a/virtinst/urldetect.py
+++ b/virtinst/urldetect.py
@@ -28,6 +28,7 @@ class _DistroCache(object):
         self.treeinfo_name = None
 
         self.suse_content = None
+        self.checked_for_suse_content = False
         self.debian_media_type = None
 
     def acquire_file_content(self, path):
@@ -493,8 +494,8 @@ class SuseDistro(Distro):
         if cache.treeinfo_family_regex(cls.famregex):
             return True
 
-        if not cache.suse_content:
-            cache.suse_content = -1
+        if not cache.checked_for_suse_content:
+            cache.checked_for_suse_content = True
             content_str = cache.acquire_file_content("content")
             if content_str is None:
                 return False
@@ -505,7 +506,7 @@ class SuseDistro(Distro):
                 logging.debug("Error parsing SUSE content file: %s", str(e))
                 return False
 
-        if cache.suse_content == -1:
+        if not cache.suse_content:
             return False
         for regex in cls._suse_regex:
             if re.match(regex, cache.suse_content.product_name):
@@ -515,7 +516,7 @@ class SuseDistro(Distro):
     def __init__(self, *args, **kwargs):
         Distro.__init__(self, *args, **kwargs)
 
-        if not self.cache.suse_content or self.cache.suse_content == -1:
+        if not self.cache.suse_content:
             # This means we matched on treeinfo
             self._kernel_paths = self.cache.get_treeinfo_media(self.type)
             return
++++++ 9308bae3-util-Fix-typo-vpcu-vcpu.patch ++++++
Subject: util: Fix typo vpcu -> vcpu
From: Martin Kletzander mklet...@redhat.com Mon Oct 22 14:46:03 2018 +0100
Date: Mon Oct 22 15:05:30 2018 +0100:
Git: 9308bae310ff7889876d8c9d6f0187356e0fa2ce

Signed-off-by: Martin Kletzander <mklet...@redhat.com>

diff --git a/man/virt-install.pod b/man/virt-install.pod
index 8cd56fe..062c785 100644
--- a/man/virt-install.pod
+++ b/man/virt-install.pod
@@ -262,7 +262,7 @@ Tune CPU parameters for the guest.
 
 Configure which of the host's physical CPUs the domain VCPU will be pinned to. 
Example invocation
 
-    --cputune 
vpcupin0.vcpu=0,vpcupin0.cpuset=0-3,vpcupin1.vcpu=1,vpcupin1.cpuset=4-7
+    --cputune 
vcpupin0.vcpu=0,vcpupin0.cpuset=0-3,vcpupin1.vcpu=1,vcpupin1.cpuset=4-7
 
 Use --cputune=? to see a list of all available sub options. Complete details 
at L<https://libvirt.org/formatdomain.html#elementsCPUTuning>
 
++++++ b8aff280-virtinst-quickfix-ubuntu-net-preseed-insert-cdrom-error.patch 
++++++
Subject: virtinst: quickfix ubuntu net-preseed insert cdrom error
From: Johannes Tiefenbacher johannes.tiefenbac...@svc.co.at Tue Oct 9 15:52:23 
2018 +0200
Date: Thu Oct 18 13:21:41 2018 -0400:
Git: b8aff28087d593f570b13aabe337b659bc260ae3

the proper kernel/initrd pair for booting from an http server is found in 
install/netboot/... on a mounted ubuntu iso.
this last worked in v1.4.2

Discussion: https://github.com/virt-manager/virt-manager/pull/34

(crobinso: add the fetcher.is_iso handling and add a comment)

diff --git a/virtinst/urldetect.py b/virtinst/urldetect.py
index 5da15d0..4196b10 100644
--- a/virtinst/urldetect.py
+++ b/virtinst/urldetect.py
@@ -30,7 +30,6 @@ class _DistroCache(object):
         self.suse_content = None
         self.debian_media_type = None
 
-
     def acquire_file_content(self, path):
         if path not in self._filecache:
             try:
@@ -133,6 +132,9 @@ class _DistroCache(object):
                 verstr, version, update)
         return version, update
 
+    def fetcher_is_iso(self):
+        return self._fetcher.is_iso()
+
 
 class _SUSEContent(object):
     """
@@ -664,7 +666,16 @@ class DebianDistro(Distro):
             media_type = "daily"
         elif cache.content_regex(".disk/info",
                 "%s.*" % cls._debname.capitalize()):
-            media_type = "disk"
+            # There's two cases here:
+            # 1) Direct access ISO, attached as CDROM afterwards. We
+            #    use one set of kernels in that case which seem to
+            #    assume the prescence of CDROM media
+            # 2) ISO mounted and exported over URL. We use a different
+            #    set of kernels that expect to boot from the network
+            if cache.fetcher_is_iso():
+                media_type = "disk"
+            else:
+                media_type = "mounted_iso_url"
 
         if media_type:
             cache.debian_media_type = media_type
@@ -710,6 +721,8 @@ class DebianDistro(Distro):
         url_prefix = "current/images"
         if self.cache.debian_media_type == "daily":
             url_prefix = "daily"
+        elif self.cache.debian_media_type == "mounted_iso_url":
+            url_prefix = "install"
 
         tree_arch = self._find_treearch()
         hvmroot = "%s/netboot/%s-installer/%s/" % (url_prefix,
diff --git a/virtinst/urlfetcher.py b/virtinst/urlfetcher.py
index 56c024a..e18fe98 100644
--- a/virtinst/urlfetcher.py
+++ b/virtinst/urlfetcher.py
@@ -26,6 +26,7 @@ class _URLFetcher(object):
     a media source, such as CD ISO, or HTTP/HTTPS/FTP server
     """
     _block_size = 16384
+    _is_iso = False
 
     def __init__(self, location, scratchdir, meter):
         self.location = location
@@ -101,6 +102,12 @@ class _URLFetcher(object):
     # Public API #
     ##############
 
+    def is_iso(self):
+        """
+        If this is a fetcher for local CDROM/ISO
+        """
+        return self._is_iso
+
     def prepareLocation(self):
         """
         Perform any necessary setup
@@ -288,6 +295,7 @@ class _LocalURLFetcher(_URLFetcher):
 
 class _ISOURLFetcher(_URLFetcher):
     _cache_file_list = None
+    _is_iso = True
 
     def _make_full_url(self, filename):
         return "/" + filename
++++++ virt-manager-1.5.1.tar.bz2 -> virt-manager-2.0.0.tar.bz2 ++++++
++++ 460172 lines of diff (skipped)

++++++ virtconv-python2-to-python3-conversion.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:18.815684942 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:18.819684936 +0100
@@ -1,18 +1,8 @@
-Index: virt-manager-1.4.3/virt-convert
+Index: virt-manager-2.0.0/virtconv/vmx.py
 ===================================================================
---- virt-manager-1.4.3.orig/virt-convert
-+++ virt-manager-1.4.3/virt-convert
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2
-+#!/usr/bin/python3
- #
- # Copyright 2008, 2013, 2014  Red Hat, Inc.
- # Joey Boggs <jbo...@redhat.com>
-Index: virt-manager-1.4.3/virtconv/vmx.py
-===================================================================
---- virt-manager-1.4.3.orig/virtconv/vmx.py
-+++ virt-manager-1.4.3/virtconv/vmx.py
-@@ -271,7 +271,7 @@ class vmx_parser(parser_class):
+--- virt-manager-2.0.0.orig/virtconv/vmx.py
++++ virt-manager-2.0.0/virtconv/vmx.py
+@@ -259,7 +259,7 @@ class vmx_parser(parser_class):
  
          def _find_keys(prefixes):
              ret = []
@@ -21,29 +11,3 @@
                  for p in util.listify(prefixes):
                      if key.startswith(p):
                          ret.append((key, value))
-Index: virt-manager-1.4.3/virtconv/ovf.py
-===================================================================
---- virt-manager-1.4.3.orig/virtconv/ovf.py
-+++ virt-manager-1.4.3/virtconv/ovf.py
-@@ -90,7 +90,7 @@ def node_list(node):
-     child = node.children
-     while child:
-         child_list.append(child)
--        child = child.next
-+        child = child.__next__
-     return child_list
- 
- 
-Index: virt-manager-1.4.3/virtconv/formats.py
-===================================================================
---- virt-manager-1.4.3.orig/virtconv/formats.py
-+++ virt-manager-1.4.3/virtconv/formats.py
-@@ -19,7 +19,7 @@
- # MA 02110-1301 USA.
- #
- 
--from __future__ import print_function
-+
- 
- from distutils.spawn import find_executable
- import logging

++++++ virtinst-add-caasp-support.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:19.023684687 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:19.039684668 +0100
@@ -1,40 +1,43 @@
 References: bsc#1010060
 
-Index: virt-manager-1.5.1/virtinst/urlfetcher.py
+Index: virt-manager-2.0.0/virtinst/urldetect.py
 ===================================================================
---- virt-manager-1.5.1.orig/virtinst/urlfetcher.py
-+++ virt-manager-1.5.1/virtinst/urlfetcher.py
-@@ -490,6 +490,12 @@ def _distroFromSUSEContent(fetcher, arch
-             dclass = OESDistro
-             if distro_version is None:
-                 distro_version = _parse_sle_distribution(distribution)
-+        elif re.match(".*SUSE Container as a Service Platform*", 
distribution[1]) or \
-+             re.match(".*SUSE CaaS Platform*", distribution[1]):
-+            dclass = CAASPDistro
-+            if distro_version is None:
-+                dparts = distribution[1].strip().rsplit(' ')
-+                distro_version = ['VERSION', dparts[len(dparts)-1]]
-         elif re.match(".*openSUSE.*", distribution[1]):
-             dclass = OpensuseDistro
-             if distro_version is None:
-@@ -1076,6 +1082,8 @@ class SuseDistro(Distro):
-                 self.os_variant += major_version + 'sp' + sp_version
-             else:
-                 self.os_variant += major_version
-+        elif self.os_variant.startswith("caasp"):
-+            self.os_variant = "caasp" + distro_version
-         else:
-             self.os_variant += "9"
- 
-@@ -1122,6 +1130,11 @@ class SLESDistro(SuseDistro):
- class SLEDDistro(SuseDistro):
-     urldistro = "sled"
+--- virt-manager-2.0.0.orig/virtinst/urldetect.py
++++ virt-manager-2.0.0/virtinst/urldetect.py
+@@ -238,6 +238,12 @@ class _SUSEContent(object):
+                         self.product_name.strip().rsplit(' ')[5][2])
+             distro_version = sle_version
  
++        # SUSE Container as a Service Platform
++        if "Container" in self.product_name:
++            distro_version = self.product_name.strip().rsplit(' ')[6]
++        elif "CaaS" in self.product_name:
++            distro_version = self.product_name.strip().rsplit(' ')[3]
 +
+         return distro_version
+ 
+ 
+@@ -570,6 +576,9 @@ class SuseDistro(Distro):
+             # Tumbleweed 8 digit date
+             return "opensusetumbleweed"
+ 
++        if self._variant_prefix.startswith(("caasp")):
++            return self._variant_prefix + distro_version
++
+         if int(version) < 10:
+             return self._variant_prefix + "9"
+ 
+@@ -645,6 +654,13 @@ class OpensuseDistro(SuseDistro):
+     famregex = ".*openSUSE.*"
+ 
+ 
 +class CAASPDistro(SuseDistro):
-+    urldistro = "caasp"
++    PRETTY_NAME = "SLES"
++    _variant_prefix = "caasp"
++    _suse_regex = [".*SUSE Container as a Service Platform*", ".*SUSE CaaS 
Platform*"]
++    famregex = ".*SUSE Container as a Service Platform.*"
 +
 +
  class OESDistro(SuseDistro):
-     urldistro = "oes"
- 
+     PRETTY_NAME = "OES"
+     _variant_prefix = "oes"

++++++ virtinst-add-sle15-detection-support.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:19.199684472 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:19.223684442 +0100
@@ -1,143 +1,43 @@
 References: bsc#1054986
-With SLE15 and openSUSE 15 the content file has been removed from the media.
-This file was used for SUSE distro version and arch detection. Now detection
-must be done by parsing the .treeinfo file.
-We must continue to keep the content parsing code for the older distros.
-As a fallback, detection is also setup to look at the media.1/products and
-media.1/build files.
 
-Index: virt-manager-1.5.1/virtinst/urlfetcher.py
+Index: virt-manager-2.0.0/virtinst/urldetect.py
 ===================================================================
---- virt-manager-1.5.1.orig/virtinst/urlfetcher.py
-+++ virt-manager-1.5.1/virtinst/urlfetcher.py
-@@ -416,7 +416,23 @@ def _distroFromSUSEContent(fetcher, arch
-     try:
-         cbuf = fetcher.acquireFileContent("content")
-     except ValueError:
--        return None
-+        try:
-+            # If no content file, try media.1/products and media.1/build and 
create
-+            # a cbuf with enough info for the content file parsing code below 
to work
-+            pbuf = fetcher.acquireFileContent("media.1/products").strip()
-+            pbuf = pbuf.split(' ', 1)[1].strip()
-+            # The media.1/products file naming convention changed between 
SLE11 and SLE12
-+            if pbuf.startswith('SLE'):
-+                pbuf = pbuf.split(' ')[0]
-+                pbuf = " ".join(re.split('(\d+)', pbuf, 1))
-+            cbuf = "\nDISTRO ," + pbuf.replace('-', ' ')
-+            try:
-+                bbuf = fetcher.acquireFileContent("media.1/build").split('-')
-+            except:
-+                bbuf = ["x86_64"]
-+            cbuf = cbuf + "\n" + " ".join(bbuf)
-+        except ValueError:
-+            return None
- 
-     distribution = None
-     distro_version = None
-@@ -489,7 +505,7 @@ def _distroFromSUSEContent(fetcher, arch
-     dclass = GenericDistro
-     if distribution:
-         if re.match(".*SUSE Linux Enterprise Server*", distribution[1]) or \
--                re.match(".*SUSE SLES*", distribution[1]):
-+           re.match(".*SUSE SLES*", distribution[1]) or re.match("SLES*", 
distribution[1]):
-             dclass = SLESDistro
-             if distro_version is None:
-                 distro_version = _parse_sle_distribution(distribution)
-@@ -507,10 +523,13 @@ def _distroFromSUSEContent(fetcher, arch
-             if distro_version is None:
-                 dparts = distribution[1].strip().rsplit(' ')
-                 distro_version = ['VERSION', dparts[len(dparts)-1]]
--        elif re.match(".*openSUSE.*", distribution[1]):
-+        elif re.match(".*openSUSE.*", distribution[1]) or re.match("openSUSE 
*", distribution[1]):
-             dclass = OpensuseDistro
-             if distro_version is None:
--                distro_version = ['VERSION', 
distribution[0].strip().rsplit(':')[4]]
-+                if ':' in distribution[0]:
-+                    distro_version = ['VERSION', 
distribution[0].strip().rsplit(':')[4]]
+--- virt-manager-2.0.0.orig/virtinst/urldetect.py
++++ virt-manager-2.0.0/virtinst/urldetect.py
+@@ -606,6 +606,10 @@ class SuseDistro(Distro):
+         if re.search("openSUSE Tumbleweed", self.cache.treeinfo_name):
+             return "opensusetumbleweed"
+ 
++        sp_version = False
++        if ' SP' in self.cache.treeinfo_version:
++            sp_version = True
++            self.cache.treeinfo_version = 
self.cache.treeinfo_version.replace(' SP', '.')
+         version, update = self.cache.split_version()
+         base = self._variant_prefix + str(version)
+         while update >= 0:
+@@ -613,7 +617,10 @@ class SuseDistro(Distro):
+             # SLE doesn't use '.0' for initial releases in
+             # osinfo-db (sles11, sles12, etc)
+             if update > 0 or not base.startswith('sle'):
+-                tryvar += ".%s" % update
++                if sp_version:
++                    tryvar += "sp%s" % update
 +                else:
-+                    distro_version = ['VERSION', 
distribution[1].strip().rsplit(' ')[2]]
- 
-     if distro_version is None:
-         return None
-@@ -1029,6 +1048,7 @@ class SLDistro(RHELDistro):
- 
- class SuseDistro(Distro):
-     name = "SUSE"
-+    uses_treeinfo = True
- 
-     _boot_iso_paths   = ["boot/boot.iso"]
- 
-@@ -1066,8 +1086,11 @@ class SuseDistro(Distro):
-                 self._xen_kernel_paths = [("boot/%s/vmlinuz-xenpae" % 
self.arch,
-                                             "boot/%s/initrd-xenpae" % 
self.arch)]
-             else:
--                self._xen_kernel_paths = [("boot/%s/vmlinuz-xen" % self.arch,
--                                            "boot/%s/initrd-xen" % self.arch)]
-+                self._xen_kernel_paths = [("boot/%s/loader/linux" % self.arch,
-+                                                  "boot/%s/loader/initrd" % 
self.arch)]
-+                # By appending this gets searched for first
-+                self._xen_kernel_paths.append(("boot/%s/vmlinuz-xen" % 
self.arch,
-+                                            "boot/%s/initrd-xen" % self.arch))
- 
-     def _variantFromVersion(self):
-         distro_version = self.version_from_content[1].strip()
-@@ -1075,11 +1098,11 @@ class SuseDistro(Distro):
-         self.os_variant = self.urldistro
- 
-         sp_version = None
--        if self.os_variant.startswith(("sles", "sled")):
-+        if self.os_variant.startswith(("sle")):
-             if len(distro_version.split('.', 1)) == 2:
-                 sp_version = 'sp' + distro_version.split('.', 1)[1].strip()
-             self.os_variant += version
--            if sp_version:
-+            if sp_version and sp_version != 'sp0':
-                 self.os_variant += sp_version
-         elif self.os_variant.startswith("opensuse"):
-             if len(version) == 8:
-@@ -1103,6 +1126,24 @@ class SuseDistro(Distro):
-             self.os_variant += "9"
- 
-     def isValidStore(self):
-+        if self.treeinfo:
-+            ret = False
-+            if self.urldistro:
-+                family = self.treeinfo.get("general", "family")
-+                if "SUSE Linux Enterprise Server" in family and 'sles' in 
self.urldistro or \
-+                   "SUSE Linux Enterprise Desktop" in family and 'sled' in 
self.urldistro or \
-+                   "SUSE Linux Enterprise" in family and 'sle' in 
self.urldistro or \
-+                   "SUSE Containers" in family and 'caasp' in self.urldistro 
or \
-+                   "openSUSE" in family and 'opensuse' in self.urldistro or \
-+                   "Open Enterprise" in family and 'oes' in self.urldistro:
-+                    ret = True
-+            if ret:
-+                version = self.treeinfo.get("general", "version")
-+                distro_version = ['VERSION', version]
-+                self.version_from_content = distro_version
-+                self._variantFromVersion()
-+            return ret
-+
-         # self.version_from_content is the VERSION line from the contents file
-         if (not self.version_from_content or
-             self.version_from_content[1] is None):
-@@ -1138,6 +1179,10 @@ class SuseDistro(Distro):
-         return self.os_variant
++                    tryvar += ".%s" % update
+             if OSDB.lookup_os(tryvar):
+                 return tryvar
+             update -= 1
+@@ -630,6 +637,13 @@ class SuseDistro(Distro):
+         return "install"
  
  
 +class SLEDistro(SuseDistro):
-+    urldistro = "sle"
++    PRETTY_NAME = "SLE"
++    _variant_prefix = "sle"
++    _suse_regex = ["SUSE Linux Enterprise$"]
++    famregex = "SUSE Linux Enterprise$"
 +
 +
  class SLESDistro(SuseDistro):
-     urldistro = "sles"
- 
-@@ -1154,8 +1199,6 @@ class OESDistro(SuseDistro):
-     urldistro = "oes"
- 
- 
--# Suse  image store is harder - we fetch the kernel RPM and a helper
--# RPM and then munge bits together to generate a initrd
- class OpensuseDistro(SuseDistro):
-     urldistro = "opensuse"
- 
+     PRETTY_NAME = "SLES"
+     matching_distros = ["sles"]

++++++ virtinst-default-xen-to-qcow2-format.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:19.423684199 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:19.443684174 +0100
@@ -1,15 +1,15 @@
 Reference: bnc#885380
 Allow Xen based VMs to default to using qcow2
-Index: virt-manager-1.4.3/virtinst/support.py
+Index: virt-manager-2.0.0/virtinst/support.py
 ===================================================================
---- virt-manager-1.4.3.orig/virtinst/support.py
-+++ virt-manager-1.4.3/virtinst/support.py
-@@ -259,7 +259,7 @@ SUPPORT_CONN_DISK_SD = _make(version="1.
+--- virt-manager-2.0.0.orig/virtinst/support.py
++++ virt-manager-2.0.0/virtinst/support.py
+@@ -233,7 +233,7 @@ SUPPORT_CONN_WORKING_XEN_EVENTS = _make(
+ # This is an arbitrary check to say whether it's a good idea to
  # default to qcow2. It might be fine for xen or qemu older than the versions
  # here, but until someone tests things I'm going to be a bit conservative.
- SUPPORT_CONN_DEFAULT_QCOW2 = _make(
--    version="0.8.0", hv_version={"qemu": "1.2.0", "test": 0})
-+    version="0.8.0", hv_version={"qemu": "1.2.0", "all": 0})
- SUPPORT_CONN_DEFAULT_USB2 = _make(
-     version="0.9.7", hv_version={"qemu": "1.0.0", "test": 0})
- SUPPORT_CONN_CAN_ACPI = _make(hv_version={"xen": "3.1.0", "all": 0})
+-SUPPORT_CONN_DEFAULT_QCOW2 = _make(hv_version={"qemu": "1.2.0", "test": 0})
++SUPPORT_CONN_DEFAULT_QCOW2 = _make(hv_version={"qemu": "1.2.0", "all": 0})
+ SUPPORT_CONN_AUTOSOCKET = _make(hv_libvirt_version={"qemu": "1.0.6"})
+ SUPPORT_CONN_PM_DISABLE = _make(hv_version={"qemu": "1.2.0", "test": 0})
+ SUPPORT_CONN_QCOW2_LAZY_REFCOUNTS = _make(

++++++ virtinst-detect-oes-distros.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:19.659683910 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:19.699683861 +0100
@@ -1,71 +1,29 @@
 Enhancement to correctly detect Open Enterprise Server media is
 selected as the installation source.
-Index: virt-manager-1.5.0/virtinst/urlfetcher.py
+Index: virt-manager-2.0.0/virtinst/urldetect.py
 ===================================================================
---- virt-manager-1.5.0.orig/virtinst/urlfetcher.py
-+++ virt-manager-1.5.0/virtinst/urlfetcher.py
-@@ -482,6 +482,10 @@ def _distroFromSUSEContent(fetcher, arch
-             dclass = SLEDDistro
-             if distro_version is None:
-                 distro_version = _parse_sle_distribution(distribution)
-+        elif re.match(".*Open Enterprise Server*", distribution[1]):
-+            dclass = OESDistro
-+            if distro_version is None:
-+                distro_version = _parse_sle_distribution(distribution)
-         elif re.match(".*openSUSE.*", distribution[1]):
-             dclass = OpensuseDistro
-             if distro_version is None:
-@@ -1042,20 +1046,30 @@ class SuseDistro(Distro):
-         distro_version = self.version_from_content[1].strip()
-         version = distro_version.split('.', 1)[0].strip()
-         self.os_variant = self.urldistro
--        if int(version) >= 10:
--            if self.os_variant.startswith(("sles", "sled")):
--                sp_version = None
--                if len(distro_version.split('.', 1)) == 2:
--                    sp_version = 'sp' + distro_version.split('.', 
1)[1].strip()
--                self.os_variant += version
--                if sp_version:
--                    self.os_variant += sp_version
-+
-+        sp_version = None
-+        if self.os_variant.startswith(("sles", "sled")):
-+            if len(distro_version.split('.', 1)) == 2:
-+                sp_version = 'sp' + distro_version.split('.', 1)[1].strip()
-+            self.os_variant += version
-+            if sp_version:
-+                self.os_variant += sp_version
-+        elif self.os_variant.startswith("opensuse"):
-+            if len(version) == 8:
-+                self.os_variant += "tumbleweed"
-             else:
--                # Tumbleweed 8 digit date
--                if len(version) == 8:
--                    self.os_variant += "tumbleweed"
--                else:
--                    self.os_variant += distro_version
-+                self.os_variant += distro_version
-+        elif self.os_variant.startswith("oes"):
-+            versions = distro_version.split('.')
-+            major_version = versions[0]
-+            if len(versions) == 3:
-+                sp_version = versions[2]
-+            elif len(versions) == 2:
-+                sp_version = versions[1]
-+            if sp_version:
-+                self.os_variant += major_version + 'sp' + sp_version
-+            else:
-+                self.os_variant += major_version
-         else:
-             self.os_variant += "9"
+--- virt-manager-2.0.0.orig/virtinst/urldetect.py
++++ virt-manager-2.0.0/virtinst/urldetect.py
+@@ -573,7 +573,7 @@ class SuseDistro(Distro):
+         if int(version) < 10:
+             return self._variant_prefix + "9"
+ 
+-        if str(self._variant_prefix).startswith(("sles", "sled")):
++        if str(self._variant_prefix).startswith(("sles", "sled", "oes")):
+             sp_version = ""
+             if len(distro_version.split('.', 1)) == 2:
+                 sp_version = 'sp' + distro_version.split('.', 1)[1].strip()
+@@ -645,6 +645,13 @@ class OpensuseDistro(SuseDistro):
+     famregex = ".*openSUSE.*"
  
-@@ -1102,6 +1116,9 @@ class SLESDistro(SuseDistro):
- class SLEDDistro(SuseDistro):
-     urldistro = "sled"
  
 +class OESDistro(SuseDistro):
-+    urldistro = "oes"
++    PRETTY_NAME = "OES"
++    _variant_prefix = "oes"
++    _suse_regex = [".*Open Enterprise Server*"]
++    famregex = ".*Open Enterprise Server.*"
 +
- 
- # Suse  image store is harder - we fetch the kernel RPM and a helper
- # RPM and then munge bits together to generate a initrd
++
+ class DebianDistro(Distro):
+     # ex. http://ftp.egr.msu.edu/debian/dists/sarge/main/installer-i386/
+     # daily builds: https://d-i.debian.org/daily-images/amd64/

++++++ virtinst-dont-use-special-copy-cpu-features.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:19.895683621 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:19.911683602 +0100
@@ -12,13 +12,13 @@
 and "CPUs" -> "Copy host CPU definition" also inserts 'host-model' so
 this change mirrors what is already done there.
 
-Index: virt-manager-1.5.0/virtinst/cpu.py
+Index: virt-manager-2.0.0/virtinst/domain/cpu.py
 ===================================================================
---- virt-manager-1.5.0.orig/virtinst/cpu.py
-+++ virt-manager-1.5.0/virtinst/cpu.py
-@@ -98,12 +98,16 @@ class CPU(XMLBuilder):
-                      SPECIAL_MODE_HOST_PASSTHROUGH, SPECIAL_MODE_CLEAR]
-     def set_special_mode(self, val):
+--- virt-manager-2.0.0.orig/virtinst/domain/cpu.py
++++ virt-manager-2.0.0/virtinst/domain/cpu.py
+@@ -88,12 +88,16 @@ class DomainCpu(XMLBuilder):
+                 val = self.SPECIAL_MODE_HOST_MODEL
+ 
          if (val == self.SPECIAL_MODE_HOST_MODEL or
 -            val == self.SPECIAL_MODE_HOST_PASSTHROUGH):
 +            val == self.SPECIAL_MODE_HOST_PASSTHROUGH or
@@ -27,10 +27,10 @@
              self.vendor = None
              self.model_fallback = None
              for f in self.features:
-                 self.remove_feature(f)
+                 self.remove_child(f)
 +            if val == self.SPECIAL_MODE_HOST_COPY:
 +                val = self.SPECIAL_MODE_HOST_MODEL
 +                self.match = "exact"
              self.mode = val
          elif val == self.SPECIAL_MODE_HOST_COPY:
-             self.copy_host_cpu()
+             self.copy_host_cpu(guest)

++++++ virtinst-keep-install-iso-attached.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:20.055683426 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:20.075683402 +0100
@@ -2,17 +2,17 @@
 Newer SLE PV guests hang when a cdrom device is attached without
 an ISO file.
 
-Index: virt-manager-1.4.3/virtinst/guest.py
+Index: virt-manager-2.0.0/virtinst/installer.py
 ===================================================================
---- virt-manager-1.4.3.orig/virtinst/guest.py
-+++ virt-manager-1.4.3/virtinst/guest.py
-@@ -805,7 +805,8 @@ class Guest(XMLBuilder):
-             # install.
-             if (dev.is_cdrom() and
-                 getattr(dev, "installer_media", False) and
--                not self._os_object.is_windows()):
-+                not self._os_object.is_windows() and
-+                not self.os_variant.startswith(("sles", "sled", "opensuse"))):
-                 dev.path = None
- 
-     def _set_defaults(self):
+--- virt-manager-2.0.0.orig/virtinst/installer.py
++++ virt-manager-2.0.0/virtinst/installer.py
+@@ -103,7 +103,8 @@ class Installer(object):
+             return
+         if self.livecd:
+             return
+-        if guest.osinfo.is_windows():
++        if (guest.osinfo.is_windows() or
++            guest.osinfo.name.startswith(("sles", "sled", "opensuse"))):
+             # Keep media attached for windows which has a multi stage install
+             return
+         self._install_cdrom_device.path = None

++++++ virtinst-modify-gui-defaults.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:20.235683206 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:20.247683191 +0100
@@ -1,11 +1,11 @@
 Enhancement for the following GUI wizard installation option.
 1) If Xen, leave 'Architecture options' expanded so users know PV
 is the default
-Index: virt-manager-1.4.2/virtManager/create.py
+Index: virt-manager-2.0.0/virtManager/create.py
 ===================================================================
---- virt-manager-1.4.2.orig/virtManager/create.py
-+++ virt-manager-1.4.2/virtManager/create.py
-@@ -397,8 +397,20 @@ class vmmCreate(vmmGObjectUI):
+--- virt-manager-2.0.0.orig/virtManager/create.py
++++ virt-manager-2.0.0/virtManager/create.py
+@@ -346,8 +346,20 @@ class vmmCreate(vmmGObjectUI):
          self.widget("method-local").set_active(True)
          self.widget("create-conn").set_active(-1)
          activeconn = self._populate_conn_list(urihint)

++++++ virtinst-osdict-get_supported.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:20.411682991 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:20.427682971 +0100
@@ -3,20 +3,16 @@
 date in the osinfo-db file may be past but we want the distro to
 continue to show up in the list.
 
-Index: virt-manager-1.5.1/virtinst/osdict.py
+Index: virt-manager-2.0.0/virtinst/osdict.py
 ===================================================================
---- virt-manager-1.5.1.orig/virtinst/osdict.py
-+++ virt-manager-1.5.1/virtinst/osdict.py
-@@ -376,8 +376,11 @@ class _OsVariant(object):
-         # EOL date. So assume None == EOL, add some manual work arounds.
-         # We should fix this in a new libosinfo version, and then drop
-         # this hack
-+        # SUSE: How to handle EOL distros that still have LTSS support
-         if self._is_related_to(["fedora24", "rhel7.0", "debian6",
--            "ubuntu13.04", "win8", "win2k12", "mageia5", "centos7.0"],
-+            "ubuntu13.04", "win8", "win2k12", "mageia5", "centos7.0",
-+            "sle15", "sles12sp3", "sles12sp2", "sles12sp1", "sles11sp4",
-+            "tumbleweed", "opensuse15", "opensuse42.3" ],
-             check_clones=False, check_derives=False):
-             return True
+--- virt-manager-2.0.0.orig/virtinst/osdict.py
++++ virt-manager-2.0.0/virtinst/osdict.py
+@@ -337,7 +337,7 @@ class _OsVariant(object):
+ 
+         # If no EOL is present, assume EOL if release was > 5 years ago
+         if rel is not None:
+-            rel5 = _glib_to_datetime(rel) + datetime.timedelta(days=365 * 5)
++            rel5 = _glib_to_datetime(rel) + datetime.timedelta(days=365 * 10)
+             return now > rel5
          return False
+ 

++++++ virtinst-pvgrub2-bootloader.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:20.583682781 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:20.607682752 +0100
@@ -1,53 +1,29 @@
 Reference: bnc#863821
 grub.xen is required to boot PV VMs that use the BTRFS filesystem.
 This patch forces the use of grub.xen (instead of using pygrub) for
-newer suse distros like SLE12 and openSUSE 13.2.
-Index: virt-manager-1.4.3/virtinst/guest.py
+suse distros SLE12GA, openSUSE 13.2, and newer.
+Index: virt-manager-2.0.0/virtinst/installer.py
 ===================================================================
---- virt-manager-1.4.3.orig/virtinst/guest.py
-+++ virt-manager-1.4.3/virtinst/guest.py
-@@ -366,8 +366,20 @@ class Guest(XMLBuilder):
-         if (not install and
-             self.os.is_xenpv() and
-             not self.os.kernel):
--            self.bootloader = "/usr/bin/pygrub"
--            self.os.clear()
-+            os_ver = self._get_os_variant()
-+            if self.os.arch != 'x86_64' or os_ver.startswith("sles9") or \
+--- virt-manager-2.0.0.orig/virtinst/installer.py
++++ virt-manager-2.0.0/virtinst/installer.py
+@@ -307,6 +307,20 @@ class Installer(object):
+         install_xml = None
+         if self.has_install_phase():
+             install_xml = self._get_install_xml(guest)
++        if (guest.os.is_xenpv() and
++            not guest.os.kernel):
++            os_ver = guest.osinfo.name
++            if guest.os.arch != 'x86_64' or os_ver.startswith("sles9") or \
 +               os_ver.startswith("sles10") or os_ver.startswith("sled10") or \
 +               os_ver.startswith("opensuse10") or 
os_ver.startswith("opensuse11"):
-+                self.bootloader = "pygrub"
-+                self.os.clear()
++                guest.os.bootloader = "pygrub"
 +            else:
-+                self.installer._install_kernel = 
"/usr/lib/grub2/x86_64-xen/grub.xen"
-+                self.installer._install_initrd = None
-+                self.installer.extraargs = None
-+                # alter_bootconfig won't update the osxml unless it thinks
-+                # we are in an install phase. Add force_update param to call
-+                self.installer.alter_bootconfig(self, True, True)
++                guest.os.bootloader = None
++                self._install_kernel = "/usr/lib/grub2/x86_64-xen/grub.xen"
++                self._install_initrd = None
++                self.extraargs = None
 +                logging.info("Using grub.xen to boot guest")
++                self._alter_bootconfig(guest)
+         final_xml = guest.get_xml()
  
-         return self.get_xml_config()
- 
-Index: virt-manager-1.4.3/virtinst/installer.py
-===================================================================
---- virt-manager-1.4.3.orig/virtinst/installer.py
-+++ virt-manager-1.4.3/virtinst/installer.py
-@@ -99,7 +99,7 @@ class Installer(object):
-                 break
-         return bootorder
- 
--    def alter_bootconfig(self, guest, isinstall):
-+    def alter_bootconfig(self, guest, isinstall, force_update=False):
-         """
-         Generate the portion of the guest xml that determines boot devices
-         and parameters. (typically the <os></os> block)
-@@ -110,7 +110,7 @@ class Installer(object):
-                           'post-install' phase.
-         @type isinstall: C{bool}
-         """
--        if isinstall and not self.has_install_phase():
-+        if isinstall and not force_update and not self.has_install_phase():
-             return
- 
-         bootorder = guest.os.bootorder
+         logging.debug("Generated install XML: %s",

++++++ virtinst-python2-to-python3-conversion.patch ++++++
++++ 667 lines (skipped)
++++ between 
/work/SRC/openSUSE:Factory/virt-manager/virtinst-python2-to-python3-conversion.patch
++++ and 
/work/SRC/openSUSE:Factory/.virt-manager.new/virtinst-python2-to-python3-conversion.patch

++++++ virtinst-refresh_before_fetch_pool.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:20.763682561 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:20.787682531 +0100
@@ -13,11 +13,11 @@
 
 Signed-off-by: Chunyan Liu <cy...@suse.com>
 
-Index: virt-manager-1.4.3/virtinst/pollhelpers.py
+Index: virt-manager-2.0.0/virtinst/pollhelpers.py
 ===================================================================
---- virt-manager-1.4.3.orig/virtinst/pollhelpers.py
-+++ virt-manager-1.4.3/virtinst/pollhelpers.py
-@@ -133,6 +133,19 @@ def fetch_pools(backend, origmap, build_
+--- virt-manager-2.0.0.orig/virtinst/pollhelpers.py
++++ virt-manager-2.0.0/virtinst/pollhelpers.py
+@@ -121,6 +121,19 @@ def fetch_pools(backend, origmap, build_
  
      if backend.check_support(
              backend.SUPPORT_CONN_LISTALLSTORAGEPOOLS) and not FORCE_OLD_POLL:

++++++ virtinst-s390x-disable-graphics.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:20.931682355 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:20.951682331 +0100
@@ -1,10 +1,10 @@
 Reference: bnc#869024
 Disable graphics on s390x
-Index: virt-manager-1.5.0/virtinst/guest.py
+Index: virt-manager-2.0.0/virtinst/guest.py
 ===================================================================
---- virt-manager-1.5.0.orig/virtinst/guest.py
-+++ virt-manager-1.5.0/virtinst/guest.py
-@@ -126,7 +126,10 @@ class Guest(XMLBuilder):
+--- virt-manager-2.0.0.orig/virtinst/guest.py
++++ virt-manager-2.0.0/virtinst/guest.py
+@@ -159,7 +159,10 @@ class Guest(XMLBuilder):
          self.skip_default_channel = False
          self.skip_default_sound = False
          self.skip_default_usbredir = False
@@ -14,41 +14,32 @@
 +        else:
 +            self.skip_default_graphics = False
          self.skip_default_rng = False
-         self.x86_cpu_default = self.cpu.SPECIAL_MODE_HOST_MODEL_ONLY
+         self.x86_cpu_default = self.cpu.SPECIAL_MODE_APP_DEFAULT
  
-@@ -687,7 +690,7 @@ class Guest(XMLBuilder):
+@@ -289,7 +292,7 @@ class Guest(XMLBuilder):
+         if not os_support:
+             return False
+ 
+-        if self.os.is_x86():
++        if self.os.is_x86() or self.os.is_s390x():
+             return True
+ 
+         return False
+@@ -592,7 +595,7 @@ class Guest(XMLBuilder):
          self.add_device(dev)
  
-     def add_default_video_device(self):
+     def _add_default_video_device(self):
 -        if self.os.is_container():
 +        if self.os.is_container() or self.os.is_s390x():
              return
-         if self.get_devices("video"):
+         if self.devices.video:
              return
-@@ -742,6 +745,8 @@ class Guest(XMLBuilder):
-             dev.target_type = "virtio"
-             dev.target_name = dev.CHANNEL_NAME_QEMUGA
-             self.add_device(dev)
-+        elif self.os.is_s390x():
-+            dev.target_type = "sclp"
- 
-     def add_default_graphics(self):
-         if self.skip_default_graphics:
-@@ -750,7 +755,7 @@ class Guest(XMLBuilder):
+@@ -656,7 +659,7 @@ class Guest(XMLBuilder):
              return
          if self.os.is_container() and not self.conn.is_vz():
              return
 -        if self.os.arch not in ["x86_64", "i686", "ppc64", "ppc64le"]:
 +        if self.os.arch not in ["x86_64", "i686", "ppc64", "ppc64le", 
"s390x"]:
              return
-         self.add_device(VirtualGraphics(self.conn))
- 
-@@ -1110,7 +1115,7 @@ class Guest(XMLBuilder):
-         if not os_support:
-             return False
- 
--        if self.os.is_x86():
-+        if self.os.is_x86() or self.os.is_s390x():
-             return True
+         self.add_device(DeviceGraphics(self.conn))
  
-         if (self.os.is_arm_vexpress() and

++++++ virtinst-set-cache-mode-unsafe-for-install.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:21.011682258 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:21.011682258 +0100
@@ -1,36 +1,28 @@
 Set cache mode for target installation disk to unsafe for better
 performance.
-Index: virt-manager-1.4.3/virtinst/guest.py
+Index: virt-manager-2.0.0/virtinst/installer.py
 ===================================================================
---- virt-manager-1.4.3.orig/virtinst/guest.py
-+++ virt-manager-1.4.3/virtinst/guest.py
-@@ -362,6 +362,17 @@ class Guest(XMLBuilder):
- 
-         self._set_osxml_defaults()
+--- virt-manager-2.0.0.orig/virtinst/installer.py
++++ virt-manager-2.0.0/virtinst/installer.py
+@@ -294,10 +294,21 @@ class Installer(object):
+                 guest.os.kernel_args, guest.on_reboot) = data
  
+     def _get_install_xml(self, guest):
 +        # At install time set the target disk to 'unsafe' for
 +        # better performance if the target is not a block device
 +        saved_cache = "None"
-+        if install:
-+            disk_devices = self.get_devices("disk")
-+            if disk_devices:
-+                target_disk = self.get_devices("disk")[0]
-+                saved_cache = target_disk.driver_cache
-+                if target_disk.type != VirtualDisk.TYPE_BLOCK:
-+                    target_disk.driver_cache = VirtualDisk.CACHE_MODE_UNSAFE
++        if guest.devices.disk:
++            target_disk = guest.devices.disk[0]
++            saved_cache = target_disk.driver_cache
++            if target_disk.type != DeviceDisk.TYPE_BLOCK:
++                target_disk.driver_cache = DeviceDisk.CACHE_MODE_UNSAFE
 +
-         self.bootloader = None
-         if (not install and
-             self.os.is_xenpv() and
-@@ -381,7 +392,10 @@ class Guest(XMLBuilder):
-                 self.installer.alter_bootconfig(self, True, True)
-                 logging.info("Using grub.xen to boot guest")
- 
--        return self.get_xml_config()
-+        xml_config = self.get_xml_config()
-+        if install and saved_cache != "None":
-+            target_disk.driver_cache = saved_cache
-+        return xml_config
- 
- 
-     ###########################
+         data = self._prepare_get_install_xml(guest)
+         try:
+             self._alter_bootconfig(guest)
+             ret = guest.get_xml()
++            if saved_cache != "None":
++                target_disk.driver_cache = saved_cache
+             return ret
+         finally:
+             self._remove_install_cdrom_media(guest)

++++++ virtinst-use-latest-opensuse-version-when-unknown-media.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:21.027682238 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:21.027682238 +0100
@@ -5,11 +5,11 @@
 When 'opensuse-unknown' is detected, look up the most current version
 of openSUSE and default to that. This is the same way fedora does it.
 
-Index: virt-manager-1.5.0/virtinst/osdict.py
+Index: virt-manager-2.0.0/virtinst/osdict.py
 ===================================================================
---- virt-manager-1.5.0.orig/virtinst/osdict.py
-+++ virt-manager-1.5.0/virtinst/osdict.py
-@@ -241,6 +241,12 @@ class _OSDB(object):
+--- virt-manager-2.0.0.orig/virtinst/osdict.py
++++ virt-manager-2.0.0/virtinst/osdict.py
+@@ -214,6 +214,12 @@ class _OSDB(object):
                  "Converting that to the latest fedora OS version=%s",
                  location, osname)
  
@@ -21,10 +21,10 @@
 +
          return osname
  
-     def list_types(self):
-@@ -275,6 +281,16 @@ class _OSDB(object):
-                 # First fedora* occurrence should be the newest
-                 return osinfo.name
+     def list_os(self):
+@@ -239,6 +245,16 @@ class _OSDB(object):
+     def latest_fedora_version(self):
+         return self.latest_regex("fedora[0-9]+")
  
 +    def latest_opensuse_version(self):
 +        os_info = None

++++++ virtinst-use-qemu-for-cdrom-device.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:21.127682116 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:21.139682101 +0100
@@ -2,11 +2,11 @@
 When the device added is a cdrom device (/dev/sr0), don't use
 "phy" as the driver name but instead use "qemu".
 
-Index: virt-manager-1.5.1/virtinst/devicedisk.py
+Index: virt-manager-2.0.0/virtinst/devices/disk.py
 ===================================================================
---- virt-manager-1.5.1.orig/virtinst/devicedisk.py
-+++ virt-manager-1.5.1/virtinst/devicedisk.py
-@@ -563,7 +563,8 @@ class VirtualDisk(VirtualDevice):
+--- virt-manager-2.0.0.orig/virtinst/devices/disk.py
++++ virt-manager-2.0.0/virtinst/devices/disk.py
+@@ -435,7 +435,8 @@ class DeviceDisk(Device):
          # Recommended xen defaults from here:
          # https://bugzilla.redhat.com/show_bug.cgi?id=1171550#c9
          # If type block, use name=phy. Otherwise do the same as qemu

++++++ virtinst-use-xenpae-kernel-for-32bit.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:21.283681925 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:21.303681901 +0100
@@ -4,22 +4,25 @@
 virtualized if the pae kernel is selected.
 Note that sles12 and newer has no 32bit release.
 
-Index: virt-manager-1.5.1/virtinst/urlfetcher.py
+Index: virt-manager-2.0.0/virtinst/urldetect.py
 ===================================================================
---- virt-manager-1.5.1.orig/virtinst/urlfetcher.py
-+++ virt-manager-1.5.1/virtinst/urlfetcher.py
-@@ -1051,8 +1051,12 @@ class SuseDistro(Distro):
-                                            "boot/%s/initrd" % self.arch))
- 
+--- virt-manager-2.0.0.orig/virtinst/urldetect.py
++++ virt-manager-2.0.0/virtinst/urldetect.py
+@@ -541,9 +541,14 @@ class SuseDistro(Distro):
+         self._kernel_paths = []
+         if self.type == "xen":
              # Matches Opensuse > 10.2 and sles 10
--            self._xen_kernel_paths = [("boot/%s/vmlinuz-xen" % self.arch,
--                                        "boot/%s/initrd-xen" % self.arch)]
+-            self._kernel_paths.append(
+-                ("boot/%s/vmlinuz-xen" % tree_arch,
+-                 "boot/%s/initrd-xen" % tree_arch))
 +            if self.arch == "i386":
-+                self._xen_kernel_paths = [("boot/%s/vmlinuz-xenpae" % 
self.arch,
-+                                            "boot/%s/initrd-xenpae" % 
self.arch)]
++                self._kernel_paths.append(
++                    ("boot/%s/vmlinuz-xen" % tree_arch,
++                     "boot/%s/initrd-xen" % tree_arch))
 +            else:
-+                self._xen_kernel_paths = [("boot/%s/vmlinuz-xen" % self.arch,
-+                                            "boot/%s/initrd-xen" % self.arch)]
++                self._kernel_paths.append(
++                    ("boot/%s/vmlinuz-xenpae" % tree_arch,
++                     "boot/%s/initrd-xenpae" % tree_arch))
  
-     def _variantFromVersion(self):
-         distro_version = self.version_from_content[1].strip()
+         if (tree_arch == "s390x" and
+             (self._os_variant == "sles11" or self._os_variant == "sled11")):

++++++ virtinst-vol-default-nocow.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:21.483681681 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:21.515681642 +0100
@@ -4,33 +4,32 @@
 
 Signed-off-by: Chunyan Liu <cy...@suse.com>
 
-Index: virt-manager-1.5.0/virtinst/storage.py
+Index: virt-manager-2.0.0/virtinst/storage.py
 ===================================================================
---- virt-manager-1.5.0.orig/virtinst/storage.py
-+++ virt-manager-1.5.0/virtinst/storage.py
-@@ -701,6 +701,12 @@ class StorageVolume(_StorageObject):
+--- virt-manager-2.0.0.orig/virtinst/storage.py
++++ virt-manager-2.0.0/virtinst/storage.py
+@@ -618,6 +618,11 @@ class StorageVolume(_StorageObject):
          return self._pool_xml.get_disk_type()
      file_type = property(_get_vol_type)
  
 +    def _nocow_default_cb(self):
 +        return self.conn.check_support(
 +            self.conn.SUPPORT_CONN_NOCOW)
-+    nocow = XMLProperty("./target/nocow",
-+        is_bool=True, default_cb=_nocow_default_cb)
++    nocow = XMLProperty("./target/nocow", is_bool=True)
 +
  
      ##################
      # XML properties #
-Index: virt-manager-1.5.0/virtinst/support.py
+Index: virt-manager-2.0.0/virtinst/support.py
 ===================================================================
---- virt-manager-1.5.0.orig/virtinst/support.py
-+++ virt-manager-1.5.0/virtinst/support.py
-@@ -326,6 +326,8 @@ SUPPORT_CONN_USB3_PORTS = _make(version=
+--- virt-manager-2.0.0.orig/virtinst/support.py
++++ virt-manager-2.0.0/virtinst/support.py
+@@ -267,6 +267,8 @@ SUPPORT_CONN_USB3_PORTS = _make(version=
  SUPPORT_CONN_MACHVIRT_PCI_DEFAULT = _make(version="3.0.0")
- SUPPORT_CONN_QEMU_XHCI = _make(version="3.3.0")
+ SUPPORT_CONN_QEMU_XHCI = _make(version="3.3.0", hv_version={"qemu": "2.9.0"})
  SUPPORT_CONN_VNC_NONE_AUTH = _make(hv_version={"qemu": "2.9.0"})
 +SUPPORT_CONN_NOCOW = _make(
 +    version="1.2.18", hv_version={"qemu": "2.2.0", "test": 0})
  
- 
- # This is for disk <driver name=qemu>. xen supports this, but it's
+ # We choose qemu 2.11.0 as the first version to target for q35 default.
+ # That's not really based on anything except reasonably modern at the

++++++ virtinst-xen-drive-type.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:21.687681432 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:21.723681388 +0100
@@ -2,12 +2,12 @@
 Virt-manager on Xen doesn't fill in any type thereby defaulting to
 'raw'. This patch will generate the correct XML on Xen.
 
-Index: virt-manager-1.5.1/virtinst/devicedisk.py
+Index: virt-manager-2.0.0/virtinst/devices/disk.py
 ===================================================================
---- virt-manager-1.5.1.orig/virtinst/devicedisk.py
-+++ virt-manager-1.5.1/virtinst/devicedisk.py
-@@ -581,6 +581,10 @@ class VirtualDisk(VirtualDevice):
-         http://lists.gnu.org/archive/html/qemu-devel/2008-04/msg00675.html
+--- virt-manager-2.0.0.orig/virtinst/devices/disk.py
++++ virt-manager-2.0.0/virtinst/devices/disk.py
+@@ -453,6 +453,10 @@ class DeviceDisk(Device):
+         https://lists.gnu.org/archive/html/qemu-devel/2008-04/msg00675.html
          """
          if self.driver_name != self.DRIVER_NAME_QEMU:
 +            if self.driver_name and \

++++++ virtinst-xenbus-disk-index-fix.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:21.815681275 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:21.835681251 +0100
@@ -6,12 +6,12 @@
 passed to qemu where it error'ed out with the disks having the same
 index (in this case both are 0).
 
-Index: virt-manager-1.5.1/virtinst/devicedisk.py
+Index: virt-manager-2.0.0/virtinst/devices/disk.py
 ===================================================================
---- virt-manager-1.5.1.orig/virtinst/devicedisk.py
-+++ virt-manager-1.5.1/virtinst/devicedisk.py
-@@ -1038,6 +1038,17 @@ class VirtualDisk(VirtualDevice):
-         @rtype C{str}
+--- virt-manager-2.0.0.orig/virtinst/devices/disk.py
++++ virt-manager-2.0.0/virtinst/devices/disk.py
+@@ -900,6 +900,17 @@ class DeviceDisk(Device):
+         :returns: generated target
          """
          prefix, maxnode = self.get_target_prefix(skip_targets)
 +        postfix_targets = []
@@ -28,7 +28,7 @@
          skip_targets = [t for t in skip_targets if t and t.startswith(prefix)]
          skip_targets.sort()
  
-@@ -1051,7 +1062,12 @@ class VirtualDisk(VirtualDevice):
+@@ -913,7 +924,12 @@ class DeviceDisk(Device):
                  ran = range(pref_ctrl * 7, (pref_ctrl + 1) * 7)
  
              for i in ran:

++++++ virtman-allow-creating-i686-vm.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:21.951681109 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:21.967681089 +0100
@@ -1,11 +1,11 @@
 References: bsc#919692
 Because openSUSE repos combine 32 and 64 bit sources we need to
 continue showing the 'Architecture' pop-up.
-Index: virt-manager-1.5.0/virtManager/create.py
+Index: virt-manager-2.0.0/virtManager/create.py
 ===================================================================
---- virt-manager-1.5.0.orig/virtManager/create.py
-+++ virt-manager-1.5.0/virtManager/create.py
-@@ -849,11 +849,6 @@ class vmmCreate(vmmGObjectUI):
+--- virt-manager-2.0.0.orig/virtManager/create.py
++++ virt-manager-2.0.0/virtManager/create.py
+@@ -774,11 +774,6 @@ class vmmCreate(vmmGObjectUI):
          for guest in self.conn.caps.guests:
              if guest.os_type == self._capsinfo.os_type:
                  archs.append(guest.arch)

++++++ virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:22.091680939 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:22.111680913 +0100
@@ -6,11 +6,11 @@
 4) Edit the VM's /etc/default/grub file and remove the crashkernel information
    and then run grub2-mkconfig /boot/grub2/grub.cfg.
 5) Start the VM and within the VM's terminal type "echo 'c' > 
/proc/sysrq-trigger"
-Index: virt-manager-1.5.0/virtManager/manager.py
+Index: virt-manager-2.0.0/virtManager/manager.py
 ===================================================================
---- virt-manager-1.5.0.orig/virtManager/manager.py
-+++ virt-manager-1.5.0/virtManager/manager.py
-@@ -844,7 +844,7 @@ class vmmManager(vmmGObjectUI):
+--- virt-manager-2.0.0.orig/virtManager/manager.py
++++ virt-manager-2.0.0/virtManager/manager.py
+@@ -789,7 +789,7 @@ class vmmManager(vmmGObjectUI):
              show_pause = bool(vm and vm.is_unpauseable())
          else:
              show_pause = bool(vm and vm.is_pauseable())
@@ -19,11 +19,11 @@
  
          if vm and vm.managedsave_supported:
              self.change_run_text(vm.has_managed_save())
-Index: virt-manager-1.5.0/virtManager/vmmenu.py
+Index: virt-manager-2.0.0/virtManager/vmmenu.py
 ===================================================================
---- virt-manager-1.5.0.orig/virtManager/vmmenu.py
-+++ virt-manager-1.5.0/virtManager/vmmenu.py
-@@ -31,6 +31,7 @@ class _VMMenu(Gtk.Menu):
+--- virt-manager-2.0.0.orig/virtManager/vmmenu.py
++++ virt-manager-2.0.0/virtManager/vmmenu.py
+@@ -21,6 +21,7 @@ class _VMMenu(Gtk.Menu):
          self._parent = src
          self._current_vm_cb = current_vm_cb
          self._show_open = show_open
@@ -31,7 +31,7 @@
  
          self._init_state()
  
-@@ -92,6 +93,7 @@ class VMShutdownMenu(_VMMenu):
+@@ -84,6 +85,7 @@ class VMShutdownMenu(_VMMenu):
              name = getattr(child, "vmm_widget_name", None)
              if name in statemap:
                  child.set_sensitive(statemap[name])
@@ -39,17 +39,17 @@
  
              if name == "reset":
                  child.set_tooltip_text(None)
-@@ -108,7 +110,8 @@ class VMActionMenu(_VMMenu):
-         self._add_action(_("_Pause"), "suspend", Gtk.STOCK_MEDIA_PAUSE)
-         self._add_action(_("R_esume"), "resume", Gtk.STOCK_MEDIA_PAUSE)
-         s = self._add_action(_("_Shut Down"), "shutdown", addcb=False)
+@@ -106,7 +108,8 @@ class VMActionMenu(_VMMenu):
+         self._add_action(_("R_esume"), "resume", VMActionUI.resume,
+                 Gtk.STOCK_MEDIA_PAUSE)
+         s = self._add_action(_("_Shut Down"), "shutdown", None)
 -        s.set_submenu(VMShutdownMenu(self._parent, self._current_vm_cb))
 +        self._shutdown = VMShutdownMenu(self._parent, self._current_vm_cb)
 +        s.set_submenu(self._shutdown)
  
          self.add(Gtk.SeparatorMenuItem())
-         self._add_action(_("Clone..."), "clone", None)
-@@ -124,7 +127,7 @@ class VMActionMenu(_VMMenu):
+         self._add_action(_("Clone..."), "clone",
+@@ -126,7 +129,7 @@ class VMActionMenu(_VMMenu):
      def update_widget_states(self, vm):
          statemap = {
              "run": bool(vm and vm.is_runable()),
@@ -58,7 +58,7 @@
              "suspend": bool(vm and vm.is_stoppable()),
              "resume": bool(vm and vm.is_paused()),
              "migrate": bool(vm and vm.is_stoppable()),
-@@ -141,6 +144,8 @@ class VMActionMenu(_VMMenu):
+@@ -143,6 +146,8 @@ class VMActionMenu(_VMMenu):
                  child.get_submenu().update_widget_states(vm)
              if name in statemap:
                  child.set_sensitive(statemap[name])

++++++ virtman-check-for-valid-display.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:22.279680708 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:22.287680698 +0100
@@ -1,10 +1,10 @@
 References: bnc#907958
 Sanity check for those who forget '-X' on ssh and try to start virt-manager
-Index: virt-manager-1.4.2/virt-manager
+Index: virt-manager-2.0.0/virt-manager
 ===================================================================
---- virt-manager-1.4.2.orig/virt-manager
-+++ virt-manager-1.4.2/virt-manager
-@@ -81,8 +81,11 @@ def _import_gtk(leftovers):
+--- virt-manager-2.0.0.orig/virt-manager
++++ virt-manager-2.0.0/virt-manager
+@@ -66,8 +66,11 @@ def _import_gtk(leftovers):
              print("gtk3 3.14.0 or later is required.")
              sys.exit(1)
  
@@ -15,6 +15,6 @@
 +            Gtk.Window()
 +        else:
 +            raise Exception("Error starting virt-manager: No graphical 
display found")
- 
          globals()["Gtk"] = Gtk
-         import virtManager.config
+ 
+         # This ensures we can init gsettings correctly

++++++ virtman-default-guest-from-host-os.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:22.399680562 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:22.411680548 +0100
@@ -1,10 +1,10 @@
 Enhancement to default to the host os version when creating a VM
 and media detection of the install source is turned off.
-Index: virt-manager-1.5.1/virtManager/create.py
+Index: virt-manager-2.0.0/virtManager/create.py
 ===================================================================
---- virt-manager-1.5.1.orig/virtManager/create.py
-+++ virt-manager-1.5.1/virtManager/create.py
-@@ -24,6 +24,9 @@ import pkgutil
+--- virt-manager-2.0.0.orig/virtManager/create.py
++++ virt-manager-2.0.0/virtManager/create.py
+@@ -10,6 +10,9 @@ import pkgutil
  import os
  import threading
  import time
@@ -12,16 +12,16 @@
 +import os
 +import re
  
- from gi.repository import GObject
+ from gi.repository import Gdk
  from gi.repository import Gtk
-@@ -1511,6 +1514,63 @@ class vmmCreate(vmmGObjectUI):
-     def _cdrom_changed(self, src):
-         self._detectable_media_widget_changed(src)
+@@ -1183,6 +1186,63 @@ class vmmCreate(vmmGObjectUI):
+     def _iso_activated_cb(self, mediacombo, entry):
+         self._detectable_media_widget_changed(entry, checkfocus=False)
  
 +    def _lookup_host_os(self):
 +        def _lookup_sp(line):
 +            sp = ""
-+            m = re.search(' SP[1234] ', line)
++            m = re.search(' SP[12345] ', line)
 +            if m:
 +                sp = m.group(0).strip().lower()
 +            return sp
@@ -44,7 +44,7 @@
 +                    if "SUSE Linux Enterprise Server 11" in line:
 +                        return 'linux', ('sles11' + _lookup_sp(line))
 +                    if "SUSE Linux Enterprise Desktop 15" in line:
-+                        return 'linux', ('sle15' + _lookup_sp(line))
++                        return 'linux', ('sled15' + _lookup_sp(line))
 +                    if "SUSE Linux Enterprise Desktop 12" in line:
 +                        return 'linux', ('sled12' + _lookup_sp(line))
 +                    if "SUSE Linux Enterprise Desktop 11" in line:
@@ -75,15 +75,15 @@
 +                    break
 +                index += 1
 +
-     def _toggle_detect_os(self, src):
-         dodetect = src.get_active()
- 
-@@ -1523,6 +1583,8 @@ class vmmCreate(vmmGObjectUI):
-             self.widget("install-os-version-entry").set_text("")
+     def _detect_os_toggled_cb(self, src):
+         if not src.is_visible():
+             return
+@@ -1193,6 +1253,8 @@ class vmmCreate(vmmGObjectUI):
+         if dodetect:
              self._os_already_detected_for_media = False
              self._start_detect_os_if_needed()
 +        else:
 +            self.detect_host_os()
  
-     def _selected_os_row(self):
-         return uiutil.get_list_selected_row(self.widget("install-os-type"))
+     def _browse_oscontainer(self, ignore):
+         self._browse_file("install-oscontainer-fs", is_dir=True)

++++++ virtman-default-to-xen-pv.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:22.543680386 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:22.555680372 +0100
@@ -1,9 +1,9 @@
 Enhancement to default to PV instead of HVM on Xen host.
-Index: virt-manager-1.5.0/virtManager/create.py
+Index: virt-manager-2.0.0/virtManager/create.py
 ===================================================================
---- virt-manager-1.5.0.orig/virtManager/create.py
-+++ virt-manager-1.5.0/virtManager/create.py
-@@ -759,7 +759,12 @@ class vmmCreate(vmmGObjectUI):
+--- virt-manager-2.0.0.orig/virtManager/create.py
++++ virt-manager-2.0.0/virtManager/create.py
+@@ -683,7 +683,12 @@ class vmmCreate(vmmGObjectUI):
          if gtype is None:
              # If none specified, prefer HVM so install options aren't limited
              # with a default PV choice.

++++++ virtman-desktop.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:22.699680196 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:22.719680171 +0100
@@ -1,7 +1,7 @@
-Index: virt-manager-1.4.0/data/virt-manager.desktop.in
+Index: virt-manager-2.0.0/data/virt-manager.desktop.in
 ===================================================================
---- virt-manager-1.4.0.orig/data/virt-manager.desktop.in
-+++ virt-manager-1.4.0/data/virt-manager.desktop.in
+--- virt-manager-2.0.0.orig/data/virt-manager.desktop.in
++++ virt-manager-2.0.0/data/virt-manager.desktop.in
 @@ -1,8 +1,19 @@
  [Desktop Entry]
  _Name=Virtual Machine Manager

++++++ virtman-dont-allow-grub.xen-to-be-deleted.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:22.843680020 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:22.871679985 +0100
@@ -1,11 +1,11 @@
 Reference: bnc#885094
 grub.xen is required to boot Xen PV VMs using BTRFS. It belongs to
 the grub2-x86_64-xen RPM and should never be deleted.
-Index: virt-manager-1.4.3/virtManager/delete.py
+Index: virt-manager-2.0.0/virtManager/delete.py
 ===================================================================
---- virt-manager-1.4.3.orig/virtManager/delete.py
-+++ virt-manager-1.4.3/virtManager/delete.py
-@@ -241,7 +241,7 @@ def populate_storage_list(storage_list,
+--- virt-manager-2.0.0.orig/virtManager/delete.py
++++ virt-manager-2.0.0/virtManager/delete.py
+@@ -246,7 +246,7 @@ def populate_storage_list(storage_list,
      diskdata.append(("dtb", vm.get_xmlobj().os.dtb, True, False, True))
  
      for target, path, ro, shared, is_media in diskdata:

++++++ virtman-dont-specify-vte-version.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:23.007679819 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:23.031679790 +0100
@@ -2,9 +2,11 @@
 version of vte is really allowed. Vte 2.91 is installed on the
 host but the RPM is built requiring 2.90.
 
---- virt-manager-1.4.0/virtManager/serialcon.py.orig   2016-06-21 
15:35:45.109272839 -0600
-+++ virt-manager-1.4.0/virtManager/serialcon.py        2016-06-21 
15:35:56.637272738 -0600
-@@ -32,12 +32,12 @@ from gi.repository import Gtk
+Index: virt-manager-2.0.0/virtManager/serialcon.py
+===================================================================
+--- virt-manager-2.0.0.orig/virtManager/serialcon.py
++++ virt-manager-2.0.0/virtManager/serialcon.py
+@@ -12,12 +12,12 @@ from gi.repository import Gtk
  
  # We can use either 2.91 or 2.90. This is just to silence runtime warnings
  # pylint: disable=wrong-import-position

++++++ virtman-increase-setKeepAlive-count.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:23.211679570 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:23.239679535 +0100
@@ -2,11 +2,11 @@
 For very large memory VMs Xen takes a long time scrubbing memory
 which causes the libvirt connection to timeout. Upstream was not
 interested in making this a preferences option (4/11/2015)
-Index: virt-manager-1.4.3/virtManager/connection.py
+Index: virt-manager-2.0.0/virtManager/connection.py
 ===================================================================
---- virt-manager-1.4.3.orig/virtManager/connection.py
-+++ virt-manager-1.4.3/virtManager/connection.py
-@@ -1088,7 +1088,7 @@ class vmmConnection(vmmGObject):
+--- virt-manager-2.0.0.orig/virtManager/connection.py
++++ virt-manager-2.0.0/virtManager/connection.py
+@@ -1059,7 +1059,7 @@ class vmmConnection(vmmGObject):
          self.caps.get_cpu_values(self.caps.host.cpu.arch)
  
          try:

++++++ virtman-keycombo.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:23.315679442 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:23.319679438 +0100
@@ -1,9 +1,9 @@
 Enhancement adding Send Keys for mostly NetWare and also Windows
-Index: virt-manager-1.4.0/virtManager/console.py
+Index: virt-manager-2.0.0/virtManager/console.py
 ===================================================================
---- virt-manager-1.4.0.orig/virtManager/console.py
-+++ virt-manager-1.4.0/virtManager/console.py
-@@ -218,6 +218,16 @@ class vmmConsolePages(vmmGObjectUI):
+--- virt-manager-2.0.0.orig/virtManager/console.py
++++ virt-manager-2.0.0/virtManager/console.py
+@@ -204,6 +204,16 @@ class vmmConsolePages(vmmGObjectUI):
          make_item("Ctrl+Alt+_Backspace", ["Control_L", "Alt_L", "BackSpace"])
          make_item("Ctrl+Alt+_Delete", ["Control_L", "Alt_L", "Delete"])
          menu.add(Gtk.SeparatorMenuItem())

++++++ virtman-kvm.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:23.327679428 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:23.327679428 +0100
@@ -1,10 +1,10 @@
 /usr/bin/kvm doesn't exist on suse distros so check instead for
 /usr/bin/qemu-system-x86_64
-Index: virt-manager-1.5.0/virtManager/connect.py
+Index: virt-manager-2.0.0/virtManager/connect.py
 ===================================================================
---- virt-manager-1.5.0.orig/virtManager/connect.py
-+++ virt-manager-1.5.0/virtManager/connect.py
-@@ -117,7 +117,7 @@ class vmmConnect(vmmGObjectUI):
+--- virt-manager-2.0.0.orig/virtManager/connect.py
++++ virt-manager-2.0.0/virtManager/connect.py
+@@ -66,7 +66,7 @@ class vmmConnect(vmmGObjectUI):
  
          if (os.path.exists("/usr/bin/qemu") or
              os.path.exists("/usr/bin/qemu-kvm") or

++++++ virtman-load-stored-uris.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:23.363679384 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:23.363679384 +0100
@@ -1,27 +1,31 @@
-Index: virt-manager-1.5.0/virtManager/engine.py
+If booted Xen, don't try connecting to local qemu
+Likewise if booted native, don't try connecting to local xen
+
+Index: virt-manager-2.0.0/virtManager/connmanager.py
 ===================================================================
---- virt-manager-1.5.0.orig/virtManager/engine.py
-+++ virt-manager-1.5.0/virtManager/engine.py
-@@ -260,9 +260,22 @@ class vmmEngine(vmmGObject):
+--- virt-manager-2.0.0.orig/virtManager/connmanager.py
++++ virt-manager-2.0.0/virtManager/connmanager.py
+@@ -26,12 +26,23 @@ class vmmConnectionManager(vmmGObject):
  
-     def load_stored_uris(self):
-         uris = self.config.get_conn_uris() or []
+     def __init__(self):
+         vmmGObject.__init__(self)
++        from .connect import vmmConnect
 +        tryuri = vmmConnect.default_uri()
-+        found_uri = None
-         for uri in uris:
-+            # If booted Xen, don't try connecting to local qemu
-+            # Likewise if booted native, don't try connecting to local xen
++        found_uri = False
+ 
+         self._conns = {}
+ 
+         # Load URIs from gsettings
+         for uri in self.config.get_conn_uris():
 +            if uri == 'xen:///' or uri == 'qemu:///system':
 +                if tryuri and tryuri != uri:
 +                    logging.debug("Skipping %s because it is incompatible 
with local host", uri)
 +                    continue
 +            found_uri = True
-             conn = self.make_conn(uri)
-             self.register_conn(conn, skip_config=True)
-+        if tryuri and found_uri is None:
-+            logging.debug("Didn't connect with anything, try default %s", 
tryuri)
-+            conn = self.make_conn(tryuri)
-+            self.register_conn(conn, skip_config=False)
+             self.add_conn(uri)
++        if tryuri and found_uri is False:
++            logging.debug("CEA:: Didn't connect with anything, use default 
%s", tryuri)
++            self.add_conn(tryuri)
  
-     def autostart_conns(self):
-         """
+     def _cleanup(self):
+         for conn in self._conns.values():

++++++ virtman-prevent-double-click-starting-vm-twice.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:23.431679301 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:23.447679281 +0100
@@ -3,17 +3,17 @@
 virt-manager issues two start commands to start the VM which
 results in a failure. There is code elsewhere to desensitize the
 button but this patch does it earlier.
-Index: virt-manager-1.4.3/virtManager/details.py
+Index: virt-manager-2.0.0/virtManager/details.py
 ===================================================================
---- virt-manager-1.4.3.orig/virtManager/details.py
-+++ virt-manager-1.4.3/virtManager/details.py
-@@ -1449,6 +1449,9 @@ class vmmDetails(vmmGObjectUI):
+--- virt-manager-2.0.0.orig/virtManager/details.py
++++ virt-manager-2.0.0/virtManager/details.py
+@@ -1489,6 +1489,9 @@ class vmmDetails(vmmGObjectUI):
      def control_vm_run(self, src_ignore):
          if self.has_unapplied_changes(self.get_hw_row()):
              return
 +        # De-sensitize widget so a double click on the icon won't attempt to
 +        # start the VM twice
 +        self.widget("control-run").set_sensitive(False)
-         self.emit("action-run-domain",
-                   self.vm.conn.get_uri(), self.vm.get_connkey())
+         vmmenu.VMActionUI.run(self, self.vm)
  
+     def control_vm_shutdown(self, src_ignore):

++++++ virtman-python2-to-python3-conversion.patch ++++++
++++ 875 lines (skipped)
++++ between 
/work/SRC/openSUSE:Factory/virt-manager/virtman-python2-to-python3-conversion.patch
++++ and 
/work/SRC/openSUSE:Factory/.virt-manager.new/virtman-python2-to-python3-conversion.patch

++++++ virtman-register-delete-event-for-details-dialog.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:23.539679169 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:23.555679149 +0100
@@ -6,11 +6,11 @@
 need to set the connection event. Not getting the event to cleanup leaves us 
in a
 bad state for when the details dialog is reopened.
 
-Index: virt-manager-1.4.3/virtManager/details.py
+Index: virt-manager-2.0.0/virtManager/details.py
 ===================================================================
---- virt-manager-1.4.3.orig/virtManager/details.py
-+++ virt-manager-1.4.3/virtManager/details.py
-@@ -596,6 +596,9 @@ class vmmDetails(vmmGObjectUI):
+--- virt-manager-2.0.0.orig/virtManager/details.py
++++ virt-manager-2.0.0/virtManager/details.py
+@@ -621,6 +621,9 @@ class vmmDetails(vmmGObjectUI):
                  self.console.details_auth_login),
          })
  

++++++ virtman-show-suse-install-repos.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:23.655679027 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:23.663679017 +0100
@@ -1,11 +1,11 @@
 Enhancement that gets installation repos from zypper.
 These locations are then presented as potential installation
 sources when creating a VM.
-Index: virt-manager-1.5.1/virtManager/create.py
+Index: virt-manager-2.0.0/virtManager/create.py
 ===================================================================
---- virt-manager-1.5.1.orig/virtManager/create.py
-+++ virt-manager-1.5.1/virtManager/create.py
-@@ -424,7 +424,13 @@ class vmmCreate(vmmGObjectUI):
+--- virt-manager-2.0.0.orig/virtManager/create.py
++++ virt-manager-2.0.0/virtManager/create.py
+@@ -371,7 +371,13 @@ class vmmCreate(vmmGObjectUI):
          self.widget("install-url-entry").set_text("")
          self.widget("install-url-options").set_expanded(False)
          urlmodel = self.widget("install-url-combo").get_model()
@@ -17,14 +17,14 @@
 +                inst_repos.remove(u)
 +        media_urllist = urllist + inst_repos
 +        _populate_media_model(urlmodel, media_urllist)
-         self._set_distro_labels("-", "-")
  
          # Install import
-Index: virt-manager-1.5.1/virtinst/util.py
+         self.widget("install-import-entry").set_text("")
+Index: virt-manager-2.0.0/virtinst/util.py
 ===================================================================
---- virt-manager-1.5.1.orig/virtinst/util.py
-+++ virt-manager-1.5.1/virtinst/util.py
-@@ -23,9 +23,12 @@ import os
+--- virt-manager-2.0.0.orig/virtinst/util.py
++++ virt-manager-2.0.0/virtinst/util.py
+@@ -11,9 +11,12 @@ import os
  import random
  import re
  import sys
@@ -37,7 +37,7 @@
  
  def listify(l):
      if l is None:
-@@ -312,3 +315,57 @@ def make_meter(quiet):
+@@ -292,3 +295,57 @@ def make_meter(quiet):
      if quiet:
          return progress.BaseMeter()
      return progress.TextMeter(fo=sys.stdout)

++++++ virttests-python2-to-python3-conversion.patch ++++++
--- /var/tmp/diff_new_pack.xxFAMG/_old  2018-11-10 17:00:23.819678827 +0100
+++ /var/tmp/diff_new_pack.xxFAMG/_new  2018-11-10 17:00:23.831678812 +0100
@@ -1,111 +1,35 @@
-Index: virt-manager-1.5.0/tests/clitest.py
+Index: virt-manager-2.0.0/tests/clitest.py
 ===================================================================
---- virt-manager-1.5.0.orig/tests/clitest.py
-+++ virt-manager-1.5.0/tests/clitest.py
-@@ -223,7 +223,7 @@ class Command(object):
+--- virt-manager-2.0.0.orig/tests/clitest.py
++++ virt-manager-2.0.0/tests/clitest.py
+@@ -176,7 +176,7 @@ class Command(object):
  
          try:
              conn = None
 -            for idx in reversed(range(len(self.argv))):
 +            for idx in reversed(list(range(len(self.argv)))):
                  if self.argv[idx] == "--connect":
-                     conn = utils.openconn(self.argv[idx + 1])
+                     conn = utils.URIs.openconn(self.argv[idx + 1])
                      break
-Index: virt-manager-1.5.0/tests/uitests/utils.py
+Index: virt-manager-2.0.0/tests/test_inject.py
 ===================================================================
---- virt-manager-1.5.0.orig/tests/uitests/utils.py
-+++ virt-manager-1.5.0/tests/uitests/utils.py
-@@ -1,4 +1,4 @@
--from __future__ import print_function
-+
- 
- import logging
- import os
-Index: virt-manager-1.5.0/tests/utils.py
-===================================================================
---- virt-manager-1.5.0.orig/tests/utils.py
-+++ virt-manager-1.5.0/tests/utils.py
-@@ -104,11 +104,11 @@ def openconn(uri):
-         conn.fetch_all_nodedevs()
- 
-         _conn_cache[uri] = {}
--        for key, value in conn._fetch_cache.items():
-+        for key, value in list(conn._fetch_cache.items()):
-             _conn_cache[uri][key] = value[:]
- 
-     # Prime the internal connection cache
--    for key, value in _conn_cache[uri].items():
-+    for key, value in list(_conn_cache[uri].items()):
-         conn._fetch_cache[key] = value[:]
- 
-     def cb_cache_new_pool(poolobj):
-Index: virt-manager-1.5.0/tests/test_inject.py
-===================================================================
---- virt-manager-1.5.0.orig/tests/test_inject.py
-+++ virt-manager-1.5.0/tests/test_inject.py
-@@ -1,7 +1,7 @@
- #!/usr/bin/env python2
- # Copyright (C) 2013, 2014 Red Hat, Inc.
- 
--from __future__ import print_function
-+
- 
- import atexit
- import os
-@@ -30,7 +30,7 @@ FEDORA_URL = "http://dl.fedoraproject.or
- 
- (WARN_RHEL4,
-  WARN_RHEL5,
-- WARN_LATEST) = range(1, 4)
-+ WARN_LATEST) = list(range(1, 4))
+--- virt-manager-2.0.0.orig/tests/test_inject.py
++++ virt-manager-2.0.0/tests/test_inject.py
+@@ -15,7 +15,7 @@ FEDORA_URL = "http://dl.fedoraproject.or
+ 
+ (WARN_RHEL5,
+  WARN_DEBIAN,
+- WARN_FEDORA) = range(1, 4)
++ WARN_FEDORA) = list(range(1, 4))
  
  
  def prompt():
-@@ -186,7 +186,7 @@ def _make_tests():
+@@ -115,7 +115,7 @@ def _make_tests():
          return lambda s: _test_distro(_d)
  
      idx = 0
 -    for dname, dobj in _alldistros.items():
 +    for dname, dobj in list(_alldistros.items()):
          idx += 1
-         setattr(FetchTests, "testFetch%.3d_%s" %
-                 (idx, dname.replace("-", "_")), _make_fetch_cb(dobj))
-Index: virt-manager-1.5.0/tests/test_urls.py
-===================================================================
---- virt-manager-1.5.0.orig/tests/test_urls.py
-+++ virt-manager-1.5.0/tests/test_urls.py
-@@ -253,7 +253,7 @@ def _make_tests():
-                        vals.get("testshortcircuit", "0") == "1")
-         urls[d.name] = d
- 
--    keys = urls.keys()
-+    keys = list(urls.keys())
-     keys.sort()
-     for key in keys:
-         distroobj = urls[key]
-Index: virt-manager-1.5.0/tests/virtconvtest.py
-===================================================================
---- virt-manager-1.5.0.orig/tests/virtconvtest.py
-+++ virt-manager-1.5.0/tests/virtconvtest.py
-@@ -15,7 +15,7 @@
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- # MA 02110-1301 USA.
- 
--from __future__ import print_function
-+
- 
- import glob
- import io
-Index: virt-manager-1.5.0/tests/nodedev.py
-===================================================================
---- virt-manager-1.5.0.orig/tests/nodedev.py
-+++ virt-manager-1.5.0/tests/nodedev.py
-@@ -69,7 +69,7 @@ class TestNodeDev(unittest.TestCase):
- 
-     def _testCompare(self, devname, vals, devxml=None):
-         def _compare(dev, vals, root=""):
--            for attr in vals.keys():
-+            for attr in list(vals.keys()):
-                 expect = vals[attr]
-                 actual = getattr(dev, attr)
-                 if isinstance(expect, list):
+         setattr(InjectTests, "testInitrd%.3d_%s" %
+                 (idx, dname.replace("-", "_")), _make_check_cb(dobj))


Reply via email to