rpms/virt-manager/F-8 virt-manager-0.5.3-dbus-interface.patch, NONE, 1.1 virt-manager-0.5.3-default-xen-uri.patch, NONE, 1.1 virt-manager-0.5.3-fix-add-blktap-disk.patch, NONE, 1.1 virt-manager-0.5.3-fix-add-bridge.patch, NONE, 1.1 virt-manager-0.5.3-fix-xen-cdrom-insert.patch, NONE, 1.1 virt-manager.spec, 1.30, 1.31

Daniel P. Berrange (berrange) fedora-extras-commits at redhat.com
Wed Mar 19 18:42:18 UTC 2008


Author: berrange

Update of /cvs/pkgs/rpms/virt-manager/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv24597

Modified Files:
	virt-manager.spec 
Added Files:
	virt-manager-0.5.3-dbus-interface.patch 
	virt-manager-0.5.3-default-xen-uri.patch 
	virt-manager-0.5.3-fix-add-blktap-disk.patch 
	virt-manager-0.5.3-fix-add-bridge.patch 
	virt-manager-0.5.3-fix-xen-cdrom-insert.patch 
Log Message:
Fix DBus interface usage & other misc bugs

virt-manager-0.5.3-dbus-interface.patch:

--- NEW FILE virt-manager-0.5.3-dbus-interface.patch ---
diff -ruNp virt-manager-0.5.3.orig/src/virtManager/connection.py virt-manager-0.5.3.new/src/virtManager/connection.py
--- virt-manager-0.5.3.orig/src/virtManager/connection.py	2008-01-10 20:17:51.000000000 -0500
+++ virt-manager-0.5.3.new/src/virtManager/connection.py	2008-03-06 11:06:26.000000000 -0500
@@ -161,9 +161,10 @@ class vmmConnection(gobject.GObject):
 
     def _device_added(self, path):
         obj = self.bus.get_object("org.freedesktop.Hal", path)
-        if obj.QueryCapability("net"):
-            name = obj.GetPropertyString("net.interface")
-            mac = obj.GetPropertyString("net.address")
+        objif = dbus.Interface(obj, "org.freedesktop.Hal.Device")
+        if objif.QueryCapability("net"):
+            name = objif.GetPropertyString("net.interface")
+            mac = objif.GetPropertyString("net.address")
 
             # Now magic to determine if the device is part of a bridge
             shared = False
@@ -171,7 +172,7 @@ class vmmConnection(gobject.GObject):
             try:
                 # XXX Linux specific - needs porting for other OS - patches
                 # welcomed...
-                sysfspath = obj.GetPropertyString("linux.sysfs_path")
+                sysfspath = objif.GetPropertyString("linux.sysfs_path")
 
                 # If running a device in bridged mode, there's a reasonable
                 # chance that the actual ethernet device has been renamed to
diff -ruNp virt-manager-0.5.3.orig/src/virtManager/createnet.py virt-manager-0.5.3.new/src/virtManager/createnet.py
--- virt-manager-0.5.3.orig/src/virtManager/createnet.py	2008-01-10 20:17:51.000000000 -0500
+++ virt-manager-0.5.3.new/src/virtManager/createnet.py	2008-03-06 11:04:52.000000000 -0500
@@ -404,10 +404,11 @@ class vmmCreateNetwork(gobject.GObject):
         # Find info about all current present media
         for d in self.hal_iface.FindDeviceByCapability("volume"):
             vol = self.bus.get_object("org.freedesktop.Hal", d)
-            if vol.GetPropertyBoolean("volume.is_disc") and \
-                   vol.GetPropertyBoolean("volume.disc.has_data"):
-                devnode = vol.GetProperty("block.device")
-                label = vol.GetProperty("volume.label")
+            volif = dbus.Interface(vol, "org.freedesktop.Hal.Device")
+            if volif.GetPropertyBoolean("volume.is_disc") and \
+                   volif.GetPropertyBoolean("volume.disc.has_data"):
+                devnode = volif.GetProperty("block.device")
+                label = volif.GetProperty("volume.label")
                 if label == None or len(label) == 0:
                     label = devnode
                 vollabel[devnode] = label
@@ -416,7 +417,8 @@ class vmmCreateNetwork(gobject.GObject):
 
         for d in self.hal_iface.FindDeviceByCapability("storage.cdrom"):
             dev = self.bus.get_object("org.freedesktop.Hal", d)
-            devnode = dev.GetProperty("block.device")
+            devif = dbus.Interface(dev, "org.freedesktop.Hal.Device")
+            devnode = devif.GetProperty("block.device")
             if vollabel.has_key(devnode):
                 model.append([devnode, vollabel[devnode], True, volpath[devnode]])
             else:
diff -ruNp virt-manager-0.5.3.orig/src/virtManager/create.py virt-manager-0.5.3.new/src/virtManager/create.py
--- virt-manager-0.5.3.orig/src/virtManager/create.py	2008-01-10 20:17:51.000000000 -0500
+++ virt-manager-0.5.3.new/src/virtManager/create.py	2008-03-06 11:04:52.000000000 -0500
@@ -139,7 +139,6 @@ class vmmCreate(gobject.GObject):
         cd_list.add_attribute(text, 'sensitive', 2)
         try:
             self.optical_helper = vmmOpticalDriveHelper(self.window.get_widget("cd-path"))
-            self.optical_helper.populate_opt_media()
             self.window.get_widget("media-physical").set_sensitive(True)
         except Exception, e:
             logging.error("Unable to create optical-helper widget: '%s'", e)
diff -ruNp virt-manager-0.5.3.orig/src/virtManager/opticalhelper.py virt-manager-0.5.3.new/src/virtManager/opticalhelper.py
--- virt-manager-0.5.3.orig/src/virtManager/opticalhelper.py	2008-01-10 20:17:51.000000000 -0500
+++ virt-manager-0.5.3.new/src/virtManager/opticalhelper.py	2008-03-06 11:04:52.000000000 -0500
@@ -52,10 +52,11 @@ class vmmOpticalDriveHelper(gobject.GObj
         # Find info about all current present media
         for d in self.hal_iface.FindDeviceByCapability("volume"):
             vol = self.bus.get_object("org.freedesktop.Hal", d)
-            if vol.GetPropertyBoolean("volume.is_disc") and \
-                   vol.GetPropertyBoolean("volume.disc.has_data"):
-                devnode = vol.GetProperty("block.device")
-                label = vol.GetProperty("volume.label")
+            volif = dbus.Interface(vol, "org.freedesktop.Hal.Device")
+            if volif.GetPropertyBoolean("volume.is_disc") and \
+                   volif.GetPropertyBoolean("volume.disc.has_data"):
+                devnode = volif.GetProperty("block.device")
+                label = volif.GetProperty("volume.label")
                 if label == None or len(label) == 0:
                     label = devnode
                 vollabel[devnode] = label
@@ -63,19 +64,21 @@ class vmmOpticalDriveHelper(gobject.GObj
 
         for d in self.hal_iface.FindDeviceByCapability("storage.cdrom"):
             dev = self.bus.get_object("org.freedesktop.Hal", d)
-            devnode = dev.GetProperty("block.device")
+            devif = dbus.Interface(dev, "org.freedesktop.Hal.Device")
+            devnode = devif.GetProperty("block.device")
             if vollabel.has_key(devnode):
-                self.model.append([devnode, vollabel[devnode], True, volpath[devnode]])
+                self.model.append([devnode, "%s (%s)" % (vollabel[devnode], devnode), True, volpath[devnode]])
             else:
-                self.model.append([devnode, _("No media present"), False, None])
+                self.model.append([devnode, "%s (%s)" % (_("No media present"), devnode), False, None])
 
     def _device_added(self, path):
         vol = self.bus.get_object("org.freedesktop.Hal", path)
-        if vol.QueryCapability("volume"):
-            if vol.GetPropertyBoolean("volume.is_disc") and \
-                   vol.GetPropertyBoolean("volume.disc.has_data"):
-                devnode = vol.GetProperty("block.device")
-                label = vol.GetProperty("volume.label")
+        volif = dbus.Interface(vol, "org.freedesktop.Hal.Device")
+        if volif.QueryCapability("volume"):
+            if volif.GetPropertyBoolean("volume.is_disc") and \
+                   volif.GetPropertyBoolean("volume.disc.has_data"):
+                devnode = volif.GetProperty("block.device")
+                label = volif.GetProperty("volume.label")
                 if label == None or len(label) == 0:
                     label = devnode
 
@@ -88,8 +91,6 @@ class vmmOpticalDriveHelper(gobject.GObj
                         row[3] = path
 
     def _device_removed(self, path):
-        vol = self.bus.get_object("org.freedesktop.Hal", path)
-
         active = self.widget.get_active()
         idx = 0
         # Search for the row containing matching HAL volume path

virt-manager-0.5.3-default-xen-uri.patch:

--- NEW FILE virt-manager-0.5.3-default-xen-uri.patch ---
diff -rup virt-manager-0.5.3.old/src/virt-manager.py.in virt-manager-0.5.3/src/virt-manager.py.in
--- virt-manager-0.5.3.old/src/virt-manager.py.in	2008-03-05 17:00:38.000000000 -0500
+++ virt-manager-0.5.3/src/virt-manager.py.in	2008-03-05 17:01:01.000000000 -0500
@@ -172,7 +172,7 @@ def show_engine(engine, show, uri, uuid)
         if engine.config.get_connections() is None or len(engine.config.get_connections()) == 0:
             tryuri = None
             if os.path.exists("/var/lib/xend") and os.path.exists("/proc/xen"):
-                tryuri = "xen"
+                tryuri = "xen:///"
             elif os.path.exists("/usr/bin/qemu"):
                 if os.getuid() == 0:
                     tryuri = "qemu:///system"

virt-manager-0.5.3-fix-add-blktap-disk.patch:

--- NEW FILE virt-manager-0.5.3-fix-add-blktap-disk.patch ---
# HG changeset patch
# User "Cole Robinson <crobinso at redhat.com>"
# Date 1201714089 18000
# Node ID 90dd30034ebc05edd006a2174680b8d7ff0f522a
# Parent  384724cb14e02c6c98bec00db5567e03349caca6
Fix adding virtual blktap disk to pv guest via addhardware wizard. rhbz 430926

diff -r 384724cb14e0 -r 90dd30034ebc src/virtManager/addhardware.py
--- a/src/virtManager/addhardware.py	Wed Jan 16 11:49:56 2008 -0500
+++ b/src/virtManager/addhardware.py	Wed Jan 30 12:28:09 2008 -0500
@@ -700,7 +700,7 @@ class vmmAddHardware(gobject.GObject):
                                                   device=device)
                 if self._disk.type == virtinst.VirtualDisk.TYPE_FILE and \
                    not self.vm.is_hvm() and virtinst.util.is_blktap_capable():
-                        disk.driver_name = virtinst.VirtualDisk.DRIVER_TAP
+                    self._disk.driver_name = virtinst.VirtualDisk.DRIVER_TAP
             except ValueError, e:
                 self._validation_error_box(_("Invalid Storage Parameters"), \
                                             str(e))

virt-manager-0.5.3-fix-add-bridge.patch:

--- NEW FILE virt-manager-0.5.3-fix-add-bridge.patch ---
# HG changeset patch
# User "Cole Robinson <crobinso at redhat.com>"
# Date 1200502173 18000
# Node ID dbd25721f588ab3662ab28b3f675f1e7bf071376
# Parent  49c55daf788d3ba7dc7dfd270b2b607b9cb6c7ae
Adding a bridged network device was broken, adding the display name and not the interface name. Fix similar to cset 597. Fixes bug 392881.

diff -r 49c55daf788d -r dbd25721f588 src/virtManager/addhardware.py
--- a/src/virtManager/addhardware.py	Tue Jan 15 08:58:32 2008 -0500
+++ b/src/virtManager/addhardware.py	Wed Jan 16 11:49:33 2008 -0500
@@ -122,12 +122,12 @@ class vmmAddHardware(gobject.GObject):
         network_list.add_attribute(text, 'text', 1)
 
         device_list = self.window.get_widget("net-device")
-        device_model = gtk.ListStore(str, bool)
+        device_model = gtk.ListStore(str, str, bool)
         device_list.set_model(device_model)
         text = gtk.CellRendererText()
         device_list.pack_start(text, True)
-        device_list.add_attribute(text, 'text', 0)
-        device_list.add_attribute(text, 'sensitive', 1)
+        device_list.add_attribute(text, 'text', 1)
+        device_list.add_attribute(text, 'sensitive', 2)
 
         target_list = self.window.get_widget("target-device")
         target_model = gtk.ListStore(str, int, str, str, str)
@@ -820,9 +820,9 @@ class vmmAddHardware(gobject.GObject):
             net = self.vm.get_connection().get_net_device(name)
             if net.is_shared():
                 hasShared = True
-                model.append(["%s (%s %s)" % (net.get_name(), _("Bridge"), net.get_bridge()), True])
+                model.append([net.get_bridge(), "%s (%s %s)" % (net.get_name(), _("Bridge"), net.get_bridge()), True])
             else:
-                model.append(["%s (%s)" % (net.get_name(), _("Not bridged")), False])
+                model.append([net.get_bridge(), "%s (%s)" % (net.get_name(), _("Not bridged")), False])
         return hasShared
 
     def populate_target_device_model(self, model):

virt-manager-0.5.3-fix-xen-cdrom-insert.patch:

--- NEW FILE virt-manager-0.5.3-fix-xen-cdrom-insert.patch ---
diff -r 523f2f7501c6 src/virtManager/domain.py
--- a/src/virtManager/domain.py	Wed Mar 12 10:37:49 2008 +0100
+++ b/src/virtManager/domain.py	Wed Mar 12 12:43:12 2008 -0400
@@ -570,13 +570,18 @@ class vmmDomain(gobject.GObject):
             doc = libxml2.parseDoc(xml)
             ctx = doc.xpathNewContext()
             disk_fragment = ctx.xpathEval("/disk")
+            driver_fragment = ctx.xpathEval("/disk/driver")
             origdisk = disk_fragment[0].serialize()
             disk_fragment[0].setProp("type", type)
             elem = disk_fragment[0].newChild(None, "source", None)
             if type == "file":
                 elem.setProp("file", source)
+                if driver_fragment:
+                    driver_fragment.setProp("name", type)
             else:
                 elem.setProp("dev", source)
+                if driver_fragment:
+                    driver_fragment.setProp("name", "phy")
             result = disk_fragment[0].serialize()
             logging.debug("connect_cdrom_device produced the following XML: %s" % result)
         finally:


Index: virt-manager.spec
===================================================================
RCS file: /cvs/pkgs/rpms/virt-manager/F-8/virt-manager.spec,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- virt-manager.spec	11 Jan 2008 01:51:19 -0000	1.30
+++ virt-manager.spec	19 Mar 2008 18:41:41 -0000	1.31
@@ -8,7 +8,7 @@
 
 Name: virt-manager
 Version: 0.5.3
-Release: 1%{_extra_release}
+Release: 2%{_extra_release}
 Summary: Virtual Machine Manager
 
 Group: Applications/Emulators
@@ -17,6 +17,13 @@
 Source0: http://virt-manager.org/download/sources/%{name}/%{name}-%{version}.tar.gz
 Source1: %{name}.pam
 Source2: %{name}.console
+
+Patch1: %{name}-%{version}-fix-add-bridge.patch
+Patch2: %{name}-%{version}-fix-add-blktap-disk.patch
+Patch3: %{name}-%{version}-dbus-interface.patch
+Patch4: %{name}-%{version}-default-xen-uri.patch
+Patch5: %{name}-%{version}-fix-xen-cdrom-insert.patch
+
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 # These two are just the oldest version tested
@@ -68,6 +75,11 @@
 
 %prep
 %setup -q
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
 
 %build
 %configure
@@ -158,6 +170,13 @@
 %{_datadir}/dbus-1/services/%{name}.service
 
 %changelog
+* Mon Mar 19 2008 Daniel P. Berrange <berrange at redhat.com> - 0.5.3-2.fc8
+- Fix cdrom media connect
+- Fix default Xen hypervisor URI
+- Fix DBus calls to use an explicit interface (rhbz #435506)
+- Fix adding blktap disk to PV guest via addhardware wizard
+- Fix adding shared network devices via addhardware wizard
+
 * Thu Jan 10 2008 Daniel P. Berrange <berrange at redhat.com> - 0.5.3-1.fc8
 - Update to 0.5.3 release
 




More information about the fedora-extras-commits mailing list