diff --git a/virt-manager-0.8.0-addhw-errmsg-typo.patch b/virt-manager-0.8.0-addhw-errmsg-typo.patch new file mode 100644 index 0000000..97bf80d --- /dev/null +++ b/virt-manager-0.8.0-addhw-errmsg-typo.patch @@ -0,0 +1,44 @@ +# HG changeset patch +# User Paul W. Frields +# Date 1251729959 14400 +# Node ID d34def55dbd78e2ad5f099d6a38c1f358c798555 +# Parent b70858b9f8c6f9fea21f6e66a10e7b9498f11e5e +addhardware: Fix error message syntax typo + +diff -r b70858b9f8c6 -r d34def55dbd7 AUTHORS +--- a/AUTHORS Mon Aug 31 10:19:49 2009 -0400 ++++ b/AUTHORS Mon Aug 31 10:45:59 2009 -0400 +@@ -59,6 +59,7 @@ + Emmanuel Lacour + Laurent LĂ©onard + Michal Novotny ++ Paul W. Frields + + <...send a patch & get your name here...> + +diff -r b70858b9f8c6 -r d34def55dbd7 src/virtManager/addhardware.py +--- a/src/virtManager/addhardware.py Mon Aug 31 10:19:49 2009 -0400 ++++ b/src/virtManager/addhardware.py Mon Aug 31 10:45:59 2009 -0400 +@@ -1186,8 +1186,8 @@ + 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() +diff -r b70858b9f8c6 -r d34def55dbd7 src/vmm-manager.glade +--- a/src/vmm-manager.glade Mon Aug 31 10:19:49 2009 -0400 ++++ b/src/vmm-manager.glade Mon Aug 31 10:45:59 2009 -0400 +@@ -118,7 +118,7 @@ + + + True +- Delete Virtual Machine ++ Delete + True + + diff --git a/virt-manager-0.8.0-cdrom-eject-driver.patch b/virt-manager-0.8.0-cdrom-eject-driver.patch new file mode 100644 index 0000000..8bcebdf --- /dev/null +++ b/virt-manager-0.8.0-cdrom-eject-driver.patch @@ -0,0 +1,70 @@ +# 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) + +diff -r 37a986ce54ce -r c0de24094ca2 src/virtManager/domain.py +--- a/src/virtManager/domain.py Thu Aug 27 11:07:35 2009 -0400 ++++ b/src/virtManager/domain.py Mon Aug 31 10:05:55 2009 -0400 +@@ -1291,19 +1291,28 @@ + 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 @@ + 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) diff --git a/virt-manager-0.8.0-newvm-storage-cb.patch b/virt-manager-0.8.0-newvm-storage-cb.patch new file mode 100644 index 0000000..2922046 --- /dev/null +++ b/virt-manager-0.8.0-newvm-storage-cb.patch @@ -0,0 +1,72 @@ +# 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. + +diff -r 043ca66e19aa -r 486cd6791c39 src/virtManager/addhardware.py +--- a/src/virtManager/addhardware.py Mon Sep 14 10:14:41 2009 -0400 ++++ b/src/virtManager/addhardware.py Mon Sep 14 10:39:57 2009 -0400 +@@ -80,7 +80,6 @@ + _("An unexpected error occurred")) + + self.storage_browser = None +- self._browse_cb_id = None + + self._dev = None + +@@ -911,10 +910,8 @@ + 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": +diff -r 043ca66e19aa -r 486cd6791c39 src/virtManager/create.py +--- a/src/virtManager/create.py Mon Sep 14 10:14:41 2009 -0400 ++++ b/src/virtManager/create.py Mon Sep 14 10:39:57 2009 -0400 +@@ -1644,8 +1644,9 @@ + 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: +diff -r 043ca66e19aa -r 486cd6791c39 src/virtManager/storagebrowse.py +--- a/src/virtManager/storagebrowse.py Mon Sep 14 10:14:41 2009 -0400 ++++ b/src/virtManager/storagebrowse.py Mon Sep 14 10:39:57 2009 -0400 +@@ -47,6 +47,7 @@ + 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 @@ + 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) diff --git a/virt-manager-0.8.0-no-delete-active.patch b/virt-manager-0.8.0-no-delete-active.patch new file mode 100644 index 0000000..713edf2 --- /dev/null +++ b/virt-manager-0.8.0-no-delete-active.patch @@ -0,0 +1,20 @@ +# HG changeset patch +# User Cole Robinson +# Date 1251728389 14400 +# Node ID b70858b9f8c6f9fea21f6e66a10e7b9498f11e5e +# Parent 0bdea2b6c30e3b9ac7ca7b35f957598e66fd8c36 +Don't allow deleting an active VM (bz 518536) + +diff -r 0bdea2b6c30e -r b70858b9f8c6 src/virtManager/manager.py +--- a/src/virtManager/manager.py Mon Aug 31 10:07:06 2009 -0400 ++++ b/src/virtManager/manager.py Mon Aug 31 10:19:49 2009 -0400 +@@ -684,7 +684,8 @@ + 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: diff --git a/virt-manager-0.8.0-pylint-tweak.patch b/virt-manager-0.8.0-pylint-tweak.patch new file mode 100644 index 0000000..5e3046e --- /dev/null +++ b/virt-manager-0.8.0-pylint-tweak.patch @@ -0,0 +1,18 @@ +# HG changeset patch +# User Cole Robinson +# Date 1252937681 14400 +# Node ID 043ca66e19aabcdb89b8bbe76ef5ded8b0c0fc54 +# Parent d34def55dbd78e2ad5f099d6a38c1f358c798555 +Try to avoid 'maximum recursion depth' errors from pylint script. + +diff -r d34def55dbd7 -r 043ca66e19aa tests/pylint-virt-manager.sh +--- a/tests/pylint-virt-manager.sh Mon Aug 31 10:45:59 2009 -0400 ++++ b/tests/pylint-virt-manager.sh Mon Sep 14 10:14:41 2009 -0400 +@@ -95,6 +95,7 @@ + -ve "$BUILTIN_TYPE" \ + -ve "$ERROR_VBOX" \ + -ve "$UNABLE_IMPORT" \ ++ -ve "$MAX_RECURSION" \ + -ve "$EXCEPTHOOK" | \ + $AWK '\ + # Strip out any "*** Module name" lines if we dont list any errors for them diff --git a/virt-manager.spec b/virt-manager.spec index f4a8cb8..5fafe5b 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 0.8.0 -Release: 2%{_extra_release} +Release: 3%{_extra_release} Summary: Virtual Machine Manager Group: Applications/Emulators @@ -17,6 +17,16 @@ URL: http://virt-manager.org/ Source0: http://virt-manager.org/download/sources/%{name}/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch +# Fix disk XML mangling via connect/eject cdrom (bz 516116) +Patch1: %{name}-%{version}-cdrom-eject-driver.patch +# Fix delete button sensitivity (bz 518536) +Patch2: %{name}-%{version}-no-delete-active.patch +# Fix populating text box from storage browser in 'New VM' (bz 517263) +Patch3: %{name}-%{version}-newvm-storage-cb.patch +# Fix a traceback in an 'Add Hardware' error path (bz 517286) +Patch4: %{name}-%{version}-addhw-errmsg-typo.patch +# Fixes for pylint script to return nicer results on F11/F12 +Patch5: %{name}-%{version}-pylint-tweak.patch # These two are just the oldest version tested Requires: pygtk2 >= 1.99.12-6 @@ -81,6 +91,11 @@ management API. %prep %setup -q +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 %build %configure @@ -154,6 +169,12 @@ fi %{_datadir}/dbus-1/services/%{name}.service %changelog +* Mon Sep 14 2009 Cole Robinson - 0.8.0-3.fc12 +- Fix disk XML mangling via connect/eject cdrom (bz 516116) +- Fix delete button sensitivity (bz 518536) +- Fix populating text box from storage browser in 'New VM' (bz 517263) +- Fix a traceback in an 'Add Hardware' error path (bz 517286) + * Thu Aug 13 2009 Daniel P. Berrange - 0.8.0-2.fc12 - Remove obsolete dep on policykit agent