This commit is contained in:
parent
66a92e3bff
commit
1ba095023c
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:de1a282233ce0fb11e35a743604e3d0a81ab9a1a5c51786104e03f18d5f2e500
|
|
||||||
size 369701
|
|
3
virt-manager-0.4.0.tar.bz2
Normal file
3
virt-manager-0.4.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:75235bcfbb776a0e59bba543b0dca8d5b3d73b826db09bf0146ef0148c0530f1
|
||||||
|
size 975315
|
@ -1,7 +1,81 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 3 14:50:03 MDT 2007 - ccoffing@novell.com
|
||||||
|
|
||||||
|
- Fix syntax error, which could result in unnecessary VNC
|
||||||
|
connection failures. (#237406)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 27 13:20:07 MDT 2007 - ccoffing@novell.com
|
||||||
|
|
||||||
|
- Update to 0.4.0.
|
||||||
|
- Clean up spec file.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 10 14:19:36 MDT 2007 - ccoffing@novell.com
|
||||||
|
|
||||||
|
- Remove code that (incorrectly) guesses the vnc port. (#259692)
|
||||||
|
- Do not refresh GUI every second (which causes xenstored to not
|
||||||
|
thrash so badly, which makes virt-manager more responsive and
|
||||||
|
less likely to time out or lock up). Partial fix for #237406.
|
||||||
|
- Import changeset 440, which makes virt-manager honor dom0's
|
||||||
|
keymap. (#241149)
|
||||||
|
- Revert patch for bug #244772, because it causes lockups, as
|
||||||
|
noted in bug #261110.
|
||||||
|
- Fix attaching disks to running VM. (#238986)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Apr 2 01:56:33 CEST 2007 - ro@suse.de
|
Mon Apr 2 01:56:33 CEST 2007 - ro@suse.de
|
||||||
|
|
||||||
- updated gconf scriptlets
|
- updated gconf scriptlets
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 28 11:37:48 MDT 2007 - ccoffing@novell.com
|
||||||
|
|
||||||
|
- Update icon filename.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 13 15:25:13 MDT 2007 - ccoffing@novell.com
|
||||||
|
|
||||||
|
- Import threading and timer tick patches from upstream to improve
|
||||||
|
stability. (#237406 and others)
|
||||||
|
- Do not offer QEMU option. (#254083)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 12 08:44:33 MDT 2007 - ccoffing@novell.com
|
||||||
|
|
||||||
|
- Update virt-manager to match changes in vm-install's disk class,
|
||||||
|
due to bug #247849.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 9 17:52:21 MST 2007 - ccoffing@novell.com
|
||||||
|
|
||||||
|
- Make Ctrl+Alt release the mouse cursor (#252998).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 8 12:38:56 MST 2007 - ccoffing@novell.com
|
||||||
|
|
||||||
|
- Add release to "Requires: xen-tools", to prevent mixing with
|
||||||
|
pre-beta 5. (#238986, #252495)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 2 17:53:44 MST 2007 - ccoffing@novell.com
|
||||||
|
|
||||||
|
- Disable gtk-menu-bar-accel when VM has focus, to allow VM to get
|
||||||
|
F10 key. (#240001)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 27 13:36:06 MST 2007 - ccoffing@novell.com
|
||||||
|
|
||||||
|
- Update to 0.3.1.
|
||||||
|
- "Requires: librsvg" (#250156)
|
||||||
|
- Re-use vm-install's disk UI, to allow disks to be added/removed
|
||||||
|
from xend-managed VMs (currently only for running VMs). (#238986)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 22 12:39:37 MST 2007 - ccoffing@novell.com
|
||||||
|
|
||||||
|
- If Xen isn't running, put up error window instead of raising.
|
||||||
|
(#244772)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Feb 13 12:53:38 MST 2007 - ccoffing@novell.com
|
Tue Feb 13 12:53:38 MST 2007 - ccoffing@novell.com
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# spec file for package virt-manager (Version 0.3.0)
|
# spec file for package virt-manager (Version 0.4.0)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
# This file and all modifications and additions to the pristine
|
# This file and all modifications and additions to the pristine
|
||||||
@ -12,44 +12,36 @@
|
|||||||
|
|
||||||
Name: virt-manager
|
Name: virt-manager
|
||||||
URL: http://virt-manager.et.redhat.com
|
URL: http://virt-manager.et.redhat.com
|
||||||
BuildRequires: autoconf automake gconf2 gettext gtk2-devel python-devel python-gtk update-desktop-files
|
BuildRequires: autoconf automake gconf2 gettext gtk2-devel python-devel python-gobject2-devel python-gtk-devel scrollkeeper update-desktop-files
|
||||||
%if %suse_version > 1010
|
# Only for directory ownership:
|
||||||
BuildRequires: python-gobject2-devel python-gtk-devel
|
BuildRequires: libgnome yast2
|
||||||
%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)
|
License: GNU General Public License (GPL)
|
||||||
Group: System/Monitoring
|
Group: System/Monitoring
|
||||||
Autoreqprov: yes
|
Autoreqprov: yes
|
||||||
Version: 0.3.0
|
Version: 0.4.0
|
||||||
Release: 8
|
Release: 1
|
||||||
Summary: Virtual Machine Manager
|
Summary: Virtual Machine Manager
|
||||||
Source0: virt-manager-0.3.0.tar.bz2
|
Source0: virt-manager-0.4.0.tar.bz2
|
||||||
Source1: rhpl-exception.py
|
Source1: rhpl-exception.py
|
||||||
|
Patch10: virtman-desktop.diff
|
||||||
|
Patch11: virtman-install.diff
|
||||||
|
Patch12: virtman-type-register.diff
|
||||||
|
Patch13: virtman-console-keys.diff
|
||||||
|
Patch14: virtman-detach-yast.diff
|
||||||
|
Patch15: virtman-limit-popup.diff
|
||||||
|
Patch16: virtman-edit.diff
|
||||||
|
Patch17: virtman-wrong-port.diff
|
||||||
|
Patch18: virtman-typo.diff
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
ExclusiveArch: %ix86 x86_64
|
||||||
Requires: python-gtk
|
Requires: python-gtk
|
||||||
Requires: python-gnome
|
Requires: python-gnome
|
||||||
# Absolutely require this version or newer
|
|
||||||
Requires: libvirt-python >= 0.1.4-3
|
Requires: libvirt-python >= 0.1.4-3
|
||||||
# FIXME: Check dbus-1-python 0.60 vs. 0.61 API changes
|
|
||||||
Requires: dbus-1-python
|
Requires: dbus-1-python
|
||||||
# Minimum we've tested with
|
Requires: libxml2-python
|
||||||
Requires: libxml2-python >= 2.6.23
|
|
||||||
Requires: vte
|
Requires: vte
|
||||||
Requires: xen-tools >= 3.0.4_13100
|
Requires: librsvg
|
||||||
ExclusiveArch: %ix86 x86_64
|
Requires: xen-tools >= 3.0.4_13138-0.10
|
||||||
Patch0: virtman-desktop.diff
|
|
||||||
Patch1: virtman-install.diff
|
|
||||||
Patch2: virtman-type-register.diff
|
|
||||||
Patch3: virtman-deprecated-raise.diff
|
|
||||||
Patch5: virtman-console-keys.diff
|
|
||||||
Patch6: virtman-detach-yast.diff
|
|
||||||
Patch7: virtman-no-ungrab.diff
|
|
||||||
Patch8: virtman-limit-popup.diff
|
|
||||||
Patch9: virtman-error.diff
|
|
||||||
Requires: gconf2
|
Requires: gconf2
|
||||||
|
|
||||||
%gconf_schemas_prereq
|
%gconf_schemas_prereq
|
||||||
@ -68,40 +60,33 @@ Authors:
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1
|
%patch10 -p1
|
||||||
%patch1 -p1
|
%patch11 -p1
|
||||||
%patch2 -p1
|
%patch12 -p1
|
||||||
%patch3 -p1
|
%patch13 -p1
|
||||||
%patch5 -p1
|
%patch14 -p1
|
||||||
%patch6 -p1
|
%patch15 -p1
|
||||||
%patch7 -p1
|
#%patch16 -p1 # re-port... or not?
|
||||||
%patch8 -p1
|
%patch17 -p1
|
||||||
%patch9 -p1
|
%patch18 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
#automake
|
|
||||||
#autoconf
|
|
||||||
autoreconf -i
|
autoreconf -i
|
||||||
%configure --sysconfdir=%{gsysconfdir}
|
%configure
|
||||||
make
|
make
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
make install DESTDIR=$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.{a,la}
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/virt-manager/sparkline.la
|
|
||||||
install -m755 %SOURCE1 $RPM_BUILD_ROOT%{_datadir}/virt-manager/exception.py
|
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
|
|
||||||
%find_gconf_schemas
|
%find_gconf_schemas
|
||||||
|
%find_lang %{name}
|
||||||
cat %{name}.schemas_list %{name}.lang >%{name}.lst
|
cat %{name}.schemas_list %{name}.lang >%{name}.lst
|
||||||
%suse_update_desktop_file virt-manager
|
%suse_update_desktop_file %{name}
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
test ! -z "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" && rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
%pre -f %{name}.schemas_pre
|
%pre -f %{name}.schemas_pre
|
||||||
|
|
||||||
@ -109,14 +94,14 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
|
|
||||||
%posttrans -f %{name}.schemas_posttrans
|
%posttrans -f %{name}.schemas_posttrans
|
||||||
|
|
||||||
%files -f virt-manager.lst
|
%files -f %{name}.lst
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%doc COPYING AUTHORS ChangeLog
|
%doc COPYING AUTHORS ChangeLog
|
||||||
%{gsysconfdir}/gconf/schemas/virt-manager.schemas
|
|
||||||
%{_bindir}/virt-manager
|
%{_bindir}/virt-manager
|
||||||
%{_libexecdir}/virt-manager-launch
|
%{_libexecdir}/virt-manager-launch
|
||||||
%{_libdir}/virt-manager/
|
%{_libdir}/virt-manager/
|
||||||
%dir %{_datadir}/virt-manager
|
%dir %{_datadir}/virt-manager
|
||||||
|
%{_datadir}/omf/virt-manager/
|
||||||
%{_datadir}/virt-manager/*.glade
|
%{_datadir}/virt-manager/*.glade
|
||||||
%dir %{_datadir}/virt-manager/pixmaps
|
%dir %{_datadir}/virt-manager/pixmaps
|
||||||
%{_datadir}/virt-manager/pixmaps/*.png
|
%{_datadir}/virt-manager/pixmaps/*.png
|
||||||
@ -128,14 +113,51 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_datadir}/virt-manager/vncViewer/*.py
|
%{_datadir}/virt-manager/vncViewer/*.py
|
||||||
%{_datadir}/applications/YaST2/virt-manager.desktop
|
%{_datadir}/applications/YaST2/virt-manager.desktop
|
||||||
%{_datadir}/dbus-1/services/virt-manager.service
|
%{_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
|
%changelog
|
||||||
|
* Thu May 03 2007 - ccoffing@novell.com
|
||||||
|
- Fix syntax error, which could result in unnecessary VNC
|
||||||
|
connection failures. (#237406)
|
||||||
|
* Fri Apr 27 2007 - ccoffing@novell.com
|
||||||
|
- Update to 0.4.0.
|
||||||
|
- Clean up spec file.
|
||||||
|
* Tue Apr 10 2007 - ccoffing@novell.com
|
||||||
|
- Remove code that (incorrectly) guesses the vnc port. (#259692)
|
||||||
|
- Do not refresh GUI every second (which causes xenstored to not
|
||||||
|
thrash so badly, which makes virt-manager more responsive and
|
||||||
|
less likely to time out or lock up). Partial fix for #237406.
|
||||||
|
- Import changeset 440, which makes virt-manager honor dom0's
|
||||||
|
keymap. (#241149)
|
||||||
|
- Revert patch for bug #244772, because it causes lockups, as
|
||||||
|
noted in bug #261110.
|
||||||
|
- Fix attaching disks to running VM. (#238986)
|
||||||
* Mon Apr 02 2007 - ro@suse.de
|
* Mon Apr 02 2007 - ro@suse.de
|
||||||
- updated gconf scriptlets
|
- updated gconf scriptlets
|
||||||
|
* Wed Mar 28 2007 - ccoffing@novell.com
|
||||||
|
- Update icon filename.
|
||||||
|
* Tue Mar 13 2007 - ccoffing@novell.com
|
||||||
|
- Import threading and timer tick patches from upstream to improve
|
||||||
|
stability. (#237406 and others)
|
||||||
|
- Do not offer QEMU option. (#254083)
|
||||||
|
* Mon Mar 12 2007 - ccoffing@novell.com
|
||||||
|
- Update virt-manager to match changes in vm-install's disk class,
|
||||||
|
due to bug #247849.
|
||||||
|
* Fri Mar 09 2007 - ccoffing@novell.com
|
||||||
|
- Make Ctrl+Alt release the mouse cursor (#252998).
|
||||||
|
* Thu Mar 08 2007 - ccoffing@novell.com
|
||||||
|
- Add release to "Requires: xen-tools", to prevent mixing with
|
||||||
|
pre-beta 5. (#238986, #252495)
|
||||||
|
* Fri Mar 02 2007 - ccoffing@novell.com
|
||||||
|
- Disable gtk-menu-bar-accel when VM has focus, to allow VM to get
|
||||||
|
F10 key. (#240001)
|
||||||
|
* Tue Feb 27 2007 - ccoffing@novell.com
|
||||||
|
- Update to 0.3.1.
|
||||||
|
- "Requires: librsvg" (#250156)
|
||||||
|
- Re-use vm-install's disk UI, to allow disks to be added/removed
|
||||||
|
from xend-managed VMs (currently only for running VMs). (#238986)
|
||||||
|
* Thu Feb 22 2007 - ccoffing@novell.com
|
||||||
|
- If Xen isn't running, put up error window instead of raising.
|
||||||
|
(#244772)
|
||||||
* Tue Feb 13 2007 - ccoffing@novell.com
|
* Tue Feb 13 2007 - ccoffing@novell.com
|
||||||
- Update to latest hg; grabs mouse for better mouse tracking.
|
- Update to latest hg; grabs mouse for better mouse tracking.
|
||||||
(#240387)
|
(#240387)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: virt-manager-0.3.0/src/virtManager/console.py
|
Index: virt-manager-0.4.0/src/virtManager/console.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.3.0.orig/src/virtManager/console.py
|
--- virt-manager-0.4.0.orig/src/virtManager/console.py
|
||||||
+++ virt-manager-0.3.0/src/virtManager/console.py
|
+++ virt-manager-0.4.0/src/virtManager/console.py
|
||||||
@@ -45,6 +45,8 @@ class vmmConsole(gobject.GObject):
|
@@ -49,6 +49,8 @@ class vmmConsole(gobject.GObject):
|
||||||
self.vm = vm
|
self.vm = vm
|
||||||
|
|
||||||
topwin = self.window.get_widget("vmm-console")
|
topwin = self.window.get_widget("vmm-console")
|
||||||
@ -11,7 +11,7 @@ Index: virt-manager-0.3.0/src/virtManager/console.py
|
|||||||
topwin.hide()
|
topwin.hide()
|
||||||
self.title = vm.get_name() + " " + topwin.get_title()
|
self.title = vm.get_name() + " " + topwin.get_title()
|
||||||
topwin.set_title(self.title)
|
topwin.set_title(self.title)
|
||||||
@@ -52,9 +54,9 @@ class vmmConsole(gobject.GObject):
|
@@ -56,9 +58,9 @@ class vmmConsole(gobject.GObject):
|
||||||
self.window.get_widget("control-shutdown").get_icon_widget().set_from_file(config.get_icon_dir() + "/icon_shutdown.png")
|
self.window.get_widget("control-shutdown").get_icon_widget().set_from_file(config.get_icon_dir() + "/icon_shutdown.png")
|
||||||
|
|
||||||
if self.config.get_console_keygrab() == 2:
|
if self.config.get_console_keygrab() == 2:
|
||||||
@ -23,11 +23,11 @@ Index: virt-manager-0.3.0/src/virtManager/console.py
|
|||||||
self.vncViewer.connect("pointer-grabbed", self.notify_grabbed)
|
self.vncViewer.connect("pointer-grabbed", self.notify_grabbed)
|
||||||
self.vncViewer.connect("pointer-ungrabbed", self.notify_ungrabbed)
|
self.vncViewer.connect("pointer-ungrabbed", self.notify_ungrabbed)
|
||||||
|
|
||||||
Index: virt-manager-0.3.0/src/vncViewer/vnc.py
|
Index: virt-manager-0.4.0/src/vncViewer/vnc.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.3.0.orig/src/vncViewer/vnc.py
|
--- virt-manager-0.4.0.orig/src/vncViewer/vnc.py
|
||||||
+++ virt-manager-0.3.0/src/vncViewer/vnc.py
|
+++ virt-manager-0.4.0/src/vncViewer/vnc.py
|
||||||
@@ -179,7 +179,7 @@ class GRFBViewer(gtk.DrawingArea):
|
@@ -190,7 +190,7 @@ class GRFBViewer(gtk.DrawingArea):
|
||||||
"keyboard-ungrabbed": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, []),
|
"keyboard-ungrabbed": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, []),
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ Index: virt-manager-0.3.0/src/vncViewer/vnc.py
|
|||||||
gtk.DrawingArea.__init__(self)
|
gtk.DrawingArea.__init__(self)
|
||||||
|
|
||||||
self.fb = GRFBFrameBuffer(self)
|
self.fb = GRFBFrameBuffer(self)
|
||||||
@@ -189,6 +189,7 @@ class GRFBViewer(gtk.DrawingArea):
|
@@ -200,6 +200,7 @@ class GRFBViewer(gtk.DrawingArea):
|
||||||
self.autograbkey = autograbkey
|
self.autograbkey = autograbkey
|
||||||
self.autograbptr = True
|
self.autograbptr = True
|
||||||
self.topwin = topwin
|
self.topwin = topwin
|
||||||
@ -44,21 +44,21 @@ Index: virt-manager-0.3.0/src/vncViewer/vnc.py
|
|||||||
self.accel_groups = gtk.accel_groups_from_object(topwin)
|
self.accel_groups = gtk.accel_groups_from_object(topwin)
|
||||||
self.preferred_encoding = (rfb.ENCODING_RAW, rfb.ENCODING_DESKTOP_RESIZE)
|
self.preferred_encoding = (rfb.ENCODING_RAW, rfb.ENCODING_DESKTOP_RESIZE)
|
||||||
# Current impl of draw_solid is *far* too slow to be practical
|
# Current impl of draw_solid is *far* too slow to be practical
|
||||||
@@ -445,6 +446,8 @@ class GRFBViewer(gtk.DrawingArea):
|
@@ -460,6 +461,8 @@ class GRFBViewer(gtk.DrawingArea):
|
||||||
gtk.gdk.keyboard_grab(self.window, False, long(0))
|
gtk.gdk.keyboard_grab(self.window, False, long(0))
|
||||||
for g in self.accel_groups:
|
for g in self.accel_groups:
|
||||||
self.topwin.remove_accel_group(g)
|
self.topwin.remove_accel_group(g)
|
||||||
+ for w in self.sens:
|
+ for w in self.sens:
|
||||||
+ w.set_sensitive(False)
|
+ w.set_sensitive(False)
|
||||||
self.grabbedKeyboard = True
|
self.gtk_settings = gtk.settings_get_default()
|
||||||
self.emit("keyboard-grabbed")
|
self.gtk_settings_accel = self.gtk_settings.get_property('gtk-menu-bar-accel')
|
||||||
|
self.gtk_settings.set_property('gtk-menu-bar-accel', None)
|
||||||
@@ -452,6 +455,8 @@ class GRFBViewer(gtk.DrawingArea):
|
@@ -470,6 +473,8 @@ class GRFBViewer(gtk.DrawingArea):
|
||||||
gtk.gdk.keyboard_ungrab()
|
gtk.gdk.keyboard_ungrab()
|
||||||
for g in self.accel_groups:
|
for g in self.accel_groups:
|
||||||
self.topwin.add_accel_group(g)
|
self.topwin.add_accel_group(g)
|
||||||
+ for w in self.sens:
|
+ for w in self.sens:
|
||||||
+ w.set_sensitive(True)
|
+ w.set_sensitive(True)
|
||||||
|
self.gtk_settings.set_property('gtk-menu-bar-accel', self.gtk_settings_accel)
|
||||||
self.grabbedKeyboard = False
|
self.grabbedKeyboard = False
|
||||||
self.emit("keyboard-ungrabbed")
|
self.emit("keyboard-ungrabbed")
|
||||||
|
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
Index: virt-manager-0.3.0/src/virtManager/domain.py
|
|
||||||
===================================================================
|
|
||||||
--- virt-manager-0.3.0.orig/src/virtManager/domain.py
|
|
||||||
+++ virt-manager-0.3.0/src/virtManager/domain.py
|
|
||||||
@@ -371,7 +371,7 @@ class vmmDomain(gobject.GObject):
|
|
||||||
elif self.lastStatus == libvirt.VIR_DOMAIN_CRASHED:
|
|
||||||
return _("Crashed")
|
|
||||||
else:
|
|
||||||
- raise RuntimeError(_("Unknown status code"))
|
|
||||||
+ raise RuntimeError(_("Unknown status code: %s") % self.lastStatus)
|
|
||||||
|
|
||||||
def run_status_icon(self):
|
|
||||||
return self.config.get_vm_status_icon(self.status())
|
|
||||||
@@ -443,9 +443,9 @@ class vmmDomain(gobject.GObject):
|
|
||||||
devdst = child.prop("dev")
|
|
||||||
|
|
||||||
if srcpath == None:
|
|
||||||
- raise "missing source path"
|
|
||||||
+ raise RuntimeError("missing source path")
|
|
||||||
if devdst == None:
|
|
||||||
- raise "missing destination device"
|
|
||||||
+ raise RuntimeError("missing destination device")
|
|
||||||
|
|
||||||
devtype = node.prop("device")
|
|
||||||
if devtype == None:
|
|
@ -1,7 +1,7 @@
|
|||||||
Index: virt-manager-0.3.0/src/virt-manager.desktop.in
|
Index: virt-manager-0.4.0/src/virt-manager.desktop.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.3.0.orig/src/virt-manager.desktop.in
|
--- virt-manager-0.4.0.orig/src/virt-manager.desktop.in
|
||||||
+++ virt-manager-0.3.0/src/virt-manager.desktop.in
|
+++ virt-manager-0.4.0/src/virt-manager.desktop.in
|
||||||
@@ -1,9 +1,17 @@
|
@@ -1,9 +1,17 @@
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
+Version=1.0
|
+Version=1.0
|
||||||
@ -21,15 +21,15 @@ Index: virt-manager-0.3.0/src/virt-manager.desktop.in
|
|||||||
+X-SuSE-YaST-RootOnly=true
|
+X-SuSE-YaST-RootOnly=true
|
||||||
+X-SuSE-YaST-Geometry=
|
+X-SuSE-YaST-Geometry=
|
||||||
+X-SuSE-YaST-SortKey=
|
+X-SuSE-YaST-SortKey=
|
||||||
+Icon=yast-network
|
+Icon=yast-vm-management
|
||||||
+X-SuSE-translate=true
|
+X-SuSE-translate=true
|
||||||
Index: virt-manager-0.3.0/src/Makefile.am
|
Index: virt-manager-0.4.0/src/Makefile.am
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.3.0.orig/src/Makefile.am
|
--- virt-manager-0.4.0.orig/src/Makefile.am
|
||||||
+++ virt-manager-0.3.0/src/Makefile.am
|
+++ virt-manager-0.4.0/src/Makefile.am
|
||||||
@@ -14,7 +14,7 @@ libexec_SCRIPTS = $(PACKAGE)-launch
|
@@ -14,7 +14,7 @@ libexec_SCRIPTS = $(PACKAGE)-launch
|
||||||
gladedir = $(pkgdatadir)
|
gladedir = $(pkgdatadir)
|
||||||
glade_DATA = $(PACKAGE).glade
|
glade_DATA = $(wildcard $(srcdir)/*.glade)
|
||||||
|
|
||||||
-desktopdir = $(datadir)/applications
|
-desktopdir = $(datadir)/applications
|
||||||
+desktopdir = $(datadir)/applications/YaST2/
|
+desktopdir = $(datadir)/applications/YaST2/
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: virt-manager-0.3.0/src/virt-manager.py.in
|
Index: virt-manager-0.4.0/src/virt-manager.py.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.3.0.orig/src/virt-manager.py.in
|
--- virt-manager-0.4.0.orig/src/virt-manager.py.in
|
||||||
+++ virt-manager-0.3.0/src/virt-manager.py.in
|
+++ virt-manager-0.4.0/src/virt-manager.py.in
|
||||||
@@ -148,6 +148,8 @@ def main():
|
@@ -177,6 +177,8 @@ def main():
|
||||||
optParser = OptionParser()
|
optParser = OptionParser()
|
||||||
optParser.add_option("--profile", dest="profile", help="Generate runtime performance profile stats", metavar="FILE")
|
optParser.add_option("--profile", dest="profile", help="Generate runtime performance profile stats", metavar="FILE")
|
||||||
optParser.set_defaults(uuid=None)
|
optParser.set_defaults(uuid=None)
|
||||||
@ -11,7 +11,7 @@ Index: virt-manager-0.3.0/src/virt-manager.py.in
|
|||||||
optParser.add_option("-c", "--connect", dest="uri",
|
optParser.add_option("-c", "--connect", dest="uri",
|
||||||
help="Connect to hypervisor at URI", metavar="URI")
|
help="Connect to hypervisor at URI", metavar="URI")
|
||||||
optParser.add_option("--no-dbus", action="store_true", dest="nodbus",
|
optParser.add_option("--no-dbus", action="store_true", dest="nodbus",
|
||||||
@@ -199,6 +201,23 @@ def main():
|
@@ -228,6 +230,23 @@ def main():
|
||||||
logging.warning("Could not connection to session bus, disabling DBus service " + \
|
logging.warning("Could not connection to session bus, disabling DBus service " + \
|
||||||
str(sys.exc_info()[0]) + " " + str(sys.exc_info()[1]))
|
str(sys.exc_info()[0]) + " " + str(sys.exc_info()[1]))
|
||||||
|
|
||||||
@ -35,11 +35,11 @@ Index: virt-manager-0.3.0/src/virt-manager.py.in
|
|||||||
# Finally start the app for real
|
# Finally start the app for real
|
||||||
show_engine(engine, options.show, options.uri, options.uuid)
|
show_engine(engine, options.show, options.uri, options.uuid)
|
||||||
if options.profile != None:
|
if options.profile != None:
|
||||||
Index: virt-manager-0.3.0/src/virtManager/engine.py
|
Index: virt-manager-0.4.0/src/virtManager/engine.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.3.0.orig/src/virtManager/engine.py
|
--- virt-manager-0.4.0.orig/src/virtManager/engine.py
|
||||||
+++ virt-manager-0.3.0/src/virtManager/engine.py
|
+++ virt-manager-0.4.0/src/virtManager/engine.py
|
||||||
@@ -229,7 +229,7 @@ class vmmEngine:
|
@@ -278,7 +278,7 @@ class vmmEngine:
|
||||||
return self.connections[uri]["windowDetails"][uuid]
|
return self.connections[uri]["windowDetails"][uuid]
|
||||||
|
|
||||||
def show_manager(self, uri):
|
def show_manager(self, uri):
|
||||||
|
198
virtman-edit.diff
Normal file
198
virtman-edit.diff
Normal file
@ -0,0 +1,198 @@
|
|||||||
|
Index: virt-manager-0.3.1/src/virtManager/details.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-0.3.1.orig/src/virtManager/details.py
|
||||||
|
+++ virt-manager-0.3.1/src/virtManager/details.py
|
||||||
|
@@ -23,6 +23,10 @@ import gtk.glade
|
||||||
|
import libvirt
|
||||||
|
import sparkline
|
||||||
|
import logging
|
||||||
|
+import os
|
||||||
|
+
|
||||||
|
+import xen.install
|
||||||
|
+import xen.install.gui
|
||||||
|
|
||||||
|
class vmmDetails(gobject.GObject):
|
||||||
|
__gsignals__ = {
|
||||||
|
@@ -44,6 +48,7 @@ class vmmDetails(gobject.GObject):
|
||||||
|
topwin = self.window.get_widget("vmm-details")
|
||||||
|
topwin.hide()
|
||||||
|
topwin.set_title(self.vm.get_name() + " " + topwin.get_title())
|
||||||
|
+ self.topwin = topwin
|
||||||
|
|
||||||
|
self.window.get_widget("overview-name").set_text(self.vm.get_name())
|
||||||
|
self.window.get_widget("overview-uuid").set_text(self.vm.get_uuid())
|
||||||
|
@@ -129,15 +134,14 @@ class vmmDetails(gobject.GObject):
|
||||||
|
self.window.get_widget("details-toolbar").hide()
|
||||||
|
|
||||||
|
def show(self):
|
||||||
|
- dialog = self.window.get_widget("vmm-details")
|
||||||
|
- dialog.show_all()
|
||||||
|
+ self.topwin.show_all()
|
||||||
|
self.window.get_widget("overview-network-traffic-text").hide()
|
||||||
|
self.window.get_widget("overview-network-traffic-label").hide()
|
||||||
|
self.window.get_widget("overview-disk-usage-bar").hide()
|
||||||
|
self.window.get_widget("overview-disk-usage-text").hide()
|
||||||
|
self.window.get_widget("overview-disk-usage-label").hide()
|
||||||
|
self.network_traffic_graph.hide()
|
||||||
|
- dialog.present()
|
||||||
|
+ self.topwin.present()
|
||||||
|
|
||||||
|
def activate_performance_page(self):
|
||||||
|
self.window.get_widget("details-pages").set_current_page(0)
|
||||||
|
@@ -146,11 +150,11 @@ class vmmDetails(gobject.GObject):
|
||||||
|
self.window.get_widget("details-pages").set_current_page(1)
|
||||||
|
|
||||||
|
def close(self,ignore1=None,ignore2=None):
|
||||||
|
- self.window.get_widget("vmm-details").hide()
|
||||||
|
+ self.topwin.hide()
|
||||||
|
return 1
|
||||||
|
|
||||||
|
def is_visible(self):
|
||||||
|
- if self.window.get_widget("vmm-details").flags() & gtk.VISIBLE:
|
||||||
|
+ if self.topwin.flags() & gtk.VISIBLE:
|
||||||
|
return 1
|
||||||
|
return 0
|
||||||
|
|
||||||
|
@@ -387,45 +391,109 @@ class vmmDetails(gobject.GObject):
|
||||||
|
self.window.get_widget("config-memory-apply").set_sensitive(False)
|
||||||
|
|
||||||
|
|
||||||
|
+ def add_cdrom(self, button):
|
||||||
|
+ return self.add_disk(True)
|
||||||
|
+
|
||||||
|
+ def add_harddisk(self, button):
|
||||||
|
+ return self.add_disk(False)
|
||||||
|
+
|
||||||
|
+ def add_disk(self, is_cdrom):
|
||||||
|
+ disks = self.disks_widget.get_disks()
|
||||||
|
+ unused_vdevs = xen.install.get_unused_vdevs(self.options.full_virt, disks)
|
||||||
|
+ if len(unused_vdevs) == 0:
|
||||||
|
+ return
|
||||||
|
+ name = self.vm.get_name()
|
||||||
|
+
|
||||||
|
+ w = gtk.Window()
|
||||||
|
+ self.add_disk_window = w
|
||||||
|
+ w.set_modal(True)
|
||||||
|
+ w.set_transient_for(self.topwin)
|
||||||
|
+ w.set_title(xen.install.msg.title_disk)
|
||||||
|
+ self.disk_editor = xen.install.gui.DiskEditWidget()
|
||||||
|
+ disk_edit_widget = self.disk_editor.get_widget()
|
||||||
|
+ vbox = gtk.VBox()
|
||||||
|
+ w.add(vbox)
|
||||||
|
+ vbox.pack_start(disk_edit_widget, False)
|
||||||
|
+ bbox = gtk.HButtonBox()
|
||||||
|
+ bbox.set_layout(gtk.BUTTONBOX_END)
|
||||||
|
+ cancel_button = gtk.Button(stock=gtk.STOCK_CANCEL)
|
||||||
|
+ bbox.pack_start(cancel_button)
|
||||||
|
+ ok_button = gtk.Button(stock=gtk.STOCK_OK)
|
||||||
|
+ bbox.pack_start(ok_button)
|
||||||
|
+ vbox.pack_start(bbox, False)
|
||||||
|
+
|
||||||
|
+ ok_button.connect("clicked", self.do_add_disk)
|
||||||
|
+ cancel_button.connect("clicked", self.do_cancel_disk)
|
||||||
|
+
|
||||||
|
+ if is_cdrom:
|
||||||
|
+ cdrom = self.disk_editor.default_cdrom()
|
||||||
|
+ disk = xen.install.XenDisk(pdev=cdrom, vdev=unused_vdevs[0],
|
||||||
|
+ vdevType=xen.install.XenDisk.DEVICE_CDROM,
|
||||||
|
+ options=self.options, disk_group=disks)
|
||||||
|
+ else:
|
||||||
|
+ disk = xen.install.XenDisk(pdev=None, vdev=unused_vdevs[0],
|
||||||
|
+ vdevType=xen.install.XenDisk.DEVICE_DISK,
|
||||||
|
+ mb=4096, sparse=True,
|
||||||
|
+ options=self.options, disk_group=disks)
|
||||||
|
+ self.disk_editor.set(disk)
|
||||||
|
+ w.show_all()
|
||||||
|
+ w.present()
|
||||||
|
+
|
||||||
|
+ def do_add_disk(self, button):
|
||||||
|
+ disks = self.disks_widget.get_disks()
|
||||||
|
+ disk = self.disk_editor.get()
|
||||||
|
+ self.xen_add_disk(disk)
|
||||||
|
+ disks.append(disk)
|
||||||
|
+ self.disks_widget.set_disks(disks)
|
||||||
|
+ self.add_disk_window.destroy()
|
||||||
|
+
|
||||||
|
+ def do_cancel_disk(self, button):
|
||||||
|
+ self.add_disk_window.destroy()
|
||||||
|
+
|
||||||
|
+ def xen_add_disk(self, disk):
|
||||||
|
+ disk.setup()
|
||||||
|
+ if self.vm.is_active():
|
||||||
|
+ mode = 'w'
|
||||||
|
+ if disk.ro:
|
||||||
|
+ mode = 'r'
|
||||||
|
+ xfd = os.popen('xm block-attach %s "%s:%s" %s %s' % (self.vm.get_id(), disk.get_driver(),
|
||||||
|
+ disk.pdev, disk.vdev, mode))
|
||||||
|
+ status = xfd.close()
|
||||||
|
+ else:
|
||||||
|
+ # FIXME
|
||||||
|
+ pass
|
||||||
|
+
|
||||||
|
+ def xen_remove_disk(self, disk):
|
||||||
|
+ if self.vm.is_active():
|
||||||
|
+ xfd = os.popen('xm block-detach %s %s -f' % (self.vm.get_id(), disk.vdev))
|
||||||
|
+ status = xfd.close()
|
||||||
|
+ else:
|
||||||
|
+ # FIXME
|
||||||
|
+ pass
|
||||||
|
|
||||||
|
def prepare_disk_list(self):
|
||||||
|
- disks = self.window.get_widget("storage-view")
|
||||||
|
- disksModel = gtk.TreeStore(str,str,str,str)
|
||||||
|
- disks.set_model(disksModel)
|
||||||
|
-
|
||||||
|
- diskType_col = gtk.TreeViewColumn("Type")
|
||||||
|
- diskType_text = gtk.CellRendererText()
|
||||||
|
- diskType_col.pack_start(diskType_text, True)
|
||||||
|
- diskType_col.add_attribute(diskType_text, 'text', 0)
|
||||||
|
-
|
||||||
|
- diskSrc_col = gtk.TreeViewColumn("Source")
|
||||||
|
- diskSrc_text = gtk.CellRendererText()
|
||||||
|
- diskSrc_col.pack_start(diskSrc_text, True)
|
||||||
|
- diskSrc_col.add_attribute(diskSrc_text, 'text', 1)
|
||||||
|
-
|
||||||
|
- diskDevice_col = gtk.TreeViewColumn("Device")
|
||||||
|
- diskDevice_text = gtk.CellRendererText()
|
||||||
|
- diskDevice_col.pack_start(diskDevice_text, True)
|
||||||
|
- diskDevice_col.add_attribute(diskDevice_text, 'text', 2)
|
||||||
|
-
|
||||||
|
- diskDst_col = gtk.TreeViewColumn(_("Destination"))
|
||||||
|
- diskDst_text = gtk.CellRendererText()
|
||||||
|
- diskDst_col.pack_start(diskDst_text, True)
|
||||||
|
- diskDst_col.add_attribute(diskDst_text, 'text', 3)
|
||||||
|
-
|
||||||
|
- disks.append_column(diskType_col)
|
||||||
|
- disks.append_column(diskSrc_col)
|
||||||
|
- disks.append_column(diskDevice_col)
|
||||||
|
- disks.append_column(diskDst_col)
|
||||||
|
+ self.disks_widget = xen.install.gui.DisksWidget(allow_reorder=False,
|
||||||
|
+ remove_fn=self.xen_remove_disk,
|
||||||
|
+ add_cdrom_fn=self.add_cdrom,
|
||||||
|
+ add_harddisk_fn=self.add_harddisk)
|
||||||
|
+ notebook = self.window.get_widget("hw-panel")
|
||||||
|
+ notebook.remove_page(2)
|
||||||
|
+ notebook.insert_page(self.disks_widget.get_widget(), None, 2)
|
||||||
|
+ class Options:
|
||||||
|
+ pass
|
||||||
|
+ self.options = Options()
|
||||||
|
+ self.options.full_virt = self.vm.vm.OSType() == 'hvm'
|
||||||
|
+ self.options.name = self.vm.get_name()
|
||||||
|
|
||||||
|
def populate_disk_list(self):
|
||||||
|
diskList = self.vm.get_disk_devices()
|
||||||
|
-
|
||||||
|
- disks = self.window.get_widget("storage-view")
|
||||||
|
- disksModel = disks.get_model()
|
||||||
|
- disksModel.clear()
|
||||||
|
+ disks = []
|
||||||
|
for d in diskList:
|
||||||
|
- disksModel.append(None, d)
|
||||||
|
+ disks.append(xen.install.XenDisk(d[1], d[3], options=self.options,
|
||||||
|
+ disk_group=disks))
|
||||||
|
+ max_disks = len(xen.install.get_possible_vdevs(self.options.full_virt))
|
||||||
|
+ self.disks_widget.set_max_disks(max_disks)
|
||||||
|
+ self.disks_widget.set_disks(disks)
|
||||||
|
|
||||||
|
def prepare_network_list(self):
|
||||||
|
nets = self.window.get_widget("network-view")
|
@ -1,13 +0,0 @@
|
|||||||
Index: virt-manager-0.3.0/src/vncViewer/vnc.py
|
|
||||||
===================================================================
|
|
||||||
--- virt-manager-0.3.0.orig/src/vncViewer/vnc.py
|
|
||||||
+++ virt-manager-0.3.0/src/vncViewer/vnc.py
|
|
||||||
@@ -423,7 +423,7 @@ class GRFBViewer(gtk.DrawingArea):
|
|
||||||
|
|
||||||
def set_autograb_keyboard(self, grab):
|
|
||||||
self.autograbkey = grab
|
|
||||||
- if grab == False and grabbedKeyboard:
|
|
||||||
+ if grab == False and self.grabbedKeyboard:
|
|
||||||
self.ungrab_keyboard()
|
|
||||||
|
|
||||||
|
|
@ -1,17 +1,17 @@
|
|||||||
Index: virt-manager-0.3.0/src/virtManager/engine.py
|
Index: virt-manager-0.4.0/src/virtManager/engine.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.3.0.orig/src/virtManager/engine.py
|
--- virt-manager-0.4.0.orig/src/virtManager/engine.py
|
||||||
+++ virt-manager-0.3.0/src/virtManager/engine.py
|
+++ virt-manager-0.4.0/src/virtManager/engine.py
|
||||||
@@ -30,7 +30,7 @@ from virtManager.manager import vmmManag
|
@@ -32,7 +32,7 @@ from virtManager.manager import vmmManag
|
||||||
from virtManager.details import vmmDetails
|
from virtManager.details import vmmDetails
|
||||||
from virtManager.console import vmmConsole
|
from virtManager.console import vmmConsole
|
||||||
from virtManager.asyncjob import vmmAsyncJob
|
from virtManager.asyncjob import vmmAsyncJob
|
||||||
-from virtManager.create import vmmCreate
|
-from virtManager.create import vmmCreate
|
||||||
+from xen.install.gui import VMCreate as vmmCreate
|
+from xen.install.gui.gui import VMCreate as vmmCreate
|
||||||
from virtManager.serialcon import vmmSerialConsole
|
from virtManager.serialcon import vmmSerialConsole
|
||||||
|
from virtManager.error import vmmErrorDialog
|
||||||
class vmmEngine:
|
from virtManager.host import vmmHost
|
||||||
@@ -38,7 +38,7 @@ class vmmEngine:
|
@@ -42,7 +42,7 @@ class vmmEngine:
|
||||||
self.windowConnect = None
|
self.windowConnect = None
|
||||||
self.windowPreferences = None
|
self.windowPreferences = None
|
||||||
self.windowAbout = None
|
self.windowAbout = None
|
||||||
@ -20,17 +20,17 @@ Index: virt-manager-0.3.0/src/virtManager/engine.py
|
|||||||
self.connections = {}
|
self.connections = {}
|
||||||
|
|
||||||
self.timer = None
|
self.timer = None
|
||||||
@@ -136,8 +136,7 @@ class vmmEngine:
|
@@ -162,8 +162,7 @@ class vmmEngine:
|
||||||
ct += window.is_visible()
|
for name in [ "windowManager", "windowHost"]:
|
||||||
if conn["windowManager"]:
|
if conn[name] != None and conn[name].is_visible():
|
||||||
ct += conn["windowManager"].is_visible()
|
ct += 1
|
||||||
- if self.windowCreate:
|
- if self.windowCreate:
|
||||||
- ct += self.windowCreate.is_visible()
|
- ct += self.windowCreate.is_visible()
|
||||||
+ ct += len(filter(lambda w: w.is_visible(), self.windowCreate.values()))
|
+ ct += len(filter(lambda w: w.is_visible(), self.windowCreate.values()))
|
||||||
return ct
|
return ct
|
||||||
|
|
||||||
def change_timer_interval(self,ignore1,ignore2,ignore3,ignore4):
|
def change_timer_interval(self,ignore1,ignore2,ignore3,ignore4):
|
||||||
@@ -245,13 +244,21 @@ class vmmEngine:
|
@@ -295,14 +294,21 @@ class vmmEngine:
|
||||||
self.connections[uri]["windowManager"] = manager
|
self.connections[uri]["windowManager"] = manager
|
||||||
self.connections[uri]["windowManager"].show()
|
self.connections[uri]["windowManager"].show()
|
||||||
|
|
||||||
@ -42,6 +42,7 @@ Index: virt-manager-0.3.0/src/virtManager/engine.py
|
|||||||
- self.windowCreate = vmmCreate(self.get_config(), self.get_connection(uri, False))
|
- 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-console", self._do_show_console)
|
||||||
- self.windowCreate.connect("action-show-terminal", self._do_show_terminal)
|
- self.windowCreate.connect("action-show-terminal", self._do_show_terminal)
|
||||||
|
- self.windowCreate.connect("action-show-help", self._do_show_help)
|
||||||
- self.windowCreate.reset_state()
|
- self.windowCreate.reset_state()
|
||||||
- self.windowCreate.show()
|
- self.windowCreate.show()
|
||||||
+ key = 0
|
+ key = 0
|
||||||
@ -56,5 +57,17 @@ Index: virt-manager-0.3.0/src/virtManager/engine.py
|
|||||||
+ window.connect("vmmcreate-closing", self._create_closing)
|
+ window.connect("vmmcreate-closing", self._create_closing)
|
||||||
+ window.show()
|
+ window.show()
|
||||||
|
|
||||||
def get_connection(self, uri, readOnly=True):
|
def get_connection(self, uri, readOnly=None):
|
||||||
if not(self.connections.has_key(uri)):
|
if not(self.connections.has_key(uri)):
|
||||||
|
Index: virt-manager-0.4.0/src/virtManager/createnet.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-0.4.0.orig/src/virtManager/createnet.py
|
||||||
|
+++ virt-manager-0.4.0/src/virtManager/createnet.py
|
||||||
|
@@ -22,7 +22,6 @@ import gtk
|
||||||
|
import gtk.gdk
|
||||||
|
import gtk.glade
|
||||||
|
import libvirt
|
||||||
|
-import virtinst
|
||||||
|
import os, sys
|
||||||
|
import logging
|
||||||
|
import dbus
|
||||||
|
@ -1,31 +1,31 @@
|
|||||||
Index: virt-manager-0.3.0/src/virtManager/console.py
|
Index: virt-manager-0.4.0/src/virtManager/console.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.3.0.orig/src/virtManager/console.py
|
--- virt-manager-0.4.0.orig/src/virtManager/console.py
|
||||||
+++ virt-manager-0.3.0/src/virtManager/console.py
|
+++ virt-manager-0.4.0/src/virtManager/console.py
|
||||||
@@ -43,6 +43,7 @@ class vmmConsole(gobject.GObject):
|
@@ -47,6 +47,7 @@ class vmmConsole(gobject.GObject):
|
||||||
self.window = gtk.glade.XML(config.get_glade_file(), "vmm-console", domain="virt-manager")
|
self.window = gtk.glade.XML(config.get_glade_dir() + "/vmm-console.glade", "vmm-console", domain="virt-manager")
|
||||||
self.config = config
|
self.config = config
|
||||||
self.vm = vm
|
self.vm = vm
|
||||||
+ self.grab_notifications = 1
|
+ self.grab_notifications = 1
|
||||||
|
|
||||||
topwin = self.window.get_widget("vmm-console")
|
topwin = self.window.get_widget("vmm-console")
|
||||||
sens = (self.window.get_widget("menubar2"),
|
sens = (self.window.get_widget("menubar2"),
|
||||||
@@ -118,6 +119,10 @@ class vmmConsole(gobject.GObject):
|
@@ -123,6 +124,10 @@ class vmmConsole(gobject.GObject):
|
||||||
|
|
||||||
def notify_grabbed(self, src):
|
def notify_grabbed(self, src):
|
||||||
topwin = self.window.get_widget("vmm-console")
|
topwin = self.window.get_widget("vmm-console")
|
||||||
+ topwin.set_title(_("Press Ctrl+Alt to release mouse.") + " " + self.title)
|
+ topwin.set_title(_("Press Ctrl+Alt to release pointer.") + " " + self.title)
|
||||||
+ if not self.grab_notifications:
|
+ if not self.grab_notifications:
|
||||||
+ return
|
+ return
|
||||||
+ self.grab_notifications -= 1
|
+ self.grab_notifications -= 1
|
||||||
try:
|
try:
|
||||||
bus = dbus.SessionBus()
|
bus = dbus.SessionBus()
|
||||||
noteSvr = bus.get_object("org.freedesktop.Notifications", "/org/freedesktop/Notifications")
|
noteSvr = bus.get_object("org.freedesktop.Notifications", "/org/freedesktop/Notifications")
|
||||||
@@ -136,7 +141,6 @@ class vmmConsole(gobject.GObject):
|
@@ -141,7 +146,6 @@ class vmmConsole(gobject.GObject):
|
||||||
5 * 1000);
|
5 * 1000);
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
pass
|
pass
|
||||||
- topwin.set_title(_("Press Ctrl+Alt to release mouse.") + " " + self.title)
|
- topwin.set_title(_("Press Ctrl+Alt to release pointer.") + " " + self.title)
|
||||||
|
|
||||||
def notify_ungrabbed(self, src):
|
def notify_ungrabbed(self, src):
|
||||||
topwin = self.window.get_widget("vmm-console")
|
topwin = self.window.get_widget("vmm-console")
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
Index: virt-manager-0.3.0/src/vncViewer/vnc.py
|
|
||||||
===================================================================
|
|
||||||
--- virt-manager-0.3.0.orig/src/vncViewer/vnc.py
|
|
||||||
+++ virt-manager-0.3.0/src/vncViewer/vnc.py
|
|
||||||
@@ -482,11 +482,14 @@ class GRFBViewer(gtk.DrawingArea):
|
|
||||||
def key_press(self, win, event):
|
|
||||||
# Allow Ctrl+Alt+Esc to break the pointer grab
|
|
||||||
if self.will_autograb_pointer():
|
|
||||||
- if event.state & gtk.gdk.CONTROL_MASK and event.state & gtk.gdk.MOD1_MASK and gtk.gdk.pointer_is_grabbed():
|
|
||||||
+ if gtk.gdk.pointer_is_grabbed() and \
|
|
||||||
+ ((event.state & gtk.gdk.CONTROL_MASK and
|
|
||||||
+ (event.keyval == gtk.keysyms.Alt_L or event.keyval == gtk.keysyms.Alt_R)) or
|
|
||||||
+ (event.state & gtk.gdk.MOD1_MASK and
|
|
||||||
+ (event.keyval == gtk.keysyms.Control_L or event.keyval == gtk.keysyms.Control_R))):
|
|
||||||
self.ungrab_pointer()
|
|
||||||
return
|
|
||||||
|
|
||||||
- self.ungrab_pointer()
|
|
||||||
# Key handling in VNC is screwy. The event.keyval from GTK is
|
|
||||||
# interpreted relative to modifier state. This really messes
|
|
||||||
# up with VNC which has no concept of modifiers. If we interpret
|
|
@ -1,62 +1,62 @@
|
|||||||
Index: virt-manager-0.3.0/src/virtManager/connect.py
|
Index: virt-manager-0.4.0/src/virtManager/connect.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.3.0.orig/src/virtManager/connect.py
|
--- virt-manager-0.4.0.orig/src/virtManager/connect.py
|
||||||
+++ virt-manager-0.3.0/src/virtManager/connect.py
|
+++ virt-manager-0.4.0/src/virtManager/connect.py
|
||||||
@@ -102,4 +102,3 @@ class vmmConnect(gobject.GObject):
|
@@ -99,4 +99,3 @@ class vmmConnect(gobject.GObject):
|
||||||
self.close()
|
self.close()
|
||||||
self.emit("completed", uri, readOnly)
|
self.emit("completed", uri, readOnly)
|
||||||
|
|
||||||
-gobject.type_register(vmmConnect)
|
-gobject.type_register(vmmConnect)
|
||||||
Index: virt-manager-0.3.0/src/virtManager/connection.py
|
Index: virt-manager-0.4.0/src/virtManager/connection.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.3.0.orig/src/virtManager/connection.py
|
--- virt-manager-0.4.0.orig/src/virtManager/connection.py
|
||||||
+++ virt-manager-0.3.0/src/virtManager/connection.py
|
+++ virt-manager-0.4.0/src/virtManager/connection.py
|
||||||
@@ -242,5 +242,4 @@ class vmmConnection(gobject.GObject):
|
@@ -569,5 +569,4 @@ class vmmConnection(gobject.GObject):
|
||||||
uuid.append('-')
|
uuid.append('-')
|
||||||
return "".join(uuid)
|
return "".join(uuid)
|
||||||
|
|
||||||
-gobject.type_register(vmmConnection)
|
-gobject.type_register(vmmConnection)
|
||||||
|
|
||||||
Index: virt-manager-0.3.0/src/virtManager/console.py
|
Index: virt-manager-0.4.0/src/virtManager/console.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.3.0.orig/src/virtManager/console.py
|
--- virt-manager-0.4.0.orig/src/virtManager/console.py
|
||||||
+++ virt-manager-0.3.0/src/virtManager/console.py
|
+++ virt-manager-0.4.0/src/virtManager/console.py
|
||||||
@@ -454,4 +454,3 @@ class vmmConsole(gobject.GObject):
|
@@ -486,4 +486,3 @@ class vmmConsole(gobject.GObject):
|
||||||
self.ignorePause = False
|
self.ignorePause = False
|
||||||
self.ignorePause = False
|
self.ignorePause = False
|
||||||
|
|
||||||
-gobject.type_register(vmmConsole)
|
-gobject.type_register(vmmConsole)
|
||||||
Index: virt-manager-0.3.0/src/virtManager/details.py
|
Index: virt-manager-0.4.0/src/virtManager/details.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.3.0.orig/src/virtManager/details.py
|
--- virt-manager-0.4.0.orig/src/virtManager/details.py
|
||||||
+++ virt-manager-0.3.0/src/virtManager/details.py
|
+++ virt-manager-0.4.0/src/virtManager/details.py
|
||||||
@@ -466,4 +466,3 @@ class vmmDetails(gobject.GObject):
|
@@ -581,4 +581,3 @@ class vmmDetails(gobject.GObject):
|
||||||
for d in netList:
|
self.addhw.show()
|
||||||
netsModel.append(None, d)
|
|
||||||
|
|
||||||
-gobject.type_register(vmmDetails)
|
-gobject.type_register(vmmDetails)
|
||||||
Index: virt-manager-0.3.0/src/virtManager/domain.py
|
Index: virt-manager-0.4.0/src/virtManager/domain.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.3.0.orig/src/virtManager/domain.py
|
--- virt-manager-0.4.0.orig/src/virtManager/domain.py
|
||||||
+++ virt-manager-0.3.0/src/virtManager/domain.py
|
+++ virt-manager-0.4.0/src/virtManager/domain.py
|
||||||
@@ -510,4 +510,3 @@ class vmmDomain(gobject.GObject):
|
@@ -569,4 +569,3 @@ class vmmDomain(gobject.GObject):
|
||||||
memory = int(memory)
|
memory = int(memory)
|
||||||
self.vm.setMaxMemory(memory)
|
self.vm.setMaxMemory(memory)
|
||||||
|
|
||||||
-gobject.type_register(vmmDomain)
|
-gobject.type_register(vmmDomain)
|
||||||
Index: virt-manager-0.3.0/src/virtManager/manager.py
|
Index: virt-manager-0.4.0/src/virtManager/manager.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.3.0.orig/src/virtManager/manager.py
|
--- virt-manager-0.4.0.orig/src/virtManager/manager.py
|
||||||
+++ virt-manager-0.3.0/src/virtManager/manager.py
|
+++ virt-manager-0.4.0/src/virtManager/manager.py
|
||||||
@@ -597,4 +597,3 @@ class vmmManager(gobject.GObject):
|
@@ -705,4 +705,3 @@ class vmmManager(gobject.GObject):
|
||||||
data.reverse()
|
vm.resume()
|
||||||
cell.set_property('data_array', data)
|
|
||||||
|
|
||||||
-gobject.type_register(vmmManager)
|
-gobject.type_register(vmmManager)
|
||||||
Index: virt-manager-0.3.0/src/vncViewer/vnc.py
|
Index: virt-manager-0.4.0/src/vncViewer/vnc.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-0.3.0.orig/src/vncViewer/vnc.py
|
--- virt-manager-0.4.0.orig/src/vncViewer/vnc.py
|
||||||
+++ virt-manager-0.3.0/src/vncViewer/vnc.py
|
+++ virt-manager-0.4.0/src/vncViewer/vnc.py
|
||||||
@@ -113,7 +113,6 @@ class GRFBFrameBuffer(rfb.RFBFrameBuffer
|
@@ -113,7 +113,6 @@ class GRFBFrameBuffer(rfb.RFBFrameBuffer
|
||||||
def move_cursor(self, x, y):
|
def move_cursor(self, x, y):
|
||||||
logging.error("Unsupported move_cursor operation requested")
|
logging.error("Unsupported move_cursor operation requested")
|
||||||
@ -65,15 +65,15 @@ Index: virt-manager-0.3.0/src/vncViewer/vnc.py
|
|||||||
|
|
||||||
|
|
||||||
class GRFBNetworkClient(rfb.RFBNetworkClient, gobject.GObject):
|
class GRFBNetworkClient(rfb.RFBNetworkClient, gobject.GObject):
|
||||||
@@ -166,7 +165,6 @@ class GRFBNetworkClient(rfb.RFBNetworkCl
|
@@ -177,7 +176,6 @@ class GRFBNetworkClient(rfb.RFBNetworkCl
|
||||||
|
if y < 0:
|
||||||
def update_pointer(self, mask, x, y):
|
y = 0
|
||||||
self.send(pack('>BBHH', 5, mask, x, y))
|
self.send(pack('>BBHH', 5, mask, x, y))
|
||||||
-gobject.type_register(GRFBNetworkClient)
|
-gobject.type_register(GRFBNetworkClient)
|
||||||
|
|
||||||
|
|
||||||
class GRFBViewer(gtk.DrawingArea):
|
class GRFBViewer(gtk.DrawingArea):
|
||||||
@@ -579,7 +577,6 @@ class GRFBViewer(gtk.DrawingArea):
|
@@ -598,7 +596,6 @@ class GRFBViewer(gtk.DrawingArea):
|
||||||
gc = self.window.new_gc()
|
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)
|
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)
|
||||||
|
|
||||||
|
15
virtman-typo.diff
Normal file
15
virtman-typo.diff
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
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)
|
18
virtman-wrong-port.diff
Normal file
18
virtman-wrong-port.diff
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
Index: virt-manager-0.4.0/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):
|
||||||
|
port = None
|
||||||
|
if type == "vnc":
|
||||||
|
port = self.get_xml_string("/domain/devices/graphics[@type='vnc']/@port")
|
||||||
|
- if port == None:
|
||||||
|
- port = 5900 + self.get_id()
|
||||||
|
- else:
|
||||||
|
- port = int(port)
|
||||||
|
- return [type, "127.0.0.1", port]
|
||||||
|
+ if port is not None:
|
||||||
|
+ return [type, "127.0.0.1", int(port)]
|
||||||
|
return [type, None, None]
|
||||||
|
|
||||||
|
def get_disk_devices(self):
|
Loading…
Reference in New Issue
Block a user