- Update to virt-manager 0.8.6

* SPICE support (requires spice-gtk) (Marc-André Lureau)
  * Option to configure CPU model
  * Option to configure CPU topology
  * Save and migration cancellation (Wen Congyang)
  * Save and migration progress reporting
  * Option to enable bios boot menu
  * Option to configure direct kernel/initrd boot
- Update to virtinst 0.500.5
  * New virt-install --cpu option for configuring CPU 
    model/features
  * virt-install --vcpus option can not specify topology and 
    maxvcpus
  * New virt-install --graphics option to unify --vnc, --sdl, 
    spice config
  * New virt-install --print-xml option to skip install and print 
    XML

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=48
This commit is contained in:
Charles Arnold 2011-03-21 19:38:43 +00:00 committed by Git OBS Bridge
parent 965709f3d5
commit 4ad8024558
20 changed files with 147 additions and 238 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c3ee5fdda685c6da5cf3f69d4e46b0c593bcfb473700ee49343eb072048fdca9
size 1111539

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c63f8e2d456342873db9d52e0619951d659a53659ba9ff2531fdc5a21d1c73a7
size 1154056

View File

@ -1,13 +0,0 @@
Index: virt-manager-0.8.5/src/virt-manager.py.in
===================================================================
--- virt-manager-0.8.5.orig/src/virt-manager.py.in
+++ virt-manager-0.8.5/src/virt-manager.py.in
@@ -278,7 +278,7 @@ def main():
# on as if all were fine. Ultimately bad stuff happens,
# so lets catch it here & get the hell out...
import warnings
- warnings.filterwarnings('error', module='gtk')
+ warnings.filterwarnings('error', module='gtk', append=True)
try:
import gobject

View File

@ -1,3 +1,24 @@
-------------------------------------------------------------------
Thu Mar 21 13:34:41 MST 2011 - carnold@novell.com
- Update to virt-manager 0.8.6
* SPICE support (requires spice-gtk) (Marc-André Lureau)
* Option to configure CPU model
* Option to configure CPU topology
* Save and migration cancellation (Wen Congyang)
* Save and migration progress reporting
* Option to enable bios boot menu
* Option to configure direct kernel/initrd boot
- Update to virtinst 0.500.5
* New virt-install --cpu option for configuring CPU
model/features
* virt-install --vcpus option can not specify topology and
maxvcpus
* New virt-install --graphics option to unify --vnc, --sdl,
spice config
* New virt-install --print-xml option to skip install and print
XML
-------------------------------------------------------------------
Tue Jan 18 11:21:29 MST 2011 - carnold@novell.com

View File

@ -1,5 +1,5 @@
#
# spec file for package virt-manager (Version 0.8.5)
# spec file for package virt-manager (Version 0.8.6)
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@ -22,15 +22,15 @@
%define gconftool /usr/bin/gconftool-2
%define virtinst_maj 0
%define virtinst_min 500
%define virtinst_rel 4
%define virtinst_rel 5
%define virtinst_name virtinst-%{virtinst_maj}.%{virtinst_min}.%{virtinst_rel}
%define pysite %(python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()")
Name: virt-manager
Summary: Virtual Machine Manager
Version: 0.8.5
Release: 3
Version: 0.8.6
Release: 1
Group: System/Monitoring
License: LGPLv2.1+
Url: http://virt-manager.et.redhat.com
@ -38,17 +38,13 @@ Source0: virt-manager-%{version}.tar.bz2
Source1: %{virtinst_name}.tar.bz2
# see https://bugzilla.redhat.com/show_bug.cgi?id=620216,
# https://bugzilla.novell.com/show_bug.cgi?id=641981
Patch1: virt-manager-fix-python27.diff
Patch50: virtman-desktop.diff
Patch51: virtman-vminstall.diff
Patch52: virtman-pointer.diff
Patch53: virtman-cdrom.diff
Patch54: virtman-kvm.diff
Patch55: virtman-bridge.diff
Patch56: virtman-manager.diff
Patch57: virtman-help.diff
Patch58: virtman-keycombo.diff
Patch59: virtman-autoconnect.diff
Patch52: virtman-cdrom.diff
Patch53: virtman-kvm.diff
Patch54: virtman-help.diff
Patch55: virtman-keycombo.diff
Patch56: virtman-autoconnect.diff
Patch60: virtman-device-flags.diff
Patch61: virtman-autorestart.diff
Patch62: virtman-storage-pool.diff
@ -118,6 +114,7 @@ Requires: netcat-openbsd
# Add requires for non Xen installations
Requires: python-urlgrabber
Requires: vm-install
Requires: spice-gtk
%description
Virtual Machine Manager provides a graphical tool for administering
@ -134,20 +131,16 @@ Authors:
%prep
%setup -q
%setup -b 1
%patch1 -p1
%patch50 -p1
%patch51 -p1
#%patch52 -p1
%patch52 -p1
%patch53 -p1
%patch54 -p1
#%patch55 -p1
#%patch56 -p1
#%patch57 -p1
%patch58 -p1
%patch59 -p1
#%patch54 -p1
%patch55 -p1
%patch56 -p1
%patch60 -p1
%patch61 -p1
%patch62 -p1
#%patch62 -p1
pushd $RPM_BUILD_DIR/%{virtinst_name}
%patch81 -p1
%patch82 -p1
@ -169,8 +162,6 @@ pushd $RPM_BUILD_DIR/%{virtinst_name}
python setup.py install --prefix=%{_prefix} --root=$RPM_BUILD_ROOT --install-lib=%{pysite}/
rm -rf $RPM_BUILD_ROOT/var/scrollkeeper
popd
#rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/sparkline.a
#rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/sparkline.la
# Unsupport languages:
rm -rf $RPM_BUILD_ROOT/usr/share/locale/or
%find_gconf_schemas
@ -182,10 +173,6 @@ cat %{name}.schemas_list single_lang_file.lang > %{name}.lst
sed -i '\^/usr/share/gnome/help/^d' %{name}.lst
%suse_update_desktop_file %{name} X-SuSE-YaST-Virtualization
sed -i -e 's/Categories=.*/Categories=Qt;X-SuSE-YaST;X-SuSE-YaST-Virtualization;/' $RPM_BUILD_ROOT/%{_datadir}/applications/YaST2/%{name}.desktop
# Nuking these because old version didnt have any
# rm -rf $RPM_BUILD_ROOT/usr/share/gnome
# Also fixing the %{name}.lang file forcibly.
# sed -i '\^/usr/share/gnome/help/^d' %{name}.lang
%clean
# rm -rf $RPM_BUILD_ROOT
@ -204,6 +191,7 @@ sed -i -e 's/Categories=.*/Categories=Qt;X-SuSE-YaST;X-SuSE-YaST-Virtualization;
%defattr(-,root,root,-)
%doc COPYING AUTHORS ChangeLog
%{_bindir}/%{name}
%{_bindir}/%{name}-tui
%{_bindir}/virt-clone
%{_bindir}/virt-convert
%{_bindir}/virt-image
@ -220,16 +208,12 @@ sed -i -e 's/Categories=.*/Categories=Qt;X-SuSE-YaST;X-SuSE-YaST-Virtualization;
%{_datadir}/%{name}/pixmaps/hicolor/*/*/*.png
%{_datadir}/%{name}/*.py
%dir %{_datadir}/%{name}/virtManager
%dir %{_datadir}/%{name}/virtManagerTui
%{_datadir}/%{name}/virtManager/*.py
%{_datadir}/%{name}/virtManagerTui/*.py
%dir %{pysite}/virtinst
%{pysite}/virtinst/*.py
%{pysite}/virtinst/*.pyc
# %dir %attr(775,root,root) %{_datadir}/locale/or
# %dir %attr(775,root,root) %{_datadir}/locale/or/LC_MESSAGES
# %{_datadir}/locale/or/LC_MESSAGES/*
#%{_datadir}/omf/%{name}
#%dir %attr(775,root,root) %{_datadir}/gnome
#%{_datadir}/gnome/help
%{_datadir}/applications/YaST2/%{name}.desktop
%{_datadir}/dbus-1/services/%{name}.service
%{_mandir}/man1/%{name}.1*
@ -238,7 +222,6 @@ sed -i -e 's/Categories=.*/Categories=Qt;X-SuSE-YaST;X-SuSE-YaST-Virtualization;
%{_mandir}/man1/virt-image.1*
%{_mandir}/man1/virt-install.1*
%{_mandir}/man5/virt-image.5*
# new files for virt-manager-0.8.1
%dir %{pysite}/virtconv
%{pysite}/virtconv/*.py
%{pysite}/virtconv/*.pyc
@ -246,8 +229,6 @@ sed -i -e 's/Categories=.*/Categories=Qt;X-SuSE-YaST;X-SuSE-YaST-Virtualization;
%{pysite}/virtconv/parsers/*.py
%{pysite}/virtconv/parsers/*.pyc
%{pysite}/%{virtinst_name}-py2.?.egg-info
#%doc %{_datadir}/gnome/help/%{name}/C/figures/*.png
#%doc %{_datadir}/gnome/help/%{name}/C/*.xml
# FIXME: autobuild complains that these are unowned (not true...)
%dir %{_datadir}/dbus-1
%dir %{_datadir}/dbus-1/services

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9d15bcece3b0d84a46d8a876aa7b4afcb919c44bc6f505b5ff6727c43b3b4f32
size 347884

3
virtinst-0.500.5.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5909f2bc6618ea0ae09e75292f4b39915d8ab5c2536c73cedddb8b0031d6b8ef
size 401562

View File

@ -1,8 +1,8 @@
Index: virtinst-0.500.4/virtinst/VirtualDisk.py
Index: virtinst-0.500.5/virtinst/VirtualDisk.py
===================================================================
--- virtinst-0.500.4.orig/virtinst/VirtualDisk.py
+++ virtinst-0.500.4/virtinst/VirtualDisk.py
@@ -1444,14 +1444,18 @@ class VirtualDisk(VirtualDevice):
--- virtinst-0.500.5.orig/virtinst/VirtualDisk.py
+++ virtinst-0.500.5/virtinst/VirtualDisk.py
@@ -1598,14 +1598,18 @@ class VirtualDisk(VirtualDevice):
self.target = "hdc"
return self.target

View File

@ -1,7 +1,7 @@
Index: virtinst-0.500.4/virtinst/Storage.py
Index: virtinst-0.500.5/virtinst/Storage.py
===================================================================
--- virtinst-0.500.4.orig/virtinst/Storage.py
+++ virtinst-0.500.4/virtinst/Storage.py
--- virtinst-0.500.5.orig/virtinst/Storage.py
+++ virtinst-0.500.5/virtinst/Storage.py
@@ -523,7 +523,7 @@ class FilesystemPool(StoragePool):
get_volume_class = staticmethod(get_volume_class)

View File

@ -1,10 +1,10 @@
Index: virt-manager-0.8.5/src/virtManager/engine.py
Index: virt-manager-0.8.6/src/virtManager/engine.py
===================================================================
--- virt-manager-0.8.5.orig/src/virtManager/engine.py
+++ virt-manager-0.8.5/src/virtManager/engine.py
@@ -719,7 +719,7 @@ class vmmEngine(gobject.GObject):
self.emit("connection-added", conn)
--- virt-manager-0.8.6.orig/src/virtManager/engine.py
+++ virt-manager-0.8.6/src/virtManager/engine.py
@@ -495,7 +495,7 @@ class vmmEngine(vmmGObject):
self.config.add_connection(conn.get_uri())
if autoconnect:
- conn.set_autoconnect(True)
+ self.connect_to_uri(uri)

View File

@ -1,41 +1,32 @@
Index: virt-manager-0.8.5/src/virtManager/details.py
Index: virt-manager-0.8.6/src/virtManager/details.py
===================================================================
--- virt-manager-0.8.5.orig/src/virtManager/details.py
+++ virt-manager-0.8.5/src/virtManager/details.py
@@ -1397,8 +1397,15 @@ class vmmDetails(gobject.GObject):
--- virt-manager-0.8.6.orig/src/virtManager/details.py
+++ virt-manager-0.8.6/src/virtManager/details.py
@@ -1659,8 +1659,9 @@ class vmmDetails(vmmGObjectUI):
self.vm.hotplug_both_mem,
(curmem, maxmem))
- # Boot device / Autostart
+ # Boot device
def config_boot_options_apply(self):
+ bootdevs = self.get_config_boot_devs()
+ return self._change_config_helper(self.vm.set_boot_device,
+ (bootdevs,))
+
- def config_boot_options_apply(self):
+ # Autostart - See bnc#624250 - L3: virt-manager doesn't update
+ # "Autostart" setting in vm configuration correctly
+ def update_on_xend_start(self):
auto = self.window.get_widget("config-autostart")
if auto.get_property("sensitive"):
@@ -1407,11 +1414,6 @@ class vmmDetails(gobject.GObject):
except Exception, e:
self.err.show_err((_("Error changing autostart value: %s") %
@@ -1671,6 +1672,8 @@ class vmmDetails(vmmGObjectUI):
str(e)), "".join(traceback.format_exc()))
- return False
-
- bootdevs = self.get_config_boot_devs()
- return self._change_config_helper(self.vm.set_boot_device,
- (bootdevs,))
return False
+ # Boot device
+ def config_boot_options_apply(self):
bootdevs = self.get_config_boot_devs()
bootmenu = self.window.get_widget("boot-menu").get_active()
@@ -1882,6 +1885,8 @@ class vmmDetails(vmmGObjectUI):
buttons=gtk.BUTTONS_OK,
dialog_type=dtype)
# CDROM
def change_storage_media(self, dev_id_info, newpath, _type=None):
@@ -1570,6 +1572,9 @@ class vmmDetails(gobject.GObject):
else:
self.err.show_info(_("These changes will take effect after "
"the next guest reboot."))
+
+ self.update_on_xend_start()
+
return True

View File

@ -1,15 +0,0 @@
diff -Nuar virt-manager-0.7.0.orig//src/virtManager/addhardware.py virt-manager-0.7.0//src/virtManager/addhardware.py
--- virt-manager-0.7.0.orig//src/virtManager/addhardware.py 2009-04-21 14:53:08.000000000 -0600
+++ virt-manager-0.7.0//src/virtManager/addhardware.py 2009-04-21 14:56:20.000000000 -0600
@@ -481,7 +481,10 @@
net = self.get_config_network()
if net[0] == "bridge":
self.window.get_widget("summary-net-type").set_text(_("Shared physical device"))
- self.window.get_widget("summary-net-target").set_text(net[1])
+ if net[1] != None:
+ self.window.get_widget("summary-net-target").set_text(net[1])
+ else:
+ self.window.get_widget("summary-net-target").set_text(_("Default"))
elif net[0] == "network":
self.window.get_widget("summary-net-type").set_text(_("Virtual network"))
self.window.get_widget("summary-net-target").set_text(net[1])

View File

@ -1,8 +1,8 @@
Index: virt-manager-0.8.5/src/virtManager/addhardware.py
Index: virt-manager-0.8.6/src/virtManager/addhardware.py
===================================================================
--- virt-manager-0.8.5.orig/src/virtManager/addhardware.py
+++ virt-manager-0.8.5/src/virtManager/addhardware.py
@@ -468,6 +468,7 @@ class vmmAddHardware(gobject.GObject):
--- virt-manager-0.8.6.orig/src/virtManager/addhardware.py
+++ virt-manager-0.8.6/src/virtManager/addhardware.py
@@ -480,6 +480,7 @@ class vmmAddHardware(vmmGObjectUI):
if self.vm.get_hv_type() == "kvm":
add_dev("virtio", virtinst.VirtualDisk.DEVICE_DISK, "Virtio Disk")
if self.vm.get_connection().is_xen():

View File

@ -1,7 +1,7 @@
Index: virt-manager-0.8.5/src/Makefile.am
Index: virt-manager-0.8.6/src/Makefile.am
===================================================================
--- virt-manager-0.8.5.orig/src/Makefile.am
+++ virt-manager-0.8.5/src/Makefile.am
--- virt-manager-0.8.6.orig/src/Makefile.am
+++ virt-manager-0.8.6/src/Makefile.am
@@ -14,7 +14,7 @@ libexec_SCRIPTS = $(PACKAGE)-launch
gladedir = $(pkgdatadir)
glade_DATA = $(wildcard $(srcdir)/*.glade)
@ -11,11 +11,11 @@ Index: virt-manager-0.8.5/src/Makefile.am
desktop_DATA_IN = $(PACKAGE).desktop.in.in
desktop_DATA = $(PACKAGE).desktop
Index: virt-manager-0.8.5/src/Makefile.in
Index: virt-manager-0.8.6/src/Makefile.in
===================================================================
--- virt-manager-0.8.5.orig/src/Makefile.in
+++ virt-manager-0.8.5/src/Makefile.in
@@ -239,7 +239,7 @@ libexec_DATA_IN = $(PACKAGE)-launch.in
--- virt-manager-0.8.6.orig/src/Makefile.in
+++ virt-manager-0.8.6/src/Makefile.in
@@ -254,7 +254,7 @@ libexec_DATA_IN = $(PACKAGE)-launch.in
libexec_SCRIPTS = $(PACKAGE)-launch
gladedir = $(pkgdatadir)
glade_DATA = $(wildcard $(srcdir)/*.glade)
@ -24,10 +24,10 @@ Index: virt-manager-0.8.5/src/Makefile.in
desktop_DATA_IN = $(PACKAGE).desktop.in.in
desktop_DATA = $(PACKAGE).desktop
dbusdir = $(datadir)/dbus-1/services
Index: virt-manager-0.8.5/src/virt-manager.desktop.in.in
Index: virt-manager-0.8.6/src/virt-manager.desktop.in.in
===================================================================
--- virt-manager-0.8.5.orig/src/virt-manager.desktop.in.in
+++ virt-manager-0.8.5/src/virt-manager.desktop.in.in
--- virt-manager-0.8.6.orig/src/virt-manager.desktop.in.in
+++ virt-manager-0.8.6/src/virt-manager.desktop.in.in
@@ -1,9 +1,19 @@
[Desktop Entry]
_Name=Virtual Machine Manager

View File

@ -1,8 +1,8 @@
Index: virt-manager-0.8.5/src/virtManager/addhardware.py
Index: virt-manager-0.8.6/src/virtManager/addhardware.py
===================================================================
--- virt-manager-0.8.5.orig/src/virtManager/addhardware.py
+++ virt-manager-0.8.5/src/virtManager/addhardware.py
@@ -1022,6 +1022,18 @@ class vmmAddHardware(gobject.GObject):
--- virt-manager-0.8.6.orig/src/virtManager/addhardware.py
+++ virt-manager-0.8.6/src/virtManager/addhardware.py
@@ -906,6 +906,18 @@ class vmmAddHardware(vmmGObjectUI):
self._dev.get_xml_config()
logging.debug("Adding device:\n" + self._dev.get_xml_config())
@ -21,11 +21,11 @@ Index: virt-manager-0.8.5/src/virtManager/addhardware.py
# Hotplug device
attach_err = False
try:
Index: virt-manager-0.8.5/src/virtManager/details.py
Index: virt-manager-0.8.6/src/virtManager/details.py
===================================================================
--- virt-manager-0.8.5.orig/src/virtManager/details.py
+++ virt-manager-0.8.5/src/virtManager/details.py
@@ -1479,6 +1479,17 @@ class vmmDetails(gobject.GObject):
--- virt-manager-0.8.6.orig/src/virtManager/details.py
+++ virt-manager-0.8.6/src/virtManager/details.py
@@ -1770,6 +1770,17 @@ class vmmDetails(vmmGObjectUI):
return
self.config.set_confirm_removedev(not skip_prompt)
@ -42,25 +42,25 @@ Index: virt-manager-0.8.5/src/virtManager/details.py
+
# Define the change
try:
self.vm.remove_device(dev_type, dev_id_info)
Index: virt-manager-0.8.5/src/virtManager/domain.py
self.vm.remove_device(dev_id_info)
Index: virt-manager-0.8.6/src/virtManager/domain.py
===================================================================
--- virt-manager-0.8.5.orig/src/virtManager/domain.py
+++ virt-manager-0.8.5/src/virtManager/domain.py
@@ -1413,6 +1413,10 @@ class vmmDomain(vmmDomainBase):
--- virt-manager-0.8.6.orig/src/virtManager/domain.py
+++ virt-manager-0.8.6/src/virtManager/domain.py
@@ -1158,6 +1158,10 @@ class vmmDomain(vmmDomainBase):
devxml = devobj.get_xml_config()
self._backend.attachDevice(devxml)
+ def attach_device_flags(self, devobj, flags):
+ xml = devobj.get_xml_config()
+ self._backend.attachDeviceFlags(xml, flags)
+
def detach_device(self, devtype, dev_id_info):
def detach_device(self, devobj):
"""
Hotunplug device from running guest
@@ -1421,6 +1425,10 @@ class vmmDomain(vmmDomainBase):
if self.is_active():
self._backend.detachDevice(xml)
@@ -1176,6 +1180,10 @@ class vmmDomain(vmmDomainBase):
xml = devobj.get_xml_config()
self._backend.updateDeviceFlags(xml, flags)
+ def detach_device_flags(self, devtype, dev_id_info, flags):
+ xml = self._get_device_xml(devtype, dev_id_info)

View File

@ -1,8 +1,8 @@
Index: virt-manager-0.8.5/src/vmm-details.glade
Index: virt-manager-0.8.6/src/vmm-details.glade
===================================================================
--- virt-manager-0.8.5.orig/src/vmm-details.glade
+++ virt-manager-0.8.5/src/vmm-details.glade
@@ -351,11 +351,93 @@
--- virt-manager-0.8.6.orig/src/vmm-details.glade
+++ virt-manager-0.8.6/src/vmm-details.glade
@@ -350,11 +350,93 @@
</widget>
</child>
<child>
@ -96,7 +96,7 @@ Index: virt-manager-0.8.5/src/vmm-details.glade
<widget class="GtkMenuItem" id="details-menu-send-caf1">
<property name="visible">True</property>
<property name="label">Ctrl+Alt+F_1</property>
@@ -452,7 +534,7 @@
@@ -451,7 +533,7 @@
</widget>
</child>
<child>
@ -105,11 +105,11 @@ Index: virt-manager-0.8.5/src/vmm-details.glade
<property name="visible">True</property>
</widget>
</child>
Index: virt-manager-0.8.5/src/virtManager/details.py
Index: virt-manager-0.8.6/src/virtManager/details.py
===================================================================
--- virt-manager-0.8.5.orig/src/virtManager/details.py
+++ virt-manager-0.8.5/src/virtManager/details.py
@@ -291,6 +291,15 @@ class vmmDetails(gobject.GObject):
--- virt-manager-0.8.6.orig/src/virtManager/details.py
+++ virt-manager-0.8.6/src/virtManager/details.py
@@ -404,6 +404,15 @@ class vmmDetails(vmmGObjectUI):
"on_details_menu_send_cad_activate": self.console.send_key,
"on_details_menu_send_cab_activate": self.console.send_key,
@ -125,11 +125,11 @@ Index: virt-manager-0.8.5/src/virtManager/details.py
"on_details_menu_send_caf1_activate": self.console.send_key,
"on_details_menu_send_caf2_activate": self.console.send_key,
"on_details_menu_send_caf3_activate": self.console.send_key,
Index: virt-manager-0.8.5/src/virtManager/console.py
Index: virt-manager-0.8.6/src/virtManager/console.py
===================================================================
--- virt-manager-0.8.5.orig/src/virtManager/console.py
+++ virt-manager-0.8.5/src/virtManager/console.py
@@ -359,6 +359,24 @@ class vmmConsolePages(gobject.GObject):
--- virt-manager-0.8.6.orig/src/virtManager/console.py
+++ virt-manager-0.8.6/src/virtManager/console.py
@@ -665,6 +665,24 @@ class vmmConsolePages(vmmGObjectUI):
keys = ["Control_L", "Alt_L", "Delete"]
elif src.get_name() == "details-menu-send-cab":
keys = ["Control_L", "Alt_L", "BackSpace"]

View File

@ -1,8 +1,8 @@
Index: virt-manager-0.8.5/src/virtManager/engine.py
Index: virt-manager-0.8.6/src/virtManager/engine.py
===================================================================
--- virt-manager-0.8.5.orig/src/virtManager/engine.py
+++ virt-manager-0.8.5/src/virtManager/engine.py
@@ -69,6 +69,7 @@ def default_uri():
--- virt-manager-0.8.6.orig/src/virtManager/engine.py
+++ virt-manager-0.8.6/src/virtManager/engine.py
@@ -54,6 +54,7 @@ def default_uri():
os.path.exists("/usr/bin/qemu") or
os.path.exists("/usr/bin/qemu-kvm") or
os.path.exists("/usr/bin/kvm") or

View File

@ -1,37 +0,0 @@
Index: virt-manager-0.8.1/src/virtManager/manager.py
===================================================================
--- virt-manager-0.8.1.orig/src/virtManager/manager.py
+++ virt-manager-0.8.1/src/virtManager/manager.py
@@ -529,7 +529,15 @@ class vmmManager(gobject.GObject):
vmlist = self.window.get_widget("vm-list")
selection = vmlist.get_selection()
active = selection.get_selected()
-
+ if active[1] == None and active[0] != None:
+ # in some cases on vhost, the connection is not being selected at startup.
+ # when creating new vms, if current_connection() returns None, several
+ # functions will fail, so if the user hasn't selected a connection, default
+ # to the first connection in the list.
+ first = active[0].get_iter_first()
+ if first != None:
+ selection.select_iter( first )
+ active = selection.get_selected()
treestore, treeiter = active
if treeiter != None:
return treestore[treeiter]
@@ -583,7 +591,14 @@ class vmmManager(gobject.GObject):
self.emit("action-show-connect")
def new_vm(self, ignore=None):
- self.emit("action-show-create", self.current_connection_uri())
+ conn = self.current_connection()
+ if conn.get_state() == vmmConnection.STATE_ACTIVE:
+ self.emit("action-show-create", self.current_connection_uri())
+ else:
+ message_box = gtk.MessageDialog( None, gtk.DIALOG_MODAL, gtk.MESSAGE_WARNING, gtk.BUTTONS_OK,
+ _("Must select an active connection before creating a Virtual Machine") )
+ message_box.run()
+ message_box.destroy()
def show_about(self, src):
self.emit("action-show-about")

View File

@ -1,19 +0,0 @@
Index: virt-manager-0.8.1/src/virtManager/console.py
===================================================================
--- virt-manager-0.8.1.orig/src/virtManager/console.py
+++ virt-manager-0.8.1/src/virtManager/console.py
@@ -205,10 +205,10 @@ class vmmDetails(gobject.GObject):
self.window.get_widget("console-vnc-viewport").add(self.vncViewer)
self.vncViewer.realize()
self.vncTunnel = None
- if self.config.get_console_keygrab() == 2:
- self.vncViewer.set_keyboard_grab(True)
- else:
- self.vncViewer.set_keyboard_grab(False)
+ # Always set grab flags to False. Setting them to True introduces a bug where Dom0 ScreenSaver
+ # loses the pointer if the pointer is over Dom0 when the ScreenSaver activates.
+ # This patch can be removed when testing shows the bug (Gtk?) is fixed.
+ self.vncViewer.set_keyboard_grab(False)
self.vncViewer.set_pointer_grab(True)
self.scale_type = self.vm.get_console_scaling()

View File

@ -1,8 +1,8 @@
Index: virt-manager-0.8.5/src/virtManager/engine.py
Index: virt-manager-0.8.6/src/virtManager/engine.py
===================================================================
--- virt-manager-0.8.5.orig/src/virtManager/engine.py
+++ virt-manager-0.8.5/src/virtManager/engine.py
@@ -40,7 +40,6 @@ from virtManager.manager import vmmManag
--- virt-manager-0.8.6.orig/src/virtManager/engine.py
+++ virt-manager-0.8.6/src/virtManager/engine.py
@@ -41,7 +41,6 @@ from virtManager.manager import vmmManag
from virtManager.migrate import vmmMigrateDialog
from virtManager.details import vmmDetails
from virtManager.asyncjob import vmmAsyncJob
@ -10,27 +10,26 @@ Index: virt-manager-0.8.5/src/virtManager/engine.py
from virtManager.host import vmmHost
from virtManager.error import vmmErrorDialog
from virtManager.systray import vmmSystray
@@ -665,13 +664,44 @@ class vmmEngine(gobject.GObject):
return False
return True
@@ -702,12 +701,45 @@ class vmmEngine(vmmGObject):
self.windowCreate = obj
return self.windowCreate
+ def _vmmcreate_closing(self,signal,key):
+ self.windowCreate = None
+
def show_create(self, uri):
- if self.windowCreate == None:
- create = vmmCreate(self.get_config(), self)
- create.connect("action-show-console", self._do_show_console)
- create.connect("action-show-help", self._do_show_help)
- self.windowCreate = create
- self.windowCreate.show(uri)
def _do_show_create(self, src, uri):
- try:
- self._get_create_dialog().show(uri)
- except Exception, e:
- src.err.show_err(_("Error launching manager: %s") % str(e),
- "".join(traceback.format_exc()))
+ conn = self._lookup_connection(uri)
+ do_remote = conn.is_remote()
+ if self.windowCreate == None or do_remote != self.remote_install:
+ try:
+ if do_remote:
+ from virtManager.create import vmmCreate
+ create = vmmCreate(self.get_config(),self)
+ create = vmmCreate(self)
+ create.connect("action-show-console", self._do_show_console)
+ create.connect("action-show-help", self._do_show_help)
+ create.connect("vmmcreate-closing", self._vmmcreate_closing)
@ -46,7 +45,8 @@ Index: virt-manager-0.8.5/src/virtManager/engine.py
+ self.windowCreate = create
+ self.windowCreate.show()
+ except Exception, e:
+ self.err.show_err("%s" % str(e),"".join(traceback.format_exc()))
+ src.err.show_err(_("Error launching manager: %s") % str(e),
+ "".join(traceback.format_exc()))
+ else:
+ if do_remote:
+ self.windowCreate.show(uri)
@ -59,22 +59,22 @@ Index: virt-manager-0.8.5/src/virtManager/engine.py
+ message_box.run()
+ message_box.destroy()
def add_connection(self, uri, readOnly=None, autoconnect=False):
conn = vmmConnection(self.get_config(), uri, readOnly, self)
Index: virt-manager-0.8.5/src/virtManager/create.py
def _do_show_migrate(self, src, uri, uuid):
try:
Index: virt-manager-0.8.6/src/virtManager/create.py
===================================================================
--- virt-manager-0.8.5.orig/src/virtManager/create.py
+++ virt-manager-0.8.5/src/virtManager/create.py
@@ -65,6 +65,8 @@ class vmmCreate(gobject.GObject):
gobject.TYPE_NONE, (str,str)),
--- virt-manager-0.8.6.orig/src/virtManager/create.py
+++ virt-manager-0.8.6/src/virtManager/create.py
@@ -63,6 +63,8 @@ class vmmCreate(vmmGObjectUI):
gobject.TYPE_NONE, (str, str)),
"action-show-help": (gobject.SIGNAL_RUN_FIRST,
gobject.TYPE_NONE, [str]),
+ "vmmcreate-closing": (gobject.SIGNAL_RUN_FIRST,
+ gobject.TYPE_NONE, (int,)),
}
def __init__(self, config, engine):
@@ -154,6 +156,7 @@ class vmmCreate(gobject.GObject):
def __init__(self, engine):
@@ -148,6 +150,7 @@ class vmmCreate(vmmGObjectUI):
self.topwin.present()
def close(self, ignore1=None, ignore2=None):