- 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:
parent
965709f3d5
commit
4ad8024558
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c3ee5fdda685c6da5cf3f69d4e46b0c593bcfb473700ee49343eb072048fdca9
|
||||
size 1111539
|
3
virt-manager-0.8.6.tar.bz2
Normal file
3
virt-manager-0.8.6.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c63f8e2d456342873db9d52e0619951d659a53659ba9ff2531fdc5a21d1c73a7
|
||||
size 1154056
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
3
virtinst-0.500.5.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5909f2bc6618ea0ae09e75292f4b39915d8ab5c2536c73cedddb8b0031d6b8ef
|
||||
size 401562
|
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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])
|
@ -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():
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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"]
|
||||
|
@ -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
|
||||
|
@ -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")
|
@ -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()
|
@ -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):
|
||||
|
Loading…
Reference in New Issue
Block a user