From 6922b7938152ecb241d5260656fc95903188ad38 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Fri, 2 Feb 2007 14:57:05 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virt-manager?expand=0&rev=1 --- .gitattributes | 23 +++ ready | 0 rhpl-exception.py | 296 +++++++++++++++++++++++++++++++++++++ virt-manager-0.3.0.tar.bz2 | 3 + virt-manager.changes | 42 ++++++ virt-manager.spec | 153 +++++++++++++++++++ virtman-desktop.diff | 37 +++++ virtman-install.diff | 60 ++++++++ virtman-type-register.diff | 83 +++++++++++ 9 files changed, 697 insertions(+) create mode 100644 .gitattributes create mode 100644 ready create mode 100644 rhpl-exception.py create mode 100644 virt-manager-0.3.0.tar.bz2 create mode 100644 virt-manager.changes create mode 100644 virt-manager.spec create mode 100644 virtman-desktop.diff create mode 100644 virtman-install.diff create mode 100644 virtman-type-register.diff diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..fecc7501 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/ready b/ready new file mode 100644 index 00000000..e69de29b diff --git a/rhpl-exception.py b/rhpl-exception.py new file mode 100644 index 00000000..3069aaf9 --- /dev/null +++ b/rhpl-exception.py @@ -0,0 +1,296 @@ +# +# exception.py - general exception formatting and saving +# +# Matt Wilson +# Erik Troan +# Harald Hoyer +# +# Copyright 2001, 2002 Red Hat, Inc. +# +# This software may be freely redistributed under the terms of the GNU +# library public license. +# +# You should have received a copy of the GNU Library Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# + +import os, sys +import signal +import traceback +import types +from string import joinfields +from cPickle import Pickler +dumpHash = {} +#from rhpl.translate import _ +def _(x): + return x + + +# +# ExceptionWindow class +# +class ExceptionWindow: + def __init__ (self, text, component_name): + import gtk + win = gtk.Dialog(_("Exception Occured"), None, gtk.DIALOG_MODAL) + win.add_button(_("Debug"), 0) + win.add_button(_("Save to file"), 1) + win.add_button(gtk.STOCK_QUIT, 2) + buffer = gtk.TextBuffer(None) + buffer.set_text(text) + textbox = gtk.TextView() + textbox.set_buffer(buffer) + textbox.set_property("editable", gtk.FALSE) + textbox.set_property("cursor_visible", gtk.FALSE) + sw = gtk.ScrolledWindow () + sw.add (textbox) + sw.set_policy (gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) + hbox = gtk.HBox (gtk.FALSE) + hbox.set_border_width(5) + txt = _("An unhandled exception has occured. This " + "is most likely a bug. Please save the crash " + "dump and file a detailed bug " + "report against %s at " + "https://bugzilla.redhat.com/bugzilla") % \ + component_name + info = gtk.Label(txt) + info.set_line_wrap(gtk.TRUE) + hbox.pack_start (sw, gtk.TRUE) + win.vbox.pack_start (info, gtk.FALSE) + win.vbox.pack_start (hbox, gtk.TRUE) + win.vbox.set_border_width(5) + win.set_size_request (500, 300) + win.set_position (gtk.WIN_POS_CENTER) + addFrame(win) + win.show_all () + self.window = win + self.rc = self.window.run () + self.window.destroy() + + def quit (self, dialog, button): + self.rc = button + + def getrc (self): + # I did it this way for future expantion + # 0 is debug + if self.rc == 0: + return 1 + # 1 is save + if self.rc == 1: + return 2 + # 2 is OK + elif self.rc == 2: + return 0 + +def addFrame(dialog): + import gtk + contents = dialog.get_children()[0] + dialog.remove(contents) + frame = gtk.Frame() + frame.set_shadow_type(gtk.SHADOW_OUT) + frame.add(contents) + dialog.add(frame) + +# XXX do length limits on obj dumps. +def dumpClass(instance, fd, level=0): + # protect from loops + if not dumpHash.has_key(instance): + dumpHash[instance] = None + else: + fd.write("Already dumped\n") + return + if (instance.__class__.__dict__.has_key("__str__") or + instance.__class__.__dict__.has_key("__repr__")): + fd.write("%s\n" % (instance,)) + return + fd.write("%s instance, containing members:\n" % + (instance.__class__.__name__)) + pad = ' ' * ((level) * 2) + for key, value in instance.__dict__.items(): + if type(value) == types.ListType: + fd.write("%s%s: [" % (pad, key)) + first = 1 + for item in value: + if not first: + fd.write(", ") + else: + first = 0 + if type(item) == types.InstanceType: + dumpClass(item, fd, level + 1) + else: + fd.write("%s" % (item,)) + fd.write("]\n") + elif type(value) == types.DictType: + fd.write("%s%s: {" % (pad, key)) + first = 1 + for k, v in value.items(): + if not first: + fd.write(", ") + else: + first = 0 + if type(k) == types.StringType: + fd.write("'%s': " % (k,)) + else: + fd.write("%s: " % (k,)) + if type(v) == types.InstanceType: + dumpClass(v, fd, level + 1) + else: + fd.write("%s" % (v,)) + fd.write("}\n") + elif type(value) == types.InstanceType: + fd.write("%s%s: " % (pad, key)) + dumpClass(value, fd, level + 1) + else: + fd.write("%s%s: %s\n" % (pad, key, value)) + +def dumpException(out, text, tb): + p = Pickler(out) + + out.write(text) + + trace = tb + while trace.tb_next: + trace = trace.tb_next + frame = trace.tb_frame + out.write ("\nLocal variables in innermost frame:\n") + try: + for (key, value) in frame.f_locals.items(): + out.write ("%s: %s\n" % (key, value)) + except: + pass + + +def exceptionWindow(title, text, name): + import gtk + #print text + win = ExceptionWindow (text, name) + + return win.getrc () + + +def generic_error_dialog (message, parent_dialog, + message_type=None, + widget=None, page=0, broken_widget=None): + import gtk + if message_type == None: + message_type = gtk.MESSAGE_ERROR + + dialog = gtk.MessageDialog(parent_dialog, + gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT, + message_type, gtk.BUTTONS_OK, + message) + + if widget != None: + if isinstance (widget, gtk.CList): + widget.select_row (page, 0) + elif isinstance (widget, gtk.Notebook): + widget.set_current_page (page) + if broken_widget != None: + broken_widget.grab_focus () + if isinstance (broken_widget, gtk.Entry): + broken_widget.select_region (0, -1) + + if parent_dialog: + dialog.set_position (gtk.WIN_POS_CENTER_ON_PARENT) + dialog.set_transient_for(parent_dialog) + else: + dialog.set_position (gtk.WIN_POS_CENTER) + + ret = dialog.run () + dialog.destroy() + return ret + +# +# FileSelection class +# +class FileSelection: + def __init__(self, text): + import gtk + import gnome.ui + win = gtk.Dialog (_("Select a file:")) + #win.connect ("clicked", self.quit) + win.add_button (gtk.STOCK_OK, gtk.RESPONSE_OK) + win.add_button (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL) + hbox = gtk.HBox (FALSE) + + info = gtk.Label(text) + self.entry = gnome.ui.FileEntry("", "") + self.entry.set_modal(TRUE) + win.vbox.pack_start (info, FALSE) + win.vbox.pack_start (self.entry, TRUE) + win.set_position (gtk.WIN_POS_CENTER) + win.show_all () + self.window = win + self.rc = self.window.run () + + def quit (self, dialog, button): + self.rc = button + + def getrc (self): + return self.rc + + def get_filename(self): + return self.entry.get_full_path(FALSE) + +# +# handleException function +# +def handleException((type, value, tb), progname, version): + import gtk + list = traceback.format_exception (type, value, tb) + tblast = traceback.extract_tb(tb, limit=None) + if len(tblast): + tblast = tblast[len(tblast)-1] + extxt = traceback.format_exception_only(type, value) + text = "Component: %s\n" % progname + text = text + "Version: %s\n" % version + text = text + "Summary: TB " + if tblast and len(tblast) > 3: + tblast = tblast[:3] + for t in tblast: + text = text + str(t) + ":" + text = text + extxt[0] + text = text + joinfields(list, "") + + while 1: + rc = exceptionWindow (_("Exception Occurred"), text, progname) + + if rc == 1 and tb: + print text + import pdb + pdb.post_mortem (tb) + os.kill(os.getpid(), signal.SIGKILL) + elif not rc: + sys.exit(10) + else: + fs = FileSelection(_("Please specify a file to save the dump")) + rc = fs.getrc() + if rc == gtk.RESPONSE_OK: + file = fs.get_filename() + print file + fs.window.destroy() + + if not file or file=="": + file = "/tmp/dump" + + try: + out = open(file, "w") + dumpException (out, text, tb) + out.close() + + except IOError: + generic_error_dialog(_("Failed to write to file %s.") \ + % (file), None) + else: + generic_error_dialog( + _("The application's state has been successfully\n" + "written to the file '%s'.") % (file), None, + message_type = "info") + sys.exit(10) + + else: + continue + + sys.exit(10) + diff --git a/virt-manager-0.3.0.tar.bz2 b/virt-manager-0.3.0.tar.bz2 new file mode 100644 index 00000000..fdc9e69c --- /dev/null +++ b/virt-manager-0.3.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:028b8b65781114b71df0c209c6dfc82fd29b4ddd94cc498cd8e279127ef786b4 +size 368785 diff --git a/virt-manager.changes b/virt-manager.changes new file mode 100644 index 00000000..61eaed94 --- /dev/null +++ b/virt-manager.changes @@ -0,0 +1,42 @@ +------------------------------------------------------------------- +Mon Jan 29 09:15:26 MST 2007 - ccoffing@novell.com + +- Fix desktop file. (#239275) +- Update to 0.3.0 (updated translations; no code changes) + +------------------------------------------------------------------- +Mon Jan 22 11:15:18 MST 2007 - ccoffing@novell.com + +- Fix desktop file, so icon shows in YaST. (#237046) +- Clean up macros in spec file. + +------------------------------------------------------------------- +Fri Jan 19 16:58:05 MST 2007 - ccoffing@novell.com + +- Use temporary icon until real ones arrive. +- Update to changeset 371 to fix VNC issues. + +------------------------------------------------------------------- +Wed Jan 17 15:19:12 MST 2007 - ccoffing@novell.com + +- Fix BuildRequires and paths to work with both SLES10 and STABLE. + +------------------------------------------------------------------- +Fri Jan 12 19:44:03 MST 2007 - ccoffing@novell.com + +- Fix sysconfdir path. +- Add desktop file. + +------------------------------------------------------------------- +Thu Jan 11 15:48:22 MST 2007 - ccoffing@novell.com + +- Add to SLES 10 SP1 (fate #301181) +- Update to virt-manager 0.2.6. +- Fix type_register deprecation warnings. + +------------------------------------------------------------------- +Tue Oct 24 11:09:43 MDT 2006 - ccoffing@novell.com + +- Initial package. +- Replace virt-inst with xen-vm-install (part of xen-tools-install) + diff --git a/virt-manager.spec b/virt-manager.spec new file mode 100644 index 00000000..4d27bf1b --- /dev/null +++ b/virt-manager.spec @@ -0,0 +1,153 @@ +# +# spec file for package virt-manager (Version 0.3.0) +# +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: virt-manager +BuildRequires: autoconf automake gconf2 gettext gtk2-devel python-devel python-gtk update-desktop-files +%if %suse_version > 1010 +BuildRequires: python-gobject2-devel python-gtk-devel +%define gsysconfdir /etc +%define gconftool /usr/bin/gconftool-2 +%else +%define gsysconfdir /etc/opt/gnome +%define gconftool /opt/gnome/bin/gconftool-2 +%endif +License: GNU General Public License (GPL) +Group: System/Monitoring +Autoreqprov: yes +Version: 0.3.0 +Release: 1 +Summary: Virtual Machine Manager +Source0: virt-manager-0.3.0.tar.bz2 +Source1: rhpl-exception.py +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Requires: python-gtk +Requires: python-gnome +# Absolutely require this version or newer +Requires: libvirt-python >= 0.1.4-3 +# FIXME: Check dbus-1-python 0.60 vs. 0.61 API changes +Requires: dbus-1-python +# Minimum we've tested with +Requires: libxml2-python >= 2.6.23 +Requires: vte +Requires: xen-tools >= 3.0.4_13100 +ExclusiveArch: %ix86 x86_64 +Patch0: virtman-desktop.diff +Patch1: virtman-install.diff +Patch2: virtman-type-register.diff +Requires: gconf2 + +%description +Virt Manager provides a graphical tool for administering virtual +machines. + + + +Authors: +-------- + Daniel Berrange + Hugh O. Brock + Jeremy Katz + +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 + +%build +#automake +#autoconf +autoreconf -i +%configure --sysconfdir=%{gsysconfdir} +make + +%install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT +rm -f $RPM_BUILD_ROOT%{_libdir}/virt-manager/sparkline.a +rm -f $RPM_BUILD_ROOT%{_libdir}/virt-manager/sparkline.la +install -m755 %SOURCE1 $RPM_BUILD_ROOT%{_datadir}/virt-manager/exception.py +mkdir -p $RPM_BUILD_ROOT%{_sbindir} +# Unsupported languages: +rm -rf $RPM_BUILD_ROOT/usr/share/locale/as +rm -rf $RPM_BUILD_ROOT/usr/share/locale/or +%find_lang virt-manager +%suse_update_desktop_file virt-manager + +%clean +rm -rf $RPM_BUILD_ROOT + +%pre +if [ "$1" -gt 1 ]; then + export GCONF_CONFIG_SOURCE=`%{gconftool} --get-default-source` + %{gconftool} --makefile-uninstall-rule \ + %{gsysconfdir}/gconf/schemas/virt-manager.schemas > /dev/null || : +fi + +%post +export GCONF_CONFIG_SOURCE=`%{gconftool} --get-default-source` +%{gconftool} --makefile-install-rule \ + %{gsysconfdir}/gconf/schemas/virt-manager.schemas > /dev/null || : + +%preun +if [ "$1" -eq 0 ]; then + export GCONF_CONFIG_SOURCE=`%{gconftool} --get-default-source` + %{gconftool} --makefile-uninstall-rule \ + %{gsysconfdir}/gconf/schemas/virt-manager.schemas > /dev/null || : +fi + +%files -f virt-manager.lang +%defattr(-,root,root,-) +%doc COPYING AUTHORS ChangeLog +%{gsysconfdir}/gconf/schemas/virt-manager.schemas +%{_bindir}/virt-manager +%{_libexecdir}/virt-manager-launch +%{_libdir}/virt-manager/ +%dir %{_datadir}/virt-manager +%{_datadir}/virt-manager/*.glade +%dir %{_datadir}/virt-manager/pixmaps +%{_datadir}/virt-manager/pixmaps/*.png +%{_datadir}/virt-manager/pixmaps/*.svg +%{_datadir}/virt-manager/*.py +%dir %{_datadir}/virt-manager/virtManager +%{_datadir}/virt-manager/virtManager/*.py +%dir %{_datadir}/virt-manager/vncViewer +%{_datadir}/virt-manager/vncViewer/*.py +%{_datadir}/applications/YaST2/virt-manager.desktop +%{_datadir}/dbus-1/services/virt-manager.service +# FIXME: autobuild complains that these are unowned (not true...) +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/applications/YaST2 + +%changelog -n virt-manager +* Mon Jan 29 2007 - ccoffing@novell.com +- Fix desktop file. (#239275) +- Update to 0.3.0 (updated translations; no code changes) +* Mon Jan 22 2007 - ccoffing@novell.com +- Fix desktop file, so icon shows in YaST. (#237046) +- Clean up macros in spec file. +* Fri Jan 19 2007 - ccoffing@novell.com +- Use temporary icon until real ones arrive. +- Update to changeset 371 to fix VNC issues. +* Wed Jan 17 2007 - ccoffing@novell.com +- Fix BuildRequires and paths to work with both SLES10 and STABLE. +* Fri Jan 12 2007 - ccoffing@novell.com +- Fix sysconfdir path. +- Add desktop file. +* Thu Jan 11 2007 - ccoffing@novell.com +- Add to SLES 10 SP1 (fate #301181) +- Update to virt-manager 0.2.6. +- Fix type_register deprecation warnings. +* Tue Oct 24 2006 - ccoffing@novell.com +- Initial package. +- Replace virt-inst with xen-vm-install (part of xen-tools-install) diff --git a/virtman-desktop.diff b/virtman-desktop.diff new file mode 100644 index 00000000..6ec904f7 --- /dev/null +++ b/virtman-desktop.diff @@ -0,0 +1,37 @@ +Index: virt-manager-0.2.6/src/virt-manager.desktop.in +=================================================================== +--- virt-manager-0.2.6.orig/src/virt-manager.desktop.in ++++ virt-manager-0.2.6/src/virt-manager.desktop.in +@@ -1,9 +1,16 @@ + [Desktop Entry] + Name=Virtual Machine Manager + Comment=The virtual machine management tool +-Icon=::ICONDIR::/::PACKAGE::-icon.svg +-Exec=::PACKAGE:: ++Exec=/usr/bin/virt-manager + Type=Application + Terminal=false + Encoding=UTF-8 +-Categories=System; ++Categories=Qt;X-SuSE-YaST; ++X-SuSE-YaST-Call=/usr/bin/virt-manager ++X-SuSE-YaST-Group=Virtualization ++X-SuSE-YaST-Argument= ++X-SuSE-YaST-RootOnly=true ++X-SuSE-YaST-Geometry= ++X-SuSE-YaST-SortKey= ++Icon=yast-network ++X-SuSE-translate=true +Index: virt-manager-0.2.6/src/Makefile.am +=================================================================== +--- virt-manager-0.2.6.orig/src/Makefile.am ++++ virt-manager-0.2.6/src/Makefile.am +@@ -14,7 +14,7 @@ libexec_SCRIPTS = $(PACKAGE)-launch + gladedir = $(pkgdatadir) + glade_DATA = $(PACKAGE).glade + +-desktopdir = $(datadir)/applications ++desktopdir = $(datadir)/applications/YaST2/ + desktop_SOURCES = $(PACKAGE).desktop.in + desktop_DATA = $(PACKAGE).desktop + diff --git a/virtman-install.diff b/virtman-install.diff new file mode 100644 index 00000000..a515c6db --- /dev/null +++ b/virtman-install.diff @@ -0,0 +1,60 @@ +Index: virt-manager-0.2.6/src/virtManager/engine.py +=================================================================== +--- virt-manager-0.2.6.orig/src/virtManager/engine.py ++++ virt-manager-0.2.6/src/virtManager/engine.py +@@ -30,7 +30,7 @@ from virtManager.manager import vmmManag + from virtManager.details import vmmDetails + from virtManager.console import vmmConsole + from virtManager.asyncjob import vmmAsyncJob +-from virtManager.create import vmmCreate ++from xen.install.gui import VMCreate as vmmCreate + from virtManager.serialcon import vmmSerialConsole + + class vmmEngine: +@@ -38,7 +38,7 @@ class vmmEngine: + self.windowConnect = None + self.windowPreferences = None + self.windowAbout = None +- self.windowCreate = None ++ self.windowCreate = {} + self.connections = {} + + self.timer = None +@@ -136,8 +136,7 @@ class vmmEngine: + ct += window.is_visible() + if conn["windowManager"]: + ct += conn["windowManager"].is_visible() +- if self.windowCreate: +- ct += self.windowCreate.is_visible() ++ ct += len(filter(lambda w: w.is_visible(), self.windowCreate.values())) + return ct + + def change_timer_interval(self,ignore1,ignore2,ignore3,ignore4): +@@ -245,13 +244,21 @@ class vmmEngine: + self.connections[uri]["windowManager"] = manager + self.connections[uri]["windowManager"].show() + ++ def _create_closing(self, src, key): ++ del self.windowCreate[key] ++ + def show_create(self, uri): +- if self.windowCreate == None: +- self.windowCreate = vmmCreate(self.get_config(), self.get_connection(uri, False)) +- self.windowCreate.connect("action-show-console", self._do_show_console) +- self.windowCreate.connect("action-show-terminal", self._do_show_terminal) +- self.windowCreate.reset_state() +- self.windowCreate.show() ++ key = 0 ++ while True: ++ if not self.windowCreate.has_key(key): ++ break ++ key += 1 ++ window = vmmCreate(virtman=True, key=key) ++ self.windowCreate[key] = window ++ window.connect("action-show-console", self._do_show_console) ++ window.connect("action-show-terminal", self._do_show_terminal) ++ window.connect("vmmcreate-closing", self._create_closing) ++ window.show() + + def get_connection(self, uri, readOnly=True): + if not(self.connections.has_key(uri)): diff --git a/virtman-type-register.diff b/virtman-type-register.diff new file mode 100644 index 00000000..ae4b0961 --- /dev/null +++ b/virtman-type-register.diff @@ -0,0 +1,83 @@ +Index: virt-manager-0.2.6/src/virtManager/connect.py +=================================================================== +--- virt-manager-0.2.6.orig/src/virtManager/connect.py ++++ virt-manager-0.2.6/src/virtManager/connect.py +@@ -102,4 +102,3 @@ class vmmConnect(gobject.GObject): + self.close() + self.emit("completed", uri, readOnly) + +-gobject.type_register(vmmConnect) +Index: virt-manager-0.2.6/src/virtManager/connection.py +=================================================================== +--- virt-manager-0.2.6.orig/src/virtManager/connection.py ++++ virt-manager-0.2.6/src/virtManager/connection.py +@@ -242,5 +242,4 @@ class vmmConnection(gobject.GObject): + uuid.append('-') + return "".join(uuid) + +-gobject.type_register(vmmConnection) + +Index: virt-manager-0.2.6/src/virtManager/console.py +=================================================================== +--- virt-manager-0.2.6.orig/src/virtManager/console.py ++++ virt-manager-0.2.6/src/virtManager/console.py +@@ -423,4 +423,3 @@ class vmmConsole(gobject.GObject): + self.ignorePause = False + self.ignorePause = False + +-gobject.type_register(vmmConsole) +Index: virt-manager-0.2.6/src/virtManager/details.py +=================================================================== +--- virt-manager-0.2.6.orig/src/virtManager/details.py ++++ virt-manager-0.2.6/src/virtManager/details.py +@@ -466,4 +466,3 @@ class vmmDetails(gobject.GObject): + for d in netList: + netsModel.append(None, d) + +-gobject.type_register(vmmDetails) +Index: virt-manager-0.2.6/src/virtManager/domain.py +=================================================================== +--- virt-manager-0.2.6.orig/src/virtManager/domain.py ++++ virt-manager-0.2.6/src/virtManager/domain.py +@@ -509,4 +509,3 @@ class vmmDomain(gobject.GObject): + memory = int(memory) + self.vm.setMaxMemory(memory) + +-gobject.type_register(vmmDomain) +Index: virt-manager-0.2.6/src/virtManager/manager.py +=================================================================== +--- virt-manager-0.2.6.orig/src/virtManager/manager.py ++++ virt-manager-0.2.6/src/virtManager/manager.py +@@ -597,4 +597,3 @@ class vmmManager(gobject.GObject): + data.reverse() + cell.set_property('data_array', data) + +-gobject.type_register(vmmManager) +Index: virt-manager-0.2.6/src/vncViewer/vnc.py +=================================================================== +--- virt-manager-0.2.6.orig/src/vncViewer/vnc.py ++++ virt-manager-0.2.6/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") + +-gobject.type_register(GRFBFrameBuffer) + + + class GRFBNetworkClient(rfb.RFBNetworkClient, gobject.GObject): +@@ -166,7 +165,6 @@ class GRFBNetworkClient(rfb.RFBNetworkCl + + def update_pointer(self, mask, x, y): + self.send(pack('>BBHH', 5, mask, x, y)) +-gobject.type_register(GRFBNetworkClient) + + + class GRFBViewer(gtk.DrawingArea): +@@ -512,7 +510,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) + +-gobject.type_register(GRFBViewer) + + + def main():