Hello community,

here is the log from the commit of package virt-manager for openSUSE:Factory 
checked in at 2015-05-06 07:49:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virt-manager (Old)
 and      /work/SRC/openSUSE:Factory/.virt-manager.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "virt-manager"

Changes:
--------
--- /work/SRC/openSUSE:Factory/virt-manager/virt-manager.changes        
2015-04-27 12:59:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.virt-manager.new/virt-manager.changes   
2015-05-06 07:49:33.000000000 +0200
@@ -1,0 +2,33 @@
+Mon May  4 13:38:06 MDT 2015 - carn...@suse.com
+
+- Update to virt-manager 1.2.0
+  virt-manager-1.2.0.tar.bz2
+  virtinst-default-xen-to-qcow2-format.patch
+  * OVMF/AAVMF Support (Laszlo Ersek, Giuseppe Scrivano, Cole Robinson)
+  * Improved support for AArch64 qemu/kvm
+  * virt-install: Support –disk type=network parameters
+  * virt-install: Make –disk just work
+  * virt-install: Add –disk sgio= option (Giuseppe Scrivano)
+  * addhardware: default to an existing bus when adding a new disk (Giuseppe 
Scrivano)
+  * virt-install: Add –input device option
+  * virt-manager: Unify storagebrowser and storage details functionality
+  * virt-manager: allow setting a custom connection row name
+  * virt-install: Support –hostdev scsi passthrough
+  * virt-install: Fill in a bunch of –graphics spice options
+  * Disable spice image compression for new local VMs
+  * virt-manager: big reworking of the migration dialog
+- Dropped tarball and patches
+  virt-manager-1.1.0.tar.bz2
+  65f7017e-createnet-fix.patch
+  virt-manager-Gtk-30.patch
+  virtman-sync-vm-startup-for-cpu-usage.patch
+  virtinst-ignore-error-403-on-directories.patch
+  virtman-check-for-empty-network-name.patch
+  activate-default-console.patch
+  virtinst-ppc64le.patch
+  virtinst-supported-disk-formats.patch
+  virtinst-support-suse-distros.patch
+  virtman-default-lxc-uri.patch
+  virtman-stable-os-support.patch
+
+-------------------------------------------------------------------

Old:
----
  65f7017e-createnet-fix.patch
  activate-default-console.patch
  virt-manager-1.1.0.tar.bz2
  virt-manager-Gtk-30.patch
  virtinst-ignore-error-403-on-directories.patch
  virtinst-ppc64le.patch
  virtinst-support-suse-distros.patch
  virtinst-supported-disk-formats.patch
  virtman-check-for-empty-network-name.patch
  virtman-default-lxc-uri.patch
  virtman-stable-os-support.patch
  virtman-sync-vm-startup-for-cpu-usage.patch

New:
----
  virt-manager-1.2.0.tar.bz2
  virtinst-default-xen-to-qcow2-format.patch

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

Other differences:
------------------
++++++ virt-manager.spec ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:35.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:35.000000000 +0200
@@ -21,13 +21,13 @@
 %define qemu_user          "qemu"
 %define libvirt_kvm_packages   ""
 %define libvirt_xen_packages   ""
-%define preferred_distros  "sles,opensuse"
+%define preferred_distros  "sles12,opensuse13.2"
 %define kvm_packages       ""
-%define _version           1.1.0
+%define _version           1.2.0
 %define _release           1
 
 Name:           virt-manager
-Version:        1.1.0
+Version:        1.2.0
 Release:        0
 Summary:        Virtual Machine Manager
 License:        GPL-2.0+
@@ -36,19 +36,18 @@
 Source0:        %{name}-%{version}.tar.bz2
 Source1:        virt-install.rb
 Source2:        virt-install.desktop
+# Upstream Patches
 # SUSE Only
-Patch1:         65f7017e-createnet-fix.patch
 Patch70:        virtman-desktop.patch
 Patch71:        virtman-kvm.patch
 Patch72:        virtman-keycombo.patch
 Patch73:        virtman-vminstall.patch
 Patch74:        virtman-show-suse-install-repos.patch
-Patch75:        virtman-stable-os-support.patch
-Patch76:        virtman-dont-allow-grub.xen-to-be-deleted.patch
-Patch77:        virtman-s390x-default-to-vminstall.patch
-Patch78:        virtman-libvirtd-not-running.patch
-Patch79:        virtinst-pvgrub2-bootloader.patch
-Patch80:        virtinst-nfs-install-sanitize.patch
+Patch75:        virtman-s390x-default-to-vminstall.patch
+Patch76:        virtman-libvirtd-not-running.patch
+Patch77:        virtman-dont-allow-grub.xen-to-be-deleted.patch
+Patch78:        virtinst-pvgrub2-bootloader.patch
+Patch79:        virtinst-nfs-install-sanitize.patch
 # Features or Enhancements
 Patch100:       virtman-eepro100.patch
 Patch101:       virtman-default-guest-from-host-os.patch
@@ -57,11 +56,9 @@
 Patch104:       virtman-packages.patch
 Patch105:       virtman-load-stored-uris.patch
 Patch106:       virtman-add-s390x-arch-support.patch
-Patch107:       virtman-default-lxc-uri.patch
-Patch108:       virtman-add-connect-default.patch
+Patch107:       virtman-add-connect-default.patch
 Patch120:       virtinst-storage-ocfs2.patch
-Patch121:       virtinst-supported-disk-formats.patch
-Patch122:       virtinst-support-suse-distros.patch
+Patch121:       virtinst-default-xen-to-qcow2-format.patch
 Patch123:       virtinst-detect-suse-distros.patch
 Patch124:       virtinst-modify-gui-defaults.patch
 Patch125:       virtinst-vol-default-nocow.patch
@@ -69,22 +66,16 @@
 Patch127:       virtinst-set-cache-mode-unsafe-for-install.patch
 Patch128:       virtinst-add-default-rng-device.patch
 Patch129:       virtinst-set-qemu-emulator.patch
-Patch130:       virtinst-ppc64le.patch
 # Bug Fixes
 Patch150:       virtman-supported-disk-formats.patch
 Patch151:       virtman-prevent-double-click-starting-vm-twice.patch
-Patch152:       virtman-check-for-empty-network-name.patch
-Patch153:       virtman-increase-setKeepAlive-count.patch
-Patch154:       virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch
-Patch155:       virtman-sync-vm-startup-for-cpu-usage.patch
-Patch156:       virtman-check-for-valid-display.patch
-Patch157:       virtinst-xen-drive-type.patch
-Patch158:       virtinst-xenbus-disk-index-fix.patch
-Patch159:       virtinst-refresh_before_fetch_pool.patch
-Patch160:       virtinst-ignore-error-403-on-directories.patch
-Patch161:       virt-manager-Gtk-30.patch
-Patch162:       activate-default-console.patch
-Patch163:       virtman-allow-creating-i686-vm.patch
+Patch152:       virtman-increase-setKeepAlive-count.patch
+Patch153:       virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch
+Patch154:       virtman-check-for-valid-display.patch
+Patch155:       virtman-allow-creating-i686-vm.patch
+Patch160:       virtinst-xen-drive-type.patch
+Patch161:       virtinst-xenbus-disk-index-fix.patch
+Patch162:       virtinst-refresh_before_fetch_pool.patch
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
@@ -112,7 +103,9 @@
 %endif
 
 BuildRequires:  glib2-devel
+%if 0%{?suse_version} > 1320
 BuildRequires:  gobject-introspection
+%endif
 BuildRequires:  intltool
 BuildRequires:  perl
 BuildRequires:  python
@@ -161,8 +154,8 @@
 
 %prep
 %setup -q
+# Upstream Patches
 # SUSE Only
-%patch1 -p1
 %patch70 -p1
 %patch71 -p1
 %patch72 -p1
@@ -173,7 +166,6 @@
 %patch77 -p1
 %patch78 -p1
 %patch79 -p1
-%patch80 -p1
 # Enhancements
 %patch100 -p1
 %patch101 -p1
@@ -183,10 +175,8 @@
 %patch105 -p1
 %patch106 -p1
 %patch107 -p1
-%patch108 -p1
 %patch120 -p1
 %patch121 -p1
-%patch122 -p1
 %patch123 -p1
 %patch124 -p1
 %patch125 -p1
@@ -194,7 +184,6 @@
 %patch127 -p1
 %patch128 -p1
 %patch129 -p1
-%patch130 -p1
 # Bug Fixes
 %patch150 -p1
 %patch151 -p1
@@ -202,14 +191,9 @@
 %patch153 -p1
 %patch154 -p1
 %patch155 -p1
-%patch156 -p1
-%patch157 -p1
-%patch158 -p1
-%patch159 -p1
 %patch160 -p1
 %patch161 -p1
 %patch162 -p1
-%patch163 -p1
 
 %build
 %if %{qemu_user}
@@ -238,7 +222,6 @@
 
 python setup.py configure \
     --prefix=%{_prefix} \
-    --pkgversion="%{version}" \
     --default-graphics="spice" \
     %{?_qemu_user} \
     %{?_kvm_packages} \
@@ -296,6 +279,7 @@
 %{_datadir}/appdata/%{name}.appdata.xml
 %{_datadir}/applications/%{name}.desktop
 %{_datadir}/glib-2.0/schemas/org.virt-manager.virt-manager.gschema.xml
+%{_datadir}/GConf/gsettings/org.virt-manager.virt-manager.convert
 
 %files common -f %{name}.lang
 %defattr(-,root,root,-)
@@ -316,8 +300,12 @@
 %{_datadir}/%{name}/virt-clone
 %{_datadir}/%{name}/virt-convert
 %{_datadir}/%{name}/virt-xml
-%dir %{_datadir}/*
-%dir %{_datadir}/*/*
+%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
 %{_datadir}/applications/YaST2/virt-install.desktop
 

++++++ virt-manager-1.1.0.tar.bz2 -> virt-manager-1.2.0.tar.bz2 ++++++
++++ 365101 lines of diff (skipped)

++++++ virtinst-add-default-rng-device.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,26 +1,34 @@
-bnc#885308
-
+References: bnc#885308
+Enhancement to add a virtio RNG device to non windows VMs.
 Index: virt-manager-1.1.0/virtinst/guest.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtinst/guest.py
 +++ virt-manager-1.1.0/virtinst/guest.py
-@@ -638,6 +638,15 @@ class Guest(XMLBuilder):
+@@ -53,6 +53,7 @@ from .pm import PM
+ from .seclabel import Seclabel
+ from .xmlbuilder import XMLBuilder, XMLProperty, XMLChildProperty
+ from .devicedisk import VirtualDisk
++from .devicerng import VirtualRNGDevice
+ 
+ 
+ class Guest(XMLBuilder):
+@@ -681,6 +682,15 @@ class Guest(XMLBuilder):
              return
-         self.add_device(virtinst.VirtualGraphics(self.conn))
+         self.add_device(VirtualGraphics(self.conn))
  
 +    def add_default_rng(self):
 +        osvar = self._get_os_variant()
 +        if not self.conn.is_qemu() or not osvar or osvar.startswith("win"):
 +            return
-+        rng_dev = virtinst.VirtualRNGDevice(True)
-+        rng_dev.type = virtinst.VirtualRNGDevice.TYPE_RANDOM
++        rng_dev = VirtualRNGDevice(True)
++        rng_dev.type = VirtualRNGDevice.TYPE_RANDOM
 +        setattr(rng_dev, "device", "/dev/random")
 +        self.add_device(rng_dev)
 +
      def add_default_devices(self):
          self.add_default_graphics()
          self.add_default_video_device()
-@@ -645,6 +654,7 @@ class Guest(XMLBuilder):
+@@ -688,6 +698,7 @@ class Guest(XMLBuilder):
          self.add_default_console_device()
          self.add_default_usb_controller()
          self.add_default_channels()

++++++ virtinst-default-xen-to-qcow2-format.patch ++++++
Reference: bnc#885380
Allow Xen based VMs to default to using qcow2
Index: virt-manager-1.1.0/virtinst/support.py
===================================================================
--- virt-manager-1.1.0.orig/virtinst/support.py
+++ virt-manager-1.1.0/virtinst/support.py
@@ -258,7 +258,7 @@ SUPPORT_CONN_DISK_SD = _make(version="1.
 # 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})
++++++ virtinst-detect-suse-distros.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,8 +1,10 @@
+Enhancement to correctly detect SUSE media when such media is
+selected as the installation source.
 Index: virt-manager-1.1.0/virtinst/urlfetcher.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtinst/urlfetcher.py
 +++ virt-manager-1.1.0/virtinst/urlfetcher.py
-@@ -323,6 +323,89 @@ def _distroFromTreeinfo(fetcher, arch, v
+@@ -318,6 +318,94 @@ def _distroFromTreeinfo(fetcher, arch, v
  
      return ob
  
@@ -44,6 +46,8 @@
 +            distro_arch = line.split(' ', 1)
 +        elif line.startswith("DEFAULTBASE "):
 +            distro_arch = line.split(' ', 1)
++        elif line.startswith("REPOID "):
++            distro_arch = line.rsplit('/', 1)
 +        if distribution and distro_version and distro_arch:
 +            break
 +
@@ -76,7 +80,10 @@
 +        elif re.match(".*openSUSE.*", distribution[1]):
 +            dclass = OpensuseDistro
 +            if distro_version is None:
-+                distro_version = ['VERSION', '13.1']
++                distro_version = ['VERSION', 
distribution[0].strip().rsplit(':')[4]]
++                # For tumbleweed we only have an 8 character date string so 
default to 13.2
++                if distro_version[1] and len(distro_version[1]) == 8:
++                    distro_version = ['VERSION', '13.2']
 +
 +    if distro_version is None:
 +        return None
@@ -92,7 +99,7 @@
  
  def getDistroStore(guest, fetcher):
      stores = []
-@@ -339,6 +422,10 @@ def getDistroStore(guest, fetcher):
+@@ -334,6 +422,10 @@ def getDistroStore(guest, fetcher):
      if dist:
          return dist
  
@@ -103,7 +110,31 @@
      stores = _allstores[:]
  
      # If user manually specified an os_distro, bump it's URL class
-@@ -821,29 +908,59 @@ class SLDistro(RHELDistro):
+@@ -375,6 +467,23 @@ def getDistroStore(guest, fetcher):
+           (fetcher.location, extramsg)))
+ 
+ 
++def detectMediaDistro(guest, location):
++    """
++    Attempt to detect the os type + variant for the passed location
++    """
++    import urlgrabber
++    meter = urlgrabber.progress.BaseMeter()
++    scratchdir = "/var/tmp"
++    fetcher = fetcherForURI(location, scratchdir, meter)
++
++    try:
++        fetcher.prepareLocation()
++        store = getDistroStore(guest, fetcher)
++        return store.get_osdict_info()
++    finally:
++        fetcher.cleanupLocation()
++
++
+ ##################
+ # Distro classes #
+ ##################
+@@ -832,29 +941,64 @@ class SLDistro(RHELDistro):
  
  class SuseDistro(Distro):
      name = "SUSE"
@@ -131,10 +162,12 @@
 +            oldkern += "64"
 +            oldinit += "64"
 +
-+        if self.arch == "s390x":
++        if self.arch == "s390x" or \
++           self.arch == "ppc64" or self.arch == "ppc64le":
++
 +            self._hvm_kernel_paths = [ ("boot/%s/linux" % self.arch,
 +                                        "boot/%s/initrd" % self.arch) ]
-+            # No Xen on s390x
++            # No Xen on s390x and ppc
 +            self._xen_kernel_paths = []
 +        else:
 +            # Tested with Opensuse >= 10.2, 11, and sles 10
@@ -152,10 +185,13 @@
 +        # self.content is the VERSION line from the contents file
 +        if self.content is None or self.content[1] is None:
 +            return False
-+        distro_version = self.content[1]
++        distro_version = self.content[1].strip()
 +        version = distro_version.split('.', 1)[0].strip()
 +        if int(version) >= 10:
-+            self.os_variant += version
++            if self.os_variant.startswith("sles"):
++                self.os_variant += version
++            else:
++                self.os_variant += distro_version
 +        else:
 +            self.os_variant += "9"
 +
@@ -172,7 +208,7 @@
          return True
  
      def _get_method_arg(self):
-@@ -863,6 +980,27 @@ class SuseDistro(Distro):
+@@ -874,6 +1018,27 @@ class SuseDistro(Distro):
                  return osobj.name
          return self.os_variant
  
@@ -200,3 +236,18 @@
  
  class DebianDistro(Distro):
      # ex. http://ftp.egr.msu.edu/debian/dists/sarge/main/installer-i386/
+Index: virt-manager-1.1.0/virtinst/distroinstaller.py
+===================================================================
+--- virt-manager-1.1.0.orig/virtinst/distroinstaller.py
++++ virt-manager-1.1.0/virtinst/distroinstaller.py
+@@ -505,6 +505,10 @@ class DistroInstaller(Installer):
+                     "remote connection.")
+             else:
+                 distro = OSDB.lookup_os_by_media(self.location)
++            # libosinfo relies on treeinfo to detect media which suse
++            # doesn't have. Fallback to url method for detecting ISO media.
++            if distro is None:
++                distro = urlfetcher.detectMediaDistro(guest, self.location)
+         except:
+             logging.debug("Error attempting to detect distro.", exc_info=True)
+ 

++++++ virtinst-detect-windows-media.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,3 +1,6 @@
+Enhancement to detect windows media. It is based solely upon
+finding an autorun.inf file in the root of the installation source.
+It only assumes windows, not the specific version of windows.
 Index: virt-manager-1.1.0/virtinst/urlfetcher.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtinst/urlfetcher.py
@@ -38,34 +41,17 @@
      stores = _allstores[:]
  
      # If user manually specified an os_distro, bump it's URL class
-@@ -1161,6 +1183,13 @@ class ALTLinuxDistro(Distro):
+@@ -1204,6 +1226,13 @@ class ALTLinuxDistro(Distro):
          logging.debug("Regex didn't match, not a %s distro", self.name)
          return False
  
 +class WindowsDistro(Distro):
 +
 +    urldistro = "windows"
-+    os_variant = "win-unknown"
++    os_variant = "win8.1"
 +
 +    def isValidStore(self):
 +        return False
  
  # Build list of all *Distro classes
  def _build_distro_list():
-Index: virt-manager-1.1.0/virtinst/osdict.py
-===================================================================
---- virt-manager-1.1.0.orig/virtinst/osdict.py
-+++ virt-manager-1.1.0/virtinst/osdict.py
-@@ -543,6 +543,12 @@ _add_var("oes11", "Novell Open Enterpris
- _add_var("rear", "Relax and Recover", supported=True, virtiodisk=True, 
virtionet=True, parent="sles11")
- _add_var("netware6", "Novell Netware 6 (or later)", supported=True, 
parent="other")
- 
-+_add_var("win2k8", "Microsoft Windows Server 2008", supported=True, 
sortby="mswinserv2008", parent="windows")
-+_add_var("win2k12", "Microsoft Windows Server 2012 (or later)", 
supported=True, sortby="mswinserv2012", parent="windows")
-+_add_var("win7", "Microsoft Windows 7", supported=True, sortby="mswin7", 
parent="windows")
-+_add_var("win8", "Microsoft Windows 8 (or later)", supported=True, 
sortby="mswin8", parent="windows")
-+_add_var("win-unknown", "Microsoft Windows Unknown Version", supported=True, 
sortby="mswin", parent="windows")
-+
- 
- _os_data_loaded = False
- _os_loader = None

++++++ virtinst-modify-gui-defaults.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,12 +1,18 @@
+Enhancement for the following GUI wizard installation options.
+1) If Xen, leave 'Architecture options' expanded so users know PV
+is the default
+2) Under 'Network selection' default to a bridge that has an actual
+IP address if available (not just the first one found).
 Index: virt-manager-1.1.0/virtManager/create.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtManager/create.py
 +++ virt-manager-1.1.0/virtManager/create.py
-@@ -342,7 +342,18 @@ class vmmCreate(vmmGObjectUI):
+@@ -331,7 +331,19 @@ class vmmCreate(vmmGObjectUI):
          self.widget("method-local").set_active(True)
          self.widget("create-conn").set_active(-1)
          activeconn = self.populate_conn_list(urihint)
 -        self.widget("arch-expander").set_expanded(False)
++        # For Xen have the expander open so users can see PV is the default
 +        if activeconn and activeconn.is_xen():
 +            self.widget("arch-expander").set_expanded(True)
 +        else:
@@ -46,7 +52,7 @@
          skip_ifaces = ["lo"]
  
          vnet_taps = []
-@@ -228,10 +238,18 @@ class vmmNetworkList(vmmGObjectUI):
+@@ -229,10 +239,18 @@ class vmmNetworkList(vmmGObjectUI):
              if can_default and not default_label:
                  default_label = label
  

++++++ virtinst-nfs-install-sanitize.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,10 +1,15 @@
-bnc#888251
-
+Reference: bnc#888251
+A fix for accessing nfs mounted media. A comment in the code states,
+  "Convert RFC compliant NFS      nfs://server/path/to/distro
+   to what mount/anaconda expect  nfs:server:/path/to/distro
+   and carry the latter form around internally"
+We need the RFC version to work correctly whereas redhat's anaconda
+needs their own modified version.
 Index: virt-manager-1.1.0/virtinst/util.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtinst/util.py
 +++ virt-manager-1.1.0/virtinst/util.py
-@@ -612,3 +612,22 @@ def getInstallRepos(enabled_sources_only
+@@ -557,3 +557,22 @@ def getInstallRepos(enabled_sources_only
          zypper_output.insert(0, dom0_inst_source)
      return (index_dom0, zypper_output)
  
@@ -47,12 +52,12 @@
 @@ -33,6 +33,7 @@ import urlparse
  import urlgrabber.grabber as grabber
  
- from virtinst import osdict
+ from .osdict import OSDB
 +from virtinst import util
  
  
  #########################################################################
-@@ -223,7 +224,8 @@ class _MountedImageFetcher(_LocalImageFe
+@@ -218,7 +219,8 @@ class _MountedImageFetcher(_LocalImageFe
  
          logging.debug("Preparing mount at " + self.srcdir)
          if self.location.startswith("nfs:"):

++++++ virtinst-pvgrub2-bootloader.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,8 +1,12 @@
+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.1.0/virtinst/guest.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtinst/guest.py
 +++ virt-manager-1.1.0/virtinst/guest.py
-@@ -350,8 +350,18 @@ class Guest(XMLBuilder):
+@@ -364,8 +364,18 @@ class Guest(XMLBuilder):
          if (not install and
              self.os.is_xenpv() and
              not self.os.kernel):
@@ -15,7 +19,7 @@
 +                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, self.os, True)
++                self.installer.alter_bootconfig(self, True, True)
 +                logging.info("Using grub.xen to boot guest")
 +            else:
 +                self.bootloader = "/usr/bin/pygrub"
@@ -27,16 +31,16 @@
 ===================================================================
 --- virt-manager-1.1.0.orig/virtinst/installer.py
 +++ virt-manager-1.1.0/virtinst/installer.py
-@@ -111,7 +111,7 @@ class Installer(object):
+@@ -112,7 +112,7 @@ class Installer(object):
          dev.validate()
          return dev
  
--    def alter_bootconfig(self, guest, isinstall, bootconfig):
-+    def alter_bootconfig(self, guest, isinstall, bootconfig, 
force_update=False):
+-    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)
-@@ -122,7 +122,7 @@ class Installer(object):
+@@ -123,7 +123,7 @@ class Installer(object):
                            'post-install' phase.
          @type isinstall: C{bool}
          """

++++++ virtinst-refresh_before_fetch_pool.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,3 +1,4 @@
+Reference: bnc#887868
 Refresh pools status before fetch_pools.
 
 Currently, when connecting to hypervisor, if there are pools active
@@ -16,7 +17,7 @@
 ===================================================================
 --- virt-manager-1.1.0.orig/virtinst/pollhelpers.py
 +++ virt-manager-1.1.0/virtinst/pollhelpers.py
-@@ -133,6 +133,19 @@ def fetch_pools(backend, origmap, build_
+@@ -132,6 +132,19 @@ def fetch_pools(backend, origmap, build_
  
      if backend.check_support(
          backend.SUPPORT_CONN_LISTALLSTORAGEPOOLS) and not _force_old_poll:

++++++ virtinst-set-cache-mode-unsafe-for-install.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,19 +1,21 @@
+Set cache mode for target installation disk to unsafe for better
+performance.
 Index: virt-manager-1.1.0/virtinst/guest.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtinst/guest.py
 +++ virt-manager-1.1.0/virtinst/guest.py
-@@ -31,6 +31,7 @@ from virtinst import util
- from virtinst import support
- from virtinst import OSXML
- from virtinst import VirtualDevice
-+from virtinst import VirtualDisk
- from virtinst import Clock
- from virtinst import Seclabel
- from virtinst import CPU
-@@ -348,6 +349,13 @@ class Guest(XMLBuilder):
-         self.on_crash = action
+@@ -52,6 +52,7 @@ from .osxml import OSXML
+ from .pm import PM
+ from .seclabel import Seclabel
+ from .xmlbuilder import XMLBuilder, XMLProperty, XMLChildProperty
++from .devicedisk import VirtualDisk
+ 
+ 
+ class Guest(XMLBuilder):
+@@ -363,6 +364,14 @@ class Guest(XMLBuilder):
+             dev.set_defaults(self)
+         self._set_disk_defaults(disks=self._install_devices)
  
-         self._set_defaults()
 +        # At install time set the target disk to 'unsafe' for
 +        # better performance if the target is not a block device
 +        if install:
@@ -21,10 +23,11 @@
 +            saved_cache = target_disk.driver_cache
 +            if target_disk.type != VirtualDisk.TYPE_BLOCK:
 +                target_disk.driver_cache = VirtualDisk.CACHE_MODE_UNSAFE
- 
++
          self.bootloader = None
          if (not install and
-@@ -366,7 +374,10 @@ class Guest(XMLBuilder):
+             self.os.is_xenpv() and
+@@ -380,7 +389,10 @@ class Guest(XMLBuilder):
                  self.bootloader = "/usr/bin/pygrub"
                  self.os.clear()
  
@@ -34,5 +37,5 @@
 +            target_disk.driver_cache = saved_cache
 +        return xml_config
  
-     def get_continue_inst(self):
-         """
+ 
+     ##############

++++++ virtinst-set-qemu-emulator.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,7 +1,8 @@
-Index: virt-manager-1.1.0/virtinst/guest.py
+Use the correct qemu emulator based on the architecture.
+Index: virt-manager-1.2.0/virtinst/guest.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtinst/guest.py
-+++ virt-manager-1.1.0/virtinst/guest.py
+--- virt-manager-1.2.0.orig/virtinst/guest.py
++++ virt-manager-1.2.0/virtinst/guest.py
 @@ -19,6 +19,7 @@
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  # MA 02110-1301 USA.
@@ -10,7 +11,7 @@
  import logging
  
  import urlgrabber.progress as progress
-@@ -769,14 +770,26 @@ class Guest(XMLBuilder):
+@@ -815,14 +816,28 @@ class Guest(XMLBuilder):
              self.emulator = None
              return
  
@@ -18,6 +19,8 @@
 +        if self.conn.is_qemu():
 +            if self.os.arch == "s390x":
 +                preferred_emulator = "/usr/bin/qemu-system-s390x"
++            elif self.os.arch == "ppc64" or self.os.arch == "ppc64le":
++                preferred_emulator = "/usr/bin/qemu-system-ppc64"
 +            else:
 +                preferred_emulator = "/usr/bin/qemu-system-x86_64"
 +        elif self.conn.is_lxc():

++++++ virtinst-storage-ocfs2.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,8 +1,9 @@
-Index: virt-manager-1.1.0/virtinst/storage.py
+Enhancement to add ocfs2 as a supported FS type
+Index: virt-manager-1.2.0/virtinst/storage.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtinst/storage.py
-+++ virt-manager-1.1.0/virtinst/storage.py
-@@ -405,7 +405,7 @@ class StoragePool(_StorageObject):
+--- virt-manager-1.2.0.orig/virtinst/storage.py
++++ virt-manager-1.2.0/virtinst/storage.py
+@@ -436,7 +436,7 @@ class StoragePool(_StorageObject):
      def list_formats(self):
          if self.type == self.TYPE_FS:
              return ["auto", "ext2", "ext3", "ext4", "ufs", "iso9660", "udf",

++++++ virtinst-vol-default-nocow.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,13 +1,14 @@
+Reference: fate#315125:
 Set NOCOW flag to newly created volume by default, to solve performance
 issue on btrfs.
 
 Signed-off-by: Chunyan Liu <cy...@suse.com>
 
-Index: virt-manager-1.1.0/virtinst/storage.py
+Index: virt-manager-1.2.0/virtinst/storage.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtinst/storage.py
-+++ virt-manager-1.1.0/virtinst/storage.py
-@@ -658,6 +658,11 @@ class StorageVolume(_StorageObject):
+--- virt-manager-1.2.0.orig/virtinst/storage.py
++++ virt-manager-1.2.0/virtinst/storage.py
+@@ -705,6 +705,11 @@ class StorageVolume(_StorageObject):
      lazy_refcounts = XMLProperty("./target/features/lazy_refcounts",
          is_bool=True, default_cb=_lazy_refcounts_default_cb)
  

++++++ virtinst-xen-drive-type.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,10 +1,12 @@
 Reference: bnc#813082
+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.1.0/virtinst/devicedisk.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtinst/devicedisk.py
 +++ virt-manager-1.1.0/virtinst/devicedisk.py
-@@ -562,6 +562,12 @@ class VirtualDisk(VirtualDevice):
+@@ -572,6 +572,12 @@ class VirtualDisk(VirtualDevice):
              return None
          if self.conn.is_qemu():
              return self.DRIVER_QEMU
@@ -17,7 +19,7 @@
          return None
  
      def _get_default_driver_type(self):
-@@ -575,6 +581,8 @@ class VirtualDisk(VirtualDevice):
+@@ -585,6 +591,8 @@ class VirtualDisk(VirtualDevice):
          http://lists.gnu.org/archive/html/qemu-devel/2008-04/msg00675.html
          """
          if self.driver_name != self.DRIVER_QEMU:
@@ -25,4 +27,4 @@
 +                return self.type
              return None
  
-         if self._storage_creator:
+         drvtype = self._storage_backend.get_driver_type()

++++++ virtinst-xenbus-disk-index-fix.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,10 +1,16 @@
-bnc#872789
+Reference: bnc#872789
+This is an indexing problem created by virt-manager.  It knows not
+to add two IDE disks of the same name (eg, 'hda' twice) or two Xen
+disks of the same name (eg, 'xvda' twice) but with the different bus
+types (ide vs xen) it added xvda with hda.  These disks were then
+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.1.0/virtinst/devicedisk.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtinst/devicedisk.py
 +++ virt-manager-1.1.0/virtinst/devicedisk.py
-@@ -936,6 +936,17 @@ class VirtualDisk(VirtualDevice):
+@@ -1012,6 +1012,17 @@ class VirtualDisk(VirtualDevice):
          @rtype C{str}
          """
          prefix, maxnode = self.get_target_prefix(skip_targets)
@@ -22,7 +28,7 @@
          skip_targets = [t for t in skip_targets if t and t.startswith(prefix)]
          skip_targets.sort()
  
-@@ -949,7 +960,12 @@ class VirtualDisk(VirtualDevice):
+@@ -1025,7 +1036,12 @@ class VirtualDisk(VirtualDevice):
                  ran = range(pref_ctrl * 7, (pref_ctrl + 1) * 7)
  
              for i in ran:

++++++ virtman-add-connect-default.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,3 +1,5 @@
+Enhancement for when no hypervisor can be found locally it opens
+the new connection dialog.
 Index: virt-manager-1.1.0/virtManager/engine.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtManager/engine.py

++++++ virtman-add-s390x-arch-support.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,43 +1,45 @@
-Index: virt-manager-1.1.0/virtManager/create.py
+Reference: bnc#869024
+Add s390x support
+Index: virt-manager-1.2.0/virtManager/create.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtManager/create.py
-+++ virt-manager-1.1.0/virtManager/create.py
-@@ -428,7 +428,7 @@ class vmmCreate(vmmGObjectUI):
+--- virt-manager-1.2.0.orig/virtManager/create.py
++++ virt-manager-1.2.0/virtManager/create.py
+@@ -417,7 +417,7 @@ class vmmCreate(vmmGObjectUI):
          can_remote_url = self.conn.get_backend().support_remote_url_install()
  
-         installable_arch = (self.capsguest.arch in
--                            ["i686", "x86_64", "ppc64", "ia64"])
-+                            ["i686", "x86_64", "ppc64", "ia64", "s390x"])
- 
-         # Install Options
-         method_tree = self.widget("method-tree")
-@@ -690,7 +690,7 @@ class vmmCreate(vmmGObjectUI):
+         installable_arch = (self.capsinfo.arch in
+-            ["i686", "x86_64", "ppc64", "ppc64le", "ia64"])
++            ["i686", "x86_64", "ppc64", "ppc64le", "ia64", "s390x"])
+ 
+         if self.capsinfo.arch == "aarch64":
+             try:
+@@ -684,7 +684,7 @@ class vmmCreate(vmmGObjectUI):
              archs.remove("i686")
          archs.sort()
  
--        prios = ["x86_64", "i686", "armv7l", "ppc64"]
-+        prios = ["x86_64", "i686", "armv7l", "ppc64", "s390x"]
+-        prios = ["x86_64", "i686", "aarch64", "armv7l", "ppc64", "ppc64le"]
++        prios = ["x86_64", "i686", "aarch64", "armv7l", "ppc64", "ppc64le", 
"s390x"]
          if self.conn.caps.host.cpu.arch not in prios:
              prios = []
          else:
-Index: virt-manager-1.1.0/virtinst/osxml.py
+Index: virt-manager-1.2.0/virtinst/osxml.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtinst/osxml.py
-+++ virt-manager-1.1.0/virtinst/osxml.py
-@@ -58,6 +58,8 @@ class OSXML(XMLBuilder):
-         return self.arch == "ppc64"
+--- virt-manager-1.2.0.orig/virtinst/osxml.py
++++ virt-manager-1.2.0/virtinst/osxml.py
+@@ -70,6 +70,8 @@ class OSXML(XMLBuilder):
+         return self.arch == "ppc64" or self.arch == "ppc64le"
      def is_pseries(self):
-         return self.is_ppc64 and self.machine == "pseries"
+         return self.is_ppc64() and self.machine == "pseries"
 +    def is_s390x(self):
 +        return self.arch == "s390x"
  
      _XML_ROOT_NAME = "os"
-     _XML_PROP_ORDER = ["arch", "os_type", "loader",
-Index: virt-manager-1.1.0/virtinst/guest.py
+     _XML_PROP_ORDER = ["arch", "os_type", "loader", "loader_ro", 
"loader_type",
+Index: virt-manager-1.2.0/virtinst/guest.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtinst/guest.py
-+++ virt-manager-1.1.0/virtinst/guest.py
-@@ -112,7 +112,10 @@ class Guest(XMLBuilder):
+--- virt-manager-1.2.0.orig/virtinst/guest.py
++++ virt-manager-1.2.0/virtinst/guest.py
+@@ -119,7 +119,10 @@ class Guest(XMLBuilder):
          self.skip_default_channel = False
          self.skip_default_sound = False
          self.skip_default_usbredir = False
@@ -48,8 +50,8 @@
 +            self.skip_default_graphics = False
          self.x86_cpu_default = self.cpu.SPECIAL_MODE_HOST_MODEL_ONLY
  
-         self._os_variant = None
-@@ -569,11 +572,13 @@ class Guest(XMLBuilder):
+         self.__os_object = None
+@@ -611,11 +614,13 @@ class Guest(XMLBuilder):
              self.conn.check_support(
              self.conn.SUPPORT_CONN_VIRTIO_CONSOLE)):
              dev.target_type = "virtio"
@@ -64,21 +66,21 @@
              return
          if self.get_devices("video"):
              return
-@@ -618,7 +623,7 @@ class Guest(XMLBuilder):
+@@ -660,7 +665,7 @@ class Guest(XMLBuilder):
              return
          if self.os.is_container():
              return
--        if self.os.arch not in ["x86_64", "i686", "ppc64", "ia64"]:
-+        if self.os.arch not in ["x86_64", "i686", "ppc64", "ia64", "s390x"]:
+-        if self.os.arch not in ["x86_64", "i686", "ppc64", "ppc64le", "ia64"]:
++        if self.os.arch not in ["x86_64", "i686", "ppc64", "ppc64le", "ia64", 
"s390x"]:
              return
-         self.add_device(virtinst.VirtualGraphics(self.conn))
+         self.add_device(VirtualGraphics(self.conn))
  
-@@ -844,7 +849,7 @@ class Guest(XMLBuilder):
-         if not self._lookup_osdict_key(key, False):
-             return False
+@@ -948,7 +953,7 @@ class Guest(XMLBuilder):
+         if self._hv_only_supports_virtio():
+             return True
  
 -        if self.os.is_x86():
 +        if self.os.is_x86() or self.os.is_s390x():
              return True
+ 
          if (self.os.is_arm_vexpress() and
-             self.os.dtb and

++++++ virtman-allow-creating-i686-vm.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,10 +1,13 @@
+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.1.0/virtManager/create.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtManager/create.py
 +++ virt-manager-1.1.0/virtManager/create.py
-@@ -694,11 +694,6 @@ class vmmCreate(vmmGObjectUI):
+@@ -689,11 +689,6 @@ class vmmCreate(vmmGObjectUI):
          for guest in self.conn.caps.guests:
-             if guest.os_type == self.capsguest.os_type:
+             if guest.os_type == self.capsinfo.os_type:
                  archs.append(guest.arch)
 -
 -        # Combine x86/i686 to avoid confusion
@@ -13,4 +16,4 @@
 -            archs.remove("i686")
          archs.sort()
  
-         prios = ["x86_64", "i686", "armv7l", "ppc64", "s390x"]
+         prios = ["x86_64", "i686", "aarch64", "armv7l", "ppc64", "ppc64le", 
"s390x"]

++++++ virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,9 +1,16 @@
-bnc#875111
+Reference: bnc#875111
+Steps to get a KVM VM in the crashed state:
+1) Install a sles12 KVM VM
+2) Manually edit the XML and add/modify <on_crash>preserve</on_crash>
+3) In virt-manager add the panic device (Details->Add Hardware)
+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.1.0/virtManager/manager.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtManager/manager.py
 +++ virt-manager-1.1.0/virtManager/manager.py
-@@ -921,7 +921,7 @@ class vmmManager(vmmGObjectUI):
+@@ -864,7 +864,7 @@ class vmmManager(vmmGObjectUI):
              show_pause = bool(vm and vm.is_unpauseable())
          else:
              show_pause = bool(vm and vm.is_pauseable())
@@ -11,7 +18,7 @@
 +        show_shutdown = bool(vm and vm.is_destroyable())
  
          if vm and vm.managedsave_supported:
-             self.change_run_text(vm.hasSavedImage())
+             self.change_run_text(vm.has_managed_save())
 Index: virt-manager-1.1.0/virtManager/vmmenu.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtManager/vmmenu.py
@@ -38,9 +45,9 @@
                  child.set_sensitive(statemap[name])
 +                child.set_visible(statemap[name])
  
- 
- class VMActionMenu(_VMMenu):
-@@ -122,7 +125,8 @@ class VMActionMenu(_VMMenu):
+             if name == "reset":
+                 child.set_tooltip_text(None)
+@@ -130,7 +133,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)
@@ -50,7 +57,7 @@
  
          self.add(Gtk.SeparatorMenuItem())
          self._add_action(_("Clone..."), "clone", None)
-@@ -138,7 +142,7 @@ class VMActionMenu(_VMMenu):
+@@ -146,7 +150,7 @@ class VMActionMenu(_VMMenu):
      def update_widget_states(self, vm):
          statemap = {
              "run": bool(vm and vm.is_runable()),
@@ -59,8 +66,8 @@
              "suspend": bool(vm and vm.is_stoppable()),
              "resume": bool(vm and vm.is_paused()),
              "migrate": bool(vm and vm.is_stoppable()),
-@@ -155,6 +159,8 @@ class VMActionMenu(_VMMenu):
-                 child.update_widget_states(vm)
+@@ -163,6 +167,8 @@ class VMActionMenu(_VMMenu):
+                 child.get_submenu().update_widget_states(vm)
              if name in statemap:
                  child.set_sensitive(statemap[name])
 +                if name == "shutdown" and self._shutdown:

++++++ virtman-autoyast-support.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,10 +1,12 @@
+Enhancement to switch the label from 'Kickstart' to 'Autoyast' when
+a suse distro is selected.
 Index: virt-manager-1.1.0/virtManager/create.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtManager/create.py
 +++ virt-manager-1.1.0/virtManager/create.py
-@@ -1265,11 +1265,34 @@ class vmmCreate(vmmGObjectUI):
-         if self.widget("install-os-version").get_visible():
-             self.widget("install-os-version-entry").grab_focus()
+@@ -1242,11 +1242,34 @@ class vmmCreate(vmmGObjectUI):
+                 self.populate_os_type_model()
+                 return
  
 +    def _update_kickstart_label(self):
 +        # Update label based on os version selected to either kickstart or 
autoyast
@@ -34,10 +36,10 @@
  
 +        self._update_kickstart_label()
 +
-         # Get previous
+         # 'show all OS' was clicked
+         # Get previous type to reselect it later
          type_row = self._selected_os_row()
-         if not type_row:
-@@ -1634,7 +1657,10 @@ class vmmCreate(vmmGObjectUI):
+@@ -1611,7 +1634,10 @@ class vmmCreate(vmmGObjectUI):
              if extra:
                  extraargs += extra
              if ks:
@@ -49,7 +51,7 @@
  
              if extraargs:
                  self.guest.installer.extraargs = extraargs
-@@ -2042,6 +2068,7 @@ class vmmCreate(vmmGObjectUI):
+@@ -2053,6 +2079,7 @@ class vmmCreate(vmmGObjectUI):
          dl = self.set_os_val(self.widget("install-os-type"), distro_type)
          vl = self.set_os_val(self.widget("install-os-version"), distro_var)
          self.set_distro_labels(dl, vl)
@@ -61,7 +63,7 @@
 ===================================================================
 --- virt-manager-1.1.0.orig/ui/create.ui
 +++ virt-manager-1.1.0/ui/create.ui
-@@ -841,7 +841,7 @@ bar</property>
+@@ -843,7 +843,7 @@ bar</property>
                                                          <property 
name="column_spacing">6</property>
                                                          <property 
name="row_spacing">4</property>
                                                          <child>
@@ -69,4 +71,4 @@
 +                                                          <object 
class="GtkLabel" id="kickstart-url-label">
                                                              <property 
name="visible">True</property>
                                                              <property 
name="can_focus">False</property>
-                                                             <property 
name="xalign">0</property>
+                                                             <property 
name="label" translatable="yes">Kickstart URL:</property>

++++++ virtman-check-for-valid-display.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,6 +1,10 @@
---- virt-manager-1.1.0/virt-manager.orig       2014-12-02 12:08:47.000000000 
-0700
-+++ virt-manager-1.1.0/virt-manager    2014-12-02 12:09:20.000000000 -0700
-@@ -175,8 +175,11 @@ def main():
+References: bnc#907958
+Sanity check for those who forget '-X' on ssh and try to start virt-manager
+Index: virt-manager-1.1.0/virt-manager
+===================================================================
+--- virt-manager-1.1.0.orig/virt-manager
++++ virt-manager-1.1.0/virt-manager
+@@ -181,8 +181,11 @@ def main():
          from gi.repository import Gtk
          leftovers = sys.argv[1:]
  

++++++ virtman-default-guest-from-host-os.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,8 +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.1.0/virtManager/create.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtManager/create.py
 +++ virt-manager-1.1.0/virtManager/create.py
-@@ -22,6 +22,8 @@ import traceback
+@@ -21,6 +21,8 @@
  import logging
  import threading
  import time
@@ -11,7 +13,16 @@
  
  from gi.repository import GObject
  from gi.repository import Gtk
-@@ -1175,6 +1177,55 @@ class vmmCreate(vmmGObjectUI):
+@@ -836,7 +838,7 @@ class vmmCreate(vmmGObjectUI):
+         preferred = self.config.preferred_distros
+         variants = virtinst.OSDB.list_os(typename=_type, sortpref=preferred)
+         supportl = virtinst.OSDB.list_os(typename=_type, sortpref=preferred,
+-            only_supported=True)
++            only_supported=False)
+ 
+         for v in variants:
+             supported = v in supportl or v.name == "generic"
+@@ -1158,6 +1160,53 @@ class vmmCreate(vmmGObjectUI):
              return
          self.start_detection(forward=forward)
  
@@ -22,10 +33,12 @@
 +                lines = f.readlines()
 +                f.close()
 +                for line in lines:
-+                    if "openSUSE 13" in line:
-+                        return 'linux', 'opensuse13'
-+                    if "openSUSE 12" in line:
-+                        return 'linux', 'opensuse12'
++                    if "openSUSE " in line:
++                        parts = line.split(' ')
++                        if len(parts) > 2 and len(parts[3]) <= 4:
++                            os_ver = "opensuse" + parts[3]
++                            return 'linux', os_ver
++                        return 'linux', 'opensuse13.2'
 +                    if "SUSE Linux Enterprise Server 12" in line:
 +                        return 'linux', 'sles12'
 +                    if "SUSE Linux Enterprise Desktop 12" in line:
@@ -34,10 +47,6 @@
 +                        return 'linux', 'sles11'
 +                    if "SUSE Linux Enterprise Desktop 11" in line:
 +                        return 'linux', 'sled11'
-+                    if "Fedora" in line:
-+                        return 'linux', 'fedora17'
-+                    if "Red Hat Enterprise Linux Server" in line:
-+                        return 'linux', 'rhel6'
 +        return None, None
 +
 +    def detect_host_os(self):
@@ -67,7 +76,7 @@
      def toggle_detect_os(self, src):
          dodetect = src.get_active()
  
-@@ -1187,6 +1238,8 @@ class vmmCreate(vmmGObjectUI):
+@@ -1170,6 +1219,8 @@ class vmmCreate(vmmGObjectUI):
              self.widget("install-os-version-entry").set_text("")
              self.mediaDetected = False
              self.detect_media_os()

++++++ virtman-default-to-xen-pv.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,8 +1,9 @@
+Enhancement to default to PV instead of HVM on Xen host.
 Index: virt-manager-1.1.0/virtManager/create.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtManager/create.py
 +++ virt-manager-1.1.0/virtManager/create.py
-@@ -884,7 +884,12 @@ class vmmCreate(vmmGObjectUI):
+@@ -860,7 +860,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.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,7 +1,7 @@
-Index: virt-manager-0.10.0/data/virt-manager.desktop.in
+Index: virt-manager-1.1.0/data/virt-manager.desktop.in
 ===================================================================
---- virt-manager-0.10.0.orig/data/virt-manager.desktop.in
-+++ virt-manager-0.10.0/data/virt-manager.desktop.in
+--- virt-manager-1.1.0.orig/data/virt-manager.desktop.in
++++ virt-manager-1.1.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.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,10 +1,11 @@
-bnc#885094
-
+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.1.0/virtManager/delete.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtManager/delete.py
 +++ virt-manager-1.1.0/virtManager/delete.py
-@@ -240,7 +240,7 @@ def populate_storage_list(storage_list,
+@@ -250,7 +250,7 @@ def populate_storage_list(storage_list,
      diskdata.append(("dtb", vm.get_xmlobj().os.dtb, True, False))
  
      for target, path, ro, shared in diskdata:

++++++ virtman-eepro100.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,12 +1,13 @@
-Index: virt-manager-1.1.0/virtManager/addhardware.py
+Enhancement to add the eepro100 NIC for KVM
+Index: virt-manager-1.2.0/virtManager/addhardware.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtManager/addhardware.py
-+++ virt-manager-1.1.0/virtManager/addhardware.py
-@@ -574,6 +574,7 @@ class vmmAddHardware(vmmGObjectUI):
+--- virt-manager-1.2.0.orig/virtManager/addhardware.py
++++ virt-manager-1.2.0/virtManager/addhardware.py
+@@ -582,6 +582,7 @@ class vmmAddHardware(vmmGObjectUI):
          if vm.is_hvm():
-             mod_list = ["rtl8139", "ne2k_pci", "pcnet", "e1000"]
+             mod_list = []
              if vm.get_hv_type() in ["kvm", "qemu", "test"]:
 +                mod_list.append("eepro100")
                  mod_list.append("virtio")
-             if (vm.get_hv_type() == "kvm" and
-                   vm.get_machtype() == "pseries"):
+             mod_list.append("rtl8139")
+             mod_list.append("e1000")

++++++ virtman-increase-setKeepAlive-count.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,14 +1,17 @@
-bnc#892003
+References: bnc#892003
+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.1.0/virtManager/connection.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtManager/connection.py
 +++ virt-manager-1.1.0/virtManager/connection.py
-@@ -1028,7 +1028,7 @@ class vmmConnection(vmmGObject):
-                 self._add_conn_events()
+@@ -903,7 +903,7 @@ class vmmConnection(vmmGObject):
+         self.caps.get_cpu_values("x86_64")
  
-                 try:
--                    self._backend.setKeepAlive(20, 1)
-+                    self._backend.setKeepAlive(20, 10)
-                 except Exception, e:
-                     if (type(e) is not AttributeError and
-                         not util.is_error_nosupport(e)):
+         try:
+-            self._backend.setKeepAlive(20, 1)
++            self._backend.setKeepAlive(20, 10)
+         except Exception, e:
+             if (type(e) is not AttributeError and
+                 not util.is_error_nosupport(e)):

++++++ virtman-keycombo.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,8 +1,9 @@
+Enhancement adding Send Keys for mostly NetWare and also Windows
 Index: virt-manager-1.1.0/virtManager/console.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtManager/console.py
 +++ virt-manager-1.1.0/virtManager/console.py
-@@ -940,6 +940,16 @@ class vmmConsolePages(vmmGObjectUI):
+@@ -140,6 +140,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.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,13 +1,15 @@
+/usr/bin/kvm doesn't exist on suse distros so check instead for
+/usr/bin/qemu-system-x86_64
 Index: virt-manager-1.1.0/virtManager/connect.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtManager/connect.py
 +++ virt-manager-1.1.0/virtManager/connect.py
-@@ -109,7 +109,7 @@ class vmmConnect(vmmGObjectUI):
+@@ -114,7 +114,7 @@ class vmmConnect(vmmGObjectUI):
  
          if (os.path.exists("/usr/bin/qemu") or
              os.path.exists("/usr/bin/qemu-kvm") or
 -            os.path.exists("/usr/bin/kvm") or
 +            os.path.exists("/usr/bin/qemu-system-x86_64") or
-             os.path.exists("/usr/libexec/qemu-kvm")):
-             if always_system or os.geteuid() == 0:
-                 return "qemu:///system"
+             os.path.exists("/usr/libexec/qemu-kvm") or
+             glob.glob("/usr/bin/qemu-system-*")):
+             return "qemu:///system"

++++++ virtman-libvirtd-not-running.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,8 +1,9 @@
-Index: virt-manager-1.1.0/virtManager/packageutils.py
+Use the correct systemd to start libvirt.
+Index: virt-manager-1.2.0/virtManager/packageutils.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtManager/packageutils.py
-+++ virt-manager-1.1.0/virtManager/packageutils.py
-@@ -149,8 +149,8 @@ def start_libvirtd():
+--- virt-manager-1.2.0.orig/virtManager/packageutils.py
++++ virt-manager-1.2.0/virtManager/packageutils.py
+@@ -154,8 +154,8 @@ def start_libvirtd():
          logging.debug("libvirtd not running, asking system-config-services "
                        "to start it")
          scs = Gio.DBusProxy.new_sync(bus, 0, None,

++++++ virtman-load-stored-uris.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,3 +1,7 @@
+Reference: bnc#867749
+When booted into the native kernel don't ask libvirt to make a
+local Xen connection and likewise when booted into the Xen kernel
+don't ask libvirt to connect to the local qemu.
 Index: virt-manager-1.1.0/virtManager/engine.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtManager/engine.py
@@ -6,7 +10,7 @@
          if not uris:
              return
          logging.debug("About to connect to uris %s", uris)
-+        tryuri = vmmConnect.default_uri(always_system=True)
++        tryuri = vmmConnect.default_uri()
 +        found_uri = None
          for uri in uris:
 +            # If booted Xen, don't try connecting to local qemu

++++++ virtman-packages.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,9 +1,15 @@
-Index: virt-manager-1.1.0/setup.py
+Reference: bnc#866287
+This patch is for when virt-manager is installed but not libvirt
+This is not a normal situation on a suse distro. Split out required
+libvirt packages (kvm vs xen). Only install those libvirt packages
+for which the host is booted. This patch has a corresponding spec
+file change (%define libvirt_kvm_packages and %define libvirt_xen_packages).
+Index: virt-manager-1.2.0/setup.py
 ===================================================================
---- virt-manager-1.1.0.orig/setup.py
-+++ virt-manager-1.1.0/setup.py
-@@ -303,8 +303,11 @@ class configure(Command):
-         ("pkgversion=", None, "user specified version-id"),
+--- virt-manager-1.2.0.orig/setup.py
++++ virt-manager-1.2.0/setup.py
+@@ -280,8 +280,11 @@ class configure(Command):
+         ("prefix=", None, "installation prefix"),
          ("qemu-user=", None,
           "user libvirt uses to launch qemu processes (default=root)"),
 -        ("libvirt-package-names=", None,
@@ -16,9 +22,9 @@
           "first run. comma separated string (default=none)"),
          ("kvm-package-names=", None,
           "recommended kvm packages virt-manager will check for on first run "
-@@ -330,7 +333,8 @@ class configure(Command):
+@@ -307,7 +310,8 @@ class configure(Command):
+     def initialize_options(self):
          self.prefix = sysprefix
-         self.pkgversion = None
          self.qemu_user = None
 -        self.libvirt_package_names = None
 +        self.libvirt_kvm_package_names = None
@@ -26,8 +32,8 @@
          self.kvm_package_names = None
          self.askpass_package_names = None
          self.preferred_distros = None
-@@ -347,8 +351,10 @@ class configure(Command):
-             template += "pkgversion = %s\n" % self.pkgversion
+@@ -322,8 +326,10 @@ class configure(Command):
+         template += "prefix = %s\n" % self.prefix
          if self.qemu_user is not None:
              template += "default_qemu_user = %s\n" % self.qemu_user
 -        if self.libvirt_package_names is not None:
@@ -39,49 +45,50 @@
          if self.kvm_package_names is not None:
              template += "hv_packages = %s\n" % self.kvm_package_names
          if self.askpass_package_names is not None:
-Index: virt-manager-1.1.0/virtcli/cliconfig.py
+Index: virt-manager-1.2.0/virtcli/cliconfig.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtcli/cliconfig.py
-+++ virt-manager-1.1.0/virtcli/cliconfig.py
-@@ -92,6 +92,7 @@ stable_defaults = bool(int(_get_param("s
- preferred_distros = _split_list(_get_param("preferred_distros", ""))
- hv_packages = _split_list(_get_param("hv_packages", ""))
- askpass_package = _split_list(_get_param("askpass_packages", ""))
--libvirt_packages = _split_list(_get_param("libvirt_packages", ""))
-+libvirt_kvm_packages = _split_list(_get_param("libvirt_kvm_packages", ""))
-+libvirt_xen_packages = _split_list(_get_param("libvirt_xen_packages", ""))
- default_graphics = _get_param("default_graphics", "spice")
- with_bhyve = bool(int(_get_param("with_bhyve", "0")))
-Index: virt-manager-1.1.0/virtManager/config.py
+--- virt-manager-1.2.0.orig/virtcli/cliconfig.py
++++ virt-manager-1.2.0/virtcli/cliconfig.py
+@@ -84,7 +84,8 @@ class _CLIConfig(object):
+             _get_param("preferred_distros", ""))
+         self.hv_packages = _split_list(_get_param("hv_packages", ""))
+         self.askpass_package = _split_list(_get_param("askpass_packages", ""))
+-        self.libvirt_packages = _split_list(_get_param("libvirt_packages", 
""))
++        self.libvirt_kvm_packages = 
_split_list(_get_param("libvirt_kvm_packages", ""))
++        self.libvirt_xen_packages = 
_split_list(_get_param("libvirt_xen_packages", ""))
+         self.default_graphics = _get_param("default_graphics", "spice")
+         self.default_hvs = _split_list(_get_param("default_hvs", ""))
+ 
+Index: virt-manager-1.2.0/virtManager/config.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtManager/config.py
-+++ virt-manager-1.1.0/virtManager/config.py
-@@ -158,7 +158,8 @@ class vmmConfig(object):
-         self.stable_defaults = cliconfig.stable_defaults
-         self.preferred_distros = cliconfig.preferred_distros
-         self.hv_packages = cliconfig.hv_packages
--        self.libvirt_packages = cliconfig.libvirt_packages
-+        self.libvirt_kvm_packages = cliconfig.libvirt_kvm_packages
-+        self.libvirt_xen_packages = cliconfig.libvirt_xen_packages
-         self.askpass_package = cliconfig.askpass_package
-         self.default_graphics_from_config = cliconfig.default_graphics
-         self.with_bhyve = cliconfig.with_bhyve
-Index: virt-manager-1.1.0/virtManager/engine.py
+--- virt-manager-1.2.0.orig/virtManager/config.py
++++ virt-manager-1.2.0/virtManager/config.py
+@@ -165,7 +165,8 @@ class vmmConfig(object):
+         self.default_qemu_user = CLIConfig.default_qemu_user
+         self.preferred_distros = CLIConfig.preferred_distros
+         self.hv_packages = CLIConfig.hv_packages
+-        self.libvirt_packages = CLIConfig.libvirt_packages
++        self.libvirt_kvm_packages = CLIConfig.libvirt_kvm_packages
++        self.libvirt_xen_packages = CLIConfig.libvirt_xen_packages
+         self.askpass_package = CLIConfig.askpass_package
+         self.default_graphics_from_config = CLIConfig.default_graphics
+         self.default_hvs = CLIConfig.default_hvs
+Index: virt-manager-1.2.0/virtManager/engine.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtManager/engine.py
-+++ virt-manager-1.1.0/virtManager/engine.py
-@@ -194,21 +194,17 @@ class vmmEngine(vmmGObject):
+--- virt-manager-1.2.0.orig/virtManager/engine.py
++++ virt-manager-1.2.0/virtManager/engine.py
+@@ -193,21 +193,18 @@ class vmmEngine(vmmGObject):
  
          ret = None
          try:
 -            libvirt_packages = self.config.libvirt_packages
 -            packages = self.config.hv_packages + libvirt_packages
--
-+            tryuri = vmmConnect.default_uri(always_system=True)
++            tryuri = vmmConnect.default_uri()
 +            if tryuri and tryuri.startswith('xen'):
 +                packages = self.config.libvirt_xen_packages
 +            else:
 +                packages = self.config.libvirt_kvm_packages + 
self.config.hv_packages
+ 
              ret = packageutils.check_packagekit(manager, manager.err, 
packages)
          except:
              logging.exception("Error talking to PackageKit")
@@ -89,7 +96,7 @@
 -        if ret:
 -            tryuri = "qemu:///system"
 -        else:
--            tryuri = vmmConnect.default_uri(always_system=True)
+-            tryuri = vmmConnect.default_uri()
 -
          if tryuri is None:
 -            manager.set_startup_error(msg)

++++++ virtman-prevent-double-click-starting-vm-twice.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,10 +1,13 @@
-bnc#874594 - virt-manager allows issuing of start for xen domain twice, 
resulting in failure
-
-Index: virt-manager-1.1.0/virtManager/details.py
+Reference: bnc#874594
+When the 'Power on virtual machine' button is double clicked,
+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.2.0/virtManager/details.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtManager/details.py
-+++ virt-manager-1.1.0/virtManager/details.py
-@@ -1499,6 +1499,9 @@ class vmmDetails(vmmGObjectUI):
+--- virt-manager-1.2.0.orig/virtManager/details.py
++++ virt-manager-1.2.0/virtManager/details.py
+@@ -1471,6 +1471,9 @@ class vmmDetails(vmmGObjectUI):
          self.widget("details-menu-usb-redirection").set_sensitive(can_usb)
  
      def control_vm_run(self, src_ignore):

++++++ virtman-s390x-default-to-vminstall.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,3 +1,10 @@
+Reference: bnc#888173
+Force the use of vm-install on s390. The viewer in virt-manager
+and virt-viewer needs a graphics adapter defined in the VM to show
+the display correctly. On s390 you can't have a graphics adapter
+(you get the error 'No PCI buses available'). Vm-install gets
+around this problem by starting an xterm window in which to run the
+VM.
 Index: virt-manager-1.1.0/virtManager/engine.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtManager/engine.py
@@ -10,7 +17,7 @@
  import os
  from subprocess import *
  
-@@ -795,7 +796,7 @@ class vmmEngine(vmmGObject):
+@@ -821,7 +822,7 @@ class vmmEngine(vmmGObject):
          obj.connect("action-clone-domain", self._do_show_clone)
          obj.connect("action-show-domain", self._do_show_vm)
          obj.connect("action-show-preferences", self._do_show_preferences)
@@ -19,7 +26,7 @@
          obj.connect("action-show-create-vminstall", 
self._do_show_create_vminstall)
          obj.connect("action-show-about", self._do_show_about)
          obj.connect("action-show-host", self._do_show_host)
-@@ -843,7 +844,20 @@ class vmmEngine(vmmGObject):
+@@ -869,7 +870,20 @@ class vmmEngine(vmmGObject):
          self.windowCreate = None
  
      def _do_show_create_vminstall(self, src, uri):
@@ -41,7 +48,7 @@
  
      def _do_show_create(self, src, uri, use_vminstall=False):
          if uri is None:
-@@ -927,7 +941,10 @@ class vmmEngine(vmmGObject):
+@@ -952,7 +966,10 @@ class vmmEngine(vmmGObject):
  
      def show_domain_creator(self, uri):
          self.show_manager()

++++++ virtman-show-suse-install-repos.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,16 +1,12 @@
+Enhancement that gets the hosts installation location from
+install.inf and also collects the repos provided by zypper.
+These locations are then presented as potential installation
+locations when createing a VM.
 Index: virt-manager-1.1.0/virtManager/create.py
 ===================================================================
 --- virt-manager-1.1.0.orig/virtManager/create.py
 +++ virt-manager-1.1.0/virtManager/create.py
-@@ -18,6 +18,7 @@
- # MA 02110-1301 USA.
- #
- 
-+import traceback
- import logging
- import threading
- import time
-@@ -368,7 +369,13 @@ class vmmCreate(vmmGObjectUI):
+@@ -359,7 +359,13 @@ class vmmCreate(vmmGObjectUI):
          self.widget("install-url-options").set_expanded(False)
          urlmodel = self.widget("install-url-box").get_model()
          ksmodel  = self.widget("install-ks-box").get_model()
@@ -29,14 +25,13 @@
 ===================================================================
 --- virt-manager-1.1.0.orig/virtinst/util.py
 +++ virt-manager-1.1.0/virtinst/util.py
-@@ -23,12 +23,14 @@ import os
+@@ -23,11 +23,13 @@ import os
  import random
  import re
  import stat
 +import commands
  
  import libvirt
- import libxml2
  
  
  _host_blktap_capable = None
@@ -44,10 +39,10 @@
  
  
  def listify(l):
-@@ -517,3 +519,96 @@ def convert_units(value, old_unit, new_u
-     power = get_power(new_unit)
- 
-     return in_bytes / pow(factor, power)
+@@ -462,3 +464,96 @@ def register_libvirt_error_handler():
+         ignore = userdata
+         ignore = err
+     libvirt.registerErrorHandler(f=libvirt_callback, ctx=None)
 +
 +def getHostInstallSource():
 +    global _host_repo_url

++++++ virtman-supported-disk-formats.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,10 +1,13 @@
-Index: virt-manager-1.1.0/virtManager/addhardware.py
+Reference: bnc#885380
+Xen no longer supports vmdk and never supported qed.
+See /usr/share/doc/packages/xen/misc/xl-disk-configuration.txt
+Index: virt-manager-1.2.0/virtManager/addhardware.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtManager/addhardware.py
-+++ virt-manager-1.1.0/virtManager/addhardware.py
-@@ -719,11 +719,14 @@ class vmmAddHardware(vmmGObjectUI):
+--- virt-manager-1.2.0.orig/virtManager/addhardware.py
++++ virt-manager-1.2.0/virtManager/addhardware.py
+@@ -762,11 +762,14 @@ class vmmAddHardware(vmmGObjectUI):
          combo.set_model(model)
-         uiutil.set_combo_text_column(combo, 0)
+         uiutil.init_combo_text_column(combo, 0)
  
 -        formats = ["raw", "qcow2", "qed"]
          no_create_formats = []

++++++ virtman-vminstall.patch ++++++
--- /var/tmp/diff_new_pack.x7cxgY/_old  2015-05-06 07:49:37.000000000 +0200
+++ /var/tmp/diff_new_pack.x7cxgY/_new  2015-05-06 07:49:37.000000000 +0200
@@ -1,7 +1,13 @@
-Index: virt-manager-1.1.0/ui/manager.ui
+Allow vm-install to be launched from virt-manager. Vm-install is
+considered a legacy installation tool since SLE12 and os13.2. This
+patch creates a pop-down menu to allow the selection of vm-install
+as the install tool. Vm-install is the required installation tool
+for s390 but is only a convenience for those still attached to using
+it instead of virt-install on x86.
+Index: virt-manager-1.2.0/ui/manager.ui
 ===================================================================
---- virt-manager-1.1.0.orig/ui/manager.ui
-+++ virt-manager-1.1.0/ui/manager.ui
+--- virt-manager-1.2.0.orig/ui/manager.ui
++++ virt-manager-1.2.0/ui/manager.ui
 @@ -277,7 +277,7 @@
                  <property name="can_focus">False</property>
                  <property name="show_arrow">False</property>
@@ -19,11 +25,11 @@
                    </packing>
                  </child>
                  <child>
-Index: virt-manager-1.1.0/virtManager/manager.py
+Index: virt-manager-1.2.0/virtManager/manager.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtManager/manager.py
-+++ virt-manager-1.1.0/virtManager/manager.py
-@@ -93,6 +93,7 @@ class vmmManager(vmmGObjectUI):
+--- virt-manager-1.2.0.orig/virtManager/manager.py
++++ virt-manager-1.2.0/virtManager/manager.py
+@@ -92,6 +92,7 @@ class vmmManager(vmmGObjectUI):
          "action-show-host": (GObject.SignalFlags.RUN_FIRST, None, [str]),
          "action-show-preferences": (GObject.SignalFlags.RUN_FIRST, None, []),
          "action-show-create": (GObject.SignalFlags.RUN_FIRST, None, [str]),
@@ -31,7 +37,7 @@
          "action-suspend-domain": (GObject.SignalFlags.RUN_FIRST, None, [str, 
str]),
          "action-resume-domain": (GObject.SignalFlags.RUN_FIRST, None, [str, 
str]),
          "action-run-domain": (GObject.SignalFlags.RUN_FIRST, None, [str, 
str]),
-@@ -290,7 +291,8 @@ class vmmManager(vmmGObjectUI):
+@@ -289,7 +290,8 @@ class vmmManager(vmmGObjectUI):
  
  
      def init_toolbar(self):
@@ -41,7 +47,7 @@
          self.widget("vm-open").set_icon_name("icon_console")
  
          menu = vmmenu.VMShutdownMenu(self, self.current_vm)
-@@ -475,6 +477,9 @@ class vmmManager(vmmGObjectUI):
+@@ -474,6 +476,9 @@ class vmmManager(vmmGObjectUI):
      def new_vm(self, src_ignore=None):
          self.emit("action-show-create", self.current_conn_uri())
  
@@ -51,10 +57,10 @@
      def show_about(self, src_ignore):
          self.emit("action-show-about")
  
-Index: virt-manager-1.1.0/virtManager/vmmenu.py
+Index: virt-manager-1.2.0/virtManager/vmmenu.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtManager/vmmenu.py
-+++ virt-manager-1.1.0/virtManager/vmmenu.py
+--- virt-manager-1.2.0.orig/virtManager/vmmenu.py
++++ virt-manager-1.2.0/virtManager/vmmenu.py
 @@ -19,9 +19,28 @@
  #
  
@@ -84,13 +90,13 @@
  # Build toolbar shutdown button menu (manager and details toolbar) #
  ####################################################################
  
-Index: virt-manager-1.1.0/virtManager/config.py
+Index: virt-manager-1.2.0/virtManager/config.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtManager/config.py
-+++ virt-manager-1.1.0/virtManager/config.py
-@@ -190,6 +190,13 @@ class vmmConfig(object):
+--- virt-manager-1.2.0.orig/virtManager/config.py
++++ virt-manager-1.2.0/virtManager/config.py
+@@ -197,6 +197,13 @@ class vmmConfig(object):
  
-     # General app wide helpers (gconf agnostic)
+     # General app wide helpers (gsettings agnostic)
  
 +    def get_new_icon_name(self):
 +        theme = Gtk.IconTheme.get_default()
@@ -102,10 +108,10 @@
      def get_appname(self):
          return self.appname
      def get_appversion(self):
-Index: virt-manager-1.1.0/virtManager/engine.py
+Index: virt-manager-1.2.0/virtManager/engine.py
 ===================================================================
---- virt-manager-1.1.0.orig/virtManager/engine.py
-+++ virt-manager-1.1.0/virtManager/engine.py
+--- virt-manager-1.2.0.orig/virtManager/engine.py
++++ virt-manager-1.2.0/virtManager/engine.py
 @@ -27,6 +27,8 @@ import re
  import Queue
  import threading
@@ -113,9 +119,9 @@
 +import os
 +from subprocess import *
  
- from virtinst import util
- 
-@@ -74,6 +76,7 @@ class vmmEngine(vmmGObject):
+ from . import packageutils
+ from .about import vmmAbout
+@@ -72,6 +74,7 @@ class vmmEngine(vmmGObject):
          self.windowCreate = None
          self.windowManager = None
          self.windowMigrate = None
@@ -123,7 +129,7 @@
  
          self.conns = {}
          self.err = vmmErrorDialog()
-@@ -793,6 +796,7 @@ class vmmEngine(vmmGObject):
+@@ -819,6 +822,7 @@ class vmmEngine(vmmGObject):
          obj.connect("action-show-domain", self._do_show_vm)
          obj.connect("action-show-preferences", self._do_show_preferences)
          obj.connect("action-show-create", self._do_show_create)
@@ -131,7 +137,7 @@
          obj.connect("action-show-about", self._do_show_about)
          obj.connect("action-show-host", self._do_show_host)
          obj.connect("action-show-connect", self._do_show_connect)
-@@ -835,11 +839,52 @@ class vmmEngine(vmmGObject):
+@@ -861,11 +865,52 @@ class vmmEngine(vmmGObject):
          self.windowCreate = obj
          return self.windowCreate
  
@@ -148,7 +154,7 @@
 +
 +    def _do_show_create(self, src, uri, use_vminstall=False):
 +        if uri is None:
-+            uri = vmmConnect.default_uri(always_system=True)
++            uri = vmmConnect.default_uri()
 +        conn = self._lookup_conn(uri)
 +        do_remote = conn.is_remote()
 +        if self.windowCreate == None or do_remote != self.remote_install:


Reply via email to