Hello community,
here is the log from the commit of package virt-manager for openSUSE:Factory
checked in at Sun Sep 27 00:17:47 CEST 2009.
--------
--- virt-manager/virt-manager.changes 2009-08-29 00:44:20.000000000 +0200
+++ /mounts/work_src_done/STABLE/virt-manager/virt-manager.changes 2009-09-25 23:46:15.000000000 +0200
@@ -1,0 +2,10 @@
+Mon Sep 21 16:00:56 MDT 2009 - carnold@novell.com
+
+- Added upstream bug fixes.
+ 1240-cdrom-driver-name.patch
+ 1242-delete-active-vm.patch
+ 1243-syntax-typo.patch
+ 1245-storage-browser-selection.patch
+ 1248-libvirt-connection.patch
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
1240-cdrom-driver-name.patch
1242-delete-active-vm.patch
1243-syntax-typo.patch
1245-storage-browser-selection.patch
1248-libvirt-connection.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ virt-manager.spec ++++++
--- /var/tmp/diff_new_pack.SEROxN/_old 2009-09-27 00:17:39.000000000 +0200
+++ /var/tmp/diff_new_pack.SEROxN/_new 2009-09-27 00:17:39.000000000 +0200
@@ -26,7 +26,7 @@
%define virtinst_rel 0
%define virtinst_name virtinst-%{virtinst_maj}.%{virtinst_min}.%{virtinst_rel}
Version: 0.8.0
-Release: 2
+Release: 3
Summary: Virtual Machine Manager
Group: System/Monitoring
License: LGPL v2.1 or later
@@ -35,16 +35,21 @@
ExclusiveArch: %{ix86} x86_64
Source0: virt-manager-%{version}.tar.bz2
Source1: %{virtinst_name}.tar.bz2
-Patch0: virtman-desktop.diff
-Patch1: virtman-vminstall.diff
-Patch2: virtman-netcat.diff
-Patch3: virtman-pointer.diff
-Patch4: virtman-cdrom.diff
-Patch5: virtman-kvm.diff
-Patch6: virtman-bridge.diff
-Patch7: virtman-manager.diff
-Patch8: virtman-help.diff
-Patch51: virtinst-cdrom.diff
+Patch0: 1240-cdrom-driver-name.patch
+Patch1: 1242-delete-active-vm.patch
+Patch2: 1243-syntax-typo.patch
+Patch3: 1245-storage-browser-selection.patch
+Patch4: 1248-libvirt-connection.patch
+Patch51: virtman-desktop.diff
+Patch52: virtman-vminstall.diff
+Patch53: virtman-netcat.diff
+Patch54: virtman-pointer.diff
+Patch55: virtman-cdrom.diff
+Patch56: virtman-kvm.diff
+Patch57: virtman-bridge.diff
+Patch58: virtman-manager.diff
+Patch59: virtman-help.diff
+Patch81: virtinst-cdrom.diff
# Requires: pygtk2 >= 1.99.12-6
Requires: python-gtk
# Requires: gnome-python2-gconf >= 1.99.11-7
@@ -122,12 +127,17 @@
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
-#%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-pushd $RPM_BUILD_DIR/%{virtinst_name}
%patch51 -p1
+%patch52 -p1
+%patch53 -p1
+%patch54 -p1
+%patch55 -p1
+%patch56 -p1
+#%patch57 -p1
+%patch58 -p1
+%patch59 -p1
+pushd $RPM_BUILD_DIR/%{virtinst_name}
+%patch81 -p1
popd
# sed -i -e "s@sr\@Latn@sr\@latin@" configure
# mv po/sr@Latn.po po/sr@latin.po
@@ -180,7 +190,7 @@
# sed -i '\^/usr/share/gnome/help/^d' %{name}.lang
%clean
-rm -rf $RPM_BUILD_ROOT
+# rm -rf $RPM_BUILD_ROOT
%pre -f %{name}.schemas_pre
++++++ 1240-cdrom-driver-name.patch ++++++
# HG changeset patch
# User Cole Robinson
# Date 1251727555 14400
# Node ID c0de24094ca26b8da900d29746adba056f4114f7
# Parent 37a986ce54ceac389573d763c78f633a10ec1ab7
Don't mangle QEMU driver name on cdrom connect (bz 516116)
Index: virt-manager-0.8.0/src/virtManager/domain.py
===================================================================
--- virt-manager-0.8.0.orig/src/virtManager/domain.py
+++ virt-manager-0.8.0/src/virtManager/domain.py
@@ -1291,19 +1291,28 @@ class vmmDomain(gobject.GObject):
xml = self.get_device_xml("disk", dev_id_info)
def cdrom_xml_connect(doc, ctx):
- disk_fragment = ctx.xpathEval("/disk")
+ disk_fragment = ctx.xpathEval("/disk")[0]
driver_fragment = ctx.xpathEval("/disk/driver")
- disk_fragment[0].setProp("type", _type)
- elem = disk_fragment[0].newChild(None, "source", None)
+ disk_fragment.setProp("type", _type)
+ elem = disk_fragment.newChild(None, "source", None)
+
if _type == "file":
elem.setProp("file", source)
- if driver_fragment:
- driver_fragment[0].setProp("name", _type)
+ driver_name = _type
else:
elem.setProp("dev", source)
- if driver_fragment:
- driver_fragment[0].setProp("name", "phy")
- return disk_fragment[0].serialize()
+ driver_name = "phy"
+
+ if driver_fragment:
+ driver_fragment = driver_fragment[0]
+ orig_name = driver_fragment.prop("name")
+
+ # For Xen, the driver name is dependent on the storage type
+ # (file or phys).
+ if orig_name and orig_name in [ "file", "phy" ]:
+ driver_fragment.setProp("name", driver_name)
+
+ return disk_fragment.serialize()
result = util.xml_parse_wrapper(xml, cdrom_xml_connect)
logging.debug("connect_cdrom produced: %s" % result)
@@ -1313,17 +1322,19 @@ class vmmDomain(gobject.GObject):
xml = self.get_device_xml("disk", dev_id_info)
def cdrom_xml_disconnect(doc, ctx):
- disk_fragment = ctx.xpathEval("/disk")
+ disk_fragment = ctx.xpathEval("/disk")[0]
sourcenode = None
- for child in disk_fragment[0].children:
+
+ for child in disk_fragment.children:
if child.name == "source":
sourcenode = child
break
else:
continue
+
sourcenode.unlinkNode()
sourcenode.freeNode()
- return disk_fragment[0].serialize()
+ return disk_fragment.serialize()
result = util.xml_parse_wrapper(xml, cdrom_xml_disconnect)
logging.debug("eject_cdrom produced: %s" % result)
++++++ 1242-delete-active-vm.patch ++++++
# HG changeset patch
# User Cole Robinson
# Date 1251728389 14400
# Node ID b70858b9f8c6f9fea21f6e66a10e7b9498f11e5e
# Parent 0bdea2b6c30e3b9ac7ca7b35f957598e66fd8c36
Don't allow deleting an active VM (bz 518536)
Index: virt-manager-0.8.0/src/virtManager/manager.py
===================================================================
--- virt-manager-0.8.0.orig/src/virtManager/manager.py
+++ virt-manager-0.8.0/src/virtManager/manager.py
@@ -684,7 +684,8 @@ class vmmManager(gobject.GObject):
show_open = bool(vm)
show_details = bool(vm)
host_details = bool(vm or conn)
- delete = bool((vm and vm.is_runable()) or conn)
+ delete = bool((vm and vm.is_runable()) or
+ (not vm and conn))
show_run = bool(vm and vm.is_runable())
is_paused = bool(vm and vm.is_paused())
if is_paused:
++++++ 1243-syntax-typo.patch ++++++
# HG changeset patch
# User Paul W. Frields
# Date 1251729959 14400
# Node ID d34def55dbd78e2ad5f099d6a38c1f358c798555
# Parent b70858b9f8c6f9fea21f6e66a10e7b9498f11e5e
addhardware: Fix error message syntax typo
Index: virt-manager-0.8.0/AUTHORS
===================================================================
--- virt-manager-0.8.0.orig/AUTHORS
+++ virt-manager-0.8.0/AUTHORS
@@ -59,6 +59,7 @@ Further patches have been submitted by:
Emmanuel Lacour <elacour-at-home-dn-dot-net>
Laurent Léonard <laurent-at-open-minds-dot-org>
Michal Novotny <minovotn-at-redhat-dot-com>
+ Paul W. Frields <stickster-at-gmail-dot-com>
<...send a patch & get your name here...>
Index: virt-manager-0.8.0/src/virtManager/addhardware.py
===================================================================
--- virt-manager-0.8.0.orig/src/virtManager/addhardware.py
+++ virt-manager-0.8.0/src/virtManager/addhardware.py
@@ -1186,8 +1186,8 @@ class vmmAddHardware(gobject.GObject):
conn = self.vm.get_connection().vmm,
name = nodedev_name)
except Exception, e:
- return self.err.val_err(_("Host device parameter error",
- str(e)))
+ return self.err.val_err(_("Host device parameter error"),
+ str(e))
elif page_num == PAGE_CHAR:
chartype = self.get_char_type()
Index: virt-manager-0.8.0/src/vmm-manager.glade
===================================================================
--- virt-manager-0.8.0.orig/src/vmm-manager.glade
+++ virt-manager-0.8.0/src/vmm-manager.glade
@@ -118,7 +118,7 @@
<child>
<widget class="GtkImageMenuItem" id="menu_edit_delete">
<property name="visible">True</property>
- <property name="label" translatable="yes">Delete Virtual Machine</property>
+ <property name="label" translatable="yes">Delete</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_menu_edit_delete_activate"/>
<child internal-child="image">
++++++ 1245-storage-browser-selection.patch ++++++
# HG changeset patch
# User Cole Robinson
# Date 1252939197 14400
# Node ID 486cd6791c3926420786d30401a690884acdf653
# Parent 043ca66e19aabcdb89b8bbe76ef5ded8b0c0fc54
Fix populating text box with storage browser selection in 'New VM' (bz 517263)
We were only properly setting the 'finish' callback for the first time the
storage browser was launched. All subsequent runs would not enter anything
in the associated text box.
Index: virt-manager-0.8.0/src/virtManager/addhardware.py
===================================================================
--- virt-manager-0.8.0.orig/src/virtManager/addhardware.py
+++ virt-manager-0.8.0/src/virtManager/addhardware.py
@@ -80,7 +80,6 @@ class vmmAddHardware(gobject.GObject):
_("An unexpected error occurred"))
self.storage_browser = None
- self._browse_cb_id = None
self._dev = None
@@ -911,10 +910,8 @@ class vmmAddHardware(gobject.GObject):
conn = self.vm.get_connection()
if self.storage_browser == None:
self.storage_browser = vmmStorageBrowser(self.config, conn, False)
- if self._browse_cb_id:
- self.storage_browser.disconnect(self._browse_cb_id)
- self._browse_cb_id = self.storage_browser.connect("storage-browse-finish", set_storage_cb)
+ self.storage_browser.set_finish_cb(set_storage_cb)
self.storage_browser.local_args = { "dialog_name": dialog_name,
"confirm_func": confirm_func,
"browse_reason":
Index: virt-manager-0.8.0/src/virtManager/create.py
===================================================================
--- virt-manager-0.8.0.orig/src/virtManager/create.py
+++ virt-manager-0.8.0/src/virtManager/create.py
@@ -1644,8 +1644,9 @@ class vmmCreate(gobject.GObject):
if self.storage_browser == None:
self.storage_browser = vmmStorageBrowser(self.config, self.conn,
is_media)
- self.storage_browser.connect("storage-browse-finish",
- callback)
+
+ self.storage_browser.set_finish_cb(callback)
+
if is_media:
reason = self.config.CONFIG_DIR_MEDIA
else:
Index: virt-manager-0.8.0/src/virtManager/storagebrowse.py
===================================================================
--- virt-manager-0.8.0.orig/src/virtManager/storagebrowse.py
+++ virt-manager-0.8.0/src/virtManager/storagebrowse.py
@@ -47,6 +47,7 @@ class vmmStorageBrowser(gobject.GObject)
self.config = config
self.conn = conn
self.conn_signal_ids = []
+ self.finish_cb_id = None
self.topwin = self.window.get_widget("vmm-storage-browse")
self.err = vmmErrorDialog(self.topwin,
@@ -89,6 +90,11 @@ class vmmStorageBrowser(gobject.GObject)
self.addvol.close()
return 1
+ def set_finish_cb(self, callback):
+ if self.finish_cb_id:
+ self.disconnect(self.finish_cb_id)
+ self.finish_cb_id = self.connect("storage-browse-finish", callback)
+
def set_initial_state(self):
pool_list = self.window.get_widget("pool-list")
virtManager.host.init_pool_list(pool_list, self.pool_selected)
++++++ 1248-libvirt-connection.patch ++++++
# HG changeset patch
# User Cole Robinson
# Date 1253131339 14400
# Node ID 1c886d1863f72e7ddd5fb99050362296be6a9deb
# Parent 9242a7fe76b16c6505bdd3d3d328ae8f0c56da10
Don't close connection on all libvirt errors: only if libvirtd goes away.
Index: virt-manager-0.8.0/src/virtManager/connection.py
===================================================================
--- virt-manager-0.8.0.orig/src/virtManager/connection.py
+++ virt-manager-0.8.0/src/virtManager/connection.py
@@ -941,7 +941,15 @@ class vmmConnection(gobject.GObject):
updateVMs = newVMs
for uuid in updateVMs:
- self.vms[uuid].tick(now)
+ vm = self.vms[uuid]
+ try:
+ vm.tick(now)
+ except libvirt.libvirtError, e:
+ if e.get_error_code() == libvirt.VIR_ERR_SYSTEM_ERROR:
+ raise
+ logging.exception("Tick for VM '%s' failed" % vm.get_name())
+ except Exception, e:
+ logging.exception("Tick for VM '%s' failed" % vm.get_name())
if not noStatsUpdate:
self._recalculate_stats(now)
Index: virt-manager-0.8.0/src/virtManager/engine.py
===================================================================
--- virt-manager-0.8.0.orig/src/virtManager/engine.py
+++ virt-manager-0.8.0/src/virtManager/engine.py
@@ -199,10 +199,14 @@ class vmmEngine(gobject.GObject):
self.connections[uri]["connection"].tick()
except KeyboardInterrupt:
raise
- except:
- logging.exception("Could not refresh connection %s." % uri)
- logging.debug("Closing connection since refresh failed.")
- self.connections[uri]["connection"].close()
+ except libvirt.libvirtError, e:
+ if e.get_error_code() == libvirt.VIR_ERR_SYSTEM_ERROR:
+ logging.exception("Could not refresh connection %s." % uri)
+ logging.debug("Closing connection since libvirtd "
+ "appears to have stopped.")
+ self.connections[uri]["connection"].close()
+ else:
+ raise
return 1
def change_timer_interval(self,ignore1,ignore2,ignore3,ignore4):
++++++ virtinst-cdrom.diff ++++++
--- /var/tmp/diff_new_pack.SEROxN/_old 2009-09-27 00:17:39.000000000 +0200
+++ /var/tmp/diff_new_pack.SEROxN/_new 2009-09-27 00:17:39.000000000 +0200
@@ -1,7 +1,8 @@
-diff -Nuar virtinst-0.400.3.orig//virtinst/VirtualDisk.py virtinst-0.400.3//virtinst/VirtualDisk.py
---- virtinst-0.400.3.orig//virtinst/VirtualDisk.py 2009-03-09 21:32:15.000000000 -0600
-+++ virtinst-0.400.3//virtinst/VirtualDisk.py 2009-04-21 10:58:25.000000000 -0600
-@@ -846,14 +846,18 @@
+Index: virtinst-0.500.0/virtinst/VirtualDisk.py
+===================================================================
+--- virtinst-0.500.0.orig/virtinst/VirtualDisk.py
++++ virtinst-0.500.0/virtinst/VirtualDisk.py
+@@ -1181,14 +1181,18 @@ class VirtualDisk(VirtualDevice):
return self.target
raise ValueError(_("IDE CDROM must use 'hdc', but target in use."))
++++++ virtman-cdrom.diff ++++++
--- /var/tmp/diff_new_pack.SEROxN/_old 2009-09-27 00:17:39.000000000 +0200
+++ /var/tmp/diff_new_pack.SEROxN/_new 2009-09-27 00:17:39.000000000 +0200
@@ -2,7 +2,7 @@
===================================================================
--- virt-manager-0.8.0.orig/src/virtManager/addhardware.py
+++ virt-manager-0.8.0/src/virtManager/addhardware.py
-@@ -1301,6 +1301,7 @@ class vmmAddHardware(gobject.GObject):
+@@ -1298,6 +1298,7 @@ class vmmAddHardware(gobject.GObject):
if self.vm.get_hv_type().lower() == "kvm":
add_dev("virtio", virtinst.VirtualDisk.DEVICE_DISK, "Virtio Disk")
if self.vm.get_connection().get_type().lower() == "xen":
++++++ virtman-manager.diff ++++++
--- /var/tmp/diff_new_pack.SEROxN/_old 2009-09-27 00:17:39.000000000 +0200
+++ /var/tmp/diff_new_pack.SEROxN/_new 2009-09-27 00:17:39.000000000 +0200
@@ -18,7 +18,7 @@
if active[1] != None:
parent = active[0].iter_parent(active[1])
# return the connection of the currently selected vm, or the
-@@ -768,7 +777,14 @@ class vmmManager(gobject.GObject):
+@@ -769,7 +778,14 @@ class vmmManager(gobject.GObject):
return False
def new_vm(self, ignore=None):
++++++ virtman-vminstall.diff ++++++
--- /var/tmp/diff_new_pack.SEROxN/_old 2009-09-27 00:17:39.000000000 +0200
+++ /var/tmp/diff_new_pack.SEROxN/_new 2009-09-27 00:17:39.000000000 +0200
@@ -12,7 +12,7 @@
from virtManager.host import vmmHost
from virtManager.error import vmmErrorDialog
from virtManager.systray import vmmSystray
-@@ -390,13 +391,24 @@ class vmmEngine(gobject.GObject):
+@@ -394,13 +395,24 @@ class vmmEngine(gobject.GObject):
return False
return True
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org