- Upstream bug fixes
53022930-lxc-connection-fix.patch 530229cb-non-x86-kvm-creation-fix.patch 53023f56-dont-alter-caps-machine-list-on-create.patch 53030858-generate_target-fix.patch 53037798-not-customizing-generate_target-fix.patch 53047532-dont-get-duplicated-disks.patch 53047595-calculate-disk-bus-properly.patch 530987c4-disk-bus-calculation-fix.patch 530c021c-attempt-empty-path-on-virDomainBlockStats.patch 530cd6ab-log-broken-xml.patch 530cf4de-allow-numbered-object-names.patch 530cfa5e-close-connection-on-tick-failure-fix.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=146
This commit is contained in:
parent
598a7cea4f
commit
674941bbf7
19
53022930-lxc-connection-fix.patch
Normal file
19
53022930-lxc-connection-fix.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
Subject: connect: Fix connecting to lxc:/// URI
|
||||||
|
From: Cole Robinson crobinso@redhat.com Mon Feb 17 10:22:24 2014 -0500
|
||||||
|
Date: Mon Feb 17 10:22:24 2014 -0500:
|
||||||
|
Git: 0169042c1ee45fed779fc106476fc98265236651
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/virtManager/connect.py b/virtManager/connect.py
|
||||||
|
index 7cd4da7..1247d75 100644
|
||||||
|
--- a/virtManager/connect.py
|
||||||
|
+++ b/virtManager/connect.py
|
||||||
|
@@ -364,7 +364,7 @@ class vmmConnect(vmmGObjectUI):
|
||||||
|
hvstr = ""
|
||||||
|
if hv == HV_XEN:
|
||||||
|
hvstr = "xen"
|
||||||
|
- elif hv == HV_QEMU or HV_QEMU_SESSION:
|
||||||
|
+ elif hv == HV_QEMU or hv == HV_QEMU_SESSION:
|
||||||
|
hvstr = "qemu"
|
||||||
|
else:
|
||||||
|
hvstr = "lxc"
|
20
530229cb-non-x86-kvm-creation-fix.patch
Normal file
20
530229cb-non-x86-kvm-creation-fix.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
Subject: create: Fix non-x86 qemu/kvm guest creation
|
||||||
|
From: Cole Robinson crobinso@redhat.com Mon Feb 17 10:24:41 2014 -0500
|
||||||
|
Date: Mon Feb 17 10:24:59 2014 -0500:
|
||||||
|
Git: a37b200f69347922800d58342968307b74ec9ded
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/virtManager/create.py b/virtManager/create.py
|
||||||
|
index d8e68c3..f1c57b7 100644
|
||||||
|
--- a/virtManager/create.py
|
||||||
|
+++ b/virtManager/create.py
|
||||||
|
@@ -1376,7 +1376,8 @@ class vmmCreate(vmmGObjectUI):
|
||||||
|
|
||||||
|
guest.add_default_devices()
|
||||||
|
|
||||||
|
- if self.conn.check_support(self.conn.SUPPORT_CONN_PM_DISABLE):
|
||||||
|
+ if (guest.os.is_x86() and
|
||||||
|
+ self.conn.check_support(self.conn.SUPPORT_CONN_PM_DISABLE)):
|
||||||
|
guest.pm.suspend_to_mem = False
|
||||||
|
guest.pm.suspend_to_disk = False
|
||||||
|
|
19
53023f56-dont-alter-caps-machine-list-on-create.patch
Normal file
19
53023f56-dont-alter-caps-machine-list-on-create.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
Subject: create: Don't alter caps machine list
|
||||||
|
From: Cole Robinson crobinso@redhat.com Mon Feb 17 11:56:54 2014 -0500
|
||||||
|
Date: Mon Feb 17 11:56:54 2014 -0500:
|
||||||
|
Git: 7c516b382cbb94c2ecafb07baedae19b8d1a2b67
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/virtManager/create.py b/virtManager/create.py
|
||||||
|
index 2af62c4..b4b1dfe 100644
|
||||||
|
--- a/virtManager/create.py
|
||||||
|
+++ b/virtManager/create.py
|
||||||
|
@@ -689,7 +689,7 @@ class vmmCreate(vmmGObjectUI):
|
||||||
|
model = lst.get_model()
|
||||||
|
model.clear()
|
||||||
|
|
||||||
|
- machines = self.capsdomain.machines
|
||||||
|
+ machines = self.capsdomain.machines[:]
|
||||||
|
if self.capsguest.arch in ["i686", "x86_64"]:
|
||||||
|
machines = []
|
||||||
|
machines.sort()
|
58
53030858-generate_target-fix.patch
Normal file
58
53030858-generate_target-fix.patch
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
Subject: Fix generate_target once more
|
||||||
|
From: Martin Kletzander mkletzan@redhat.com Mon Feb 17 16:41:02 2014 +0100
|
||||||
|
Date: Tue Feb 18 08:14:32 2014 +0100:
|
||||||
|
Git: 55d5b35e504f1e6c21fbd24f5b351ed4ab4c603f
|
||||||
|
|
||||||
|
Passing a zero to the generate_target() function's as pref_ctrl
|
||||||
|
parameter makes the 'if pref_ctrl' conditions obviously false. Also
|
||||||
|
the range created was starting from 0 and not from 1. Apart from
|
||||||
|
fixing this, also fix tests so they actually test something this time.
|
||||||
|
|
||||||
|
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
|
||||||
|
|
||||||
|
diff --git a/tests/xmlconfig.py b/tests/xmlconfig.py
|
||||||
|
index 9db51cb..5d08ca0 100644
|
||||||
|
--- a/tests/xmlconfig.py
|
||||||
|
+++ b/tests/xmlconfig.py
|
||||||
|
@@ -1045,7 +1045,8 @@ class TestXMLConfig(unittest.TestCase):
|
||||||
|
self.assertEquals("hdc", disk.generate_target(["hdb", "sda"]))
|
||||||
|
self.assertEquals("hdb", disk.generate_target(["hda", "hdd"]))
|
||||||
|
|
||||||
|
- disk.bus = "scsi"
|
||||||
|
+ disk.bus = "virtio-scsi"
|
||||||
|
+ self.assertEquals("sdb", disk.generate_target(["sda", "sdg", "sdi"], 0))
|
||||||
|
self.assertEquals("sdh", disk.generate_target(["sda", "sdg"], 1))
|
||||||
|
|
||||||
|
def testFedoraTreeinfo(self):
|
||||||
|
diff --git a/virtinst/devicedisk.py b/virtinst/devicedisk.py
|
||||||
|
index 28c55ba..6e7c6c8 100644
|
||||||
|
--- a/virtinst/devicedisk.py
|
||||||
|
+++ b/virtinst/devicedisk.py
|
||||||
|
@@ -925,14 +925,14 @@ class VirtualDisk(VirtualDevice):
|
||||||
|
def get_target():
|
||||||
|
first_found = None
|
||||||
|
|
||||||
|
- ran = range(1, maxnode + 1)
|
||||||
|
- if pref_ctrl:
|
||||||
|
+ ran = range(maxnode)
|
||||||
|
+ if pref_ctrl is not None:
|
||||||
|
# We assume narrow SCSI bus and libvirt assigning 7
|
||||||
|
- # (0-6, 7-13, etc.) devices per controller
|
||||||
|
+ # (1-7, 8-14, etc.) devices per controller
|
||||||
|
ran = range(pref_ctrl * 7, (pref_ctrl + 1) * 7)
|
||||||
|
|
||||||
|
for i in ran:
|
||||||
|
- gen_t = prefix + self.num_to_target(i)
|
||||||
|
+ gen_t = prefix + self.num_to_target(i + 1)
|
||||||
|
if gen_t in skip_targets:
|
||||||
|
skip_targets.remove(gen_t)
|
||||||
|
continue
|
||||||
|
@@ -948,7 +948,7 @@ class VirtualDisk(VirtualDevice):
|
||||||
|
self.target = ret
|
||||||
|
return ret
|
||||||
|
|
||||||
|
- if pref_ctrl:
|
||||||
|
+ if pref_ctrl is not None:
|
||||||
|
# This basically means that we either chose full
|
||||||
|
# controller or didn't add any
|
||||||
|
raise ValueError(_("Controller number %d for disk of type %s has "
|
40
53037798-not-customizing-generate_target-fix.patch
Normal file
40
53037798-not-customizing-generate_target-fix.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
Subject: addhardware: generate target only if not customizing
|
||||||
|
From: Martin Kletzander mkletzan@redhat.com Tue Feb 18 11:38:56 2014 +0100
|
||||||
|
Date: Tue Feb 18 16:09:12 2014 +0100:
|
||||||
|
Git: bc5d84b0407257b1e257e7cabaf619430a7e8f83
|
||||||
|
|
||||||
|
Commit 078e1a4d0503d98884b5b61df83021941bf32e8d changed the fact that
|
||||||
|
disk target was generated only when adding new disk, not when current
|
||||||
|
disk is being customized, so fix that back.
|
||||||
|
|
||||||
|
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
|
||||||
|
|
||||||
|
diff --git a/virtManager/addhardware.py b/virtManager/addhardware.py
|
||||||
|
index ecb5fc8..b1f6251 100644
|
||||||
|
--- a/virtManager/addhardware.py
|
||||||
|
+++ b/virtManager/addhardware.py
|
||||||
|
@@ -1471,20 +1471,22 @@ class vmmAddHardware(vmmGObjectUI):
|
||||||
|
return disk
|
||||||
|
|
||||||
|
try:
|
||||||
|
+ used = []
|
||||||
|
disk.bus = bus
|
||||||
|
if cache:
|
||||||
|
disk.driver_cache = cache
|
||||||
|
|
||||||
|
# Generate target
|
||||||
|
if not self.is_customize_dialog:
|
||||||
|
- used = []
|
||||||
|
disks = (self.vm.get_disk_devices() +
|
||||||
|
self.vm.get_disk_devices(inactive=True))
|
||||||
|
for d in disks:
|
||||||
|
used.append(d.target)
|
||||||
|
|
||||||
|
prefer_ctrl = self._set_disk_controller(disk, controller_model, disks)
|
||||||
|
- disk.generate_target(used, prefer_ctrl)
|
||||||
|
+
|
||||||
|
+ if not self.is_customize_dialog:
|
||||||
|
+ disk.generate_target(used, prefer_ctrl)
|
||||||
|
|
||||||
|
except Exception, e:
|
||||||
|
return self.err.val_err(_("Storage parameter error."), e)
|
21
53047532-dont-get-duplicated-disks.patch
Normal file
21
53047532-dont-get-duplicated-disks.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
Subject: addhardware: don't get duplicated disks
|
||||||
|
From: Martin Kletzander mkletzan@redhat.com Wed Feb 19 10:11:14 2014 +0100
|
||||||
|
Date: Wed Feb 19 10:11:14 2014 +0100:
|
||||||
|
Git: 7c437f6a6f07c81bcf20cecece462c857d0b5848
|
||||||
|
|
||||||
|
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
|
||||||
|
|
||||||
|
diff --git a/virtManager/addhardware.py b/virtManager/addhardware.py
|
||||||
|
index b446a9d..ed25c26 100644
|
||||||
|
--- a/virtManager/addhardware.py
|
||||||
|
+++ b/virtManager/addhardware.py
|
||||||
|
@@ -1481,7 +1481,8 @@ class vmmAddHardware(vmmGObjectUI):
|
||||||
|
disks = (self.vm.get_disk_devices() +
|
||||||
|
self.vm.get_disk_devices(inactive=True))
|
||||||
|
for d in disks:
|
||||||
|
- used.append(d.target)
|
||||||
|
+ if d.target not in used:
|
||||||
|
+ used.append(d.target)
|
||||||
|
|
||||||
|
prefer_ctrl = self._set_disk_controller(disk, controller_model, disks)
|
||||||
|
|
22
53047595-calculate-disk-bus-properly.patch
Normal file
22
53047595-calculate-disk-bus-properly.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
Subject: disk: calculate the disk bus properly
|
||||||
|
From: Martin Kletzander mkletzan@redhat.com Wed Feb 19 10:12:46 2014 +0100
|
||||||
|
Date: Wed Feb 19 10:12:53 2014 +0100:
|
||||||
|
Git: 466c2bcf9cb07f16690cb41684d67d0265d2d47e
|
||||||
|
|
||||||
|
I forgot to amend this change when changing it the last time.
|
||||||
|
|
||||||
|
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
|
||||||
|
|
||||||
|
diff --git a/virtinst/devicedisk.py b/virtinst/devicedisk.py
|
||||||
|
index 6e7c6c8..9ebcc11 100644
|
||||||
|
--- a/virtinst/devicedisk.py
|
||||||
|
+++ b/virtinst/devicedisk.py
|
||||||
|
@@ -484,7 +484,7 @@ class VirtualDisk(VirtualDevice):
|
||||||
|
# This case is here for 'xvda'
|
||||||
|
tgt = tgt[1:]
|
||||||
|
for i, c in enumerate(reversed(tgt[2:])):
|
||||||
|
- num += (ord(c) - ord('a') + 1) * (26 ** i)
|
||||||
|
+ num += (ord(c) - ord('a')) * (26 ** i)
|
||||||
|
return num
|
||||||
|
|
||||||
|
|
63
530987c4-disk-bus-calculation-fix.patch
Normal file
63
530987c4-disk-bus-calculation-fix.patch
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
Subject: virtinst: fix an issue of disk bus caculation
|
||||||
|
From: Chen Hanxiao chenhanxiao@cn.fujitsu.com Sun Feb 23 13:31:48 2014 +0800
|
||||||
|
Date: Sun Feb 23 13:31:48 2014 +0800:
|
||||||
|
Git: 0dceb24b3ba567aad3976fe3c6af524db9e1ac6d
|
||||||
|
|
||||||
|
commit 466c2bcf9cb07f16690cb41684d67d0265d2d47e
|
||||||
|
will generate the same index for
|
||||||
|
'hda' and 'hdaa'.
|
||||||
|
Also break test cases.
|
||||||
|
|
||||||
|
This patch will fix this.
|
||||||
|
|
||||||
|
Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
|
||||||
|
|
||||||
|
diff --git a/tests/xmlconfig.py b/tests/xmlconfig.py
|
||||||
|
index 5d08ca0..022d278 100644
|
||||||
|
--- a/tests/xmlconfig.py
|
||||||
|
+++ b/tests/xmlconfig.py
|
||||||
|
@@ -1027,15 +1027,15 @@ class TestXMLConfig(unittest.TestCase):
|
||||||
|
self.assertEquals("zz", VirtualDisk.num_to_target(27 * 26))
|
||||||
|
self.assertEquals("aaa", VirtualDisk.num_to_target(27 * 26 + 1))
|
||||||
|
|
||||||
|
- self.assertEquals(VirtualDisk.target_to_num("hda"), 1)
|
||||||
|
- self.assertEquals(VirtualDisk.target_to_num("hdb"), 2)
|
||||||
|
- self.assertEquals(VirtualDisk.target_to_num("sdz"), 26)
|
||||||
|
- self.assertEquals(VirtualDisk.target_to_num("sdaa"), 27)
|
||||||
|
- self.assertEquals(VirtualDisk.target_to_num("vdab"), 28)
|
||||||
|
- self.assertEquals(VirtualDisk.target_to_num("vdaz"), 52)
|
||||||
|
- self.assertEquals(VirtualDisk.target_to_num("xvdba"), 53)
|
||||||
|
- self.assertEquals(VirtualDisk.target_to_num("xvdzz"), 27 * 26)
|
||||||
|
- self.assertEquals(VirtualDisk.target_to_num("xvdaaa"), 27 * 26 + 1)
|
||||||
|
+ self.assertEquals(VirtualDisk.target_to_num("hda"), 0)
|
||||||
|
+ self.assertEquals(VirtualDisk.target_to_num("hdb"), 1)
|
||||||
|
+ self.assertEquals(VirtualDisk.target_to_num("sdz"), 25)
|
||||||
|
+ self.assertEquals(VirtualDisk.target_to_num("sdaa"), 26)
|
||||||
|
+ self.assertEquals(VirtualDisk.target_to_num("vdab"), 27)
|
||||||
|
+ self.assertEquals(VirtualDisk.target_to_num("vdaz"), 51)
|
||||||
|
+ self.assertEquals(VirtualDisk.target_to_num("xvdba"), 52)
|
||||||
|
+ self.assertEquals(VirtualDisk.target_to_num("xvdzz"), 26 * (25 + 1) + 25)
|
||||||
|
+ self.assertEquals(VirtualDisk.target_to_num("xvdaaa"), 26 * 26 * 1 + 26 * 1 + 0)
|
||||||
|
|
||||||
|
disk = virtinst.VirtualDisk(utils.get_conn())
|
||||||
|
disk.bus = "ide"
|
||||||
|
diff --git a/virtinst/devicedisk.py b/virtinst/devicedisk.py
|
||||||
|
index 9ebcc11..2d692f1 100644
|
||||||
|
--- a/virtinst/devicedisk.py
|
||||||
|
+++ b/virtinst/devicedisk.py
|
||||||
|
@@ -480,11 +480,14 @@ class VirtualDisk(VirtualDevice):
|
||||||
|
Convert disk /dev number (like hda, hdb, hdaa, etc.) to an index
|
||||||
|
"""
|
||||||
|
num = 0
|
||||||
|
+ k = 0
|
||||||
|
if tgt[0] == 'x':
|
||||||
|
# This case is here for 'xvda'
|
||||||
|
tgt = tgt[1:]
|
||||||
|
for i, c in enumerate(reversed(tgt[2:])):
|
||||||
|
- num += (ord(c) - ord('a')) * (26 ** i)
|
||||||
|
+ if i != 0:
|
||||||
|
+ k = 1
|
||||||
|
+ num += (ord(c) - ord('a') + k) * (26 ** i)
|
||||||
|
return num
|
||||||
|
|
||||||
|
|
39
530c021c-attempt-empty-path-on-virDomainBlockStats.patch
Normal file
39
530c021c-attempt-empty-path-on-virDomainBlockStats.patch
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
Subject: Attempt empty path on virDomainBlockStats
|
||||||
|
From: Thorsten Behrens tbehrens@suse.com Fri Feb 21 11:38:41 2014 +0100
|
||||||
|
Date: Mon Feb 24 21:38:20 2014 -0500:
|
||||||
|
Git: b5c3fe1da5f67e0a83a3bc5c9358cbc779157354
|
||||||
|
|
||||||
|
libvirt for some backends yields summary domain stats for empty
|
||||||
|
disk path - which saves us the looping on our side.
|
||||||
|
|
||||||
|
Index: virt-manager-1.0.0/virtManager/domain.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-1.0.0.orig/virtManager/domain.py
|
||||||
|
+++ virt-manager-1.0.0/virtManager/domain.py
|
||||||
|
@@ -270,6 +270,7 @@ class vmmDomain(vmmLibvirtObject):
|
||||||
|
self._enable_disk_poll = False
|
||||||
|
self._stats_disk_supported = True
|
||||||
|
self._stats_disk_skip = []
|
||||||
|
+ self._summary_disk_stats_skip = False
|
||||||
|
|
||||||
|
self.inspection = vmmInspectionData()
|
||||||
|
|
||||||
|
@@ -1769,6 +1770,18 @@ class vmmDomain(vmmLibvirtObject):
|
||||||
|
self._stats_disk_skip = []
|
||||||
|
return rd, wr
|
||||||
|
|
||||||
|
+ # Some drivers support this method for getting all usage at once
|
||||||
|
+ if not self._summary_disk_stats_skip:
|
||||||
|
+ try:
|
||||||
|
+ io = self._backend.blockStats('')
|
||||||
|
+ if io:
|
||||||
|
+ rd = io[1]
|
||||||
|
+ wr = io[3]
|
||||||
|
+ return rd, wr
|
||||||
|
+ except libvirt.libvirtError:
|
||||||
|
+ self._summary_disk_stats_skip = True
|
||||||
|
+
|
||||||
|
+ # did not work, iterate over all disks
|
||||||
|
for disk in self.get_disk_devices(refresh_if_nec=False):
|
||||||
|
dev = disk.target
|
||||||
|
if not dev:
|
34
530cd6ab-log-broken-xml.patch
Normal file
34
530cd6ab-log-broken-xml.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
Subject: xmlbuilder: Log broken XML if we can't parse it
|
||||||
|
From: Cole Robinson crobinso@redhat.com Tue Feb 25 12:45:15 2014 -0500
|
||||||
|
Date: Tue Feb 25 12:45:15 2014 -0500:
|
||||||
|
Git: 87c2ff1a14f3a78648c8a17cfa72e83098763ec8
|
||||||
|
|
||||||
|
Related to https://bugzilla.redhat.com/show_bug.cgi?id=1066564
|
||||||
|
|
||||||
|
diff --git a/virtinst/xmlbuilder.py b/virtinst/xmlbuilder.py
|
||||||
|
index d46738c..328f6f2 100644
|
||||||
|
--- a/virtinst/xmlbuilder.py
|
||||||
|
+++ b/virtinst/xmlbuilder.py
|
||||||
|
@@ -20,6 +20,7 @@
|
||||||
|
# MA 02110-1301 USA.
|
||||||
|
|
||||||
|
import copy
|
||||||
|
+import logging
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
|
||||||
|
@@ -686,7 +686,13 @@ class _XMLState(object):
|
||||||
|
else:
|
||||||
|
if not xml:
|
||||||
|
xml = self.make_xml_stub()
|
||||||
|
- doc = libxml2.parseDoc(xml)
|
||||||
|
+
|
||||||
|
+ try:
|
||||||
|
+ doc = libxml2.parseDoc(xml)
|
||||||
|
+ except:
|
||||||
|
+ logging.debug("Error parsing xml=\n%s", xml)
|
||||||
|
+ raise
|
||||||
|
+
|
||||||
|
self.xml_root_doc = _DocCleanupWrapper(doc)
|
||||||
|
self.xml_node = doc.children
|
||||||
|
self.xml_node.virtinst_is_build = self.is_build
|
23
530cf4de-allow-numbered-object-names.patch
Normal file
23
530cf4de-allow-numbered-object-names.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Subject: Don't forbid object names that are only all numbers (bz 1067127)
|
||||||
|
From: Cole Robinson crobinso@redhat.com Tue Feb 25 14:54:06 2014 -0500
|
||||||
|
Date: Tue Feb 25 14:54:06 2014 -0500:
|
||||||
|
Git: 3efbefe91a1ec23cbcf3d4f5a72a02fab87daa83
|
||||||
|
|
||||||
|
Just let libvirt error, since in the case of things like storage pools
|
||||||
|
this is totally legitimate.
|
||||||
|
|
||||||
|
diff --git a/virtinst/util.py b/virtinst/util.py
|
||||||
|
index 31ccd38..2fe00d3 100644
|
||||||
|
--- a/virtinst/util.py
|
||||||
|
+++ b/virtinst/util.py
|
||||||
|
@@ -140,10 +140,6 @@ def validate_uuid(val):
|
||||||
|
|
||||||
|
|
||||||
|
def validate_name(name_type, val):
|
||||||
|
- if re.match("^[0-9]+$", val):
|
||||||
|
- raise ValueError(_("%s name can not be only numeric characters") %
|
||||||
|
- name_type)
|
||||||
|
-
|
||||||
|
# Rather than try and match libvirt's regex, just forbid things we
|
||||||
|
# know don't work
|
||||||
|
forbid = [" "]
|
65
530cfa5e-close-connection-on-tick-failure-fix.patch
Normal file
65
530cfa5e-close-connection-on-tick-failure-fix.patch
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
Subject: engine: Fix closing connection when tick() fails (bz 1069351)
|
||||||
|
From: Cole Robinson crobinso@redhat.com Tue Feb 25 15:17:34 2014 -0500
|
||||||
|
Date: Tue Feb 25 15:17:34 2014 -0500:
|
||||||
|
Git: ce64d037bff56db994fedd065a9a34b8e827dda2
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/virtManager/engine.py b/virtManager/engine.py
|
||||||
|
index cef3d20..0e5e15d 100644
|
||||||
|
--- a/virtManager/engine.py
|
||||||
|
+++ b/virtManager/engine.py
|
||||||
|
@@ -344,30 +344,39 @@ class vmmEngine(vmmGObject):
|
||||||
|
return 1
|
||||||
|
|
||||||
|
def _tick_single_conn(self, conn, kwargs):
|
||||||
|
+ e = None
|
||||||
|
try:
|
||||||
|
conn.tick(**kwargs)
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
raise
|
||||||
|
- except libvirt.libvirtError, e:
|
||||||
|
- 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)
|
||||||
|
+ except Exception, e:
|
||||||
|
+ pass
|
||||||
|
+
|
||||||
|
+ if e is None:
|
||||||
|
+ return
|
||||||
|
|
||||||
|
+ 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)
|
||||||
|
+
|
||||||
|
+ dom = -1
|
||||||
|
+ code = -1
|
||||||
|
+ if isinstance(e, libvirt.libvirtError):
|
||||||
|
dom = e.get_error_domain()
|
||||||
|
code = e.get_error_code()
|
||||||
|
|
||||||
|
- if (dom in [from_remote, from_rpc] and
|
||||||
|
- code in [sys_error]):
|
||||||
|
- logging.exception("Could not refresh connection %s",
|
||||||
|
- conn.get_uri())
|
||||||
|
- logging.debug("Closing connection since libvirtd "
|
||||||
|
- "appears to have stopped")
|
||||||
|
- else:
|
||||||
|
- error_msg = _("Error polling connection '%s': %s") \
|
||||||
|
- % (conn.get_uri(), e)
|
||||||
|
- self.idle_add(lambda: self.err.show_err(error_msg))
|
||||||
|
+ if (dom in [from_remote, from_rpc] and
|
||||||
|
+ code in [sys_error]):
|
||||||
|
+ logging.exception("Could not refresh connection %s",
|
||||||
|
+ conn.get_uri())
|
||||||
|
+ logging.debug("Closing connection since libvirtd "
|
||||||
|
+ "appears to have stopped")
|
||||||
|
+ else:
|
||||||
|
+ error_msg = _("Error polling connection '%s': %s") \
|
||||||
|
+ % (conn.get_uri(), e)
|
||||||
|
+ self.idle_add(lambda: self.err.show_err(error_msg))
|
||||||
|
|
||||||
|
- self.idle_add(conn.close)
|
||||||
|
+ self.idle_add(conn.close)
|
||||||
|
|
||||||
|
|
||||||
|
def increment_window_counter(self, src):
|
@ -1,5 +1,22 @@
|
|||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Feb 26 17:02:25 UTC 2014 - cbosdonnat@suse.com
|
Wed Feb 27 08:00:39 MST 2014 - carnold@suse.com
|
||||||
|
|
||||||
|
- Upstream bug fixes
|
||||||
|
53022930-lxc-connection-fix.patch
|
||||||
|
530229cb-non-x86-kvm-creation-fix.patch
|
||||||
|
53023f56-dont-alter-caps-machine-list-on-create.patch
|
||||||
|
53030858-generate_target-fix.patch
|
||||||
|
53037798-not-customizing-generate_target-fix.patch
|
||||||
|
53047532-dont-get-duplicated-disks.patch
|
||||||
|
53047595-calculate-disk-bus-properly.patch
|
||||||
|
530987c4-disk-bus-calculation-fix.patch
|
||||||
|
530c021c-attempt-empty-path-on-virDomainBlockStats.patch
|
||||||
|
530cd6ab-log-broken-xml.patch
|
||||||
|
530cf4de-allow-numbered-object-names.patch
|
||||||
|
530cfa5e-close-connection-on-tick-failure-fix.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Feb 26 16:49:39 UTC 2014 - cbosdonnat@suse.com
|
||||||
|
|
||||||
- virt-manager-common requires python-libxml2
|
- virt-manager-common requires python-libxml2
|
||||||
|
|
||||||
|
@ -35,6 +35,18 @@ Url: http://virt-manager.org/
|
|||||||
Source0: %{name}-%{version}.tar.bz2
|
Source0: %{name}-%{version}.tar.bz2
|
||||||
Source1: virt-install.rb
|
Source1: virt-install.rb
|
||||||
Source2: virt-install.desktop
|
Source2: virt-install.desktop
|
||||||
|
Patch1: 53022930-lxc-connection-fix.patch
|
||||||
|
Patch2: 530229cb-non-x86-kvm-creation-fix.patch
|
||||||
|
Patch3: 53023f56-dont-alter-caps-machine-list-on-create.patch
|
||||||
|
Patch4: 53030858-generate_target-fix.patch
|
||||||
|
Patch5: 53037798-not-customizing-generate_target-fix.patch
|
||||||
|
Patch6: 53047532-dont-get-duplicated-disks.patch
|
||||||
|
Patch7: 53047595-calculate-disk-bus-properly.patch
|
||||||
|
Patch8: 530987c4-disk-bus-calculation-fix.patch
|
||||||
|
Patch9: 530c021c-attempt-empty-path-on-virDomainBlockStats.patch
|
||||||
|
Patch10: 530cd6ab-log-broken-xml.patch
|
||||||
|
Patch11: 530cf4de-allow-numbered-object-names.patch
|
||||||
|
Patch12: 530cfa5e-close-connection-on-tick-failure-fix.patch
|
||||||
Patch50: virtman-desktop.patch
|
Patch50: virtman-desktop.patch
|
||||||
Patch51: virtman-cdrom.patch
|
Patch51: virtman-cdrom.patch
|
||||||
Patch52: virtman-kvm.patch
|
Patch52: virtman-kvm.patch
|
||||||
@ -62,11 +74,11 @@ BuildArch: noarch
|
|||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
%define verrel %{version}-%{release}
|
%define verrel %{version}-%{release}
|
||||||
Requires: dbus-1-x11
|
Requires: virt-manager-common = %{verrel}
|
||||||
Requires: dconf
|
|
||||||
Requires: gtk3
|
Requires: gtk3
|
||||||
Requires: python-gconf
|
Requires: python-gconf
|
||||||
Requires: virt-manager-common = %{verrel}
|
Requires: dconf
|
||||||
|
Requires: dbus-1-x11
|
||||||
Requires: vm-install >= 0.5.6
|
Requires: vm-install >= 0.5.6
|
||||||
|
|
||||||
# Libvirt-glib
|
# Libvirt-glib
|
||||||
@ -81,12 +93,12 @@ Requires: typelib-1_0-Vte-2_90
|
|||||||
Requires: gtk-vnc2
|
Requires: gtk-vnc2
|
||||||
Requires: libspice-client-glib-2_0-8
|
Requires: libspice-client-glib-2_0-8
|
||||||
Requires: libspice-client-gtk-3_0-4
|
Requires: libspice-client-gtk-3_0-4
|
||||||
Requires: python-gobject-cairo
|
|
||||||
Requires: typelib-1_0-GVnc-1_0
|
|
||||||
Requires: typelib-1_0-Gtk-3_0
|
|
||||||
Requires: typelib-1_0-GtkVnc-2_0
|
|
||||||
Requires: typelib-1_0-SpiceClientGlib-2_0
|
Requires: typelib-1_0-SpiceClientGlib-2_0
|
||||||
Requires: typelib-1_0-SpiceClientGtk-3_0
|
Requires: typelib-1_0-SpiceClientGtk-3_0
|
||||||
|
Requires: typelib-1_0-Gtk-3_0
|
||||||
|
Requires: typelib-1_0-GVnc-1_0
|
||||||
|
Requires: typelib-1_0-GtkVnc-2_0
|
||||||
|
Requires: python-gobject-cairo
|
||||||
Recommends: python-SpiceClientGtk
|
Recommends: python-SpiceClientGtk
|
||||||
|
|
||||||
Requires: virt-install
|
Requires: virt-install
|
||||||
@ -115,9 +127,9 @@ Group: System/Monitoring
|
|||||||
# This version not strictly required: virt-manager should work with older,
|
# This version not strictly required: virt-manager should work with older,
|
||||||
# however varying amounts of functionality will not be enabled.
|
# however varying amounts of functionality will not be enabled.
|
||||||
Requires: libvirt-python >= 0.7.0
|
Requires: libvirt-python >= 0.7.0
|
||||||
|
Requires: python-urlgrabber
|
||||||
Requires: python-ipaddr
|
Requires: python-ipaddr
|
||||||
Requires: python-libxml2
|
Requires: python-libxml2
|
||||||
Requires: python-urlgrabber
|
|
||||||
|
|
||||||
%description common
|
%description common
|
||||||
Common files used by the different virt-manager interfaces, as well as
|
Common files used by the different virt-manager interfaces, as well as
|
||||||
@ -128,13 +140,12 @@ virt-install related tools.
|
|||||||
Summary: Utilities for installing virtual machines
|
Summary: Utilities for installing virtual machines
|
||||||
Group: System/Monitoring
|
Group: System/Monitoring
|
||||||
|
|
||||||
Requires: python-libxml2
|
|
||||||
Requires: virt-manager-common = %{verrel}
|
Requires: virt-manager-common = %{verrel}
|
||||||
|
|
||||||
Provides: python-virtinst
|
|
||||||
Provides: virt-clone
|
Provides: virt-clone
|
||||||
Provides: virt-convert
|
|
||||||
Provides: virt-image
|
Provides: virt-image
|
||||||
|
Provides: virt-convert
|
||||||
|
Provides: python-virtinst
|
||||||
Obsoletes: python-virtinst <= 0.600.4
|
Obsoletes: python-virtinst <= 0.600.4
|
||||||
Supplements: virt-manager
|
Supplements: virt-manager
|
||||||
|
|
||||||
@ -146,6 +157,18 @@ machine).
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
%patch5 -p1
|
||||||
|
%patch6 -p1
|
||||||
|
%patch7 -p1
|
||||||
|
%patch8 -p1
|
||||||
|
%patch9 -p1
|
||||||
|
%patch10 -p1
|
||||||
|
%patch11 -p1
|
||||||
|
%patch12 -p1
|
||||||
%patch50 -p1
|
%patch50 -p1
|
||||||
%patch51 -p1
|
%patch51 -p1
|
||||||
%patch52 -p1
|
%patch52 -p1
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
Reference: bnc#813082
|
Reference: bnc#813082
|
||||||
|
|
||||||
Index: virt-manager-0.10.1/virtinst/devicedisk.py
|
Index: virt-manager-1.0.0/virtinst/devicedisk.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.10.1.orig/virtinst/devicedisk.py
|
--- virt-manager-1.0.0.orig/virtinst/devicedisk.py
|
||||||
+++ virt-manager-0.10.1/virtinst/devicedisk.py
|
+++ virt-manager-1.0.0/virtinst/devicedisk.py
|
||||||
@@ -555,6 +555,12 @@ class VirtualDisk(VirtualDevice):
|
@@ -558,6 +558,12 @@ class VirtualDisk(VirtualDevice):
|
||||||
return None
|
return None
|
||||||
if self.conn.is_qemu():
|
if self.conn.is_qemu():
|
||||||
return self.DRIVER_QEMU
|
return self.DRIVER_QEMU
|
||||||
@ -17,7 +17,7 @@ Index: virt-manager-0.10.1/virtinst/devicedisk.py
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
def _get_default_driver_type(self):
|
def _get_default_driver_type(self):
|
||||||
@@ -568,6 +574,8 @@ class VirtualDisk(VirtualDevice):
|
@@ -571,6 +577,8 @@ 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_QEMU:
|
if self.driver_name != self.DRIVER_QEMU:
|
||||||
|
@ -37,7 +37,7 @@ Index: virt-manager-1.0.0/virtManager/create.py
|
|||||||
# Get previous
|
# Get previous
|
||||||
type_row = self._selected_os_row()
|
type_row = self._selected_os_row()
|
||||||
if not type_row:
|
if not type_row:
|
||||||
@@ -1586,7 +1609,10 @@ class vmmCreate(vmmGObjectUI):
|
@@ -1587,7 +1610,10 @@ class vmmCreate(vmmGObjectUI):
|
||||||
if extra:
|
if extra:
|
||||||
extraargs += extra
|
extraargs += extra
|
||||||
if ks:
|
if ks:
|
||||||
@ -49,7 +49,7 @@ Index: virt-manager-1.0.0/virtManager/create.py
|
|||||||
|
|
||||||
if extraargs:
|
if extraargs:
|
||||||
self.guest.installer.extraargs = extraargs
|
self.guest.installer.extraargs = extraargs
|
||||||
@@ -1979,6 +2005,7 @@ class vmmCreate(vmmGObjectUI):
|
@@ -1980,6 +2006,7 @@ class vmmCreate(vmmGObjectUI):
|
||||||
dl = self.set_os_val(self.widget("install-os-type"), distro_type)
|
dl = self.set_os_val(self.widget("install-os-type"), distro_type)
|
||||||
vl = self.set_os_val(self.widget("install-os-version"), distro_var)
|
vl = self.set_os_val(self.widget("install-os-version"), distro_var)
|
||||||
self.set_distro_labels(dl, vl)
|
self.set_distro_labels(dl, vl)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: virt-manager-0.10.1/virtManager/addhardware.py
|
Index: virt-manager-1.0.0/virtManager/addhardware.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.10.1.orig/virtManager/addhardware.py
|
--- virt-manager-1.0.0.orig/virtManager/addhardware.py
|
||||||
+++ virt-manager-0.10.1/virtManager/addhardware.py
|
+++ virt-manager-1.0.0/virtManager/addhardware.py
|
||||||
@@ -1287,6 +1287,18 @@ class vmmAddHardware(vmmGObjectUI):
|
@@ -1287,6 +1287,18 @@ class vmmAddHardware(vmmGObjectUI):
|
||||||
if controller is not None:
|
if controller is not None:
|
||||||
logging.debug("Adding controller:\n%s",
|
logging.debug("Adding controller:\n%s",
|
||||||
@ -21,10 +21,10 @@ Index: virt-manager-0.10.1/virtManager/addhardware.py
|
|||||||
# Hotplug device
|
# Hotplug device
|
||||||
attach_err = False
|
attach_err = False
|
||||||
try:
|
try:
|
||||||
Index: virt-manager-0.10.1/virtManager/details.py
|
Index: virt-manager-1.0.0/virtManager/details.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.10.1.orig/virtManager/details.py
|
--- virt-manager-1.0.0.orig/virtManager/details.py
|
||||||
+++ virt-manager-0.10.1/virtManager/details.py
|
+++ virt-manager-1.0.0/virtManager/details.py
|
||||||
@@ -2270,6 +2270,17 @@ class vmmDetails(vmmGObjectUI):
|
@@ -2270,6 +2270,17 @@ class vmmDetails(vmmGObjectUI):
|
||||||
text1=(_("Are you sure you want to remove this device?"))):
|
text1=(_("Are you sure you want to remove this device?"))):
|
||||||
return
|
return
|
||||||
@ -43,11 +43,11 @@ Index: virt-manager-0.10.1/virtManager/details.py
|
|||||||
# Define the change
|
# Define the change
|
||||||
try:
|
try:
|
||||||
self.vm.remove_device(dev_id_info)
|
self.vm.remove_device(dev_id_info)
|
||||||
Index: virt-manager-0.10.1/virtManager/domain.py
|
Index: virt-manager-1.0.0/virtManager/domain.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.10.1.orig/virtManager/domain.py
|
--- virt-manager-1.0.0.orig/virtManager/domain.py
|
||||||
+++ virt-manager-0.10.1/virtManager/domain.py
|
+++ virt-manager-1.0.0/virtManager/domain.py
|
||||||
@@ -897,6 +897,10 @@ class vmmDomain(vmmLibvirtObject):
|
@@ -898,6 +898,10 @@ class vmmDomain(vmmLibvirtObject):
|
||||||
devxml = devobj.get_xml_config()
|
devxml = devobj.get_xml_config()
|
||||||
self._backend.attachDevice(devxml)
|
self._backend.attachDevice(devxml)
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ Index: virt-manager-0.10.1/virtManager/domain.py
|
|||||||
def detach_device(self, devobj):
|
def detach_device(self, devobj):
|
||||||
"""
|
"""
|
||||||
Hotunplug device from running guest
|
Hotunplug device from running guest
|
||||||
@@ -915,6 +919,10 @@ class vmmDomain(vmmLibvirtObject):
|
@@ -916,6 +920,10 @@ class vmmDomain(vmmLibvirtObject):
|
||||||
xml = devobj.get_xml_config()
|
xml = devobj.get_xml_config()
|
||||||
self._backend.updateDeviceFlags(xml, flags)
|
self._backend.updateDeviceFlags(xml, flags)
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ Index: virt-manager-1.0.0/virtManager/domain.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-1.0.0.orig/virtManager/domain.py
|
--- virt-manager-1.0.0.orig/virtManager/domain.py
|
||||||
+++ virt-manager-1.0.0/virtManager/domain.py
|
+++ virt-manager-1.0.0/virtManager/domain.py
|
||||||
@@ -1836,7 +1836,14 @@ class vmmDomain(vmmLibvirtObject):
|
@@ -1849,7 +1849,14 @@ class vmmDomain(vmmLibvirtObject):
|
||||||
|
|
||||||
info = []
|
info = []
|
||||||
if not self._using_events() or self._enable_cpu_stats:
|
if not self._using_events() or self._enable_cpu_stats:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: virt-manager-0.10.1/ui/manager.ui
|
Index: virt-manager-1.0.0/ui/manager.ui
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.10.1.orig/ui/manager.ui
|
--- virt-manager-1.0.0.orig/ui/manager.ui
|
||||||
+++ virt-manager-0.10.1/ui/manager.ui
|
+++ virt-manager-1.0.0/ui/manager.ui
|
||||||
@@ -277,7 +277,7 @@
|
@@ -277,7 +277,7 @@
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="show_arrow">False</property>
|
<property name="show_arrow">False</property>
|
||||||
@ -19,10 +19,10 @@ Index: virt-manager-0.10.1/ui/manager.ui
|
|||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
Index: virt-manager-0.10.1/virtManager/manager.py
|
Index: virt-manager-1.0.0/virtManager/manager.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.10.1.orig/virtManager/manager.py
|
--- virt-manager-1.0.0.orig/virtManager/manager.py
|
||||||
+++ virt-manager-0.10.1/virtManager/manager.py
|
+++ virt-manager-1.0.0/virtManager/manager.py
|
||||||
@@ -95,6 +95,7 @@ class vmmManager(vmmGObjectUI):
|
@@ -95,6 +95,7 @@ class vmmManager(vmmGObjectUI):
|
||||||
"action-show-host": (GObject.SignalFlags.RUN_FIRST, None, [str]),
|
"action-show-host": (GObject.SignalFlags.RUN_FIRST, None, [str]),
|
||||||
"action-show-preferences": (GObject.SignalFlags.RUN_FIRST, None, []),
|
"action-show-preferences": (GObject.SignalFlags.RUN_FIRST, None, []),
|
||||||
@ -51,10 +51,10 @@ Index: virt-manager-0.10.1/virtManager/manager.py
|
|||||||
def show_about(self, src_ignore):
|
def show_about(self, src_ignore):
|
||||||
self.emit("action-show-about")
|
self.emit("action-show-about")
|
||||||
|
|
||||||
Index: virt-manager-0.10.1/virtManager/vmmenu.py
|
Index: virt-manager-1.0.0/virtManager/vmmenu.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.10.1.orig/virtManager/vmmenu.py
|
--- virt-manager-1.0.0.orig/virtManager/vmmenu.py
|
||||||
+++ virt-manager-0.10.1/virtManager/vmmenu.py
|
+++ virt-manager-1.0.0/virtManager/vmmenu.py
|
||||||
@@ -21,9 +21,28 @@
|
@@ -21,9 +21,28 @@
|
||||||
# pylint: disable=E0611
|
# pylint: disable=E0611
|
||||||
from gi.repository import Gtk
|
from gi.repository import Gtk
|
||||||
@ -84,10 +84,10 @@ Index: virt-manager-0.10.1/virtManager/vmmenu.py
|
|||||||
# Build toolbar shutdown button menu (manager and details toolbar) #
|
# Build toolbar shutdown button menu (manager and details toolbar) #
|
||||||
####################################################################
|
####################################################################
|
||||||
|
|
||||||
Index: virt-manager-0.10.1/virtManager/config.py
|
Index: virt-manager-1.0.0/virtManager/config.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.10.1.orig/virtManager/config.py
|
--- virt-manager-1.0.0.orig/virtManager/config.py
|
||||||
+++ virt-manager-0.10.1/virtManager/config.py
|
+++ virt-manager-1.0.0/virtManager/config.py
|
||||||
@@ -191,6 +191,13 @@ class vmmConfig(object):
|
@@ -191,6 +191,13 @@ class vmmConfig(object):
|
||||||
|
|
||||||
# General app wide helpers (gconf agnostic)
|
# General app wide helpers (gconf agnostic)
|
||||||
@ -102,10 +102,10 @@ Index: virt-manager-0.10.1/virtManager/config.py
|
|||||||
def get_appname(self):
|
def get_appname(self):
|
||||||
return self.appname
|
return self.appname
|
||||||
def get_appversion(self):
|
def get_appversion(self):
|
||||||
Index: virt-manager-0.10.1/virtManager/engine.py
|
Index: virt-manager-1.0.0/virtManager/engine.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.10.1.orig/virtManager/engine.py
|
--- virt-manager-1.0.0.orig/virtManager/engine.py
|
||||||
+++ virt-manager-0.10.1/virtManager/engine.py
|
+++ virt-manager-1.0.0/virtManager/engine.py
|
||||||
@@ -28,6 +28,8 @@ import logging
|
@@ -28,6 +28,8 @@ import logging
|
||||||
import re
|
import re
|
||||||
import Queue
|
import Queue
|
||||||
@ -123,7 +123,7 @@ Index: virt-manager-0.10.1/virtManager/engine.py
|
|||||||
|
|
||||||
self.conns = {}
|
self.conns = {}
|
||||||
self.err = vmmErrorDialog()
|
self.err = vmmErrorDialog()
|
||||||
@@ -832,6 +835,7 @@ class vmmEngine(vmmGObject):
|
@@ -841,6 +844,7 @@ class vmmEngine(vmmGObject):
|
||||||
obj.connect("action-show-domain", self._do_show_vm)
|
obj.connect("action-show-domain", self._do_show_vm)
|
||||||
obj.connect("action-show-preferences", self._do_show_preferences)
|
obj.connect("action-show-preferences", self._do_show_preferences)
|
||||||
obj.connect("action-show-create", self._do_show_create)
|
obj.connect("action-show-create", self._do_show_create)
|
||||||
@ -131,7 +131,7 @@ Index: virt-manager-0.10.1/virtManager/engine.py
|
|||||||
obj.connect("action-show-about", self._do_show_about)
|
obj.connect("action-show-about", self._do_show_about)
|
||||||
obj.connect("action-show-host", self._do_show_host)
|
obj.connect("action-show-host", self._do_show_host)
|
||||||
obj.connect("action-show-connect", self._do_show_connect)
|
obj.connect("action-show-connect", self._do_show_connect)
|
||||||
@@ -872,11 +876,42 @@ class vmmEngine(vmmGObject):
|
@@ -881,11 +885,42 @@ class vmmEngine(vmmGObject):
|
||||||
self.windowCreate = obj
|
self.windowCreate = obj
|
||||||
return self.windowCreate
|
return self.windowCreate
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user