From b427d337f442251ac823a95a488d2023b176f9f8 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Tue, 3 Jul 2007 13:21:38 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virt-manager?expand=0&rev=7 --- virt-manager-0.4.0.tar.bz2 | 3 --- virt-manager.changes | 6 +++++ virt-manager.spec | 34 ++++++++++++++---------- virt-manager.tar.bz2 | 3 +++ virtinst.tar.bz2 | 3 +++ virtman-console-keys.diff | 16 +++++------ virtman-delete.diff | 15 ----------- virtman-desktop.diff | 18 ++++++------- virtman-detach-yast.diff | 18 ++++++------- virtman-install.diff | 2 +- virtman-limit-popup.diff | 23 +++++----------- virtman-type-register.diff | 54 +++++++++++++++++++------------------- virtman-typo.diff | 15 ----------- virtman-wrong-port.diff | 8 +++--- 14 files changed, 97 insertions(+), 121 deletions(-) delete mode 100644 virt-manager-0.4.0.tar.bz2 create mode 100644 virt-manager.tar.bz2 create mode 100644 virtinst.tar.bz2 delete mode 100644 virtman-delete.diff delete mode 100644 virtman-typo.diff diff --git a/virt-manager-0.4.0.tar.bz2 b/virt-manager-0.4.0.tar.bz2 deleted file mode 100644 index 9ecd9ba5..00000000 --- a/virt-manager-0.4.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:75235bcfbb776a0e59bba543b0dca8d5b3d73b826db09bf0146ef0148c0530f1 -size 975315 diff --git a/virt-manager.changes b/virt-manager.changes index cad3090d..33196ebe 100644 --- a/virt-manager.changes +++ b/virt-manager.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Jul 2 11:11:50 MDT 2007 - ccoffing@novell.com + +- Update to changeset 508. +- Include virtinst, to support virtual device add/remove. + ------------------------------------------------------------------- Wed May 23 14:13:36 MDT 2007 - ccoffing@novell.com diff --git a/virt-manager.spec b/virt-manager.spec index 3bd0279d..f68724cc 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -12,17 +12,18 @@ Name: virt-manager URL: http://virt-manager.et.redhat.com -BuildRequires: autoconf automake gconf2 gettext gtk2-devel python-devel python-gobject2-devel python-gtk-devel scrollkeeper update-desktop-files +BuildRequires: autoconf automake gconf2 gettext gtk2-devel intltool python-devel python-gobject2-devel python-gtk-devel scrollkeeper update-desktop-files # Only for directory ownership: BuildRequires: libgnome yast2 -License: GNU General Public License (GPL) +License: GPL v2 or later Group: System/Monitoring Autoreqprov: yes Version: 0.4.0 -Release: 10 +Release: 27 Summary: Virtual Machine Manager -Source0: virt-manager-0.4.0.tar.bz2 -Source1: rhpl-exception.py +Source0: virt-manager.tar.bz2 +Source1: virtinst.tar.bz2 +Source2: rhpl-exception.py Patch10: virtman-desktop.diff Patch11: virtman-install.diff Patch12: virtman-type-register.diff @@ -31,8 +32,6 @@ Patch14: virtman-detach-yast.diff Patch15: virtman-limit-popup.diff Patch16: virtman-edit.diff Patch17: virtman-wrong-port.diff -Patch18: virtman-typo.diff -Patch19: virtman-delete.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 x86_64 Requires: python-gtk @@ -42,7 +41,7 @@ Requires: dbus-1-python Requires: libxml2-python Requires: vte Requires: librsvg -Requires: xen-tools >= 3.0.4_13138-0.10 +Requires: vm-install Requires: gconf2 %gconf_schemas_prereq @@ -60,7 +59,8 @@ Authors: Jeremy Katz %prep -%setup -q +%setup -q -n virt-manager--devel +%setup -D -T -b 1 -n virt-manager--devel %patch10 -p1 %patch11 -p1 %patch12 -p1 @@ -69,23 +69,24 @@ Authors: %patch15 -p1 #%patch16 -p1 # re-port... or not? %patch17 -p1 -%patch18 -p1 -%patch19 -p1 %build -autoreconf -i +intltoolize +autoreconf -if %configure make %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT +mkdir $RPM_BUILD_ROOT%{_datadir}/virt-manager/virtinst/ +install -m644 ../virtinst--devel/virtinst/*.py $RPM_BUILD_ROOT%{_datadir}/virt-manager/virtinst/ +install -m644 %SOURCE2 $RPM_BUILD_ROOT%{_datadir}/virt-manager/exception.py rm -f $RPM_BUILD_ROOT%{_libdir}/virt-manager/sparkline.{a,la} -install -m644 %SOURCE1 $RPM_BUILD_ROOT%{_datadir}/virt-manager/exception.py %find_gconf_schemas %find_lang %{name} cat %{name}.schemas_list %{name}.lang >%{name}.lst -%suse_update_desktop_file %{name} X-SuSE-YaST-Virtualization +%suse_update_desktop_file -r %{name} X-SuSE-YaST X-SuSE-YaST-Virtualization %clean test ! -z "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" && rm -rf $RPM_BUILD_ROOT @@ -111,12 +112,17 @@ test ! -z "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" && rm -rf $RPM_BUILD_ROO %{_datadir}/virt-manager/*.py %dir %{_datadir}/virt-manager/virtManager %{_datadir}/virt-manager/virtManager/*.py +%dir %{_datadir}/virt-manager/virtinst +%{_datadir}/virt-manager/virtinst/*.py %dir %{_datadir}/virt-manager/vncViewer %{_datadir}/virt-manager/vncViewer/*.py %{_datadir}/applications/YaST2/virt-manager.desktop %{_datadir}/dbus-1/services/virt-manager.service %changelog +* Mon Jul 02 2007 - ccoffing@novell.com +- Update to changeset 508. +- Include virtinst, to support virtual device add/remove. * Wed May 23 2007 - ccoffing@novell.com - Could not delete VM through menu. (#272013) * Tue May 22 2007 - ccoffing@novell.com diff --git a/virt-manager.tar.bz2 b/virt-manager.tar.bz2 new file mode 100644 index 00000000..2b72c51f --- /dev/null +++ b/virt-manager.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03b848122376a73dfba52377c9899d1d9471f395b2f7cf2cc1d642e8cf5b6114 +size 1043510 diff --git a/virtinst.tar.bz2 b/virtinst.tar.bz2 new file mode 100644 index 00000000..71eaa1a1 --- /dev/null +++ b/virtinst.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:589a032edce8c8e10333b5fd41b4f5b15c4c531597a42243d6d33278f5ea5ea8 +size 78645 diff --git a/virtman-console-keys.diff b/virtman-console-keys.diff index d6d07d62..368c18a2 100644 --- a/virtman-console-keys.diff +++ b/virtman-console-keys.diff @@ -1,7 +1,7 @@ -Index: virt-manager-0.4.0/src/virtManager/console.py +Index: virt-manager--devel/src/virtManager/console.py =================================================================== ---- virt-manager-0.4.0.orig/src/virtManager/console.py -+++ virt-manager-0.4.0/src/virtManager/console.py +--- virt-manager--devel.orig/src/virtManager/console.py ++++ virt-manager--devel/src/virtManager/console.py @@ -49,6 +49,8 @@ class vmmConsole(gobject.GObject): self.vm = vm @@ -23,10 +23,10 @@ Index: virt-manager-0.4.0/src/virtManager/console.py self.vncViewer.connect("pointer-grabbed", self.notify_grabbed) self.vncViewer.connect("pointer-ungrabbed", self.notify_ungrabbed) -Index: virt-manager-0.4.0/src/vncViewer/vnc.py +Index: virt-manager--devel/src/vncViewer/vnc.py =================================================================== ---- virt-manager-0.4.0.orig/src/vncViewer/vnc.py -+++ virt-manager-0.4.0/src/vncViewer/vnc.py +--- virt-manager--devel.orig/src/vncViewer/vnc.py ++++ virt-manager--devel/src/vncViewer/vnc.py @@ -190,7 +190,7 @@ class GRFBViewer(gtk.DrawingArea): "keyboard-ungrabbed": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, []), } @@ -44,7 +44,7 @@ Index: virt-manager-0.4.0/src/vncViewer/vnc.py self.accel_groups = gtk.accel_groups_from_object(topwin) self.preferred_encoding = (rfb.ENCODING_RAW, rfb.ENCODING_DESKTOP_RESIZE) # Current impl of draw_solid is *far* too slow to be practical -@@ -460,6 +461,8 @@ class GRFBViewer(gtk.DrawingArea): +@@ -458,6 +459,8 @@ class GRFBViewer(gtk.DrawingArea): gtk.gdk.keyboard_grab(self.window, False, long(0)) for g in self.accel_groups: self.topwin.remove_accel_group(g) @@ -53,7 +53,7 @@ Index: virt-manager-0.4.0/src/vncViewer/vnc.py self.gtk_settings = gtk.settings_get_default() self.gtk_settings_accel = self.gtk_settings.get_property('gtk-menu-bar-accel') self.gtk_settings.set_property('gtk-menu-bar-accel', None) -@@ -470,6 +473,8 @@ class GRFBViewer(gtk.DrawingArea): +@@ -468,6 +471,8 @@ class GRFBViewer(gtk.DrawingArea): gtk.gdk.keyboard_ungrab() for g in self.accel_groups: self.topwin.add_accel_group(g) diff --git a/virtman-delete.diff b/virtman-delete.diff deleted file mode 100644 index 07dcda41..00000000 --- a/virtman-delete.diff +++ /dev/null @@ -1,15 +0,0 @@ -Bugzilla #272013 -submitted upstream - -Index: virt-manager-0.4.0/src/virtManager/manager.py -=================================================================== ---- virt-manager-0.4.0.orig/src/virtManager/manager.py -+++ virt-manager-0.4.0/src/virtManager/manager.py -@@ -171,6 +171,7 @@ class vmmManager(gobject.GObject): - "on_vm_open_clicked": self.open_vm_console, - "on_vm_new_clicked": self.show_vm_create, - "on_vm_delete_clicked": self.delete_vm, -+ "on_menu_edit_delete_activate" : self.delete_vm, - "on_menu_edit_details_activate": self.show_vm_details, - "on_menu_host_details_activate": self.show_host, - diff --git a/virtman-desktop.diff b/virtman-desktop.diff index 8cb2858d..02035a03 100644 --- a/virtman-desktop.diff +++ b/virtman-desktop.diff @@ -1,11 +1,11 @@ -Index: virt-manager-0.4.0/src/virt-manager.desktop.in +Index: virt-manager--devel/src/virt-manager.desktop.in.in =================================================================== ---- virt-manager-0.4.0.orig/src/virt-manager.desktop.in -+++ virt-manager-0.4.0/src/virt-manager.desktop.in +--- virt-manager--devel.orig/src/virt-manager.desktop.in.in ++++ virt-manager--devel/src/virt-manager.desktop.in.in @@ -1,9 +1,15 @@ [Desktop Entry] - Name=Virtual Machine Manager --Comment=The virtual machine management tool + _Name=Virtual Machine Manager +-_Comment=The virtual machine management tool -Icon=::ICONDIR::/::PACKAGE::-icon.svg -Exec=::PACKAGE:: +GenericName=The virtual machine management tool @@ -22,16 +22,16 @@ Index: virt-manager-0.4.0/src/virt-manager.desktop.in +X-SuSE-YaST-RootOnly=true +X-SuSE-YaST-Geometry= +X-SuSE-YaST-SortKey= -Index: virt-manager-0.4.0/src/Makefile.am +Index: virt-manager--devel/src/Makefile.am =================================================================== ---- virt-manager-0.4.0.orig/src/Makefile.am -+++ virt-manager-0.4.0/src/Makefile.am +--- virt-manager--devel.orig/src/Makefile.am ++++ virt-manager--devel/src/Makefile.am @@ -14,7 +14,7 @@ libexec_SCRIPTS = $(PACKAGE)-launch gladedir = $(pkgdatadir) glade_DATA = $(wildcard $(srcdir)/*.glade) -desktopdir = $(datadir)/applications +desktopdir = $(datadir)/applications/YaST2/ - desktop_SOURCES = $(PACKAGE).desktop.in + desktop_SOURCES = $(PACKAGE).desktop.in.in desktop_DATA = $(PACKAGE).desktop diff --git a/virtman-detach-yast.diff b/virtman-detach-yast.diff index 3e97ea5b..00617cc5 100644 --- a/virtman-detach-yast.diff +++ b/virtman-detach-yast.diff @@ -1,8 +1,8 @@ -Index: virt-manager-0.4.0/src/virt-manager.py.in +Index: virt-manager--devel/src/virt-manager.py.in =================================================================== ---- virt-manager-0.4.0.orig/src/virt-manager.py.in -+++ virt-manager-0.4.0/src/virt-manager.py.in -@@ -177,6 +177,8 @@ def main(): +--- virt-manager--devel.orig/src/virt-manager.py.in ++++ virt-manager--devel/src/virt-manager.py.in +@@ -188,6 +188,8 @@ def main(): optParser = OptionParser() optParser.add_option("--profile", dest="profile", help="Generate runtime performance profile stats", metavar="FILE") optParser.set_defaults(uuid=None) @@ -11,7 +11,7 @@ Index: virt-manager-0.4.0/src/virt-manager.py.in optParser.add_option("-c", "--connect", dest="uri", help="Connect to hypervisor at URI", metavar="URI") optParser.add_option("--no-dbus", action="store_true", dest="nodbus", -@@ -228,6 +230,23 @@ def main(): +@@ -239,6 +241,23 @@ def main(): logging.warning("Could not connection to session bus, disabling DBus service " + \ str(sys.exc_info()[0]) + " " + str(sys.exc_info()[1])) @@ -35,11 +35,11 @@ Index: virt-manager-0.4.0/src/virt-manager.py.in # Finally start the app for real show_engine(engine, options.show, options.uri, options.uuid) if options.profile != None: -Index: virt-manager-0.4.0/src/virtManager/engine.py +Index: virt-manager--devel/src/virtManager/engine.py =================================================================== ---- virt-manager-0.4.0.orig/src/virtManager/engine.py -+++ virt-manager-0.4.0/src/virtManager/engine.py -@@ -278,7 +278,7 @@ class vmmEngine: +--- virt-manager--devel.orig/src/virtManager/engine.py ++++ virt-manager--devel/src/virtManager/engine.py +@@ -277,7 +277,7 @@ class vmmEngine: return self.connections[uri]["windowDetails"][uuid] def show_manager(self, uri): diff --git a/virtman-install.diff b/virtman-install.diff index cca13074..cef8f6c4 100644 --- a/virtman-install.diff +++ b/virtman-install.diff @@ -7,7 +7,7 @@ Index: virt-manager-0.4.0/src/virtManager/engine.py from virtManager.console import vmmConsole from virtManager.asyncjob import vmmAsyncJob -from virtManager.create import vmmCreate -+from xen.install.gui.gui import VMCreate as vmmCreate ++from vminstall.gtk.interface import VMCreate as vmmCreate from virtManager.serialcon import vmmSerialConsole from virtManager.error import vmmErrorDialog from virtManager.host import vmmHost diff --git a/virtman-limit-popup.diff b/virtman-limit-popup.diff index b0c50aeb..40067d7e 100644 --- a/virtman-limit-popup.diff +++ b/virtman-limit-popup.diff @@ -1,7 +1,7 @@ -Index: virt-manager-0.4.0/src/virtManager/console.py +Index: virt-manager--devel/src/virtManager/console.py =================================================================== ---- virt-manager-0.4.0.orig/src/virtManager/console.py -+++ virt-manager-0.4.0/src/virtManager/console.py +--- virt-manager--devel.orig/src/virtManager/console.py ++++ virt-manager--devel/src/virtManager/console.py @@ -47,6 +47,7 @@ class vmmConsole(gobject.GObject): self.window = gtk.glade.XML(config.get_glade_dir() + "/vmm-console.glade", "vmm-console", domain="virt-manager") self.config = config @@ -10,22 +10,13 @@ Index: virt-manager-0.4.0/src/virtManager/console.py topwin = self.window.get_widget("vmm-console") sens = (self.window.get_widget("menubar2"), -@@ -123,6 +124,10 @@ class vmmConsole(gobject.GObject): - +@@ -135,6 +136,9 @@ class vmmConsole(gobject.GObject): def notify_grabbed(self, src): topwin = self.window.get_widget("vmm-console") -+ topwin.set_title(_("Press Ctrl+Alt to release pointer.") + " " + self.title) + topwin.set_title(_("Press Ctrl+Alt to release pointer.") + " " + self.title) + if not self.grab_notifications: + return + self.grab_notifications -= 1 - try: - bus = dbus.SessionBus() - noteSvr = bus.get_object("org.freedesktop.Notifications", "/org/freedesktop/Notifications") -@@ -141,7 +146,6 @@ class vmmConsole(gobject.GObject): - 5 * 1000); - except Exception, e: - pass -- topwin.set_title(_("Press Ctrl+Alt to release pointer.") + " " + self.title) - def notify_ungrabbed(self, src): - topwin = self.window.get_widget("vmm-console") + if self.config.show_console_grab_notify(): + try: diff --git a/virtman-type-register.diff b/virtman-type-register.diff index 8d812bd2..cfcb8278 100644 --- a/virtman-type-register.diff +++ b/virtman-type-register.diff @@ -1,62 +1,62 @@ -Index: virt-manager-0.4.0/src/virtManager/connect.py +Index: virt-manager--devel/src/virtManager/connect.py =================================================================== ---- virt-manager-0.4.0.orig/src/virtManager/connect.py -+++ virt-manager-0.4.0/src/virtManager/connect.py +--- virt-manager--devel.orig/src/virtManager/connect.py ++++ virt-manager--devel/src/virtManager/connect.py @@ -99,4 +99,3 @@ class vmmConnect(gobject.GObject): self.close() self.emit("completed", uri, readOnly) -gobject.type_register(vmmConnect) -Index: virt-manager-0.4.0/src/virtManager/connection.py +Index: virt-manager--devel/src/virtManager/connection.py =================================================================== ---- virt-manager-0.4.0.orig/src/virtManager/connection.py -+++ virt-manager-0.4.0/src/virtManager/connection.py -@@ -569,5 +569,4 @@ class vmmConnection(gobject.GObject): +--- virt-manager--devel.orig/src/virtManager/connection.py ++++ virt-manager--devel/src/virtManager/connection.py +@@ -578,5 +578,4 @@ class vmmConnection(gobject.GObject): uuid.append('-') return "".join(uuid) -gobject.type_register(vmmConnection) -Index: virt-manager-0.4.0/src/virtManager/console.py +Index: virt-manager--devel/src/virtManager/console.py =================================================================== ---- virt-manager-0.4.0.orig/src/virtManager/console.py -+++ virt-manager-0.4.0/src/virtManager/console.py -@@ -486,4 +486,3 @@ class vmmConsole(gobject.GObject): - self.ignorePause = False +--- virt-manager--devel.orig/src/virtManager/console.py ++++ virt-manager--devel/src/virtManager/console.py +@@ -509,4 +509,3 @@ class vmmConsole(gobject.GObject): self.ignorePause = False + -gobject.type_register(vmmConsole) -Index: virt-manager-0.4.0/src/virtManager/details.py +Index: virt-manager--devel/src/virtManager/details.py =================================================================== ---- virt-manager-0.4.0.orig/src/virtManager/details.py -+++ virt-manager-0.4.0/src/virtManager/details.py +--- virt-manager--devel.orig/src/virtManager/details.py ++++ virt-manager--devel/src/virtManager/details.py @@ -581,4 +581,3 @@ class vmmDetails(gobject.GObject): self.addhw.show() -gobject.type_register(vmmDetails) -Index: virt-manager-0.4.0/src/virtManager/domain.py +Index: virt-manager--devel/src/virtManager/domain.py =================================================================== ---- virt-manager-0.4.0.orig/src/virtManager/domain.py -+++ virt-manager-0.4.0/src/virtManager/domain.py -@@ -569,4 +569,3 @@ class vmmDomain(gobject.GObject): +--- virt-manager--devel.orig/src/virtManager/domain.py ++++ virt-manager--devel/src/virtManager/domain.py +@@ -633,4 +633,3 @@ class vmmDomain(gobject.GObject): memory = int(memory) self.vm.setMaxMemory(memory) -gobject.type_register(vmmDomain) -Index: virt-manager-0.4.0/src/virtManager/manager.py +Index: virt-manager--devel/src/virtManager/manager.py =================================================================== ---- virt-manager-0.4.0.orig/src/virtManager/manager.py -+++ virt-manager-0.4.0/src/virtManager/manager.py -@@ -705,4 +705,3 @@ class vmmManager(gobject.GObject): +--- virt-manager--devel.orig/src/virtManager/manager.py ++++ virt-manager--devel/src/virtManager/manager.py +@@ -706,4 +706,3 @@ class vmmManager(gobject.GObject): vm.resume() -gobject.type_register(vmmManager) -Index: virt-manager-0.4.0/src/vncViewer/vnc.py +Index: virt-manager--devel/src/vncViewer/vnc.py =================================================================== ---- virt-manager-0.4.0.orig/src/vncViewer/vnc.py -+++ virt-manager-0.4.0/src/vncViewer/vnc.py +--- virt-manager--devel.orig/src/vncViewer/vnc.py ++++ virt-manager--devel/src/vncViewer/vnc.py @@ -113,7 +113,6 @@ class GRFBFrameBuffer(rfb.RFBFrameBuffer def move_cursor(self, x, y): logging.error("Unsupported move_cursor operation requested") @@ -73,7 +73,7 @@ Index: virt-manager-0.4.0/src/vncViewer/vnc.py class GRFBViewer(gtk.DrawingArea): -@@ -598,7 +596,6 @@ class GRFBViewer(gtk.DrawingArea): +@@ -596,7 +594,6 @@ class GRFBViewer(gtk.DrawingArea): gc = self.window.new_gc() self.window.draw_drawable(gc, self.fb.get_pixmap(), event.area.x, event.area.y, event.area.x, event.area.y, event.area.width, event.area.height) diff --git a/virtman-typo.diff b/virtman-typo.diff deleted file mode 100644 index 6830d1ec..00000000 --- a/virtman-typo.diff +++ /dev/null @@ -1,15 +0,0 @@ -Index: virt-manager-0.4.0/src/vncViewer/vnc.py -=================================================================== ---- virt-manager-0.4.0.orig/src/vncViewer/vnc.py -+++ virt-manager-0.4.0/src/vncViewer/vnc.py -@@ -305,9 +305,7 @@ class GRFBViewer(gtk.DrawingArea): - return self.fb.get_name() - - def connect_to_host(self, host, port, debug=0): -- if self.client != None: -- self.disconnect_from_host() -- self.client = NOne -+ self.disconnect_from_host() - - client = GRFBNetworkClient(host, port, self.fb, debug=debug, preferred_encoding=self.preferred_encoding) - client.connect("disconnected", self._client_disconnected) diff --git a/virtman-wrong-port.diff b/virtman-wrong-port.diff index afb67288..4bf3d19f 100644 --- a/virtman-wrong-port.diff +++ b/virtman-wrong-port.diff @@ -1,8 +1,8 @@ -Index: virt-manager-0.4.0/src/virtManager/domain.py +Index: virt-manager--devel/src/virtManager/domain.py =================================================================== ---- virt-manager-0.4.0.orig/src/virtManager/domain.py -+++ virt-manager-0.4.0/src/virtManager/domain.py -@@ -434,11 +434,8 @@ class vmmDomain(gobject.GObject): +--- virt-manager--devel.orig/src/virtManager/domain.py ++++ virt-manager--devel/src/virtManager/domain.py +@@ -435,11 +435,8 @@ class vmmDomain(gobject.GObject): port = None if type == "vnc": port = self.get_xml_string("/domain/devices/graphics[@type='vnc']/@port")