mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-25 18:55:27 -06:00
Desktop tool for managing virtual machines via libvirt
Switch over to use GObject introspection bindings for all python modules related to GObject/GTK3/etc. It is not possible to mix and match old pyggtk/pygobject manual bindings with new introspection based bindings so it must be all changed in one go. Imports like import gtk Change to from gi.repository import Gtk The vmmGObject class is changed to always inherit from GObject.GObject There is no compelling reason to avoid a GObject dep for the virt-manager TUI & it horribly messed up the code. Signal declarations are changed from vmmChooseCD.signal_new(vmmChooseCD, "cdrom-chosen", [object, str]) To __gsignals__ = { "cdrom-chosen": (GObject.SignalFlags.RUN_FIRST, None, [object, str]) } which is required by new GObject bindings Most of the rest of the change is simply dealing with renamed constants / classes. Alot of legacy compat code was removed - ie helpers which check to see if certain GTK2 methods are available are no longer required since we're mandating GTK3 only. The event loop is replaced with LibvirtGLib's event loop. Still todo - Rip out all DBus stuff & make vmmEngine class inherit GtkApplication which provides unique support & DBus method handling - Switch to use LibvirtGConfig & LibvirtGObject for libvirt interaction - Possibly switch to Python 3 too ? - Figure out why GNOME keyring is missing Introspection support My suggestion is that the standalone GIT repo for virt-install only live on as a support branch for legacy platforms. A stable-0.9 branch of virt-manager can be kept for legacy PyGtk2 based virt-manager releases. The virt-manager master branch should exclusively use GObject inspection and ideally Python3 and contain both the virt-manager and virt-install codebases in one since they are intimately related to each other & using separate GIT repos has needlessly complicated life for everyone. crobinso: Some locking fixes Misc cleanups and dropping now-useless code Fix dbus usage Fix graph cell renderer regression Fix a couple tooltip issues |
||
---|---|---|
.tx | ||
docs | ||
help | ||
icons | ||
m4 | ||
man | ||
po | ||
src | ||
tests | ||
.gitignore | ||
ABOUT-NLS | ||
AUTHORS | ||
autobuild.sh | ||
autogen.sh | ||
ChangeLog | ||
configure.ac | ||
COPYING | ||
COPYING-DOCS | ||
HACKING | ||
INSTALL | ||
INSTALL.autotools | ||
Makefile.am | ||
NEWS | ||
omf.make | ||
README | ||
TODO | ||
virt-manager.spec.in | ||
xmldocs.make |
Virtual Machine Manager ======================= This application provides a graphical tool for managing virtual machines via the libvirt library. The front end of the application uses the PyGTK / Glade libraries for all user interaction components. The back end uses libvirt for managing Xen, QEMU & KVM virtual machines. The UI is primarily tested with Xen and QEMU, but is intended to be portable to any virtualization backend libvirt supports. So when libvirt is ported to UML / VMware / etc the UI should not require any significant changes to deal with these drivers. Terminology ----------- In prose this app should be referred to as 'Virtual Machine Manager'. For source / RPM packaging, & the command name, it is called by the shortened form 'virt-manager' Pre-requisite software ---------------------- Where versions are noted below these are the versions tested to definitely work. For some of them you may be able to run with earlier releases, so please report any success to the mailing lists python >= 2.4 pygtk2 >= 1.99.12-6 gnome-python2-gconf >= 1.99.11-7 libvirt-python >= 0.4.0 dbus-python >= 0.61 gnome-keyring >= 0.4.9 gnome-python-desktop >= 2.15.4 libxml2-python >= 2.6.23 vte >= 0.12.2 gtk-vnc >= 0.0.1 python-virtinst >= 0.300.0 PolicyKit >= 0.6 The latter is available from http://git.fedorahosted.org/git/python-virtinst.git Contact ------- All comments / suggestions / patches should be directed to the virt-tools-list mailing list: http://www.redhat.com/mailman/listinfo/virt-tools-list For bug reporting info, see: http://virt-manager.org/page/BugReporting There are further project details on the website: http://virt-manager.org/ Submitting patches ------------------ Patches should be submitted either as unified diffs: tar zxvf virt-manager-X.Y.Z.tar.gz cp -a virt-manager-X.Y.Z virt-manager-X.Y.Z-myfeature cd virt-manager-X.Y.Z-myfeature ... make some changes .. cd .. diff -ruN virt-manager-X.Y.Z virt-manager-X.Y.Z-myfeature \ > myfeature.patch Alternatively use git and submit a diff against the main source repository: git clone git://git.fedorahosted.org/git/virt-manager.git cd virt-manager ... make your changes ... git commit -a -m "Some changelog message" git show > my_feature.patch Then mail the 'my_feature.patch' file to the virt-tools-list@redhat.com list, with [PATCH] and a brief description in the subject. Using git format-patch and/or git send-email is also fine. Related software ---------------- Links which are relevant: http://libvirt.org http://www.linux-kvm.org http://xensource.com/xen/ http://pygtk.org/ http://gtk.org/ http://gtk-vnc.sourceforge.net/ Copyright / License -------------------- Unless otherwise noted, all the code for the Virtual Machine Manager is covered under the GPL, and Copyright (C) Red Hat. -- End of broadcast!