- Update to virt-manager version 1.4.0

virt-manager-1.4.0.tar.bz2
  virtman-dont-specify-vte-version.patch
  * virt-manager: spice GL console support (Marc-André Lureau, Cole Robinson)
  * Bump gtk and pygobject deps to 3.14
  * virt-manager: add checkbox to forget keyring password (Pavel Hrdina)
  * cli: add --graphics gl= (Marc-André Lureau)
  * cli: add --video accel3d= (Marc-André Lureau)
  * cli: add --graphics listen=none (Marc-André Lureau)
  * cli: add --transient flag (Richard W.M. Jones)
  * cli: --features gic= support, and set a default for it (Pavel Hrdina)
  * cli: Expose --video heads, ram, vram, vgamem
  * cli: add --graphics listen=socket
  * cli: add device address.type/address.bus/...
  * cli: add --disk seclabelX.model (and .label, .relabel)
  * cli: add -cpu cellX.id (and .cpus, and .memory)
  * cli: add --network rom_bar= and rom_file=
  * cli: add --disk backing_format=
  * Many bug fixes and improvements
 - Dropped the following
  virt-manager-1.3.2.tar.bz2
  89c3638b-fix-detection-that-libvirtd-is-stopped.patch
  21fd079e-replace-unar-with-other-archivers.patch
  eae7dc06-fix-URL-installs-when-content-length-header-missing.patch
  1c221fd0-suse-ovmf-paths.patch
  f11eb00b-virt-convert-decompress-gz-files-before-converting.patch
  8ba48f52-add-virtio-device-model-and-accel3d-attribute.patch
  f454798b-virtman-fix-making-screenshot.patch
  5ecc2b44-dont-clear-recommended-machine-if-none-is-selected.patch
  de9cd87f-return-recommended-machine-for-XEN.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=319
This commit is contained in:
Charles Arnold 2016-06-21 22:34:03 +00:00 committed by Git OBS Bridge
parent b58945c840
commit ff660c61ba
41 changed files with 233 additions and 686 deletions

View File

@ -1,23 +0,0 @@
commit 1c221fd0349b993e8ee2eabbf227239d6e989d90
Author: Jim Fehlig <jfehlig@suse.com>
Date: Wed Jan 27 19:51:32 2016 -0700
virtinst: Support paths to SUSE OVMF firmwares
Extend the domcapabilities regex to include SUSE's OVMF
file naming convention.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Index: virt-manager-1.3.2/virtinst/domcapabilities.py
===================================================================
--- virt-manager-1.3.2.orig/virtinst/domcapabilities.py
+++ virt-manager-1.3.2/virtinst/domcapabilities.py
@@ -101,6 +101,7 @@ class DomainCapabilities(XMLBuilder):
"x86_64": [
".*OVMF_CODE\.fd", # RHEL
".*ovmf-x64/OVMF.*\.fd", # gerd's firmware repo
+ ".*ovmf-x86_64-.*", # SUSE
],
"aarch64": [
".*AAVMF_CODE\.fd", # RHEL

View File

@ -1,109 +0,0 @@
References: bnc#934270
Subject: Replace the unar to more common archivers
From: Lin Ma lma@suse.com Wed Jan 6 12:22:57 2016 +0800
Date: Sun Jan 10 18:23:29 2016 -0500:
Git: 21fd079eb19899cf5283c6a55e9006d1fa0619b9
Because some of distributions dont provide the unar (universal archiver),
Using more common archivers to replace it.
Signed-off-by: Lin Ma <lma@suse.com>
(crobinso: adjust test suite)
diff --git a/tests/virtconv-files/libvirt_output/vmx2libvirt_test-vmx-zip.libvirt b/tests/virtconv-files/libvirt_output/vmx2libvirt_test-vmx-zip.libvirt
index b03ca3c..b046c66 100644
--- a/tests/virtconv-files/libvirt_output/vmx2libvirt_test-vmx-zip.libvirt
+++ b/tests/virtconv-files/libvirt_output/vmx2libvirt_test-vmx-zip.libvirt
@@ -73,5 +73,5 @@
</domain>
-test-vmx-zip.zip appears to be an archive, running: unar -o /var/tmp/virt-convert-tmp test-vmx-zip.zip
+test-vmx-zip.zip appears to be an archive, running: unzip -o -d /var/tmp/virt-convert-tmp /home/crobinso/src/virt-manager/tests/virtconv-files/vmx_input/test-vmx-zip.zip
Copying MS-DOS.vmdk to /var/lib/libvirt/images/MS-DOS
diff --git a/tests/virtconvtest.py b/tests/virtconvtest.py
index 7f1c735..622117f 100644
--- a/tests/virtconvtest.py
+++ b/tests/virtconvtest.py
@@ -15,7 +15,6 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301 USA.
-from distutils.spawn import find_executable
import glob
import os
import StringIO
@@ -66,10 +65,6 @@ class TestVirtConv(unittest.TestCase):
if disk_format:
out_path += ".disk_%s" % disk_format
- if (os.path.splitext(in_path)[1] in [".zip"] and
- not find_executable("unar")):
- self.skipTest("Install 'unar' to run all tests.")
-
try:
os.chdir(os.path.dirname(in_path))
self._convert_helper(in_path, out_path, in_type, disk_format)
diff --git a/virtconv/formats.py b/virtconv/formats.py
index 9a6d237..ed8a66e 100644
--- a/virtconv/formats.py
+++ b/virtconv/formats.py
@@ -118,6 +118,8 @@ def _find_input(input_file, parser, print_cb):
try:
ext = os.path.splitext(input_file)[1]
tempdir = None
+ binname = None
+ pkg = None
if ext and ext[1:] in ["zip", "gz", "ova",
"tar", "bz2", "bzip2", "7z", "xz"]:
basedir = "/var/tmp"
@@ -129,19 +131,40 @@ def _find_input(input_file, parser, print_cb):
base = os.path.basename(input_file)
- # check if 'unar' command existed.
- if not find_executable("unar"):
+ if (ext[1:] == "zip"):
+ binname = "unzip"
+ pkg = "unzip"
+ cmd = ["unzip", "-o", "-d", tempdir, input_file]
+ elif (ext[1:] == "7z"):
+ binname = "7z"
+ pkg = "p7zip"
+ cmd = ["7z", "-o" + tempdir, "e", input_file]
+ elif (ext[1:] == "ova" or ext[1:] == "tar"):
+ binname = "tar"
+ pkg = "tar"
+ cmd = ["tar", "xf", input_file, "-C", tempdir]
+ elif (ext[1:] == "gz"):
+ binname = "gzip"
+ pkg = "gzip"
+ cmd = ["tar", "zxf", input_file, "-C", tempdir]
+ elif (ext[1:] == "bz2" or ext[1:] == "bzip2"):
+ binname = "bzip2"
+ pkg = "bzip2"
+ cmd = ["tar", "jxf", input_file, "-C", tempdir]
+ elif (ext[1:] == "xz"):
+ binname = "xz"
+ pkg = "xz"
+ cmd = ["tar", "Jxf", input_file, "-C", tempdir]
+ if not find_executable(binname):
raise RuntimeError(_("%s appears to be an archive, "
- "but 'unar' is not installed. "
- "Please either install 'unar', or extract the archive "
+ "but '%s' is not installed. "
+ "Please either install '%s', or extract the archive "
"yourself and point virt-convert at "
- "the extracted directory.") % base)
+ "the extracted directory.") % (base, pkg, pkg))
- cmd = ["unar", "-o", tempdir, base]
print_cb(_("%s appears to be an archive, running: %s") %
(base, " ".join(cmd)))
- cmd[-1] = input_file
_run_cmd(cmd)
force_clean.append(tempdir)
input_file = tempdir

View File

@ -1,27 +0,0 @@
Subject: virtManager.create: don't clear recommended machine if none is selected
From: Pavel Hrdina phrdina@redhat.com Thu Jun 16 11:04:36 2016 +0200
Date: Thu Jun 16 12:00:10 2016 +0200:
Git: 5ecc2b440a8e34e00a0c4192c94030428102f0cb
This improves loading domcapabilities to get domcapabilities for recommended
machine, not for default machine.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Index: virt-manager-1.3.2/virtManager/create.py
===================================================================
--- virt-manager-1.3.2.orig/virtManager/create.py
+++ virt-manager-1.3.2/virtManager/create.py
@@ -1636,7 +1636,11 @@ class vmmCreate(vmmGObjectUI):
def _build_guest(self, variant):
guest = self.conn.caps.build_virtinst_guest(self._capsinfo)
- guest.os.machine = self._get_config_machine()
+
+ # If no machine was selected don't clear recommended machine
+ machine = self._get_config_machine()
+ if machine:
+ guest.os.machine = machine
# Generate UUID (makes customize dialog happy)
try:

View File

@ -1,32 +0,0 @@
Subject: connection: fix detection that libvirtd is stopped
From: Pavel Hrdina phrdina@redhat.com Tue Jan 5 10:17:37 2016 +0100
Date: Fri Jan 8 10:21:42 2016 +0100:
Git: 89c3638b63e5b251db92ef7066c1753bfa469d38
In case that libvirtd is stopped, we could receive another type of error
from libvirt "libvirtError: internal error: client socket is closed".
This one is usually reported from local connection.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Index: virt-manager-1.3.2/virtManager/connection.py
===================================================================
--- virt-manager-1.3.2.orig/virtManager/connection.py
+++ virt-manager-1.3.2/virtManager/connection.py
@@ -1298,6 +1298,7 @@ class vmmConnection(vmmGObject):
from_remote = getattr(libvirt, "VIR_FROM_REMOTE", None)
from_rpc = getattr(libvirt, "VIR_FROM_RPC", None)
sys_error = getattr(libvirt, "VIR_ERR_SYSTEM_ERROR", None)
+ internal_error = getattr(libvirt, "VIR_ERR_INTERNAL_ERROR", None)
dom = -1
code = -1
@@ -1309,7 +1310,7 @@ class vmmConnection(vmmGObject):
self.get_uri(), exc_info=True)
if (dom in [from_remote, from_rpc] and
- code in [sys_error]):
+ code in [sys_error, internal_error]):
e = None
logging.debug("Not showing user error since libvirtd "
"appears to have stopped.")

View File

@ -1,68 +0,0 @@
Subject: virtinst: add virtio device model and accel3d attribute
From: Marc-André Lureau marcandre.lureau@gmail.com Fri Mar 4 12:31:52 2016 +0100
Date: Wed Mar 9 20:25:37 2016 -0500:
Git: 8ba48f5299409354fb610cd8620987e635c90643
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Index: virt-manager-1.3.2/man/virt-install.pod
===================================================================
--- virt-manager-1.3.2.orig/man/virt-install.pod
+++ virt-manager-1.3.2/man/virt-install.pod
@@ -1334,7 +1334,7 @@ Use --console=? to see a list of all ava
Specify what video device model will be attached to the guest. Valid values
for VIDEO are hypervisor specific, but some options for recent kvm are
-cirrus, vga, qxl, or vmvga (vmware).
+cirrus, vga, qxl, virtio, or vmvga (vmware).
Use --video=? to see a list of all available sub options. Complete details at L<http://libvirt.org/formatdomain.html#elementsVideo>
Index: virt-manager-1.3.2/tests/xmlparse-xml/change-videos-out.xml
===================================================================
--- virt-manager-1.3.2.orig/tests/xmlparse-xml/change-videos-out.xml
+++ virt-manager-1.3.2/tests/xmlparse-xml/change-videos-out.xml
@@ -30,7 +30,9 @@
<model type="vmvga" heads="5"/>
</video>
<video>
- <model type="qxl" vgamem="8192" ram="100"/>
+ <model type="qxl" vgamem="8192" ram="100">
+ <acceleration accel3d="yes"/>
+ </model>
</video>
</devices>
</domain>
Index: virt-manager-1.3.2/tests/xmlparse.py
===================================================================
--- virt-manager-1.3.2.orig/tests/xmlparse.py
+++ virt-manager-1.3.2/tests/xmlparse.py
@@ -673,6 +673,7 @@ class XMLParseTest(unittest.TestCase):
check("model", "cirrus", "cirrus", "qxl")
check("ram", None, 100)
check("vgamem", None, 8192)
+ check("accel3d", None, True)
self._alter_compare(guest.get_xml_config(), outfile)
Index: virt-manager-1.3.2/virtinst/devicevideo.py
===================================================================
--- virt-manager-1.3.2.orig/virtinst/devicevideo.py
+++ virt-manager-1.3.2/virtinst/devicevideo.py
@@ -27,7 +27,7 @@ class VirtualVideoDevice(VirtualDevice):
# Default models list
MODEL_DEFAULT = "default"
- MODELS = ["cirrus", "vga", "vmvga", "xen", "qxl"]
+ MODELS = ["cirrus", "vga", "vmvga", "xen", "qxl", "virtio"]
@staticmethod
def pretty_model(model):
@@ -43,6 +43,7 @@ class VirtualVideoDevice(VirtualDevice):
ram = XMLProperty("./model/@ram", is_int=True)
heads = XMLProperty("./model/@heads", is_int=True)
vgamem = XMLProperty("./model/@vgamem", is_int=True)
+ accel3d = XMLProperty("./model/acceleration/@accel3d", is_yesno=True)
VirtualVideoDevice.register_type()

View File

@ -1,57 +0,0 @@
Subject: virtinst.capabilities: return recommended machine for XEN
From: Pavel Hrdina phrdina@redhat.com Thu Jun 16 12:00:51 2016 +0200
Date: Thu Jun 16 12:16:49 2016 +0200:
Git: de9cd87fda742dfd5e9a14cf4b68c60e574d3e3d
This is required in order to ask for correct domcapabilities. If you don't
specify any machine libvirt will return domcapabilities for default machine
which is xenpv.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Index: virt-manager-1.3.2/tests/cli-test-xml/compare/virt-install-xen-hvm.xml
===================================================================
--- virt-manager-1.3.2.orig/tests/cli-test-xml/compare/virt-install-xen-hvm.xml
+++ virt-manager-1.3.2/tests/cli-test-xml/compare/virt-install-xen-hvm.xml
@@ -5,7 +5,7 @@
<currentMemory>65536</currentMemory>
<vcpu>1</vcpu>
<os>
- <type arch="x86_64">hvm</type>
+ <type arch="x86_64" machine="xenfv">hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
<boot dev="cdrom"/>
<boot dev="hd"/>
Index: virt-manager-1.3.2/tests/cli-test-xml/compare/virt-install-xen-pv.xml
===================================================================
--- virt-manager-1.3.2.orig/tests/cli-test-xml/compare/virt-install-xen-pv.xml
+++ virt-manager-1.3.2/tests/cli-test-xml/compare/virt-install-xen-pv.xml
@@ -5,7 +5,7 @@
<currentMemory>65536</currentMemory>
<vcpu>1</vcpu>
<os>
- <type arch="x86_64">linux</type>
+ <type arch="x86_64" machine="xenpv">linux</type>
<kernel>/tmp/virtinst-vmlinuz.</kernel>
<initrd>/tmp/virtinst-initrd.img.</initrd>
<cmdline>method=tests/cli-test-xml/faketree</cmdline>
Index: virt-manager-1.3.2/virtinst/capabilities.py
===================================================================
--- virt-manager-1.3.2.orig/virtinst/capabilities.py
+++ virt-manager-1.3.2/virtinst/capabilities.py
@@ -350,9 +350,14 @@ class _CapsInfo(object):
# For any other HV just let libvirt get us the default, these
# are the only ones we've tested.
- if not self.conn.is_test() and not self.conn.is_qemu():
+ if (not self.conn.is_test() and
+ not self.conn.is_qemu() and
+ not self.conn.is_xen()):
return None
+ if self.conn.is_xen() and len(self.machines):
+ return self.machines[0]
+
if (self.arch in ["ppc64", "ppc64le"] and
"pseries" in self.machines):
return "pseries"

View File

@ -1,25 +0,0 @@
Subject: urlfetcher: Fix URL installs when content-length header missing
From: Cole Robinson crobinso@redhat.com Tue Jan 12 12:45:02 2016 -0500
Date: Tue Jan 12 12:45:02 2016 -0500:
Git: eae7dc061968a83fef8ebb632c8f939621ff22b1
Suggested-by: bduff@sjm.com
Index: virt-manager-1.3.2/virtinst/urlfetcher.py
===================================================================
--- virt-manager-1.3.2.orig/virtinst/urlfetcher.py
+++ virt-manager-1.3.2/virtinst/urlfetcher.py
@@ -186,8 +186,11 @@ class _HTTPURLFetcher(_URLFetcher):
"""
response = requests.get(url, stream=True)
response.raise_for_status()
- size = response.headers.get('content-length')
- return response, size.isdigit() and int(size) or None
+ try:
+ size = int(response.headers.get('content-length'))
+ except:
+ size = None
+ return response, size
def _write(self, urlobj, fileobj):
"""

View File

@ -1,53 +0,0 @@
References: fate#320353
Subject: virt-convert: decompress the .gz files before converting
From: Lin Ma lma@suse.com Mon Mar 7 18:39:23 2016 +0800
Date: Wed Mar 9 20:06:16 2016 -0500:
Git: f11eb00b9a630b7b8dbd9ad2ed7333b7a5303fd2
The OVF specification v1.1.0(page 15) indicates that "Each file
referenced by a File element may be compressed using gzip
(see RFC1952)."
In this case the .gz files should be decompressed first before
converting through qemu-img.
Signed-off-by: Lin Ma <lma@suse.com>
Index: virt-manager-1.3.2/virtconv/formats.py
===================================================================
--- virt-manager-1.3.2.orig/virtconv/formats.py
+++ virt-manager-1.3.2/virtconv/formats.py
@@ -263,6 +263,8 @@ class VirtConverter(object):
"""
binnames = ["qemu-img", "kvm-img"]
+ decompress_cmd = None
+
if _is_test():
executable = "/usr/bin/qemu-img"
else:
@@ -275,12 +277,23 @@ class VirtConverter(object):
raise RuntimeError(_("None of %s tools found.") % binnames)
base = os.path.basename(absin)
+ ext = os.path.splitext(base)[1]
+ if (ext and ext[1:] == "gz"):
+ if not find_executable("gzip"):
+ raise RuntimeError("'gzip' is needed to decompress the file, "
+ "but not found.")
+ decompress_cmd = ["gzip", "-d", absin]
+ base = os.path.splitext(base)[0]
+ absin = absin[0:-3]
+ self.print_cb("Running %s" % " ".join(decompress_cmd))
cmd = [executable, "convert", "-O", disk_format, base, absout]
self.print_cb("Running %s" % " ".join(cmd))
if dry:
return
cmd[4] = absin
+ if decompress_cmd is not None:
+ _run_cmd(decompress_cmd)
_run_cmd(cmd)
def convert_disks(self, disk_format, destdir=None, dry=False):

View File

@ -1,26 +0,0 @@
From f454798b337aedb881671f62fe3b25fad703b768 Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Fri, 15 Jan 2016 15:07:58 -0500
Subject: [PATCH] details: Fix screenshot on F24 rawhide (bz 1297988)
---
virtManager/details.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/virtManager/details.py b/virtManager/details.py
index 0bd2569..3dbd82f 100644
--- a/virtManager/details.py
+++ b/virtManager/details.py
@@ -1486,6 +1486,9 @@ class vmmDetails(vmmGObjectUI):
# and future proof it a bit
if type(ret) is tuple and len(ret) >= 2:
ret = ret[1]
+ # F24 rawhide, ret[1] is a named tuple with a 'buffer' element...
+ if hasattr(ret, "buffer"):
+ ret = ret.buffer
import datetime
now = str(datetime.datetime.now()).split(".")[0].replace(" ", "_")
--
2.8.3

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:85bbe080c4945afa0f047d3e9a508f8c1c029db746673fcbabdec48ad8d0e2a8
size 1384510

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:217e45f882d082d27dbbf2c0e1e5e6bcdeeaf473490934aecf1e8a647e732c7a
size 1460026

View File

@ -1,3 +1,40 @@
-------------------------------------------------------------------
Mon Jun 20 15:21:20 MDT 2016 - carnold@suse.com
- Update to virt-manager version 1.4.0
virt-manager-1.4.0.tar.bz2
virtman-dont-specify-vte-version.patch
* virt-manager: spice GL console support (Marc-André Lureau, Cole Robinson)
* Bump gtk and pygobject deps to 3.14
* virt-manager: add checkbox to forget keyring password (Pavel Hrdina)
* cli: add --graphics gl= (Marc-André Lureau)
* cli: add --video accel3d= (Marc-André Lureau)
* cli: add --graphics listen=none (Marc-André Lureau)
* cli: add --transient flag (Richard W.M. Jones)
* cli: --features gic= support, and set a default for it (Pavel Hrdina)
* cli: Expose --video heads, ram, vram, vgamem
* cli: add --graphics listen=socket
* cli: add device address.type/address.bus/...
* cli: add --disk seclabelX.model (and .label, .relabel)
* cli: add -cpu cellX.id (and .cpus, and .memory)
* cli: add --network rom_bar= and rom_file=
* cli: add --disk backing_format=
* Many bug fixes and improvements
- Dropped the following
virt-manager-1.3.2.tar.bz2
89c3638b-fix-detection-that-libvirtd-is-stopped.patch
21fd079e-replace-unar-with-other-archivers.patch
eae7dc06-fix-URL-installs-when-content-length-header-missing.patch
1c221fd0-suse-ovmf-paths.patch
f11eb00b-virt-convert-decompress-gz-files-before-converting.patch
8ba48f52-add-virtio-device-model-and-accel3d-attribute.patch
f454798b-virtman-fix-making-screenshot.patch
5ecc2b44-dont-clear-recommended-machine-if-none-is-selected.patch
de9cd87f-return-recommended-machine-for-XEN.patch
0acdea1d-show-firmware-options-also-for-XEN-guests.patch
virtinst-fix-sle12sp1-detection.patch
virtinst-fix-tumbleweed-detection.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jun 14 16:08:05 MDT 2016 - carnold@suse.com Tue Jun 14 16:08:05 MDT 2016 - carnold@suse.com

View File

@ -23,11 +23,11 @@
%define libvirt_xen_packages "" %define libvirt_xen_packages ""
%define preferred_distros "sles12sp1,opensuse42.1" %define preferred_distros "sles12sp1,opensuse42.1"
%define kvm_packages "" %define kvm_packages ""
%define _version 1.3.2 %define _version 1.4.0
%define _release 0 %define _release 0
Name: virt-manager Name: virt-manager
Version: 1.3.2 Version: 1.4.0
Release: 0 Release: 0
Summary: Virtual Machine Manager Summary: Virtual Machine Manager
License: GPL-2.0+ License: GPL-2.0+
@ -37,16 +37,6 @@ Source0: %{name}-%{version}.tar.bz2
Source1: virt-install.rb Source1: virt-install.rb
Source2: virt-install.desktop Source2: virt-install.desktop
# Upstream Patches # Upstream Patches
Patch1: 89c3638b-fix-detection-that-libvirtd-is-stopped.patch
Patch2: 21fd079e-replace-unar-with-other-archivers.patch
Patch3: eae7dc06-fix-URL-installs-when-content-length-header-missing.patch
Patch4: 1c221fd0-suse-ovmf-paths.patch
Patch5: f11eb00b-virt-convert-decompress-gz-files-before-converting.patch
Patch6: 8ba48f52-add-virtio-device-model-and-accel3d-attribute.patch
Patch7: f454798b-virtman-fix-making-screenshot.patch
Patch8: 5ecc2b44-dont-clear-recommended-machine-if-none-is-selected.patch
Patch9: de9cd87f-return-recommended-machine-for-XEN.patch
Patch10: 0acdea1d-show-firmware-options-also-for-XEN-guests.patch
# SUSE Only # SUSE Only
Patch70: virtman-desktop.patch Patch70: virtman-desktop.patch
Patch71: virtman-kvm.patch Patch71: virtman-kvm.patch
@ -78,12 +68,11 @@ Patch151: virtman-increase-setKeepAlive-count.patch
Patch152: virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch Patch152: virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch
Patch153: virtman-check-for-valid-display.patch Patch153: virtman-check-for-valid-display.patch
Patch154: virtman-allow-creating-i686-vm.patch Patch154: virtman-allow-creating-i686-vm.patch
Patch155: virtman-dont-specify-vte-version.patch
Patch160: virtinst-xen-drive-type.patch Patch160: virtinst-xen-drive-type.patch
Patch161: virtinst-xenbus-disk-index-fix.patch Patch161: virtinst-xenbus-disk-index-fix.patch
Patch162: virtinst-refresh_before_fetch_pool.patch Patch162: virtinst-refresh_before_fetch_pool.patch
Patch163: virtinst-fix-sle12sp1-detection.patch Patch163: virtinst-use-xenpae-kernel-for-32bit.patch
Patch164: virtinst-fix-tumbleweed-detection.patch
Patch165: virtinst-use-xenpae-kernel-for-32bit.patch
BuildArch: noarch BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -165,16 +154,6 @@ machine).
%prep %prep
%setup -q %setup -q
# Upstream Patches # Upstream Patches
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
# SUSE Only # SUSE Only
%patch70 -p1 %patch70 -p1
%patch71 -p1 %patch71 -p1
@ -206,12 +185,11 @@ machine).
%patch152 -p1 %patch152 -p1
%patch153 -p1 %patch153 -p1
%patch154 -p1 %patch154 -p1
%patch155 -p1
%patch160 -p1 %patch160 -p1
%patch161 -p1 %patch161 -p1
%patch162 -p1 %patch162 -p1
%patch163 -p1 %patch163 -p1
%patch164 -p1
%patch165 -p1
%build %build
%if %{qemu_user} %if %{qemu_user}

View File

@ -1,9 +1,9 @@
References: bnc#885308 References: bnc#885308
Enhancement to add a virtio RNG device to non windows VMs. Enhancement to add a virtio RNG device to non windows VMs.
Index: virt-manager-1.3.2/virtinst/guest.py Index: virt-manager-1.4.0/virtinst/guest.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/guest.py --- virt-manager-1.4.0.orig/virtinst/guest.py
+++ virt-manager-1.3.2/virtinst/guest.py +++ virt-manager-1.4.0/virtinst/guest.py
@@ -54,6 +54,7 @@ from .pm import PM @@ -54,6 +54,7 @@ from .pm import PM
from .seclabel import Seclabel from .seclabel import Seclabel
from .xmlbuilder import XMLBuilder, XMLProperty, XMLChildProperty from .xmlbuilder import XMLBuilder, XMLProperty, XMLChildProperty
@ -12,7 +12,7 @@ Index: virt-manager-1.3.2/virtinst/guest.py
class Guest(XMLBuilder): class Guest(XMLBuilder):
@@ -712,6 +713,15 @@ class Guest(XMLBuilder): @@ -654,6 +655,15 @@ class Guest(XMLBuilder):
return return
self.add_device(VirtualGraphics(self.conn)) self.add_device(VirtualGraphics(self.conn))
@ -28,7 +28,7 @@ Index: virt-manager-1.3.2/virtinst/guest.py
def add_default_devices(self): def add_default_devices(self):
self.add_default_graphics() self.add_default_graphics()
self.add_default_video_device() self.add_default_video_device()
@@ -719,6 +729,7 @@ class Guest(XMLBuilder): @@ -661,6 +671,7 @@ class Guest(XMLBuilder):
self.add_default_console_device() self.add_default_console_device()
self.add_default_usb_controller() self.add_default_usb_controller()
self.add_default_channels() self.add_default_channels()

View File

@ -1,10 +1,10 @@
Reference: bnc#869024 Reference: bnc#869024
Add s390x and ppc64 support Add s390x and ppc64 support
Index: virt-manager-1.3.2/virtinst/urlfetcher.py Index: virt-manager-1.4.0/virtinst/urlfetcher.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/urlfetcher.py --- virt-manager-1.4.0.orig/virtinst/urlfetcher.py
+++ virt-manager-1.3.2/virtinst/urlfetcher.py +++ virt-manager-1.4.0/virtinst/urlfetcher.py
@@ -430,6 +430,10 @@ def _distroFromSUSEContent(fetcher, arch @@ -438,6 +438,10 @@ def _distroFromSUSEContent(fetcher, arch
arch = "i586" arch = "i586"
elif cbuf.find("s390x") != -1: elif cbuf.find("s390x") != -1:
arch = "s390x" arch = "s390x"
@ -13,9 +13,9 @@ Index: virt-manager-1.3.2/virtinst/urlfetcher.py
+ elif cbuf.find("ppc64le") != -1: + elif cbuf.find("ppc64le") != -1:
+ arch = "ppc64le" + arch = "ppc64le"
dclass = GenericDistro def _parse_sle_distribution(d):
if distribution: sle_version = d[1].strip().rsplit(' ')[4]
@@ -969,10 +973,12 @@ class SuseDistro(Distro): @@ -989,10 +993,12 @@ class SuseDistro(Distro):
oldkern += "64" oldkern += "64"
oldinit += "64" oldinit += "64"

View File

@ -1,13 +1,13 @@
Enhancement to correctly detect Open Enterprise Server media is Enhancement to correctly detect Open Enterprise Server media is
selected as the installation source. selected as the installation source.
Index: virt-manager-1.3.2/virtinst/urlfetcher.py Index: virt-manager-1.4.0/virtinst/urlfetcher.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/urlfetcher.py --- virt-manager-1.4.0.orig/virtinst/urlfetcher.py
+++ virt-manager-1.3.2/virtinst/urlfetcher.py +++ virt-manager-1.4.0/virtinst/urlfetcher.py
@@ -442,6 +442,10 @@ def _distroFromSUSEContent(fetcher, arch @@ -456,6 +456,10 @@ def _distroFromSUSEContent(fetcher, arch
dclass = SLEDDistro dclass = SLEDDistro
if distro_version is None: if distro_version is None:
distro_version = ['VERSION', distribution[1].strip().rsplit(' ')[4]] distro_version = _parse_sle_distribution(distribution)
+ elif re.match(".*Open Enterprise Server*", distribution[1]): + elif re.match(".*Open Enterprise Server*", distribution[1]):
+ dclass = SLESDistro + dclass = SLESDistro
+ if distro_version is None: + if distro_version is None:

View File

@ -1,41 +0,0 @@
Index: virt-manager-1.3.2/virtinst/urlfetcher.py
===================================================================
--- virt-manager-1.3.2.orig/virtinst/urlfetcher.py
+++ virt-manager-1.3.2/virtinst/urlfetcher.py
@@ -402,6 +402,10 @@ def _distroFromSUSEContent(fetcher, arch
distro_distro = line.rsplit(',', 1)
elif line.startswith("VERSION "):
distro_version = line.split(' ', 1)
+ if len(distro_version) > 1:
+ d_version = distro_version[1].split('-', 1)
+ if len(d_version) > 1:
+ distro_version[1] = d_version[0]
elif line.startswith("SUMMARY "):
distro_summary = line.split(' ', 1)
elif line.startswith("BASEARCHS "):
@@ -435,17 +439,23 @@ def _distroFromSUSEContent(fetcher, arch
elif cbuf.find("ppc64le") != -1:
arch = "ppc64le"
+ def parse_sle_distribution(d):
+ sle_version = d[1].strip().rsplit(' ')[4]
+ if len(d[1].strip().rsplit(' ')) > 5:
+ sle_version = sle_version + '.' + d[1].strip().rsplit(' ')[5][2]
+ return ['VERSION', sle_version]
+
dclass = GenericDistro
if distribution:
if re.match(".*SUSE Linux Enterprise Server*", distribution[1]) or \
re.match(".*SUSE SLES*", distribution[1]):
dclass = SLESDistro
if distro_version is None:
- distro_version = ['VERSION', distribution[1].strip().rsplit(' ')[4]]
+ distro_version = parse_sle_distribution(distribution)
elif re.match(".*SUSE Linux Enterprise Desktop*", distribution[1]):
dclass = SLEDDistro
if distro_version is None:
- distro_version = ['VERSION', distribution[1].strip().rsplit(' ')[4]]
+ distro_version = parse_sle_distribution(distribution)
elif re.match(".*Open Enterprise Server*", distribution[1]):
dclass = SLESDistro
if distro_version is None:

View File

@ -1,32 +0,0 @@
References: bsc#964407
Problem in the SUSE specific parsing code due to the non-standard way of
defining the media in the SUSE content file.
While we are here, also fix tumbleweed detection. You need an updated libosinfo
that contains a definition for tumbleweed.
Index: virt-manager-1.3.2/virtinst/urlfetcher.py
===================================================================
--- virt-manager-1.3.2.orig/virtinst/urlfetcher.py
+++ virt-manager-1.3.2/virtinst/urlfetcher.py
@@ -464,9 +464,6 @@ def _distroFromSUSEContent(fetcher, arch
dclass = OpensuseDistro
if distro_version is None:
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
@@ -1018,7 +1015,11 @@ class SuseDistro(Distro):
if sp_version:
self.os_variant += sp_version
else:
- self.os_variant += distro_version
+ # Tumbleweed 8 digit date
+ if len(version) == 8:
+ self.os_variant += "tumbleweed"
+ else:
+ self.os_variant += distro_version
else:
self.os_variant += "9"

View File

@ -3,11 +3,11 @@ Enhancement for the following GUI wizard installation options.
is the default is the default
2) Under 'Network selection' default to a bridge that has an actual 2) Under 'Network selection' default to a bridge that has an actual
IP address if available (not just the first one found). IP address if available (not just the first one found).
Index: virt-manager-1.3.0/virtManager/create.py Index: virt-manager-1.4.0/virtManager/create.py
=================================================================== ===================================================================
--- virt-manager-1.3.0.orig/virtManager/create.py --- virt-manager-1.4.0.orig/virtManager/create.py
+++ virt-manager-1.3.0/virtManager/create.py +++ virt-manager-1.4.0/virtManager/create.py
@@ -371,7 +371,19 @@ class vmmCreate(vmmGObjectUI): @@ -376,7 +376,19 @@ class vmmCreate(vmmGObjectUI):
self.widget("method-local").set_active(True) self.widget("method-local").set_active(True)
self.widget("create-conn").set_active(-1) self.widget("create-conn").set_active(-1)
activeconn = self._populate_conn_list(urihint) activeconn = self._populate_conn_list(urihint)
@ -28,10 +28,10 @@ Index: virt-manager-1.3.0/virtManager/create.py
if self._set_conn(activeconn) is False: if self._set_conn(activeconn) is False:
return False return False
Index: virt-manager-1.3.0/virtManager/netlist.py Index: virt-manager-1.4.0/virtManager/netlist.py
=================================================================== ===================================================================
--- virt-manager-1.3.0.orig/virtManager/netlist.py --- virt-manager-1.4.0.orig/virtManager/netlist.py
+++ virt-manager-1.3.0/virtManager/netlist.py +++ virt-manager-1.4.0/virtManager/netlist.py
@@ -167,9 +167,19 @@ class vmmNetworkList(vmmGObjectUI): @@ -167,9 +167,19 @@ class vmmNetworkList(vmmGObjectUI):
return rows, vnet_bridges, default_label return rows, vnet_bridges, default_label

View File

@ -5,10 +5,10 @@ A fix for accessing nfs mounted media. A comment in the code states,
and carry the latter form around internally" and carry the latter form around internally"
We need the RFC version to work correctly whereas redhat's anaconda We need the RFC version to work correctly whereas redhat's anaconda
needs their own modified version. needs their own modified version.
Index: virt-manager-1.3.2/virtinst/util.py Index: virt-manager-1.4.0/virtinst/util.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/util.py --- virt-manager-1.4.0.orig/virtinst/util.py
+++ virt-manager-1.3.2/virtinst/util.py +++ virt-manager-1.4.0/virtinst/util.py
@@ -552,3 +552,22 @@ def getInstallRepos(enabled_sources_only @@ -552,3 +552,22 @@ def getInstallRepos(enabled_sources_only
return (index_dom0, zypper_output) return (index_dom0, zypper_output)
@ -32,11 +32,11 @@ Index: virt-manager-1.3.2/virtinst/util.py
+ +
+ return url + return url
+ +
Index: virt-manager-1.3.2/virtinst/distroinstaller.py Index: virt-manager-1.4.0/virtinst/distroinstaller.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/distroinstaller.py --- virt-manager-1.4.0.orig/virtinst/distroinstaller.py
+++ virt-manager-1.3.2/virtinst/distroinstaller.py +++ virt-manager-1.4.0/virtinst/distroinstaller.py
@@ -49,6 +49,8 @@ def _sanitize_url(url): @@ -44,6 +44,8 @@ def _sanitize_url(url):
""" """
Do nothing for http or ftp, but make sure nfs is in the expected format Do nothing for http or ftp, but make sure nfs is in the expected format
""" """
@ -45,19 +45,19 @@ Index: virt-manager-1.3.2/virtinst/distroinstaller.py
if url.startswith("nfs://"): if url.startswith("nfs://"):
# Convert RFC compliant NFS nfs://server/path/to/distro # Convert RFC compliant NFS nfs://server/path/to/distro
# to what mount/anaconda expect nfs:server:/path/to/distro # to what mount/anaconda expect nfs:server:/path/to/distro
Index: virt-manager-1.3.2/virtinst/urlfetcher.py Index: virt-manager-1.4.0/virtinst/urlfetcher.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/urlfetcher.py --- virt-manager-1.4.0.orig/virtinst/urlfetcher.py
+++ virt-manager-1.3.2/virtinst/urlfetcher.py +++ virt-manager-1.4.0/virtinst/urlfetcher.py
@@ -33,6 +33,7 @@ import urllib2 @@ -34,6 +34,7 @@ import urlparse
import urlparse import requests
from .osdict import OSDB from .osdict import OSDB
+from virtinst import util +from virtinst import util
######################################################################### #########################################################################
@@ -298,7 +299,8 @@ class _MountedURLFetcher(_LocalURLFetche @@ -301,7 +302,8 @@ class _MountedURLFetcher(_LocalURLFetche
logging.debug("Preparing mount at " + self._srcdir) logging.debug("Preparing mount at " + self._srcdir)
if self.location.startswith("nfs:"): if self.location.startswith("nfs:"):

View File

@ -2,11 +2,11 @@ Reference: bnc#863821
grub.xen is required to boot PV VMs that use the BTRFS filesystem. 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 This patch forces the use of grub.xen (instead of using pygrub) for
newer suse distros like SLE12 and openSUSE 13.2. newer suse distros like SLE12 and openSUSE 13.2.
Index: virt-manager-1.3.2/virtinst/guest.py Index: virt-manager-1.4.0/virtinst/guest.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/guest.py --- virt-manager-1.4.0.orig/virtinst/guest.py
+++ virt-manager-1.3.2/virtinst/guest.py +++ virt-manager-1.4.0/virtinst/guest.py
@@ -365,8 +365,20 @@ class Guest(XMLBuilder): @@ -362,8 +362,20 @@ class Guest(XMLBuilder):
if (not install and if (not install and
self.os.is_xenpv() and self.os.is_xenpv() and
not self.os.kernel): not self.os.kernel):
@ -29,10 +29,10 @@ Index: virt-manager-1.3.2/virtinst/guest.py
return self.get_xml_config() return self.get_xml_config()
Index: virt-manager-1.3.2/virtinst/installer.py Index: virt-manager-1.4.0/virtinst/installer.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/installer.py --- virt-manager-1.4.0.orig/virtinst/installer.py
+++ virt-manager-1.3.2/virtinst/installer.py +++ virt-manager-1.4.0/virtinst/installer.py
@@ -99,7 +99,7 @@ class Installer(object): @@ -99,7 +99,7 @@ class Installer(object):
break break
return bootorder return bootorder

View File

@ -1,9 +1,9 @@
Reference: bnc#869024 Reference: bnc#869024
Disable graphics on s390x Disable graphics on s390x
Index: virt-manager-1.3.2/virtinst/guest.py Index: virt-manager-1.4.0/virtinst/guest.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/guest.py --- virt-manager-1.4.0.orig/virtinst/guest.py
+++ virt-manager-1.3.2/virtinst/guest.py +++ virt-manager-1.4.0/virtinst/guest.py
@@ -123,7 +123,10 @@ class Guest(XMLBuilder): @@ -123,7 +123,10 @@ class Guest(XMLBuilder):
self.skip_default_channel = False self.skip_default_channel = False
self.skip_default_sound = False self.skip_default_sound = False
@ -16,7 +16,7 @@ Index: virt-manager-1.3.2/virtinst/guest.py
self.x86_cpu_default = self.cpu.SPECIAL_MODE_HOST_MODEL_ONLY self.x86_cpu_default = self.cpu.SPECIAL_MODE_HOST_MODEL_ONLY
self.__os_object = None self.__os_object = None
@@ -663,7 +666,7 @@ class Guest(XMLBuilder): @@ -605,7 +608,7 @@ class Guest(XMLBuilder):
self.add_device(dev) self.add_device(dev)
def add_default_video_device(self): def add_default_video_device(self):
@ -25,7 +25,7 @@ Index: virt-manager-1.3.2/virtinst/guest.py
return return
if self.get_devices("video"): if self.get_devices("video"):
return return
@@ -701,6 +704,8 @@ class Guest(XMLBuilder): @@ -643,6 +646,8 @@ class Guest(XMLBuilder):
dev.target_type = "virtio" dev.target_type = "virtio"
dev.target_name = dev.CHANNEL_NAME_QEMUGA dev.target_name = dev.CHANNEL_NAME_QEMUGA
self.add_device(dev) self.add_device(dev)
@ -34,7 +34,7 @@ Index: virt-manager-1.3.2/virtinst/guest.py
def add_default_graphics(self): def add_default_graphics(self):
if self.skip_default_graphics: if self.skip_default_graphics:
@@ -709,7 +714,7 @@ class Guest(XMLBuilder): @@ -651,7 +656,7 @@ class Guest(XMLBuilder):
return return
if self.os.is_container(): if self.os.is_container():
return return
@ -43,7 +43,7 @@ Index: virt-manager-1.3.2/virtinst/guest.py
return return
self.add_device(VirtualGraphics(self.conn)) self.add_device(VirtualGraphics(self.conn))
@@ -1035,7 +1040,7 @@ class Guest(XMLBuilder): @@ -979,7 +984,7 @@ class Guest(XMLBuilder):
if self._hv_only_supports_virtio(): if self._hv_only_supports_virtio():
return True return True

View File

@ -1,9 +1,9 @@
Set cache mode for target installation disk to unsafe for better Set cache mode for target installation disk to unsafe for better
performance. performance.
Index: virt-manager-1.3.2/virtinst/guest.py Index: virt-manager-1.4.0/virtinst/guest.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/guest.py --- virt-manager-1.4.0.orig/virtinst/guest.py
+++ virt-manager-1.3.2/virtinst/guest.py +++ virt-manager-1.4.0/virtinst/guest.py
@@ -53,6 +53,7 @@ from .osxml import OSXML @@ -53,6 +53,7 @@ from .osxml import OSXML
from .pm import PM from .pm import PM
from .seclabel import Seclabel from .seclabel import Seclabel
@ -12,7 +12,7 @@ Index: virt-manager-1.3.2/virtinst/guest.py
class Guest(XMLBuilder): class Guest(XMLBuilder):
@@ -361,6 +362,17 @@ class Guest(XMLBuilder): @@ -358,6 +359,17 @@ class Guest(XMLBuilder):
self._set_osxml_defaults() self._set_osxml_defaults()
@ -30,7 +30,7 @@ Index: virt-manager-1.3.2/virtinst/guest.py
self.bootloader = None self.bootloader = None
if (not install and if (not install and
self.os.is_xenpv() and self.os.is_xenpv() and
@@ -380,7 +392,10 @@ class Guest(XMLBuilder): @@ -377,7 +389,10 @@ class Guest(XMLBuilder):
self.bootloader = "/usr/bin/pygrub" self.bootloader = "/usr/bin/pygrub"
self.os.clear() self.os.clear()

View File

@ -1,11 +1,11 @@
Use the correct qemu emulator based on the architecture. Use the correct qemu emulator based on the architecture.
We want to get away from using the old qemu-dm emulator We want to get away from using the old qemu-dm emulator
for Xen HVM guests so default to qemu-system-i386. for Xen HVM guests so default to qemu-system-i386.
Index: virt-manager-1.3.2/virtinst/guest.py Index: virt-manager-1.4.0/virtinst/guest.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/guest.py --- virt-manager-1.4.0.orig/virtinst/guest.py
+++ virt-manager-1.3.2/virtinst/guest.py +++ virt-manager-1.4.0/virtinst/guest.py
@@ -850,14 +850,11 @@ class Guest(XMLBuilder): @@ -792,14 +792,11 @@ class Guest(XMLBuilder):
self.emulator = None self.emulator = None
return return

View File

@ -1,9 +1,9 @@
Enhancement to add ocfs2 as a supported FS type Enhancement to add ocfs2 as a supported FS type
Index: virt-manager-1.3.0/virtinst/storage.py Index: virt-manager-1.4.0/virtinst/storage.py
=================================================================== ===================================================================
--- virt-manager-1.3.0.orig/virtinst/storage.py --- virt-manager-1.4.0.orig/virtinst/storage.py
+++ virt-manager-1.3.0/virtinst/storage.py +++ virt-manager-1.4.0/virtinst/storage.py
@@ -448,7 +448,7 @@ class StoragePool(_StorageObject): @@ -459,7 +459,7 @@ class StoragePool(_StorageObject):
def list_formats(self): def list_formats(self):
if self.type == self.TYPE_FS: if self.type == self.TYPE_FS:
return ["auto", "ext2", "ext3", "ext4", "ufs", "iso9660", "udf", return ["auto", "ext2", "ext3", "ext4", "ufs", "iso9660", "udf",

View File

@ -4,11 +4,11 @@ a non pae version. The sles10 sp4 32bit kernel will only boot para-
virtualized if the pae kernel is selected. virtualized if the pae kernel is selected.
Note that sles12 and newer has no 32bit release. Note that sles12 and newer has no 32bit release.
Index: virt-manager-1.3.2/virtinst/urlfetcher.py Index: virt-manager-1.4.0/virtinst/urlfetcher.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/urlfetcher.py --- virt-manager-1.4.0.orig/virtinst/urlfetcher.py
+++ virt-manager-1.3.2/virtinst/urlfetcher.py +++ virt-manager-1.4.0/virtinst/urlfetcher.py
@@ -999,8 +999,12 @@ class SuseDistro(Distro): @@ -1012,8 +1012,12 @@ class SuseDistro(Distro):
"boot/%s/initrd" % self.arch)) "boot/%s/initrd" % self.arch))
# Matches Opensuse > 10.2 and sles 10 # Matches Opensuse > 10.2 and sles 10

View File

@ -4,13 +4,13 @@ issue on btrfs.
Signed-off-by: Chunyan Liu <cyliu@suse.com> Signed-off-by: Chunyan Liu <cyliu@suse.com>
Index: virt-manager-1.3.2/virtinst/storage.py Index: virt-manager-1.4.0/virtinst/storage.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/storage.py --- virt-manager-1.4.0.orig/virtinst/storage.py
+++ virt-manager-1.3.2/virtinst/storage.py +++ virt-manager-1.4.0/virtinst/storage.py
@@ -716,6 +716,12 @@ class StorageVolume(_StorageObject): @@ -707,6 +707,12 @@ class StorageVolume(_StorageObject):
lazy_refcounts = XMLProperty("./target/features/lazy_refcounts", return self.TYPE_FILE
is_bool=True, default_cb=_lazy_refcounts_default_cb) file_type = property(_get_vol_type)
+ def _nocow_default_cb(self): + def _nocow_default_cb(self):
+ return self.conn.check_support( + return self.conn.check_support(
@ -19,18 +19,18 @@ Index: virt-manager-1.3.2/virtinst/storage.py
+ is_bool=True, default_cb=_nocow_default_cb) + is_bool=True, default_cb=_nocow_default_cb)
+ +
###################### ##################
# Public API helpers # # XML properties #
Index: virt-manager-1.3.2/virtinst/support.py Index: virt-manager-1.4.0/virtinst/support.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/support.py --- virt-manager-1.4.0.orig/virtinst/support.py
+++ virt-manager-1.3.2/virtinst/support.py +++ virt-manager-1.4.0/virtinst/support.py
@@ -314,6 +314,8 @@ SUPPORT_CONN_VCPU_PLACEMENT = _make( @@ -316,6 +316,8 @@ SUPPORT_CONN_SPICE_GL = _make(version="1
SUPPORT_CONN_MEM_STATS_PERIOD = _make( SUPPORT_CONN_VIDEO_VIRTIO_ACCEL3D = _make(version="1.3.0",
function="virDomain.setMemoryStatsPeriod", hv_version={"qemu": "2.7.0", "test": 0})
version="1.1.1", hv_version={"qemu": 0}) SUPPORT_CONN_GRAPHICS_LISTEN_NONE = _make(version="2.0.0")
+SUPPORT_CONN_NOCOW = _make( +SUPPORT_CONN_NOCOW = _make(
+ version="1.2.18", hv_version={"qemu": "2.2.0", "test": 0}) + 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 # This is for disk <driver name=qemu>. xen supports this, but it's
# limited to arbitrary new enough xen, since I know libxl can handle it

View File

@ -2,11 +2,11 @@ Reference: bnc#813082
Virt-manager on Xen doesn't fill in any type thereby defaulting to Virt-manager on Xen doesn't fill in any type thereby defaulting to
'raw'. This patch will generate the correct XML on Xen. 'raw'. This patch will generate the correct XML on Xen.
Index: virt-manager-1.3.2/virtinst/devicedisk.py Index: virt-manager-1.4.0/virtinst/devicedisk.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/devicedisk.py --- virt-manager-1.4.0.orig/virtinst/devicedisk.py
+++ virt-manager-1.3.2/virtinst/devicedisk.py +++ virt-manager-1.4.0/virtinst/devicedisk.py
@@ -557,6 +557,10 @@ class VirtualDisk(VirtualDevice): @@ -568,6 +568,10 @@ class VirtualDisk(VirtualDevice):
http://lists.gnu.org/archive/html/qemu-devel/2008-04/msg00675.html http://lists.gnu.org/archive/html/qemu-devel/2008-04/msg00675.html
""" """
if self.driver_name != self.DRIVER_NAME_QEMU: if self.driver_name != self.DRIVER_NAME_QEMU:

View File

@ -6,11 +6,11 @@ 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 passed to qemu where it error'ed out with the disks having the same
index (in this case both are 0). index (in this case both are 0).
Index: virt-manager-1.3.2/virtinst/devicedisk.py Index: virt-manager-1.4.0/virtinst/devicedisk.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtinst/devicedisk.py --- virt-manager-1.4.0.orig/virtinst/devicedisk.py
+++ virt-manager-1.3.2/virtinst/devicedisk.py +++ virt-manager-1.4.0/virtinst/devicedisk.py
@@ -978,6 +978,17 @@ class VirtualDisk(VirtualDevice): @@ -993,6 +993,17 @@ class VirtualDisk(VirtualDevice):
@rtype C{str} @rtype C{str}
""" """
prefix, maxnode = self.get_target_prefix(skip_targets) prefix, maxnode = self.get_target_prefix(skip_targets)
@ -28,7 +28,7 @@ Index: virt-manager-1.3.2/virtinst/devicedisk.py
skip_targets = [t for t in skip_targets if t and t.startswith(prefix)] skip_targets = [t for t in skip_targets if t and t.startswith(prefix)]
skip_targets.sort() skip_targets.sort()
@@ -991,7 +1002,12 @@ class VirtualDisk(VirtualDevice): @@ -1006,7 +1017,12 @@ class VirtualDisk(VirtualDevice):
ran = range(pref_ctrl * 7, (pref_ctrl + 1) * 7) ran = range(pref_ctrl * 7, (pref_ctrl + 1) * 7)
for i in ran: for i in ran:

View File

@ -1,11 +1,11 @@
References: bsc#919692 References: bsc#919692
Because openSUSE repos combine 32 and 64 bit sources we need to Because openSUSE repos combine 32 and 64 bit sources we need to
continue showing the 'Architecture' pop-up. continue showing the 'Architecture' pop-up.
Index: virt-manager-1.3.0/virtManager/create.py Index: virt-manager-1.4.0/virtManager/create.py
=================================================================== ===================================================================
--- virt-manager-1.3.0.orig/virtManager/create.py --- virt-manager-1.4.0.orig/virtManager/create.py
+++ virt-manager-1.3.0/virtManager/create.py +++ virt-manager-1.4.0/virtManager/create.py
@@ -775,11 +775,6 @@ class vmmCreate(vmmGObjectUI): @@ -780,11 +780,6 @@ class vmmCreate(vmmGObjectUI):
for guest in self.conn.caps.guests: for guest in self.conn.caps.guests:
if guest.os_type == self._capsinfo.os_type: if guest.os_type == self._capsinfo.os_type:
archs.append(guest.arch) archs.append(guest.arch)

View File

@ -6,11 +6,11 @@ Steps to get a KVM VM in the crashed state:
4) Edit the VM's /etc/default/grub file and remove the crashkernel information 4) Edit the VM's /etc/default/grub file and remove the crashkernel information
and then run grub2-mkconfig /boot/grub2/grub.cfg. 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" 5) Start the VM and within the VM's terminal type "echo 'c' > /proc/sysrq-trigger"
Index: virt-manager-1.3.2/virtManager/manager.py Index: virt-manager-1.4.0/virtManager/manager.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtManager/manager.py --- virt-manager-1.4.0.orig/virtManager/manager.py
+++ virt-manager-1.3.2/virtManager/manager.py +++ virt-manager-1.4.0/virtManager/manager.py
@@ -854,7 +854,7 @@ class vmmManager(vmmGObjectUI): @@ -839,7 +839,7 @@ class vmmManager(vmmGObjectUI):
show_pause = bool(vm and vm.is_unpauseable()) show_pause = bool(vm and vm.is_unpauseable())
else: else:
show_pause = bool(vm and vm.is_pauseable()) show_pause = bool(vm and vm.is_pauseable())
@ -19,10 +19,10 @@ Index: virt-manager-1.3.2/virtManager/manager.py
if vm and vm.managedsave_supported: if vm and vm.managedsave_supported:
self.change_run_text(vm.has_managed_save()) self.change_run_text(vm.has_managed_save())
Index: virt-manager-1.3.2/virtManager/vmmenu.py Index: virt-manager-1.4.0/virtManager/vmmenu.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtManager/vmmenu.py --- virt-manager-1.4.0.orig/virtManager/vmmenu.py
+++ virt-manager-1.3.2/virtManager/vmmenu.py +++ virt-manager-1.4.0/virtManager/vmmenu.py
@@ -31,6 +31,7 @@ class _VMMenu(Gtk.Menu): @@ -31,6 +31,7 @@ class _VMMenu(Gtk.Menu):
self._parent = src self._parent = src
self._current_vm_cb = current_vm_cb self._current_vm_cb = current_vm_cb

View File

@ -1,15 +1,15 @@
References: bnc#907958 References: bnc#907958
Sanity check for those who forget '-X' on ssh and try to start virt-manager Sanity check for those who forget '-X' on ssh and try to start virt-manager
Index: virt-manager-1.3.0/virt-manager Index: virt-manager-1.4.0/virt-manager
=================================================================== ===================================================================
--- virt-manager-1.3.0.orig/virt-manager --- virt-manager-1.4.0.orig/virt-manager
+++ virt-manager-1.3.0/virt-manager +++ virt-manager-1.4.0/virt-manager
@@ -171,8 +171,11 @@ def main(): @@ -79,8 +79,11 @@ def _import_gtk(leftovers):
from gi.repository import Gtk print "gtk3 3.14.0 or later is required."
leftovers = sys.argv[1:] sys.exit(1)
- # This will error if Gtk wasn't correctly initialized - # This will error if Gtk wasn't correctly initialized
- Gtk.Window() - Gtk.init()
+ if os.environ.has_key('DISPLAY') and os.environ['DISPLAY']: + if os.environ.has_key('DISPLAY') and os.environ['DISPLAY']:
+ # This will error if Gtk wasn't correctly initialized + # This will error if Gtk wasn't correctly initialized
+ Gtk.Window() + Gtk.Window()

View File

@ -1,9 +1,9 @@
Enhancement to default to the host os version when creating a VM Enhancement to default to the host os version when creating a VM
and media detection of the install source is turned off. and media detection of the install source is turned off.
Index: virt-manager-1.3.0/virtManager/create.py Index: virt-manager-1.4.0/virtManager/create.py
=================================================================== ===================================================================
--- virt-manager-1.3.0.orig/virtManager/create.py --- virt-manager-1.4.0.orig/virtManager/create.py
+++ virt-manager-1.3.0/virtManager/create.py +++ virt-manager-1.4.0/virtManager/create.py
@@ -21,6 +21,8 @@ @@ -21,6 +21,8 @@
import logging import logging
import threading import threading
@ -13,7 +13,7 @@ Index: virt-manager-1.3.0/virtManager/create.py
from gi.repository import GObject from gi.repository import GObject
from gi.repository import Gtk from gi.repository import Gtk
@@ -963,7 +965,7 @@ class vmmCreate(vmmGObjectUI): @@ -968,7 +970,7 @@ class vmmCreate(vmmGObjectUI):
preferred = self.config.preferred_distros preferred = self.config.preferred_distros
variants = virtinst.OSDB.list_os(typename=_type, sortpref=preferred) variants = virtinst.OSDB.list_os(typename=_type, sortpref=preferred)
supportl = virtinst.OSDB.list_os(typename=_type, sortpref=preferred, supportl = virtinst.OSDB.list_os(typename=_type, sortpref=preferred,
@ -22,7 +22,7 @@ Index: virt-manager-1.3.0/virtManager/create.py
for v in variants: for v in variants:
supported = v in supportl or v.name == "generic" supported = v in supportl or v.name == "generic"
@@ -1320,6 +1322,53 @@ class vmmCreate(vmmGObjectUI): @@ -1324,6 +1326,53 @@ class vmmCreate(vmmGObjectUI):
def _cdrom_changed(self, src): def _cdrom_changed(self, src):
self._detectable_media_widget_changed(src) self._detectable_media_widget_changed(src)
@ -76,7 +76,7 @@ Index: virt-manager-1.3.0/virtManager/create.py
def _toggle_detect_os(self, src): def _toggle_detect_os(self, src):
dodetect = src.get_active() dodetect = src.get_active()
@@ -1332,6 +1381,8 @@ class vmmCreate(vmmGObjectUI): @@ -1336,6 +1385,8 @@ class vmmCreate(vmmGObjectUI):
self.widget("install-os-version-entry").set_text("") self.widget("install-os-version-entry").set_text("")
self._os_already_detected_for_media = False self._os_already_detected_for_media = False
self._start_detect_os_if_needed() self._start_detect_os_if_needed()

View File

@ -1,9 +1,9 @@
Enhancement to default to PV instead of HVM on Xen host. Enhancement to default to PV instead of HVM on Xen host.
Index: virt-manager-1.3.0/virtManager/create.py Index: virt-manager-1.4.0/virtManager/create.py
=================================================================== ===================================================================
--- virt-manager-1.3.0.orig/virtManager/create.py --- virt-manager-1.4.0.orig/virtManager/create.py
+++ virt-manager-1.3.0/virtManager/create.py +++ virt-manager-1.4.0/virtManager/create.py
@@ -685,7 +685,12 @@ class vmmCreate(vmmGObjectUI): @@ -690,7 +690,12 @@ class vmmCreate(vmmGObjectUI):
if gtype is None: if gtype is None:
# If none specified, prefer HVM so install options aren't limited # If none specified, prefer HVM so install options aren't limited
# with a default PV choice. # with a default PV choice.

View File

@ -1,14 +1,14 @@
Reference: bnc#885094 Reference: bnc#885094
grub.xen is required to boot Xen PV VMs using BTRFS. It belongs to 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. the grub2-x86_64-xen RPM and should never be deleted.
Index: virt-manager-1.3.0/virtManager/delete.py Index: virt-manager-1.4.0/virtManager/delete.py
=================================================================== ===================================================================
--- virt-manager-1.3.0.orig/virtManager/delete.py --- virt-manager-1.4.0.orig/virtManager/delete.py
+++ virt-manager-1.3.0/virtManager/delete.py +++ virt-manager-1.4.0/virtManager/delete.py
@@ -242,7 +242,7 @@ def populate_storage_list(storage_list, @@ -243,7 +243,7 @@ def populate_storage_list(storage_list,
diskdata.append(("dtb", vm.get_xmlobj().os.dtb, True, False)) diskdata.append(("dtb", vm.get_xmlobj().os.dtb, True, False, True))
for target, path, ro, shared in diskdata: for target, path, ro, shared, is_media in diskdata:
- if not path: - if not path:
+ if not path or path == "/usr/lib/grub2/x86_64-xen/grub.xen": + if not path or path == "/usr/lib/grub2/x86_64-xen/grub.xen":
continue continue

View File

@ -0,0 +1,25 @@
Creates a problem for gobject-introspection identifying what
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
# We can use either 2.91 or 2.90. This is just to silence runtime warnings
# pylint: disable=wrong-import-position
-try:
- gi.require_version("Vte", "2.91")
- logging.debug("Using VTE API 2.91")
-except ValueError:
- gi.require_version("Vte", "2.90")
- logging.debug("Using VTE API 2.90")
+#try:
+# gi.require_version("Vte", "2.91")
+# logging.debug("Using VTE API 2.91")
+#except ValueError:
+# gi.require_version("Vte", "2.90")
+# logging.debug("Using VTE API 2.90")
from gi.repository import Vte
import libvirt

View File

@ -2,11 +2,11 @@ References: bnc#892003
For very large memory VMs Xen takes a long time scrubbing memory For very large memory VMs Xen takes a long time scrubbing memory
which causes the libvirt connection to timeout. Upstream was not which causes the libvirt connection to timeout. Upstream was not
interested in making this a preferences option (4/11/2015) interested in making this a preferences option (4/11/2015)
Index: virt-manager-1.3.0/virtManager/connection.py Index: virt-manager-1.4.0/virtManager/connection.py
=================================================================== ===================================================================
--- virt-manager-1.3.0.orig/virtManager/connection.py --- virt-manager-1.4.0.orig/virtManager/connection.py
+++ virt-manager-1.3.0/virtManager/connection.py +++ virt-manager-1.4.0/virtManager/connection.py
@@ -945,7 +945,7 @@ class vmmConnection(vmmGObject): @@ -947,7 +947,7 @@ class vmmConnection(vmmGObject):
self.caps.get_cpu_values("x86_64") self.caps.get_cpu_values("x86_64")
try: try:

View File

@ -1,9 +1,9 @@
Enhancement adding Send Keys for mostly NetWare and also Windows Enhancement adding Send Keys for mostly NetWare and also Windows
Index: virt-manager-1.3.0/virtManager/console.py Index: virt-manager-1.4.0/virtManager/console.py
=================================================================== ===================================================================
--- virt-manager-1.3.0.orig/virtManager/console.py --- virt-manager-1.4.0.orig/virtManager/console.py
+++ virt-manager-1.3.0/virtManager/console.py +++ virt-manager-1.4.0/virtManager/console.py
@@ -141,6 +141,16 @@ class vmmConsolePages(vmmGObjectUI): @@ -218,6 +218,16 @@ class vmmConsolePages(vmmGObjectUI):
make_item("Ctrl+Alt+_Backspace", ["Control_L", "Alt_L", "BackSpace"]) make_item("Ctrl+Alt+_Backspace", ["Control_L", "Alt_L", "BackSpace"])
make_item("Ctrl+Alt+_Delete", ["Control_L", "Alt_L", "Delete"]) make_item("Ctrl+Alt+_Delete", ["Control_L", "Alt_L", "Delete"])
menu.add(Gtk.SeparatorMenuItem()) menu.add(Gtk.SeparatorMenuItem())

View File

@ -4,11 +4,11 @@ This is not a normal situation on a suse distro. Split out required
libvirt packages (kvm vs xen). Only install those libvirt packages libvirt packages (kvm vs xen). Only install those libvirt packages
for which the host is booted. This patch has a corresponding spec for which the host is booted. This patch has a corresponding spec
file change (%define libvirt_kvm_packages and %define libvirt_xen_packages). file change (%define libvirt_kvm_packages and %define libvirt_xen_packages).
Index: virt-manager-1.3.2/setup.py Index: virt-manager-1.4.0/setup.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/setup.py --- virt-manager-1.4.0.orig/setup.py
+++ virt-manager-1.3.2/setup.py +++ virt-manager-1.4.0/setup.py
@@ -299,8 +299,11 @@ class configure(distutils.core.Command): @@ -308,8 +308,11 @@ class configure(distutils.core.Command):
("prefix=", None, "installation prefix"), ("prefix=", None, "installation prefix"),
("qemu-user=", None, ("qemu-user=", None,
"user libvirt uses to launch qemu processes (default=root)"), "user libvirt uses to launch qemu processes (default=root)"),
@ -22,7 +22,7 @@ Index: virt-manager-1.3.2/setup.py
"first run. comma separated string (default=none)"), "first run. comma separated string (default=none)"),
("kvm-package-names=", None, ("kvm-package-names=", None,
"recommended kvm packages virt-manager will check for on first run " "recommended kvm packages virt-manager will check for on first run "
@@ -326,7 +329,8 @@ class configure(distutils.core.Command): @@ -335,7 +338,8 @@ class configure(distutils.core.Command):
def initialize_options(self): def initialize_options(self):
self.prefix = sysprefix self.prefix = sysprefix
self.qemu_user = None self.qemu_user = None
@ -32,7 +32,7 @@ Index: virt-manager-1.3.2/setup.py
self.kvm_package_names = None self.kvm_package_names = None
self.askpass_package_names = None self.askpass_package_names = None
self.preferred_distros = None self.preferred_distros = None
@@ -341,8 +345,10 @@ class configure(distutils.core.Command): @@ -350,8 +354,10 @@ class configure(distutils.core.Command):
template += "prefix = %s\n" % self.prefix template += "prefix = %s\n" % self.prefix
if self.qemu_user is not None: if self.qemu_user is not None:
template += "default_qemu_user = %s\n" % self.qemu_user template += "default_qemu_user = %s\n" % self.qemu_user
@ -45,10 +45,10 @@ Index: virt-manager-1.3.2/setup.py
if self.kvm_package_names is not None: if self.kvm_package_names is not None:
template += "hv_packages = %s\n" % self.kvm_package_names template += "hv_packages = %s\n" % self.kvm_package_names
if self.askpass_package_names is not None: if self.askpass_package_names is not None:
Index: virt-manager-1.3.2/virtcli/cliconfig.py Index: virt-manager-1.4.0/virtcli/cliconfig.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtcli/cliconfig.py --- virt-manager-1.4.0.orig/virtcli/cliconfig.py
+++ virt-manager-1.3.2/virtcli/cliconfig.py +++ virt-manager-1.4.0/virtcli/cliconfig.py
@@ -83,7 +83,8 @@ class _CLIConfig(object): @@ -83,7 +83,8 @@ class _CLIConfig(object):
_get_param("preferred_distros", "")) _get_param("preferred_distros", ""))
self.hv_packages = _split_list(_get_param("hv_packages", "")) self.hv_packages = _split_list(_get_param("hv_packages", ""))
@ -59,10 +59,10 @@ Index: virt-manager-1.3.2/virtcli/cliconfig.py
self.default_graphics = _get_param("default_graphics", "spice") self.default_graphics = _get_param("default_graphics", "spice")
self.default_hvs = _split_list(_get_param("default_hvs", "")) self.default_hvs = _split_list(_get_param("default_hvs", ""))
Index: virt-manager-1.3.2/virtManager/config.py Index: virt-manager-1.4.0/virtManager/config.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtManager/config.py --- virt-manager-1.4.0.orig/virtManager/config.py
+++ virt-manager-1.3.2/virtManager/config.py +++ virt-manager-1.4.0/virtManager/config.py
@@ -172,7 +172,8 @@ class vmmConfig(object): @@ -172,7 +172,8 @@ class vmmConfig(object):
self.default_qemu_user = CLIConfig.default_qemu_user self.default_qemu_user = CLIConfig.default_qemu_user
self.preferred_distros = CLIConfig.preferred_distros self.preferred_distros = CLIConfig.preferred_distros
@ -73,10 +73,10 @@ Index: virt-manager-1.3.2/virtManager/config.py
self.askpass_package = CLIConfig.askpass_package self.askpass_package = CLIConfig.askpass_package
self.default_graphics_from_config = CLIConfig.default_graphics self.default_graphics_from_config = CLIConfig.default_graphics
self.default_hvs = CLIConfig.default_hvs self.default_hvs = CLIConfig.default_hvs
Index: virt-manager-1.3.2/virtManager/engine.py Index: virt-manager-1.4.0/virtManager/engine.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtManager/engine.py --- virt-manager-1.4.0.orig/virtManager/engine.py
+++ virt-manager-1.3.2/virtManager/engine.py +++ virt-manager-1.4.0/virtManager/engine.py
@@ -226,21 +226,18 @@ class vmmEngine(vmmGObject): @@ -226,21 +226,18 @@ class vmmEngine(vmmGObject):
ret = None ret = None

View File

@ -3,14 +3,14 @@ When the 'Power on virtual machine' button is double clicked,
virt-manager issues two start commands to start the VM which virt-manager issues two start commands to start the VM which
results in a failure. There is code elsewhere to desensitize the results in a failure. There is code elsewhere to desensitize the
button but this patch does it earlier. button but this patch does it earlier.
Index: virt-manager-1.3.2/virtManager/details.py Index: virt-manager-1.4.0/virtManager/details.py
=================================================================== ===================================================================
--- virt-manager-1.3.2.orig/virtManager/details.py --- virt-manager-1.4.0.orig/virtManager/details.py
+++ virt-manager-1.3.2/virtManager/details.py +++ virt-manager-1.4.0/virtManager/details.py
@@ -1416,6 +1416,9 @@ class vmmDetails(vmmGObjectUI): @@ -1418,6 +1418,9 @@ class vmmDetails(vmmGObjectUI):
self.widget("details-menu-usb-redirection").set_sensitive(can_usb)
def control_vm_run(self, src_ignore): 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 + # De-sensitize widget so a double click on the icon won't attempt to
+ # start the VM twice + # start the VM twice
+ self.widget("control-run").set_sensitive(False) + self.widget("control-run").set_sensitive(False)

View File

@ -2,11 +2,11 @@ Enhancement that gets the hosts installation location from
install.inf and also collects the repos provided by zypper. install.inf and also collects the repos provided by zypper.
These locations are then presented as potential installation These locations are then presented as potential installation
locations when creating a VM. locations when creating a VM.
Index: virt-manager-1.3.0/virtManager/create.py Index: virt-manager-1.4.0/virtManager/create.py
=================================================================== ===================================================================
--- virt-manager-1.3.0.orig/virtManager/create.py --- virt-manager-1.4.0.orig/virtManager/create.py
+++ virt-manager-1.3.0/virtManager/create.py +++ virt-manager-1.4.0/virtManager/create.py
@@ -398,7 +398,13 @@ class vmmCreate(vmmGObjectUI): @@ -403,7 +403,13 @@ class vmmCreate(vmmGObjectUI):
self.widget("install-url-entry").set_text("") self.widget("install-url-entry").set_text("")
self.widget("install-url-options").set_expanded(False) self.widget("install-url-options").set_expanded(False)
urlmodel = self.widget("install-url-combo").get_model() urlmodel = self.widget("install-url-combo").get_model()
@ -21,10 +21,10 @@ Index: virt-manager-1.3.0/virtManager/create.py
self._set_distro_labels("-", "-") self._set_distro_labels("-", "-")
# Install import # Install import
Index: virt-manager-1.3.0/virtinst/util.py Index: virt-manager-1.4.0/virtinst/util.py
=================================================================== ===================================================================
--- virt-manager-1.3.0.orig/virtinst/util.py --- virt-manager-1.4.0.orig/virtinst/util.py
+++ virt-manager-1.3.0/virtinst/util.py +++ virt-manager-1.4.0/virtinst/util.py
@@ -24,9 +24,12 @@ import random @@ -24,9 +24,12 @@ import random
import re import re
import stat import stat