This commit is contained in:
parent
977f1454a2
commit
74845c3584
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:6ad1afc9b6fcf69d1d19d02091d59524974dcb77636857f339a17f9e108b2f9e
|
|
||||||
size 1844922
|
|
3
virt-manager-0.7.0.tar.gz
Normal file
3
virt-manager-0.7.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e4cf8368b70017717cafe1b751f4206ea0820c3f1245c53572dd13bc881a152e
|
||||||
|
size 2010911
|
@ -1,3 +1,18 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 30 09:46:58 MDT 2009 - dpmerrill@novell.com
|
||||||
|
|
||||||
|
- Add dbus-1-x11 dependency for minimal installations
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 21 15:00:49 MDT 2009 - dpmerrill@novell.com
|
||||||
|
|
||||||
|
- Update to virt-manager-0.7.0 and virtinst-0.400.3
|
||||||
|
Improved KVM support
|
||||||
|
Added support for libvirt storage/network pools
|
||||||
|
Details and Console windows are combined
|
||||||
|
Added scaling for VM console window
|
||||||
|
Simple VM migration support
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Mar 2 01:54:40 CET 2009 - ro@suse.de
|
Mon Mar 2 01:54:40 CET 2009 - ro@suse.de
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# spec file for package virt-manager (Version 0.5.3)
|
# spec file for package virt-manager (Version 0.7.0)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
@ -22,11 +22,11 @@ Name: virt-manager
|
|||||||
%define gsysconfdir /etc
|
%define gsysconfdir /etc
|
||||||
%define gconftool /usr/bin/gconftool-2
|
%define gconftool /usr/bin/gconftool-2
|
||||||
%define virtinst_maj 0
|
%define virtinst_maj 0
|
||||||
%define virtinst_min 300
|
%define virtinst_min 400
|
||||||
%define virtinst_rel 2
|
%define virtinst_rel 3
|
||||||
%define virtinst_name virtinst-%{virtinst_maj}.%{virtinst_min}.%{virtinst_rel}
|
%define virtinst_name virtinst-%{virtinst_maj}.%{virtinst_min}.%{virtinst_rel}
|
||||||
Version: 0.5.3
|
Version: 0.7.0
|
||||||
Release: 67
|
Release: 1
|
||||||
Summary: Virtual Machine Manager
|
Summary: Virtual Machine Manager
|
||||||
Group: System/Monitoring
|
Group: System/Monitoring
|
||||||
License: LGPL v2.1 or later
|
License: LGPL v2.1 or later
|
||||||
@ -36,18 +36,15 @@ ExclusiveArch: %{ix86} x86_64
|
|||||||
Source0: virt-manager-%{version}.tar.gz
|
Source0: virt-manager-%{version}.tar.gz
|
||||||
Source1: %{virtinst_name}.tar.gz
|
Source1: %{virtinst_name}.tar.gz
|
||||||
Patch0: virtman-desktop.diff
|
Patch0: virtman-desktop.diff
|
||||||
Patch1: virtman-dbus-query.diff
|
Patch1: virtman-vminstall.diff
|
||||||
Patch2: virtman-xen-uri.diff
|
Patch2: virtman-netcat.diff
|
||||||
Patch3: virtman-pointer.diff
|
Patch3: virtman-pointer.diff
|
||||||
Patch4: virtman-detect.diff
|
Patch4: virtman-cdrom.diff
|
||||||
Patch5: virtman-timewatch.diff
|
Patch5: virtman-kvm.diff
|
||||||
Patch6: virtman-vminstall.diff
|
Patch6: virtman-bridge.diff
|
||||||
Patch7: virtman-vif.diff
|
Patch7: virtman-manager.diff
|
||||||
Patch8: virtman-hardware.diff
|
Patch8: virtman-help.diff
|
||||||
Patch9: virtman-netcat.diff
|
Patch51: virtinst-cdrom.diff
|
||||||
Patch50: virtinst-vif.diff
|
|
||||||
Patch100: virtman-misc.diff
|
|
||||||
# These two are just the oldest version tested
|
|
||||||
# Requires: pygtk2 >= 1.99.12-6
|
# Requires: pygtk2 >= 1.99.12-6
|
||||||
Requires: python-gtk
|
Requires: python-gtk
|
||||||
# Requires: gnome-python2-gconf >= 1.99.11-7
|
# Requires: gnome-python2-gconf >= 1.99.11-7
|
||||||
@ -58,7 +55,7 @@ Requires: vm-install
|
|||||||
# Definitely does not work with earlier due to python API changes
|
# Definitely does not work with earlier due to python API changes
|
||||||
# Requires: dbus-python >= 0.61
|
# Requires: dbus-python >= 0.61
|
||||||
Requires: dbus-1-python
|
Requires: dbus-1-python
|
||||||
# Might work with earlier, but this is what we've tested
|
Requires: dbus-1-x11
|
||||||
#Requires: gnome-keyring >= 0.4.9
|
#Requires: gnome-keyring >= 0.4.9
|
||||||
Requires: gnome-keyring
|
Requires: gnome-keyring
|
||||||
# Minimum we've tested with
|
# Minimum we've tested with
|
||||||
@ -67,7 +64,6 @@ Requires: gnome-keyring
|
|||||||
# disabled
|
# disabled
|
||||||
# Requires: gnome-python2-gnomekeyring >= 2.15.4
|
# Requires: gnome-python2-gnomekeyring >= 2.15.4
|
||||||
# Requires: gnome-python2-gnomevfs >= 2.15.4
|
# Requires: gnome-python2-gnomevfs >= 2.15.4
|
||||||
# Minimum we've tested with
|
|
||||||
Requires: libxml2-python >= 2.6.23
|
Requires: libxml2-python >= 2.6.23
|
||||||
# Required to install Xen & QEMU guests
|
# Required to install Xen & QEMU guests
|
||||||
# Requires: python-virtinst >= 0.300.2
|
# Requires: python-virtinst >= 0.300.2
|
||||||
@ -82,20 +78,22 @@ Requires: scrollkeeper
|
|||||||
# For console widget
|
# For console widget
|
||||||
# Requires: gtk-vnc-python
|
# Requires: gtk-vnc-python
|
||||||
Requires: python-gtk-vnc
|
Requires: python-gtk-vnc
|
||||||
|
# Requires: librsvg added to avoid problems with minimal template
|
||||||
Requires: librsvg
|
Requires: librsvg
|
||||||
Requires: netcat
|
Requires: netcat
|
||||||
# Add requires for non Xen installations
|
# Add requires for non Xen installations
|
||||||
Requires: python-urlgrabber
|
Requires: python-urlgrabber
|
||||||
BuildRequires: python
|
Requires: vm-install
|
||||||
|
#rpmlint BuildRequires: python
|
||||||
BuildRequires: gtk2-devel
|
BuildRequires: gtk2-devel
|
||||||
BuildRequires: python-devel
|
BuildRequires: python-devel
|
||||||
BuildRequires: gettext
|
BuildRequires: gettext
|
||||||
BuildRequires: scrollkeeper
|
BuildRequires: scrollkeeper
|
||||||
BuildRequires: intltool
|
BuildRequires: intltool
|
||||||
BuildRequires: python-gtk
|
#rpmlint BuildRequires: python-gtk
|
||||||
BuildRequires: python-gtk-devel
|
BuildRequires: python-gtk-devel
|
||||||
BuildRequires: python-gobject2-devel
|
BuildRequires: python-gobject2-devel
|
||||||
BuildRequires: gconf2
|
BuildRequires: gconf2-devel
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
BuildRequires: update-desktop-files
|
BuildRequires: update-desktop-files
|
||||||
# virtinst BuildRequires
|
# virtinst BuildRequires
|
||||||
@ -128,13 +126,11 @@ Authors:
|
|||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
%patch8 -p1
|
%patch8 -p1
|
||||||
%patch9 -p1
|
|
||||||
%patch100 -p1
|
|
||||||
pushd $RPM_BUILD_DIR/%{virtinst_name}
|
pushd $RPM_BUILD_DIR/%{virtinst_name}
|
||||||
%patch50 -p1
|
%patch51 -p1
|
||||||
popd
|
popd
|
||||||
sed -i -e "s@sr\@Latn@sr\@latin@" configure
|
# sed -i -e "s@sr\@Latn@sr\@latin@" configure
|
||||||
mv po/sr@Latn.po po/sr@latin.po
|
# mv po/sr@Latn.po po/sr@latin.po
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# autoreconf -i
|
# autoreconf -i
|
||||||
@ -148,17 +144,24 @@ popd
|
|||||||
make install DESTDIR=$RPM_BUILD_ROOT
|
make install DESTDIR=$RPM_BUILD_ROOT
|
||||||
pushd $RPM_BUILD_DIR/%{virtinst_name}
|
pushd $RPM_BUILD_DIR/%{virtinst_name}
|
||||||
python setup.py install --prefix=%{_prefix} --root=$RPM_BUILD_ROOT --install-lib=%{_datadir}/virt-manager
|
python setup.py install --prefix=%{_prefix} --root=$RPM_BUILD_ROOT --install-lib=%{_datadir}/virt-manager
|
||||||
# remove unsued files
|
|
||||||
rm -f $RPM_BUILD_ROOT/usr/bin/virt-clone
|
rm -f $RPM_BUILD_ROOT/usr/bin/virt-clone
|
||||||
rm -f $RPM_BUILD_ROOT/usr/bin/virt-image
|
rm -f $RPM_BUILD_ROOT/usr/bin/virt-image
|
||||||
rm -f $RPM_BUILD_ROOT/usr/bin/virt-install
|
rm -f $RPM_BUILD_ROOT/usr/bin/virt-install
|
||||||
|
rm -f $RPM_BUILD_ROOT/usr/bin/virt-convert
|
||||||
rm -f $RPM_BUILD_ROOT/usr/share/locale/ja/LC_MESSAGES/virtinst.mo
|
rm -f $RPM_BUILD_ROOT/usr/share/locale/ja/LC_MESSAGES/virtinst.mo
|
||||||
rm -f $RPM_BUILD_ROOT/usr/share/locale/pl/LC_MESSAGES/virtinst.mo
|
rm -f $RPM_BUILD_ROOT/usr/share/locale/pl/LC_MESSAGES/virtinst.mo
|
||||||
|
rm -f $RPM_BUILD_ROOT/usr/share/locale/fr/LC_MESSAGES/virtinst.mo
|
||||||
|
rm -f $RPM_BUILD_ROOT/usr/share/locale/it/LC_MESSAGES/virtinst.mo
|
||||||
|
rm -f $RPM_BUILD_ROOT/usr/share/locale/sr/LC_MESSAGES/virtinst.mo
|
||||||
|
rm -f $RPM_BUILD_ROOT/usr/share/locale/pt_BR/LC_MESSAGES/virtinst.mo
|
||||||
|
rm -f $RPM_BUILD_ROOT/usr/share/locale/sr@latin/LC_MESSAGES/virtinst.mo
|
||||||
|
rm -f $RPM_BUILD_ROOT/usr/share/locale/zh_CN/LC_MESSAGES/virtinst.mo
|
||||||
rm -f $RPM_BUILD_ROOT/usr/share/man/man1/virt-clone.1
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man1/virt-clone.1
|
||||||
rm -f $RPM_BUILD_ROOT/usr/share/man/man1/virt-image.1
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man1/virt-image.1
|
||||||
rm -f $RPM_BUILD_ROOT/usr/share/man/man1/virt-install.1
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man1/virt-install.1
|
||||||
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man1/virt-convert.1
|
||||||
rm -f $RPM_BUILD_ROOT/usr/share/man/man5/virt-image.5
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man5/virt-image.5
|
||||||
rm -f $RPM_BUILD_ROOT/usr/share/virt-manager/virtinst-0.300.2-py2.?.egg-info
|
# rm -f $RPM_BUILD_ROOT/usr/share/virt-manager/virtinst-0.400.3-py2.?.egg-info
|
||||||
popd
|
popd
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/sparkline.a
|
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/sparkline.a
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/sparkline.la
|
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/sparkline.la
|
||||||
@ -171,9 +174,9 @@ sed -i '\^/usr/share/gnome/help/^d' %{name}.lst
|
|||||||
%suse_update_desktop_file %{name} X-SuSE-YaST-Virtualization
|
%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
|
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
|
# Nuking these because old version didnt have any
|
||||||
rm -rf $RPM_BUILD_ROOT/usr/share/gnome
|
# rm -rf $RPM_BUILD_ROOT/usr/share/gnome
|
||||||
# Also fixing the %{name}.lang file forcibly.
|
# Also fixing the %{name}.lang file forcibly.
|
||||||
sed -i '\^/usr/share/gnome/help/^d' %{name}.lang
|
# sed -i '\^/usr/share/gnome/help/^d' %{name}.lang
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
# rm -rf $RPM_BUILD_ROOT
|
# rm -rf $RPM_BUILD_ROOT
|
||||||
@ -188,10 +191,10 @@ sed -i '\^/usr/share/gnome/help/^d' %{name}.lang
|
|||||||
%doc COPYING AUTHORS ChangeLog
|
%doc COPYING AUTHORS ChangeLog
|
||||||
# %dir %attr(775,root,root) /etc/gconf
|
# %dir %attr(775,root,root) /etc/gconf
|
||||||
# %dir %attr(775,root,root) /etc/gconf/schemas
|
# %dir %attr(775,root,root) /etc/gconf/schemas
|
||||||
%{gsysconfdir}/gconf/schemas/%{name}.schemas
|
%config %{gsysconfdir}/gconf/schemas/%{name}.schemas
|
||||||
%{_bindir}/%{name}
|
%{_bindir}/%{name}
|
||||||
%{_libexecdir}/%{name}-launch
|
%{_libexecdir}/%{name}-launch
|
||||||
%{_libdir}/%{name}
|
%{_libdir}/%{name}/*
|
||||||
%dir %{_datadir}/%{name}
|
%dir %{_datadir}/%{name}
|
||||||
%{_datadir}/%{name}/*.glade
|
%{_datadir}/%{name}/*.glade
|
||||||
%dir %{_datadir}/%{name}/pixmaps
|
%dir %{_datadir}/%{name}/pixmaps
|
||||||
@ -207,20 +210,41 @@ sed -i '\^/usr/share/gnome/help/^d' %{name}.lang
|
|||||||
# %dir %attr(775,root,root) %{_datadir}/locale/or/LC_MESSAGES
|
# %dir %attr(775,root,root) %{_datadir}/locale/or/LC_MESSAGES
|
||||||
# %{_datadir}/locale/or/LC_MESSAGES/*
|
# %{_datadir}/locale/or/LC_MESSAGES/*
|
||||||
%{_datadir}/omf/%{name}
|
%{_datadir}/omf/%{name}
|
||||||
# %dir %attr(775,root,root) %{_datadir}/gnome
|
%dir %attr(775,root,root) %{_datadir}/gnome
|
||||||
# %{_datadir}/gnome/help
|
%{_datadir}/gnome/help
|
||||||
%{_datadir}/applications/YaST2/%{name}.desktop
|
%{_datadir}/applications/YaST2/%{name}.desktop
|
||||||
%{_datadir}/dbus-1/services/%{name}.service
|
%{_datadir}/dbus-1/services/%{name}.service
|
||||||
%{_datadir}/man/man1/%{name}.1*
|
%{_datadir}/man/man1/%{name}.1*
|
||||||
|
# new files for virt-manager-0.7.0
|
||||||
|
%dir %{_datadir}/%{name}/virtconv
|
||||||
|
%{_datadir}/%{name}/virtconv/*.py
|
||||||
|
%{_datadir}/%{name}/virtconv/*.pyc
|
||||||
|
%dir %{_datadir}/%{name}/virtconv/parsers
|
||||||
|
%{_datadir}/%{name}/virtconv/parsers/*.py
|
||||||
|
%{_datadir}/%{name}/virtconv/parsers/*.pyc
|
||||||
|
%{_datadir}/%{name}/virtinst-0.400.3-py2.6.egg-info
|
||||||
|
%dir %{_libdir}/%{name}
|
||||||
|
%{_libdir}/%{name}/*
|
||||||
|
%doc %{_datadir}/gnome/help/%{name}/C/figures/*.png
|
||||||
|
%doc %{_datadir}/gnome/help/%{name}/C/*.xml
|
||||||
# FIXME: autobuild complains that these are unowned (not true...)
|
# FIXME: autobuild complains that these are unowned (not true...)
|
||||||
%dir %{_datadir}/dbus-1
|
%dir %{_datadir}/dbus-1
|
||||||
%dir %{_datadir}/dbus-1/services
|
%dir %{_datadir}/dbus-1/services
|
||||||
%dir %{_datadir}/applications/YaST2
|
%dir %{_datadir}/applications/YaST2
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon Mar 02 2009 ro@suse.de
|
* Thu Apr 30 2009 dpmerrill@novell.com
|
||||||
|
- Add dbus-1-x11 dependency for minimal installations
|
||||||
|
* Tue Apr 21 2009 dpmerrill@novell.com
|
||||||
|
- Update to virt-manager-0.7.0 and virtinst-0.400.3
|
||||||
|
Improved KVM support
|
||||||
|
Added support for libvirt storage/network pools
|
||||||
|
Details and Console windows are combined
|
||||||
|
Added scaling for VM console window
|
||||||
|
Simple VM migration support
|
||||||
|
* Sun Mar 01 2009 ro@suse.de
|
||||||
- move sr@Latn to sr@latin
|
- move sr@Latn to sr@latin
|
||||||
* Thu Dec 04 2008 dpmerrill@suse.de
|
* Wed Dec 03 2008 dpmerrill@suse.de
|
||||||
- Remove ia64 from build architectures (bnc#455989)
|
- Remove ia64 from build architectures (bnc#455989)
|
||||||
* Tue Nov 11 2008 dpmerrill@novell.com
|
* Tue Nov 11 2008 dpmerrill@novell.com
|
||||||
- Add Requires python-urlgrabber for non Xen installations
|
- Add Requires python-urlgrabber for non Xen installations
|
||||||
@ -234,7 +258,7 @@ sed -i '\^/usr/share/gnome/help/^d' %{name}.lang
|
|||||||
* Fri May 16 2008 ro@suse.de
|
* Fri May 16 2008 ro@suse.de
|
||||||
- move python install to install section in specfile
|
- move python install to install section in specfile
|
||||||
- fix build without root privileges
|
- fix build without root privileges
|
||||||
* Wed Apr 30 2008 dpmerrill@novell.com
|
* Tue Apr 29 2008 dpmerrill@novell.com
|
||||||
- Corrected gconf calls in spec file to fix build errors
|
- Corrected gconf calls in spec file to fix build errors
|
||||||
* Tue Apr 29 2008 dpmerrill@novell.com
|
* Tue Apr 29 2008 dpmerrill@novell.com
|
||||||
- Added needsrootforbuild to spec file to fix build errors
|
- Added needsrootforbuild to spec file to fix build errors
|
||||||
@ -254,7 +278,7 @@ sed -i '\^/usr/share/gnome/help/^d' %{name}.lang
|
|||||||
- Changed vnc settings to prevent screen-saver lockup (bnc#253264)
|
- Changed vnc settings to prevent screen-saver lockup (bnc#253264)
|
||||||
- Added read-only option in Details->Hardware for adding cdroms
|
- Added read-only option in Details->Hardware for adding cdroms
|
||||||
to prevent libvirt exceptions. (bnc#368204) (bnc#361990)
|
to prevent libvirt exceptions. (bnc#368204) (bnc#361990)
|
||||||
* Sat Apr 05 2008 dpmerrill@novell.com
|
* Fri Apr 04 2008 dpmerrill@novell.com
|
||||||
- Removed Virtual Network tab from host details page (bnc#364514)
|
- Removed Virtual Network tab from host details page (bnc#364514)
|
||||||
* Wed Apr 02 2008 dpmerrill@novell.com
|
* Wed Apr 02 2008 dpmerrill@novell.com
|
||||||
- Fixed adding a virtual network to a vm (bnc#302663)
|
- Fixed adding a virtual network to a vm (bnc#302663)
|
||||||
@ -265,11 +289,11 @@ sed -i '\^/usr/share/gnome/help/^d' %{name}.lang
|
|||||||
- Added virtman-timewatch to minimize window after
|
- Added virtman-timewatch to minimize window after
|
||||||
- inactivity to work around memory leaks in GTK and DBus
|
- inactivity to work around memory leaks in GTK and DBus
|
||||||
- bnc#287366 (L3)
|
- bnc#287366 (L3)
|
||||||
* Fri Feb 15 2008 dpmerrill@novell.com
|
* Thu Feb 14 2008 dpmerrill@novell.com
|
||||||
- Changed virtman-xen-uri to correct the case where no
|
- Changed virtman-xen-uri to correct the case where no
|
||||||
- connection param is passed in and uri is None
|
- connection param is passed in and uri is None
|
||||||
- bnc#362013
|
- bnc#362013
|
||||||
* Wed Feb 13 2008 dpmerrill@novell.com
|
* Tue Feb 12 2008 dpmerrill@novell.com
|
||||||
- Changed virtman-desktop and virtman-xen-uri to correct invalid
|
- Changed virtman-desktop and virtman-xen-uri to correct invalid
|
||||||
- parms being passed in from YaST - now sends "-c xen:///"
|
- parms being passed in from YaST - now sends "-c xen:///"
|
||||||
- bnc#361334
|
- bnc#361334
|
||||||
@ -280,7 +304,7 @@ sed -i '\^/usr/share/gnome/help/^d' %{name}.lang
|
|||||||
* Mon Feb 11 2008 dpmerrill@novell.com
|
* Mon Feb 11 2008 dpmerrill@novell.com
|
||||||
- Added virtman-pointer to set vnc to show only one pointer
|
- Added virtman-pointer to set vnc to show only one pointer
|
||||||
- bnc#359799
|
- bnc#359799
|
||||||
* Mon Feb 04 2008 dpmerrill@novell.com
|
* Sun Feb 03 2008 dpmerrill@novell.com
|
||||||
- Added virtman-vminstall for connecting to vm-install
|
- Added virtman-vminstall for connecting to vm-install
|
||||||
- and changed virtman-xen-uri.diff to force "xen:///"
|
- and changed virtman-xen-uri.diff to force "xen:///"
|
||||||
- bnc#358400
|
- bnc#358400
|
||||||
@ -343,12 +367,12 @@ sed -i '\^/usr/share/gnome/help/^d' %{name}.lang
|
|||||||
* Mon Mar 12 2007 ccoffing@novell.com
|
* Mon Mar 12 2007 ccoffing@novell.com
|
||||||
- Update virt-manager to match changes in vm-install's disk class,
|
- Update virt-manager to match changes in vm-install's disk class,
|
||||||
due to bug #247849.
|
due to bug #247849.
|
||||||
* Sat Mar 10 2007 ccoffing@novell.com
|
* Fri Mar 09 2007 ccoffing@novell.com
|
||||||
- Make Ctrl+Alt release the mouse cursor (#252998).
|
- Make Ctrl+Alt release the mouse cursor (#252998).
|
||||||
* Thu Mar 08 2007 ccoffing@novell.com
|
* Thu Mar 08 2007 ccoffing@novell.com
|
||||||
- Add release to "Requires: xen-tools", to prevent mixing with
|
- Add release to "Requires: xen-tools", to prevent mixing with
|
||||||
pre-beta 5. (#238986, #252495)
|
pre-beta 5. (#238986, #252495)
|
||||||
* Sat Mar 03 2007 ccoffing@novell.com
|
* Fri Mar 02 2007 ccoffing@novell.com
|
||||||
- Disable gtk-menu-bar-accel when VM has focus, to allow VM to get
|
- Disable gtk-menu-bar-accel when VM has focus, to allow VM to get
|
||||||
F10 key. (#240001)
|
F10 key. (#240001)
|
||||||
* Tue Feb 27 2007 ccoffing@novell.com
|
* Tue Feb 27 2007 ccoffing@novell.com
|
||||||
@ -374,12 +398,12 @@ sed -i '\^/usr/share/gnome/help/^d' %{name}.lang
|
|||||||
* Mon Jan 22 2007 ccoffing@novell.com
|
* Mon Jan 22 2007 ccoffing@novell.com
|
||||||
- Fix desktop file, so icon shows in YaST. (#237046)
|
- Fix desktop file, so icon shows in YaST. (#237046)
|
||||||
- Clean up macros in spec file.
|
- Clean up macros in spec file.
|
||||||
* Sat Jan 20 2007 ccoffing@novell.com
|
* Fri Jan 19 2007 ccoffing@novell.com
|
||||||
- Use temporary icon until real ones arrive.
|
- Use temporary icon until real ones arrive.
|
||||||
- Update to changeset 371 to fix VNC issues.
|
- Update to changeset 371 to fix VNC issues.
|
||||||
* Wed Jan 17 2007 ccoffing@novell.com
|
* Wed Jan 17 2007 ccoffing@novell.com
|
||||||
- Fix BuildRequires and paths to work with both SLES10 and STABLE.
|
- Fix BuildRequires and paths to work with both SLES10 and STABLE.
|
||||||
* Sat Jan 13 2007 ccoffing@novell.com
|
* Fri Jan 12 2007 ccoffing@novell.com
|
||||||
- Fix sysconfdir path.
|
- Fix sysconfdir path.
|
||||||
- Add desktop file.
|
- Add desktop file.
|
||||||
* Thu Jan 11 2007 ccoffing@novell.com
|
* Thu Jan 11 2007 ccoffing@novell.com
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:b78f73136ae94a9b616c7fa3988bd3d6266a4fff11904036b8ec330f69c6231b
|
|
||||||
size 124659
|
|
3
virtinst-0.400.3.tar.gz
Normal file
3
virtinst-0.400.3.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:3848fc1d35abce89d9b3b20750ff518115193cf7fc367907adb76f4e56702fa8
|
||||||
|
size 350660
|
27
virtinst-cdrom.diff
Normal file
27
virtinst-cdrom.diff
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
diff -Nuar virtinst-0.400.3.orig//virtinst/VirtualDisk.py virtinst-0.400.3//virtinst/VirtualDisk.py
|
||||||
|
--- virtinst-0.400.3.orig//virtinst/VirtualDisk.py 2009-03-09 21:32:15.000000000 -0600
|
||||||
|
+++ virtinst-0.400.3//virtinst/VirtualDisk.py 2009-04-21 10:58:25.000000000 -0600
|
||||||
|
@@ -846,14 +846,18 @@
|
||||||
|
return self.target
|
||||||
|
raise ValueError(_("IDE CDROM must use 'hdc', but target in use."))
|
||||||
|
|
||||||
|
- # Regular scanning
|
||||||
|
+ # Start cdrom at 'c' and skip 'c' for non-cdrom
|
||||||
|
for i in range(maxnode):
|
||||||
|
gen_t = "%s%c" % (prefix, ord('a') + i)
|
||||||
|
- if gen_t in except_targets:
|
||||||
|
- continue
|
||||||
|
if gen_t not in skip_targets:
|
||||||
|
- self.target = gen_t
|
||||||
|
- return self.target
|
||||||
|
+ if self.device != self.DEVICE_CDROM:
|
||||||
|
+ if i != ord('c') - ord('a'):
|
||||||
|
+ self.target = gen_t
|
||||||
|
+ return self.target
|
||||||
|
+ else:
|
||||||
|
+ if i >= ord('c') - ord('a'):
|
||||||
|
+ self.target = gen_t
|
||||||
|
+ return self.target
|
||||||
|
|
||||||
|
# Check except_targets for any options
|
||||||
|
for t in except_targets:
|
@ -1,45 +0,0 @@
|
|||||||
diff -Nuar virtinst-0.300.2.orig/virtinst/Guest.py virtinst-0.300.2/virtinst/Guest.py
|
|
||||||
--- virtinst-0.300.2.orig/virtinst/Guest.py 2008-01-10 18:33:32.000000000 -0700
|
|
||||||
+++ virtinst-0.300.2/virtinst/Guest.py 2008-04-01 16:51:11.000000000 -0600
|
|
||||||
@@ -257,6 +257,10 @@
|
|
||||||
self.type = type
|
|
||||||
self.bridge = bridge
|
|
||||||
self.network = network
|
|
||||||
+
|
|
||||||
+ if self.type == "ethernet":
|
|
||||||
+ self.type = "bridge"
|
|
||||||
+
|
|
||||||
if self.type == "network":
|
|
||||||
if network is None:
|
|
||||||
raise ValueError, _("A network name was not provided")
|
|
||||||
@@ -309,16 +313,23 @@
|
|
||||||
print >> sys.stderr, msg
|
|
||||||
logging.warning(msg)
|
|
||||||
|
|
||||||
- if not self.bridge and self.type == "bridge":
|
|
||||||
- self.bridge = util.default_bridge()
|
|
||||||
+ # if not self.bridge and self.type == "bridge":
|
|
||||||
+ # self.bridge = util.default_bridge()
|
|
||||||
|
|
||||||
def get_xml_config(self):
|
|
||||||
if self.type == "bridge":
|
|
||||||
- return (" <interface type='bridge'>\n" + \
|
|
||||||
- " <source bridge='%(bridge)s'/>\n" + \
|
|
||||||
- " <mac address='%(mac)s'/>\n" + \
|
|
||||||
- " </interface>\n") % \
|
|
||||||
- { "bridge": self.bridge, "mac": self.macaddr }
|
|
||||||
+ if self.bridge != None:
|
|
||||||
+ return (" <interface type='bridge'>\n" + \
|
|
||||||
+ " <source bridge='%(bridge)s'/>\n" + \
|
|
||||||
+ " <mac address='%(mac)s'/>\n" + \
|
|
||||||
+ " </interface>\n") % \
|
|
||||||
+ { "bridge": self.bridge, "mac": self.macaddr }
|
|
||||||
+ else:
|
|
||||||
+ return (" <interface type='bridge'>\n" + \
|
|
||||||
+ " <mac address='%(mac)s'/>\n" + \
|
|
||||||
+ " </interface>\n") % \
|
|
||||||
+ { "mac": self.macaddr }
|
|
||||||
+
|
|
||||||
elif self.type == "network":
|
|
||||||
return (" <interface type='network'>\n" + \
|
|
||||||
" <source network='%(network)s'/>\n" + \
|
|
15
virtman-bridge.diff
Normal file
15
virtman-bridge.diff
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
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])
|
12
virtman-cdrom.diff
Normal file
12
virtman-cdrom.diff
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
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-03-09 21:38:37.000000000 -0600
|
||||||
|
+++ virt-manager-0.7.0//src/virtManager/addhardware.py 2009-04-21 10:07:18.000000000 -0600
|
||||||
|
@@ -1021,6 +1021,8 @@
|
||||||
|
model.append(["virtio", virtinst.VirtualDisk.DEVICE_DISK,
|
||||||
|
gtk.STOCK_HARDDISK, "Virtio Disk"])
|
||||||
|
if self.vm.get_connection().get_type().lower() == "xen":
|
||||||
|
+ model.append(["xen", virtinst.VirtualDisk.DEVICE_CDROM,
|
||||||
|
+ gtk.STOCK_CDROM, "Virtual disk (read only)"])
|
||||||
|
model.append(["xen", virtinst.VirtualDisk.DEVICE_DISK,
|
||||||
|
gtk.STOCK_HARDDISK, "Virtual disk"])
|
||||||
|
|
@ -1,116 +0,0 @@
|
|||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/connection.py virt-manager-0.5.3/src/virtManager/connection.py
|
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/connection.py 2008-03-31 14:32:40.000000000 -0600
|
|
||||||
+++ virt-manager-0.5.3/src/virtManager/connection.py 2008-03-31 15:23:14.000000000 -0600
|
|
||||||
@@ -136,6 +136,19 @@
|
|
||||||
|
|
||||||
self.detect_network_devices()
|
|
||||||
|
|
||||||
+ # A bug in hal/dbus prevents us from calling QueryCapability on devices
|
|
||||||
+ # this is a temporary workaround that can be removed when we get
|
|
||||||
+ # a newer hald/hald_dbus.c
|
|
||||||
+ def _query_capability(self, device_interface, str_capability):
|
|
||||||
+ if device_interface == None:
|
|
||||||
+ return False
|
|
||||||
+ if not device_interface.PropertyExists('info.capabilities'):
|
|
||||||
+ return False
|
|
||||||
+ cap_set = set(device_interface.GetProperty('info.capabilities'))
|
|
||||||
+ if str_capability in cap_set:
|
|
||||||
+ return True
|
|
||||||
+ return False
|
|
||||||
+
|
|
||||||
def detect_network_devices(self):
|
|
||||||
try:
|
|
||||||
# Get a connection to the SYSTEM bus
|
|
||||||
@@ -165,9 +178,11 @@
|
|
||||||
|
|
||||||
def _device_added(self, path):
|
|
||||||
obj = self.bus.get_object("org.freedesktop.Hal", path)
|
|
||||||
- if obj.QueryCapability("net"):
|
|
||||||
- name = obj.GetPropertyString("net.interface")
|
|
||||||
- mac = obj.GetPropertyString("net.address")
|
|
||||||
+ iface = dbus.Interface(obj,"org.freedesktop.Hal.Device")
|
|
||||||
+ iface.PropertyExists('info.capabilities')
|
|
||||||
+ if self._query_capability(iface,"net"):
|
|
||||||
+ name = iface.GetPropertyString("net.interface")
|
|
||||||
+ mac = iface.GetPropertyString("net.address")
|
|
||||||
|
|
||||||
# Now magic to determine if the device is part of a bridge
|
|
||||||
shared = False
|
|
||||||
@@ -175,7 +190,7 @@
|
|
||||||
try:
|
|
||||||
# XXX Linux specific - needs porting for other OS - patches
|
|
||||||
# welcomed...
|
|
||||||
- sysfspath = obj.GetPropertyString("linux.sysfs_path")
|
|
||||||
+ sysfspath = iface.GetPropertyString("linux.sysfs_path")
|
|
||||||
|
|
||||||
# If running a device in bridged mode, there's a reasonable
|
|
||||||
# chance that the actual ethernet device has been renamed to
|
|
||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/opticalhelper.py virt-manager-0.5.3/src/virtManager/opticalhelper.py
|
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/opticalhelper.py 2008-01-10 18:17:51.000000000 -0700
|
|
||||||
+++ virt-manager-0.5.3/src/virtManager/opticalhelper.py 2008-03-31 15:24:16.000000000 -0600
|
|
||||||
@@ -41,6 +41,19 @@
|
|
||||||
self.hal_iface = None
|
|
||||||
raise
|
|
||||||
|
|
||||||
+ # A bug in hal prevents us from calling QueryCapability on devices
|
|
||||||
+ # this is a temporary workaround that can be removed when we get
|
|
||||||
+ # a newer hald/hald_dbus.c
|
|
||||||
+ def _query_capability(self, device_interface, str_capability):
|
|
||||||
+ if device_interface == None:
|
|
||||||
+ return False
|
|
||||||
+ if not device_interface.PropertyExists('info.capabilities'):
|
|
||||||
+ return False
|
|
||||||
+ cap_set = set(device_interface.GetProperty('info.capabilities'))
|
|
||||||
+ if str_capability in cap_set:
|
|
||||||
+ return True
|
|
||||||
+ return False
|
|
||||||
+
|
|
||||||
def populate_opt_media(self):
|
|
||||||
# get a list of optical devices with data discs in, for FV installs
|
|
||||||
vollabel = {}
|
|
||||||
@@ -52,10 +65,11 @@
|
|
||||||
# Find info about all current present media
|
|
||||||
for d in self.hal_iface.FindDeviceByCapability("volume"):
|
|
||||||
vol = self.bus.get_object("org.freedesktop.Hal", d)
|
|
||||||
- if vol.GetPropertyBoolean("volume.is_disc") and \
|
|
||||||
- vol.GetPropertyBoolean("volume.disc.has_data"):
|
|
||||||
- devnode = vol.GetProperty("block.device")
|
|
||||||
- label = vol.GetProperty("volume.label")
|
|
||||||
+ iface = dbus.Interface(vol,"org.freedesktop.Hal.Device")
|
|
||||||
+ if iface.GetPropertyBoolean("volume.is_disc") and \
|
|
||||||
+ iface.GetPropertyBoolean("volume.disc.has_data"):
|
|
||||||
+ devnode = iface.GetProperty("block.device")
|
|
||||||
+ label = iface.GetProperty("volume.label")
|
|
||||||
if label == None or len(label) == 0:
|
|
||||||
label = devnode
|
|
||||||
vollabel[devnode] = label
|
|
||||||
@@ -63,7 +77,9 @@
|
|
||||||
|
|
||||||
for d in self.hal_iface.FindDeviceByCapability("storage.cdrom"):
|
|
||||||
dev = self.bus.get_object("org.freedesktop.Hal", d)
|
|
||||||
- devnode = dev.GetProperty("block.device")
|
|
||||||
+ iface = dbus.Interface(dev,"org.freedesktop.Hal.Device")
|
|
||||||
+ iface.PropertyExists('info.capabilities')
|
|
||||||
+ devnode = iface.GetProperty("block.device")
|
|
||||||
if vollabel.has_key(devnode):
|
|
||||||
self.model.append([devnode, vollabel[devnode], True, volpath[devnode]])
|
|
||||||
else:
|
|
||||||
@@ -71,11 +87,13 @@
|
|
||||||
|
|
||||||
def _device_added(self, path):
|
|
||||||
vol = self.bus.get_object("org.freedesktop.Hal", path)
|
|
||||||
- if vol.QueryCapability("volume"):
|
|
||||||
- if vol.GetPropertyBoolean("volume.is_disc") and \
|
|
||||||
- vol.GetPropertyBoolean("volume.disc.has_data"):
|
|
||||||
- devnode = vol.GetProperty("block.device")
|
|
||||||
- label = vol.GetProperty("volume.label")
|
|
||||||
+ iface = dbus.Interface(vol,"org.freedesktop.Hal.Device")
|
|
||||||
+ iface.PropertyExists('info.capabilities')
|
|
||||||
+ if self._query_capability(iface,"volume"):
|
|
||||||
+ if iface.GetPropertyBoolean("volume.is_disc") and \
|
|
||||||
+ iface.GetPropertyBoolean("volume.disc.has_data"):
|
|
||||||
+ devnode = iface.GetProperty("block.device")
|
|
||||||
+ label = iface.GetProperty("volume.label")
|
|
||||||
if label == None or len(label) == 0:
|
|
||||||
label = devnode
|
|
||||||
|
|
@ -1,37 +1,37 @@
|
|||||||
diff -Nuar virt-manager-0.5.3.orig/src/Makefile.am virt-manager-0.5.3/src/Makefile.am
|
diff -Nuar virt-manager-0.7.0.orig//src/Makefile.am virt-manager-0.7.0//src/Makefile.am
|
||||||
--- virt-manager-0.5.3.orig/src/Makefile.am 2008-01-10 18:17:51.000000000 -0700
|
--- virt-manager-0.7.0.orig//src/Makefile.am 2009-03-09 21:38:37.000000000 -0600
|
||||||
+++ virt-manager-0.5.3/src/Makefile.am 2008-04-29 11:07:08.000000000 -0600
|
+++ virt-manager-0.7.0//src/Makefile.am 2009-04-16 16:31:18.000000000 -0600
|
||||||
@@ -14,7 +14,7 @@
|
@@ -14,7 +14,7 @@
|
||||||
gladedir = $(pkgdatadir)
|
gladedir = $(pkgdatadir)
|
||||||
glade_DATA = $(wildcard $(srcdir)/*.glade)
|
glade_DATA = $(wildcard $(srcdir)/*.glade)
|
||||||
|
|
||||||
-desktopdir = $(datadir)/applications
|
-desktopdir = $(datadir)/applications
|
||||||
+desktopdir = $(datadir)/applications/YaST2/
|
+desktopdir = $(datadir)/applications/YaST2/
|
||||||
desktop_SOURCES = $(PACKAGE).desktop.in.in
|
desktop_DATA_IN = $(PACKAGE).desktop.in.in
|
||||||
desktop_DATA = $(PACKAGE).desktop
|
desktop_DATA = $(PACKAGE).desktop
|
||||||
|
|
||||||
diff -Nuar virt-manager-0.5.3.orig/src/Makefile.in virt-manager-0.5.3/src/Makefile.in
|
diff -Nuar virt-manager-0.7.0.orig//src/Makefile.in virt-manager-0.7.0//src/Makefile.in
|
||||||
--- virt-manager-0.5.3.orig/src/Makefile.in 2008-01-10 18:18:06.000000000 -0700
|
--- virt-manager-0.7.0.orig//src/Makefile.in 2009-03-09 21:39:01.000000000 -0600
|
||||||
+++ virt-manager-0.5.3/src/Makefile.in 2008-04-29 11:12:12.000000000 -0600
|
+++ virt-manager-0.7.0//src/Makefile.in 2009-04-16 16:31:47.000000000 -0600
|
||||||
@@ -246,7 +246,7 @@
|
@@ -248,7 +248,7 @@
|
||||||
libexec_SCRIPTS = $(PACKAGE)-launch
|
libexec_SCRIPTS = $(PACKAGE)-launch
|
||||||
gladedir = $(pkgdatadir)
|
gladedir = $(pkgdatadir)
|
||||||
glade_DATA = $(wildcard $(srcdir)/*.glade)
|
glade_DATA = $(wildcard $(srcdir)/*.glade)
|
||||||
-desktopdir = $(datadir)/applications
|
-desktopdir = $(datadir)/applications
|
||||||
+desktopdir = $(datadir)/applications/YaST2/
|
+desktopdir = $(datadir)/applications/YaST2/
|
||||||
desktop_SOURCES = $(PACKAGE).desktop.in.in
|
desktop_DATA_IN = $(PACKAGE).desktop.in.in
|
||||||
desktop_DATA = $(PACKAGE).desktop
|
desktop_DATA = $(PACKAGE).desktop
|
||||||
dbusdir = $(datadir)/dbus-1/services
|
dbusdir = $(datadir)/dbus-1/services
|
||||||
diff -Nuar virt-manager-0.5.3.orig/src/virt-manager.desktop.in.in virt-manager-0.5.3/src/virt-manager.desktop.in.in
|
diff -Nuar virt-manager-0.7.0.orig//src/virt-manager.desktop.in.in virt-manager-0.7.0//src/virt-manager.desktop.in.in
|
||||||
--- virt-manager-0.5.3.orig/src/virt-manager.desktop.in.in 2008-01-10 18:17:51.000000000 -0700
|
--- virt-manager-0.7.0.orig//src/virt-manager.desktop.in.in 2009-03-09 21:38:37.000000000 -0600
|
||||||
+++ virt-manager-0.5.3/src/virt-manager.desktop.in.in 2008-04-29 11:11:24.000000000 -0600
|
+++ virt-manager-0.7.0//src/virt-manager.desktop.in.in 2009-04-16 16:35:46.000000000 -0600
|
||||||
@@ -1,9 +1,16 @@
|
@@ -1,9 +1,16 @@
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
+Version=1.0
|
|
||||||
_Name=Virtual Machine Manager
|
_Name=Virtual Machine Manager
|
||||||
_Comment=Manage virtual machines
|
_Comment=Manage virtual machines
|
||||||
-Icon=::ICONDIR::/::PACKAGE::-icon.svg
|
-Icon=::ICONDIR::/::PACKAGE::-icon.svg
|
||||||
-Exec=::PACKAGE::
|
-Exec=::PACKAGE::
|
||||||
|
+Version=1.0
|
||||||
+Icon=yast-vm-management
|
+Icon=yast-vm-management
|
||||||
+Exec=/usr/bin/virt-manager -c xen:///
|
+Exec=/usr/bin/virt-manager -c xen:///
|
||||||
Type=Application
|
Type=Application
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/connection.py virt-manager-0.5.3/src/virtManager/connection.py
|
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/connection.py 2008-02-12 11:32:25.000000000 -0700
|
|
||||||
+++ virt-manager-0.5.3/src/virtManager/connection.py 2008-02-12 11:36:04.000000000 -0700
|
|
||||||
@@ -158,13 +158,17 @@
|
|
||||||
hal_object = self.bus.get_object('org.freedesktop.Hal', '/org/freedesktop/Hal/Manager')
|
|
||||||
self.hal_iface = dbus.Interface(hal_object, 'org.freedesktop.Hal.Manager')
|
|
||||||
|
|
||||||
+ # Find info about all current present media
|
|
||||||
+ for path in self.hal_iface.FindDeviceByCapability("net"):
|
|
||||||
+ self._device_added(path)
|
|
||||||
+
|
|
||||||
+ # Connect to signals AFTER FindDeviceByCapability. This leaves a small hole
|
|
||||||
+ # where we could miss a device add, but FindDeviceByCapability takes
|
|
||||||
+ # several seconds to execute if the signals are connected in advance...
|
|
||||||
# Track device add/removes so we can detect newly inserted CD media
|
|
||||||
self.hal_iface.connect_to_signal("DeviceAdded", self._device_added)
|
|
||||||
self.hal_iface.connect_to_signal("DeviceRemoved", self._device_removed)
|
|
||||||
|
|
||||||
- # Find info about all current present media
|
|
||||||
- for path in self.hal_iface.FindDeviceByCapability("net"):
|
|
||||||
- self._device_added(path)
|
|
||||||
except:
|
|
||||||
(type, value, stacktrace) = sys.exc_info ()
|
|
||||||
logging.error("Unable to connect to HAL to list network devices: '%s'" + \
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/addhardware.py virt-manager-0.5.3/src/virtManager/addhardware.py
|
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/addhardware.py 2008-04-09 11:04:13.000000000 -0600
|
|
||||||
+++ virt-manager-0.5.3/src/virtManager/addhardware.py 2008-04-09 11:06:27.000000000 -0600
|
|
||||||
@@ -840,6 +840,8 @@
|
|
||||||
model.append(["xvd", 26, virtinst.VirtualDisk.DEVICE_DISK, gtk.STOCK_HARDDISK, "Virtual disk"])
|
|
||||||
#model.append(["usb", virtinst.VirtualDisk.DEVICE_DISK, gtk.STOCK_HARDDISK, "USB disk"])
|
|
||||||
else:
|
|
||||||
+ # add read-only option to prevent libvirt exceptions when adding a cdrom as read/write
|
|
||||||
+ model.append(["xvd", 26, virtinst.VirtualDisk.DEVICE_CDROM, gtk.STOCK_CDROM, "Virtual disk (read-only)"])
|
|
||||||
model.append(["xvd", 26, virtinst.VirtualDisk.DEVICE_DISK, gtk.STOCK_HARDDISK, "Virtual disk"])
|
|
||||||
|
|
||||||
def populate_input_model(self, model):
|
|
224
virtman-help.diff
Normal file
224
virtman-help.diff
Normal file
@ -0,0 +1,224 @@
|
|||||||
|
diff -Nuar virt-manager-0.7.0.orig//help/virt-manager/C/virt-manager.xml virt-manager-0.7.0//help/virt-manager/C/virt-manager.xml
|
||||||
|
--- virt-manager-0.7.0.orig//help/virt-manager/C/virt-manager.xml 2009-03-09 21:38:36.000000000 -0600
|
||||||
|
+++ virt-manager-0.7.0//help/virt-manager/C/virt-manager.xml 2009-04-24 17:02:36.000000000 -0600
|
||||||
|
@@ -821,218 +821,9 @@
|
||||||
|
<title>The Create Wizard</title>
|
||||||
|
<para>The Create Wizard helps you gather the information necessary to create
|
||||||
|
new virtual machines. All the information in each screen is retained and can
|
||||||
|
- be backed-up-to and modified until you click <guibutton>Finish</guibutton>
|
||||||
|
+ be backed-up-to and modified until you click <guibutton>OK</guibutton>
|
||||||
|
on the last screen.</para>
|
||||||
|
- <sect2 id="virt-manager-system-name">
|
||||||
|
- <title>The System Name screen</title>
|
||||||
|
- <para>Choose a name for your virtual system. The name must be non-blank,
|
||||||
|
- alphanumeric (plus underscores), contain at least one letter, and be less
|
||||||
|
- than 50 characters.</para>
|
||||||
|
- </sect2>
|
||||||
|
-
|
||||||
|
- <sect2 id="virt-manager-virt-method">
|
||||||
|
- <title>The Virtualization Method screen</title>
|
||||||
|
- <para>Choose a virtualization method for your new system. The choices
|
||||||
|
- are:</para>
|
||||||
|
- <variablelist>
|
||||||
|
- <varlistentry><term>Paravirtualized</term> <listitem><para>A
|
||||||
|
- paravirtualized system typically performs better than a fully virtualized
|
||||||
|
- system because certain operations — disk and network access, for
|
||||||
|
- example — have direct access to the hardware. However a
|
||||||
|
- paravirtualized VM requires a specially modified kernel. If you
|
||||||
|
- choose paravirtualized, you must make sure this specially modified kernel
|
||||||
|
- is available for the operating system you wish to install.</para>
|
||||||
|
- </listitem>
|
||||||
|
- </varlistentry>
|
||||||
|
- <varlistentry><term>Fully Virtualized</term>
|
||||||
|
- <listitem>
|
||||||
|
- <para>A fully virtualized system simulates all the hardware for the VM,
|
||||||
|
- permitting no direct access. It allows for a greater range of operating
|
||||||
|
- systems, but generally will not perform as well as a paravirtualized
|
||||||
|
- system. Note that for some hypervisor types, full virtualization requires
|
||||||
|
- hardware support. In addition if your hardware allows it, you can
|
||||||
|
- enable hardware acceleration for your fully virtualized guest (this
|
||||||
|
- item will be grayed out unless your hardware is acceleration-capable).</para>
|
||||||
|
- </listitem>
|
||||||
|
- </varlistentry>
|
||||||
|
- </variablelist>
|
||||||
|
- </sect2>
|
||||||
|
-
|
||||||
|
- <sect2 id="virt-manager-installation-media">
|
||||||
|
- <title>The Installation Media screens</title>
|
||||||
|
- <para>The Installation Media screens let you specify where the physical or
|
||||||
|
- virtual install media for your VM are located, so that the installer can
|
||||||
|
- find them. There are two screens, one for each type of virtual
|
||||||
|
- machine.</para>
|
||||||
|
- <sect3 id="virt-manager-installation-media-paravirt">
|
||||||
|
- <title>Paravirtualized installation media</title>
|
||||||
|
- <figure id="virt-manager-FIG-paravirt-media">
|
||||||
|
- <title>Choose Install Media for Paravirtualized VMs</title>
|
||||||
|
- <screenshot>
|
||||||
|
- <mediaobject>
|
||||||
|
- <imageobject>
|
||||||
|
- <imagedata fileref="figures/vm-paravirt-media.png" format="PNG"/>
|
||||||
|
- </imageobject>
|
||||||
|
- <textobject> <phrase>Shows the paravirtualized VM media choice window.</phrase>
|
||||||
|
- </textobject>
|
||||||
|
- </mediaobject>
|
||||||
|
- </screenshot>
|
||||||
|
- </figure>
|
||||||
|
- <para>A paravirtualized VM requires an install tree that follows the
|
||||||
|
- pattern of the Fedora install tree (e.g. <ulink type="http"
|
||||||
|
- url="http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/os/">
|
||||||
|
- this tree</ulink>). The <guilabel>Install Media URL</guilabel> box lets
|
||||||
|
- you enter a URL for a tree like this. When you then go to install the
|
||||||
|
- guest, the installer will check to see if the URL you entered is
|
||||||
|
- readable, and if so download the paravirtualized install kernel and
|
||||||
|
- initrd that it will need to start the install. You can use the following
|
||||||
|
- URL types:</para>
|
||||||
|
- <variablelist>
|
||||||
|
- <varlistentry><term>http:</term>
|
||||||
|
- <listitem><para>e.g. <userinput>http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/os/</userinput></para>
|
||||||
|
- </listitem>
|
||||||
|
- </varlistentry>
|
||||||
|
- <varlistentry><term>ftp:</term>
|
||||||
|
- <listitem><para>e.g. <userinput>ftp://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/os/</userinput></para>
|
||||||
|
- </listitem>
|
||||||
|
- </varlistentry>
|
||||||
|
- <varlistentry><term>nfs:</term>
|
||||||
|
- <listitem><para>e.g. <userinput>nfs:myfileserver:/images/linux/core/6/i386/os/</userinput></para>
|
||||||
|
- </listitem>
|
||||||
|
- </varlistentry>
|
||||||
|
- <varlistentry><term>local file:</term>
|
||||||
|
- <listitem><para>e.g. <userinput>/tmp/paravirttrees/fedora/os</userinput>
|
||||||
|
- </para>
|
||||||
|
- </listitem>
|
||||||
|
- </varlistentry>
|
||||||
|
- </variablelist>
|
||||||
|
- <para>You can specify a kickstart URL for your paravirtualized VM in
|
||||||
|
- exactly the same way as the install tree described
|
||||||
|
- above. <application>&app;</application> will remember the last 5 URLs you
|
||||||
|
- enter in these windows, so if you are installing multiple VMs you will
|
||||||
|
- not have to type the URLs more than once.
|
||||||
|
- </para>
|
||||||
|
- </sect3>
|
||||||
|
- <sect3 id="virt-manager-installation-media-full-virt">
|
||||||
|
- <title>Fully Virtualized Installation Media</title>
|
||||||
|
- <figure id="virt-manager-FIG-full-virt-media">
|
||||||
|
- <title>Choose Install Media for Fully Virtualized VMs</title>
|
||||||
|
- <screenshot>
|
||||||
|
- <mediaobject>
|
||||||
|
- <imageobject>
|
||||||
|
- <imagedata fileref="figures/vm-full-virt-media.png" format="PNG"/>
|
||||||
|
- </imageobject>
|
||||||
|
- <textobject> <phrase>Shows the fully virtualized VM media choice window.</phrase>
|
||||||
|
- </textobject>
|
||||||
|
- </mediaobject>
|
||||||
|
- </screenshot>
|
||||||
|
- </figure>
|
||||||
|
- <para>A fully virtualized VM requires the standard installation media that
|
||||||
|
- the same non-virtualized OS would require: either an actual CD or DVD, or
|
||||||
|
- a corresponding ISO image. On the Installation Media screen for a fully
|
||||||
|
- virtualized VM, you can therefore choose the path to your CD or DVD from
|
||||||
|
- the pull-down list, or you can enter or browse to the path of the ISO
|
||||||
|
- image you have saved in your local filesystem.</para>
|
||||||
|
- <para>For fully virtualized VMs, <application>&app;</application> also
|
||||||
|
- asks for the operating system type and variant you are installing. The
|
||||||
|
- installer uses this to set the <parameter>acpi</parameter> and
|
||||||
|
- <parameter>apic</parameter> flags according to the OS type (other
|
||||||
|
- parameters may be added to this list in the future).</para>
|
||||||
|
- </sect3>
|
||||||
|
- </sect2>
|
||||||
|
-
|
||||||
|
- <sect2 id="virt-manager-storage-space">
|
||||||
|
- <title>Assigning Storage Space</title>
|
||||||
|
- <figure id="virt-manager-FIG-assign-storage">
|
||||||
|
- <title>Assign Storage</title>
|
||||||
|
- <screenshot>
|
||||||
|
- <mediaobject>
|
||||||
|
- <imageobject>
|
||||||
|
- <imagedata fileref="figures/vm-assign-storage.png" format="PNG"/>
|
||||||
|
- </imageobject>
|
||||||
|
- <textobject> <phrase>Shows the Assigning Storage window.</phrase>
|
||||||
|
- </textobject>
|
||||||
|
- </mediaobject>
|
||||||
|
- </screenshot>
|
||||||
|
- </figure>
|
||||||
|
-
|
||||||
|
- <para>Designate the primary storage device for your VM. You may choose an
|
||||||
|
- existing physical or LVM partition in the <guilabel>Partition</guilabel>
|
||||||
|
- box; or, you may choose to use a file on the local filesystem. If you
|
||||||
|
- choose to use a file that does not already exist, you may specify the size
|
||||||
|
- of the file in megabytes. If you choose an existing file, that file's size
|
||||||
|
- will not change. If you use a file for your primary storage device, you
|
||||||
|
- may also choose whether to allocate the entire file
|
||||||
|
- at creation time, or whether to allow it to grow to its maximum over
|
||||||
|
- time.</para>
|
||||||
|
- <warning>
|
||||||
|
- <title>Sparse files can be dangerous</title>
|
||||||
|
- <para>You may be tempted not to allocate your entire file when your VM is
|
||||||
|
- created; filling a 5- to 10-GB file with 0s can take quite a while, and
|
||||||
|
- you will avoid this wait by not allocating the entire file and instead using a
|
||||||
|
- "sparse" file. However, be aware that this will slow down your VM's disk
|
||||||
|
- performance significantly, as the underlying OS must keep allocating more
|
||||||
|
- storage space as your VM runs. In addition, if the disk your sparse file
|
||||||
|
- is on runs out of space, your VM may crash and lose data. You may
|
||||||
|
- therefore only want to use a sparse file when testing, where guest
|
||||||
|
- creation speed could be at a premium.</para>
|
||||||
|
- </warning>
|
||||||
|
- </sect2>
|
||||||
|
-
|
||||||
|
- <sect2 id="virt-manager-memory-and-cpu">
|
||||||
|
- <title>Allocate Memory And CPU</title>
|
||||||
|
- <figure id="virt-manager-FIG-mem-cpu">
|
||||||
|
- <title>Set Memory and CPU</title>
|
||||||
|
- <screenshot>
|
||||||
|
- <mediaobject>
|
||||||
|
- <imageobject>
|
||||||
|
- <imagedata fileref="figures/vm-create-mem-cpu.png" format="PNG"/>
|
||||||
|
- </imageobject>
|
||||||
|
- <textobject> <phrase>Shows the VM Memory and CPU choice window.</phrase>
|
||||||
|
- </textobject>
|
||||||
|
- </mediaobject>
|
||||||
|
- </screenshot>
|
||||||
|
- </figure>
|
||||||
|
- <para>The <guilabel>Memory</guilabel> section of this screen lets you set
|
||||||
|
- two parameters, <guilabel>VM Max Memory</guilabel> and <guilabel>VM
|
||||||
|
- Startup Memory</guilabel>. These settings work as follows:</para>
|
||||||
|
- <variablelist>
|
||||||
|
- <varlistentry><term>VM Max Memory</term> <listitem><para><guilabel>VM Max
|
||||||
|
- Memory</guilabel> sets the maximum memory your VM can have unless you
|
||||||
|
- reboot it with a higher setting. For paravirtualized VMs, the maximum
|
||||||
|
- memory is a boot-time kernel setting; for fully virtualized VMs, the
|
||||||
|
- maximum memory appears to the VM to be the amount of physical memory
|
||||||
|
- available.</para>
|
||||||
|
- </listitem>
|
||||||
|
- </varlistentry>
|
||||||
|
- <varlistentry><term>VM Startup Memory</term>
|
||||||
|
- <listitem><para>For paravirtualized VMs, <guilabel>VM Startup
|
||||||
|
- Memory</guilabel> sets the amount of memory to start the VM with. The
|
||||||
|
- VM's available memory can then be changed from <application>&app;</application>
|
||||||
|
- while the VM is running. For fully virtualized guests, this setting has
|
||||||
|
- no effect.</para>
|
||||||
|
- </listitem>
|
||||||
|
- </varlistentry>
|
||||||
|
- </variablelist>
|
||||||
|
- <para>The virtual CPU section of this screen lets you set the number of
|
||||||
|
- vCPUs your VM starts up with. For paravirtualized guests, this number can
|
||||||
|
- be changed while the guest is running (although never to more than the VM
|
||||||
|
- started with). For fully virtualized guests, this number can only be
|
||||||
|
- changed while the guest is not running.</para>
|
||||||
|
- </sect2>
|
||||||
|
-
|
||||||
|
- <sect2 id="virt-manager-validation">
|
||||||
|
- <title>Validation</title>
|
||||||
|
- <para>The Validation screen lets you verify the setup for your new
|
||||||
|
- system. If you need to, you can back up and
|
||||||
|
- make changes. Clicking "Finish" will begin creating your virtual
|
||||||
|
- machine. If you have the <application>&app;</application> preferences set
|
||||||
|
- to automatically open consoles, a <link
|
||||||
|
- linkend="virt-manager-console-window">Console window</link> will pop up
|
||||||
|
- as soon as the installer has downloaded the necessary images and booted
|
||||||
|
- the VM's installer.
|
||||||
|
- </para>
|
||||||
|
- </sect2>
|
||||||
|
+ <para>For further details, see documentation for "vm-install".</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
</article>
|
13
virtman-kvm.diff
Normal file
13
virtman-kvm.diff
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff -Nuar virt-manager-0.7.0.orig//src/virt-manager.py.in virt-manager-0.7.0//src/virt-manager.py.in
|
||||||
|
--- virt-manager-0.7.0.orig//src/virt-manager.py.in 2009-03-09 21:38:37.000000000 -0600
|
||||||
|
+++ virt-manager-0.7.0//src/virt-manager.py.in 2009-04-21 14:24:51.000000000 -0600
|
||||||
|
@@ -192,7 +192,8 @@
|
||||||
|
tryuri = "xen:///"
|
||||||
|
elif (os.path.exists("/usr/bin/qemu") or
|
||||||
|
os.path.exists("/usr/bin/qemu-kvm") or
|
||||||
|
- os.path.exists("/usr/bin/kvm")):
|
||||||
|
+ os.path.exists("/usr/bin/kvm") or
|
||||||
|
+ os.path.exists("/dev/kvm") ):
|
||||||
|
tryuri = "qemu:///system"
|
||||||
|
|
||||||
|
return tryuri
|
35
virtman-manager.diff
Normal file
35
virtman-manager.diff
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
diff -Nuar virt-manager-0.7.0.orig//src/virtManager/manager.py virt-manager-0.7.0//src/virtManager/manager.py
|
||||||
|
--- virt-manager-0.7.0.orig//src/virtManager/manager.py 2009-03-09 21:38:37.000000000 -0600
|
||||||
|
+++ virt-manager-0.7.0//src/virtManager/manager.py 2009-04-24 15:14:21.000000000 -0600
|
||||||
|
@@ -656,6 +656,15 @@
|
||||||
|
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()
|
||||||
|
if active[1] != None:
|
||||||
|
parent = active[0].iter_parent(active[1])
|
||||||
|
# return the connection of the currently selected vm, or the
|
||||||
|
@@ -810,7 +819,14 @@
|
||||||
|
return False
|
||||||
|
|
||||||
|
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 delete_vm(self, ignore=None):
|
||||||
|
conn = self.current_connection()
|
@ -1,90 +0,0 @@
|
|||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/addhardware.py virt-manager-0.5.3/src/virtManager/addhardware.py
|
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/addhardware.py 2008-04-25 16:13:35.000000000 -0600
|
|
||||||
+++ virt-manager-0.5.3/src/virtManager/addhardware.py 2008-04-25 16:14:10.000000000 -0600
|
|
||||||
@@ -704,7 +704,7 @@
|
|
||||||
device=device)
|
|
||||||
if self._disk.type == virtinst.VirtualDisk.TYPE_FILE and \
|
|
||||||
not self.vm.is_hvm() and virtinst.util.is_blktap_capable():
|
|
||||||
- disk.driver_name = virtinst.VirtualDisk.DRIVER_TAP
|
|
||||||
+ self._disk.driver_name = virtinst.VirtualDisk.DRIVER_TAP
|
|
||||||
except ValueError, e:
|
|
||||||
self._validation_error_box(_("Invalid Storage Parameters"), \
|
|
||||||
str(e))
|
|
||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/console.py virt-manager-0.5.3/src/virtManager/console.py
|
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/console.py 2008-04-25 16:13:35.000000000 -0600
|
|
||||||
+++ virt-manager-0.5.3/src/virtManager/console.py 2008-04-25 16:14:54.000000000 -0600
|
|
||||||
@@ -91,6 +91,7 @@
|
|
||||||
|
|
||||||
self.vncViewer.show()
|
|
||||||
self.vncViewerRetriesScheduled = 0
|
|
||||||
+ self.vncViewerMaxRetries = 10
|
|
||||||
self.vncViewerRetryDelay = 125
|
|
||||||
self.vncViewer.connect("size-request", self._force_resize)
|
|
||||||
self.connected = 0
|
|
||||||
@@ -204,7 +205,7 @@
|
|
||||||
def send_key(self, src):
|
|
||||||
keys = None
|
|
||||||
if src.get_name() == "menu-send-cad":
|
|
||||||
- keys = ["Control_L", "Alt_L", "Del"]
|
|
||||||
+ keys = ["Control_L", "Alt_L", "Delete"]
|
|
||||||
elif src.get_name() == "menu-send-cab":
|
|
||||||
keys = ["Control_L", "Alt_L", "BackSpace"]
|
|
||||||
elif src.get_name() == "menu-send-caf1":
|
|
||||||
@@ -224,7 +225,7 @@
|
|
||||||
elif src.get_name() == "menu-send-caf8":
|
|
||||||
keys = ["Control_L", "Alt_L", "F8"]
|
|
||||||
elif src.get_name() == "menu-send-printscreen":
|
|
||||||
- keys = ["PrintScreen"]
|
|
||||||
+ keys = ["Print"]
|
|
||||||
|
|
||||||
if keys != None:
|
|
||||||
self.vncViewer.send_keys(keys)
|
|
||||||
@@ -374,7 +375,7 @@
|
|
||||||
|
|
||||||
def schedule_retry(self):
|
|
||||||
self.vncViewerRetriesScheduled = self.vncViewerRetriesScheduled + 1
|
|
||||||
- if self.vncViewerRetriesScheduled >= 10:
|
|
||||||
+ if self.vncViewerRetriesScheduled >= self.vncViewerMaxRetries:
|
|
||||||
logging.error("Too many connection failures, not retrying again")
|
|
||||||
return
|
|
||||||
logging.warn("Retrying connection in %d ms", self.vncViewerRetryDelay)
|
|
||||||
@@ -387,9 +388,15 @@
|
|
||||||
return
|
|
||||||
gtk.gdk.threads_enter()
|
|
||||||
try:
|
|
||||||
- logging.debug("Got timed retry")
|
|
||||||
- self.try_login()
|
|
||||||
- return
|
|
||||||
+ try:
|
|
||||||
+ logging.debug("Got timed retry")
|
|
||||||
+ self.try_login()
|
|
||||||
+ return
|
|
||||||
+ except libvirt.libvirtError, e:
|
|
||||||
+ # libvirtError is expected when vm is inactive during a reboot
|
|
||||||
+ # only show exception if it is going to cause a viewer failure
|
|
||||||
+ if self.vncViewerRetriesScheduled >= self.vncViewerMaxRetries - 1:
|
|
||||||
+ logging.error("Login error: %s" % str(e))
|
|
||||||
finally:
|
|
||||||
gtk.gdk.threads_leave()
|
|
||||||
|
|
||||||
@@ -484,7 +491,7 @@
|
|
||||||
self.vncViewer.set_credential(credList[i], "libvirt-vnc")
|
|
||||||
else:
|
|
||||||
# Force it to stop re-trying
|
|
||||||
- self.vncViewerRetriesScheduled = 10
|
|
||||||
+ self.vncViewerRetriesScheduled = self.vncViewerMaxRetries
|
|
||||||
self.vncViewer.close()
|
|
||||||
self.activate_unavailable_page(_("Unsupported console authentication type"))
|
|
||||||
|
|
||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/details.py virt-manager-0.5.3/src/virtManager/details.py
|
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/details.py 2008-01-10 18:17:51.000000000 -0700
|
|
||||||
+++ virt-manager-0.5.3/src/virtManager/details.py 2008-04-25 16:14:26.000000000 -0600
|
|
||||||
@@ -553,7 +553,7 @@
|
|
||||||
else:
|
|
||||||
vnic = virtinst.VirtualNetworkInterface(type=netinfo[0], macaddr=netinfo[3])
|
|
||||||
except ValueError, e:
|
|
||||||
- self.err_dialog(_("Error Removing Network: %s" % str(e)),
|
|
||||||
+ self._err_dialog(_("Error Removing Network: %s" % str(e)),
|
|
||||||
"".join(traceback.format_exc()))
|
|
||||||
return
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
|||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/console.py virt-manager-0.5.3/src/virtManager/console.py
|
diff -Nuar virt-manager-0.7.0.orig//src/virtManager/details.py virt-manager-0.7.0//src/virtManager/details.py
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/console.py 2008-11-11 16:06:50.000000000 -0700
|
--- virt-manager-0.7.0.orig//src/virtManager/details.py 2009-03-09 21:38:37.000000000 -0600
|
||||||
+++ virt-manager-0.5.3/src/virtManager/console.py 2008-11-11 16:07:14.000000000 -0700
|
+++ virt-manager-0.7.0//src/virtManager/details.py 2009-04-20 10:13:49.000000000 -0600
|
||||||
@@ -407,7 +407,7 @@
|
@@ -1233,7 +1233,7 @@
|
||||||
os.close(1)
|
argv = ["ssh", "ssh", "-p", sshport]
|
||||||
os.dup(fds[1].fileno())
|
if username:
|
||||||
os.dup(fds[1].fileno())
|
argv += ['-l', username]
|
||||||
- os.execlp("ssh", "ssh", "-p", "22", "-l", "root", server, "nc", vncaddr, str(vncport))
|
- argv += [ server, "nc", vncaddr, str(vncport) ]
|
||||||
+ os.execlp("ssh", "ssh", "-p", "22", "-l", "root", server, "netcat", vncaddr, str(vncport))
|
+ argv += [ server, "netcat", vncaddr, str(vncport) ]
|
||||||
|
os.execlp(*argv)
|
||||||
os._exit(1)
|
os._exit(1)
|
||||||
else:
|
else:
|
||||||
fds[1].close()
|
|
||||||
|
@ -1,24 +1,18 @@
|
|||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/console.py virt-manager-0.5.3/src/virtManager/console.py
|
diff -Nuar virt-manager-0.7.0.orig//src/virtManager/details.py virt-manager-0.7.0//src/virtManager/details.py
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/console.py 2008-01-10 18:17:51.000000000 -0700
|
--- virt-manager-0.7.0.orig//src/virtManager/details.py 2009-04-20 10:21:46.000000000 -0600
|
||||||
+++ virt-manager-0.5.3/src/virtManager/console.py 2008-04-09 11:02:33.000000000 -0600
|
+++ virt-manager-0.7.0//src/virtManager/details.py 2009-04-20 10:27:37.000000000 -0600
|
||||||
@@ -78,13 +78,13 @@
|
@@ -218,10 +218,10 @@
|
||||||
self.window.get_widget("console-vnc-align").add(self.vncViewer)
|
self.window.get_widget("console-vnc-viewport").add(self.vncViewer)
|
||||||
self.vncViewer.realize()
|
self.vncViewer.realize()
|
||||||
self.vncTunnel = None
|
self.vncTunnel = None
|
||||||
- if self.config.get_console_keygrab() == 2:
|
- if self.config.get_console_keygrab() == 2:
|
||||||
- self.vncViewer.set_keyboard_grab(True)
|
- self.vncViewer.set_keyboard_grab(True)
|
||||||
- self.vncViewer.set_pointer_grab(True)
|
|
||||||
- else:
|
- else:
|
||||||
- self.vncViewer.set_keyboard_grab(False)
|
- self.vncViewer.set_keyboard_grab(False)
|
||||||
- self.vncViewer.set_pointer_grab(False)
|
+ # Always set grab flags to False. Setting them to True introduces a bug where Dom0 ScreenSaver
|
||||||
- self.vncViewer.set_pointer_local(True)
|
+ # loses the pointer if the pointer is over Dom0 when the ScreenSaver activates.
|
||||||
+ # change to always set grab flags as False
|
+ # This patch can be removed when testing shows the bug (Gtk?) is fixed.
|
||||||
+ # setting them to true raises the error of Dom0 screen-saver losing the pointer
|
|
||||||
+ # if the pointer is over DomU when screen saver activates
|
|
||||||
+ self.vncViewer.set_keyboard_grab(False)
|
+ self.vncViewer.set_keyboard_grab(False)
|
||||||
+ self.vncViewer.set_pointer_grab(False)
|
self.vncViewer.set_pointer_grab(True)
|
||||||
+ # comment set_pointer_local to prevent 2 pointers in vnc viewer
|
|
||||||
+ # self.vncViewer.set_pointer_local(True)
|
|
||||||
|
|
||||||
self.vncViewer.connect("vnc-pointer-grab", self.notify_grabbed)
|
self.scale_type = self.config.get_console_scaling()
|
||||||
self.vncViewer.connect("vnc-pointer-ungrab", self.notify_ungrabbed)
|
|
||||||
|
@ -1,224 +0,0 @@
|
|||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/config.py virt-manager-0.5.3/src/virtManager/config.py
|
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/config.py 2008-02-20 10:23:45.000000000 -0700
|
|
||||||
+++ virt-manager-0.5.3/src/virtManager/config.py 2008-02-20 10:58:37.000000000 -0700
|
|
||||||
@@ -172,6 +172,8 @@
|
|
||||||
return 10
|
|
||||||
return history
|
|
||||||
|
|
||||||
+ def get_stats_minimize_minutes(self):
|
|
||||||
+ return self.conf.get_int(self.conf_dir + "/stats/minimize-minutes")
|
|
||||||
|
|
||||||
def set_stats_update_interval(self, interval):
|
|
||||||
self.conf.set_int(self.conf_dir + "/stats/update-interval", interval)
|
|
||||||
@@ -179,6 +181,8 @@
|
|
||||||
def set_stats_history_length(self, length):
|
|
||||||
self.conf.set_int(self.conf_dir + "/stats/history-length", length)
|
|
||||||
|
|
||||||
+ def set_stats_minimize_minutes(self, minutes):
|
|
||||||
+ self.conf.set_int(self.conf_dir + "/stats/minimize-minutes", minutes)
|
|
||||||
|
|
||||||
def on_stats_update_interval_changed(self, callback):
|
|
||||||
self.conf.notify_add(self.conf_dir + "/stats/update-interval", callback)
|
|
||||||
@@ -186,6 +190,9 @@
|
|
||||||
def on_stats_history_length_changed(self, callback):
|
|
||||||
self.conf.notify_add(self.conf_dir + "/stats/history-length", callback)
|
|
||||||
|
|
||||||
+ def on_stats_minimize_minutes_changed(self, callback):
|
|
||||||
+ self.conf.notify_add(self.conf_dir + "/stats/minimize-minutes", callback)
|
|
||||||
+
|
|
||||||
def on_console_popup_changed(self, callback):
|
|
||||||
self.conf.notify_add(self.conf_dir + "/console/popup", callback)
|
|
||||||
|
|
||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/connection.py virt-manager-0.5.3/src/virtManager/connection.py
|
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/connection.py 2008-02-20 10:23:45.000000000 -0700
|
|
||||||
+++ virt-manager-0.5.3/src/virtManager/connection.py 2008-02-20 11:53:08.000000000 -0700
|
|
||||||
@@ -469,7 +469,7 @@
|
|
||||||
os.remove(frm)
|
|
||||||
return status
|
|
||||||
|
|
||||||
- def tick(self, noStatsUpdate=False):
|
|
||||||
+ def tick(self, noStatsUpdate=False, sleeping=False):
|
|
||||||
if self.state != self.STATE_ACTIVE:
|
|
||||||
return
|
|
||||||
|
|
||||||
@@ -490,11 +490,12 @@
|
|
||||||
logging.warn("Unable to list inactive networks")
|
|
||||||
|
|
||||||
# check of net devices
|
|
||||||
- newPaths = []
|
|
||||||
- if self.hal_iface:
|
|
||||||
- newPaths = self.hal_iface.FindDeviceByCapability("net")
|
|
||||||
- for newPath in newPaths:
|
|
||||||
- self._device_added(newPath)
|
|
||||||
+ if sleeping == False:
|
|
||||||
+ newPaths = []
|
|
||||||
+ if self.hal_iface:
|
|
||||||
+ newPaths = self.hal_iface.FindDeviceByCapability("net")
|
|
||||||
+ for newPath in newPaths:
|
|
||||||
+ self._device_added(newPath)
|
|
||||||
|
|
||||||
for name in newActiveNetNames:
|
|
||||||
net = self.vmm.networkLookupByName(name)
|
|
||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/engine.py virt-manager-0.5.3/src/virtManager/engine.py
|
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/engine.py 2008-02-20 10:23:45.000000000 -0700
|
|
||||||
+++ virt-manager-0.5.3/src/virtManager/engine.py 2008-02-20 11:51:52.000000000 -0700
|
|
||||||
@@ -149,7 +149,11 @@
|
|
||||||
def _tick(self):
|
|
||||||
for uri in self.connections.keys():
|
|
||||||
try:
|
|
||||||
- self.connections[uri]["connection"].tick()
|
|
||||||
+ if self.windowManager != None:
|
|
||||||
+ sleeping= self.windowManager.timewatch.process_clock(self.windowManager.window.get_widget("vmm-manager"))
|
|
||||||
+ else:
|
|
||||||
+ sleeping= False
|
|
||||||
+ self.connections[uri]["connection"].tick(sleeping = sleeping)
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
raise KeyboardInterrupt
|
|
||||||
except:
|
|
||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/manager.py virt-manager-0.5.3/src/virtManager/manager.py
|
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/manager.py 2008-02-20 10:23:45.000000000 -0700
|
|
||||||
+++ virt-manager-0.5.3/src/virtManager/manager.py 2008-02-20 12:11:22.000000000 -0700
|
|
||||||
@@ -33,6 +33,8 @@
|
|
||||||
from virtManager.asyncjob import vmmAsyncJob
|
|
||||||
from virtManager.error import vmmErrorDialog
|
|
||||||
|
|
||||||
+import timex
|
|
||||||
+
|
|
||||||
VMLIST_SORT_ID = 1
|
|
||||||
VMLIST_SORT_NAME = 2
|
|
||||||
VMLIST_SORT_CPU_USAGE = 3
|
|
||||||
@@ -101,6 +103,14 @@
|
|
||||||
self.connections = {}
|
|
||||||
self.prepare_vmlist()
|
|
||||||
|
|
||||||
+ self.timewatch= timex.timex()
|
|
||||||
+ if self.config.get_stats_minimize_minutes() == -1:
|
|
||||||
+ logging.debug("minimize_minutes value unset - defaulting to 120")
|
|
||||||
+ self.config.set_stats_minimize_minutes(120)
|
|
||||||
+ self.timewatch.set_timeout_minutes(self.config.get_stats_minimize_minutes())
|
|
||||||
+ self.config.on_stats_minimize_minutes_changed(self.reschedule_minimize)
|
|
||||||
+ logging.debug("minimize_minutes set to %s" % str(self.config.get_stats_minimize_minutes()))
|
|
||||||
+
|
|
||||||
self.config.on_vmlist_domain_id_visible_changed(self.toggle_domain_id_visible_widget)
|
|
||||||
self.config.on_vmlist_status_visible_changed(self.toggle_status_visible_widget)
|
|
||||||
self.config.on_vmlist_cpu_usage_visible_changed(self.toggle_cpu_usage_visible_widget)
|
|
||||||
@@ -232,6 +242,15 @@
|
|
||||||
"on_menu_help_activate": self.show_help,
|
|
||||||
})
|
|
||||||
|
|
||||||
+ self.window.get_widget("vmm-manager" ).connect("window_state_event",self.timewatch.handle_window_state_event)
|
|
||||||
+ self.window.get_widget("vm-list" ).connect("button_press_event",self.timewatch.handle_reset_clock_event )
|
|
||||||
+ widget= self.window.get_widget("vmm-manager")
|
|
||||||
+ self.window.get_widget("vm-new" ).connect("clicked" ,self.timewatch.handle_reset_clock_event, widget )
|
|
||||||
+ self.window.get_widget("vm-open" ).connect("clicked" ,self.timewatch.handle_reset_clock_event, widget )
|
|
||||||
+ self.window.get_widget("vm-details" ).connect("clicked" ,self.timewatch.handle_reset_clock_event, widget )
|
|
||||||
+ self.window.get_widget("vm-delete" ).connect("clicked" ,self.timewatch.handle_reset_clock_event, widget )
|
|
||||||
+ self.window.get_widget("menu_edit_details" ).connect("activate" ,self.timewatch.handle_reset_clock_event, widget )
|
|
||||||
+
|
|
||||||
self.vm_selected(None)
|
|
||||||
self.window.get_widget("vm-list").get_selection().connect("changed", self.vm_selected)
|
|
||||||
|
|
||||||
@@ -481,6 +500,9 @@
|
|
||||||
|
|
||||||
|
|
||||||
def vm_resources_sampled(self, vm):
|
|
||||||
+ if self.timewatch.process_clock(self.window.get_widget("vmm-manager")):
|
|
||||||
+ return
|
|
||||||
+
|
|
||||||
vmlist = self.window.get_widget("vm-list")
|
|
||||||
model = vmlist.get_model()
|
|
||||||
|
|
||||||
@@ -519,6 +541,9 @@
|
|
||||||
|
|
||||||
|
|
||||||
def conn_refresh_resources(self, conn):
|
|
||||||
+ if self.timewatch.process_clock(self.window.get_widget("vmm-manager")):
|
|
||||||
+ return
|
|
||||||
+
|
|
||||||
vmlist = self.window.get_widget("vm-list")
|
|
||||||
model = vmlist.get_model()
|
|
||||||
row = self.rows[conn.get_uri()]
|
|
||||||
@@ -1039,6 +1064,10 @@
|
|
||||||
dg.hide()
|
|
||||||
dg.destroy()
|
|
||||||
|
|
||||||
+ def reschedule_minimize(self,ignore1,ignore2,ignore3,ignore4):
|
|
||||||
+ self.timewatch.set_timeout_minutes(self.config.get_stats_minimize_minutes())
|
|
||||||
+ logging.debug("minimize_minutes rescheduled to %s" % str(self.config.get_stats_minimize_minutes()))
|
|
||||||
+
|
|
||||||
def _err_dialog(self, summary, details):
|
|
||||||
dg = vmmErrorDialog(None, 0, gtk.MESSAGE_ERROR,
|
|
||||||
gtk.BUTTONS_CLOSE, summary, details)
|
|
||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/timex.py virt-manager-0.5.3/src/virtManager/timex.py
|
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/timex.py 1969-12-31 17:00:00.000000000 -0700
|
|
||||||
+++ virt-manager-0.5.3/src/virtManager/timex.py 2008-02-20 10:24:05.000000000 -0700
|
|
||||||
@@ -0,0 +1,44 @@
|
|
||||||
+import gtk
|
|
||||||
+import time
|
|
||||||
+
|
|
||||||
+class timex:
|
|
||||||
+
|
|
||||||
+ def __init__(self):
|
|
||||||
+ self.iconify_adjust_minutes= 0
|
|
||||||
+ self.iconify_time= 0
|
|
||||||
+ self.iconified= False
|
|
||||||
+ self.widgets = {}
|
|
||||||
+
|
|
||||||
+ # call with minutes= 0 to stop timer
|
|
||||||
+ def set_timeout_minutes(self,minutes):
|
|
||||||
+ self.iconify_adjust_minutes= minutes
|
|
||||||
+ if self.iconify_adjust_minutes == 0:
|
|
||||||
+ self.iconify_time= 0
|
|
||||||
+
|
|
||||||
+ def reset_clock(self):
|
|
||||||
+ if self.iconify_adjust_minutes:
|
|
||||||
+ self.iconify_time= time.time() + (self.iconify_adjust_minutes*60)
|
|
||||||
+
|
|
||||||
+ def handle_reset_clock_event(self,widget,event):
|
|
||||||
+ self.reset_clock()
|
|
||||||
+
|
|
||||||
+ def handle_window_state_event(self,widget,event):
|
|
||||||
+ new_state = event.new_window_state
|
|
||||||
+ if new_state & gtk.gdk.WINDOW_STATE_ICONIFIED:
|
|
||||||
+ self.widgets[widget.get_name()]= True
|
|
||||||
+ else:
|
|
||||||
+ self.widgets[widget.get_name()] = False
|
|
||||||
+ self.reset_clock()
|
|
||||||
+
|
|
||||||
+ # return True if caller should skip processing
|
|
||||||
+ def process_clock(self,widget):
|
|
||||||
+ if self.widgets.has_key(widget.get_name()):
|
|
||||||
+ if self.widgets[widget.get_name()] == True:
|
|
||||||
+ return True
|
|
||||||
+ if self.iconify_time == 0:
|
|
||||||
+ return False
|
|
||||||
+ if time.time() <= self.iconify_time:
|
|
||||||
+ return False
|
|
||||||
+ widget.iconify()
|
|
||||||
+ return True
|
|
||||||
+
|
|
||||||
diff -Nuar virt-manager-0.5.3.orig/src/virt-manager.schemas.in virt-manager-0.5.3/src/virt-manager.schemas.in
|
|
||||||
--- virt-manager-0.5.3.orig/src/virt-manager.schemas.in 2008-02-20 10:23:45.000000000 -0700
|
|
||||||
+++ virt-manager-0.5.3/src/virt-manager.schemas.in 2008-02-20 12:16:20.000000000 -0700
|
|
||||||
@@ -118,6 +118,21 @@
|
|
||||||
</schema>
|
|
||||||
|
|
||||||
<schema>
|
|
||||||
+ <key>/schemas/apps/::PACKAGE::/stats/minimize-minutes</key>
|
|
||||||
+ <applyto>/apps/::PACKAGE::/stats/minimize-minutes</applyto>
|
|
||||||
+ <owner>::PACKAGE::</owner>
|
|
||||||
+ <type>int</type>
|
|
||||||
+ <default>-1</default>
|
|
||||||
+
|
|
||||||
+ <locale name="C">
|
|
||||||
+ <short>Minimize main window minutes</short>
|
|
||||||
+ <long>The number of minutes to wait before minimizing main window due to
|
|
||||||
+ inactivity. Setting to 0 will disable the minimizing feature, but
|
|
||||||
+ while window is un-minimized, GTK and DBus will leak memory.</long>
|
|
||||||
+ </locale>
|
|
||||||
+ </schema>
|
|
||||||
+
|
|
||||||
+ <schema>
|
|
||||||
<key>/schemas/apps/::PACKAGE::/urls/url-list-length</key>
|
|
||||||
<applyto>/apps/::PACKAGE::/urls/url-list-length</applyto>
|
|
||||||
<owner>::PACKAGE::</owner>
|
|
@ -1,63 +0,0 @@
|
|||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/addhardware.py virt-manager-0.5.3/src/virtManager/addhardware.py
|
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/addhardware.py 2008-04-04 15:52:00.000000000 -0600
|
|
||||||
+++ virt-manager-0.5.3/src/virtManager/addhardware.py 2008-04-04 15:53:17.000000000 -0600
|
|
||||||
@@ -122,7 +122,7 @@
|
|
||||||
network_list.add_attribute(text, 'text', 1)
|
|
||||||
|
|
||||||
device_list = self.window.get_widget("net-device")
|
|
||||||
- device_model = gtk.ListStore(str, bool)
|
|
||||||
+ device_model = gtk.ListStore(str, bool, str)
|
|
||||||
device_list.set_model(device_model)
|
|
||||||
text = gtk.CellRendererText()
|
|
||||||
device_list.pack_start(text, True)
|
|
||||||
@@ -313,7 +313,7 @@
|
|
||||||
else:
|
|
||||||
dev = self.window.get_widget("net-device")
|
|
||||||
model = dev.get_model()
|
|
||||||
- return ["bridge", model.get_value(dev.get_active_iter(), 0)]
|
|
||||||
+ return ["bridge", model.get_value(dev.get_active_iter(), 2)]
|
|
||||||
|
|
||||||
def get_config_macaddr(self):
|
|
||||||
macaddr = None
|
|
||||||
@@ -348,7 +348,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])
|
|
||||||
@@ -816,13 +819,14 @@
|
|
||||||
def populate_device_model(self, model):
|
|
||||||
model.clear()
|
|
||||||
hasShared = False
|
|
||||||
+ model.append([_("(Default)"), True, None])
|
|
||||||
for name in self.vm.get_connection().list_net_device_paths():
|
|
||||||
net = self.vm.get_connection().get_net_device(name)
|
|
||||||
if net.is_shared():
|
|
||||||
hasShared = True
|
|
||||||
- model.append(["%s (%s %s)" % (net.get_name(), _("Bridge"), net.get_bridge()), True])
|
|
||||||
+ model.append(["%s (%s %s)" % (net.get_name(), _("Bridge"), net.get_bridge()), True, net.get_bridge()])
|
|
||||||
else:
|
|
||||||
- model.append(["%s (%s)" % (net.get_name(), _("Not bridged")), False])
|
|
||||||
+ model.append(["%s (%s)" % (net.get_name(), _("Not bridged")), False, net.get_name()])
|
|
||||||
return hasShared
|
|
||||||
|
|
||||||
def populate_target_device_model(self, model):
|
|
||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/host.py virt-manager-0.5.3/src/virtManager/host.py
|
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/host.py 2008-01-10 18:17:51.000000000 -0700
|
|
||||||
+++ virt-manager-0.5.3/src/virtManager/host.py 2008-04-04 15:54:26.000000000 -0600
|
|
||||||
@@ -75,6 +75,9 @@
|
|
||||||
self.window.get_widget("performance-table").attach(self.memory_usage_graph, 1, 2, 1, 2)
|
|
||||||
|
|
||||||
self.add = None
|
|
||||||
+ # turn off "Virtual Networks" tab, until it is implemented...
|
|
||||||
+ self.window.get_widget("details-tabs").get_nth_page(1).hide()
|
|
||||||
+
|
|
||||||
self.window.get_widget("details-tabs").get_nth_page(2).hide()
|
|
||||||
|
|
||||||
self.conn.connect("net-added", self.repopulate_networks)
|
|
@ -1,36 +1,32 @@
|
|||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/engine.py virt-manager-0.5.3/src/virtManager/engine.py
|
diff -Nuar virt-manager-0.7.0.orig//src/virtManager/engine.py virt-manager-0.7.0//src/virtManager/engine.py
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/engine.py 2008-03-12 15:21:57.000000000 -0600
|
--- virt-manager-0.7.0.orig//src/virtManager/engine.py 2009-03-09 21:38:37.000000000 -0600
|
||||||
+++ virt-manager-0.5.3/src/virtManager/engine.py 2008-03-12 17:43:02.000000000 -0600
|
+++ virt-manager-0.7.0//src/virtManager/engine.py 2009-04-17 11:48:12.000000000 -0600
|
||||||
@@ -34,7 +34,7 @@
|
@@ -33,7 +33,8 @@
|
||||||
|
from virtManager.manager import vmmManager
|
||||||
from virtManager.details import vmmDetails
|
from virtManager.details import vmmDetails
|
||||||
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 virtManager.create import vmmCreate
|
||||||
+from vminstall.gtk.interface import VMCreate as vmmCreate
|
+from vminstall.gtk.interface import VMCreate as vmmCreate
|
||||||
from virtManager.serialcon import vmmSerialConsole
|
|
||||||
from virtManager.host import vmmHost
|
from virtManager.host import vmmHost
|
||||||
from virtManager.error import vmmErrorDialog
|
from virtManager.error import vmmErrorDialog
|
||||||
@@ -311,16 +311,25 @@
|
import virtManager.util as util
|
||||||
def show_manager(self):
|
@@ -341,13 +342,24 @@
|
||||||
self.get_manager().show()
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
- def show_create(self, uri):
|
|
||||||
- con = self.get_connection(uri)
|
|
||||||
+ def _vmmcreate_closing(self,signal,key):
|
+ def _vmmcreate_closing(self,signal,key):
|
||||||
+ self.windowCreate= None;
|
+ self.windowCreate = None
|
||||||
|
+
|
||||||
- if self.connections[uri]["windowCreate"] == None:
|
def show_create(self, uri):
|
||||||
- create = vmmCreate(self.get_config(), con)
|
if self.windowCreate == None:
|
||||||
+ def show_create(self, uri):
|
- create = vmmCreate(self.get_config(), self)
|
||||||
+ if self.windowCreate == None:
|
|
||||||
+ create = vmmCreate(virtman=True,key=0)
|
+ create = vmmCreate(virtman=True,key=0)
|
||||||
create.connect("action-show-console", self._do_show_console)
|
create.connect("action-show-console", self._do_show_console)
|
||||||
create.connect("action-show-terminal", self._do_show_terminal)
|
|
||||||
- create.connect("action-show-help", self._do_show_help)
|
- create.connect("action-show-help", self._do_show_help)
|
||||||
- self.connections[uri]["windowCreate"] = create
|
|
||||||
- self.connections[uri]["windowCreate"].show()
|
|
||||||
+ create.connect("vmmcreate-closing", self._vmmcreate_closing)
|
+ create.connect("vmmcreate-closing", self._vmmcreate_closing)
|
||||||
+ self.windowCreate = create
|
self.windowCreate = create
|
||||||
|
- self.windowCreate.show(uri)
|
||||||
+ self.windowCreate.show()
|
+ self.windowCreate.show()
|
||||||
+ else:
|
+ else:
|
||||||
+ message_box = gtk.MessageDialog(None,
|
+ message_box = gtk.MessageDialog(None,
|
||||||
@ -41,5 +37,5 @@ diff -Nuar virt-manager-0.5.3.orig/src/virtManager/engine.py virt-manager-0.5.3/
|
|||||||
+ message_box.run()
|
+ message_box.run()
|
||||||
+ message_box.destroy()
|
+ message_box.destroy()
|
||||||
|
|
||||||
def add_connection(self, uri, readOnly=None):
|
def add_connection(self, uri, readOnly=None, autoconnect=False):
|
||||||
conn = vmmConnection(self.get_config(), uri, readOnly)
|
conn = vmmConnection(self.get_config(), uri, readOnly)
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
diff -Nuar virt-manager-0.5.3.orig/src/virtManager/connect.py virt-manager-0.5.3/src/virtManager/connect.py
|
|
||||||
--- virt-manager-0.5.3.orig/src/virtManager/connect.py 2008-02-12 16:34:35.000000000 -0700
|
|
||||||
+++ virt-manager-0.5.3/src/virtManager/connect.py 2008-02-12 16:35:05.000000000 -0700
|
|
||||||
@@ -95,7 +95,7 @@
|
|
||||||
pass
|
|
||||||
elif hv == HV_XEN:
|
|
||||||
if conn == CONN_LOCAL:
|
|
||||||
- uri = "xen"
|
|
||||||
+ uri = "xen:///"
|
|
||||||
if os.getuid() != 0:
|
|
||||||
readOnly = True
|
|
||||||
elif conn == CONN_TLS:
|
|
||||||
diff -Nuar virt-manager-0.5.3.orig/src/virt-manager.py.in virt-manager-0.5.3/src/virt-manager.py.in
|
|
||||||
--- virt-manager-0.5.3.orig/src/virt-manager.py.in 2008-02-12 16:34:35.000000000 -0700
|
|
||||||
+++ virt-manager-0.5.3/src/virt-manager.py.in 2008-02-12 16:38:48.000000000 -0700
|
|
||||||
@@ -172,7 +172,7 @@
|
|
||||||
if engine.config.get_connections() is None or len(engine.config.get_connections()) == 0:
|
|
||||||
tryuri = None
|
|
||||||
if os.path.exists("/var/lib/xend") and os.path.exists("/proc/xen"):
|
|
||||||
- tryuri = "xen"
|
|
||||||
+ tryuri = "xen:///"
|
|
||||||
elif os.path.exists("/usr/bin/qemu"):
|
|
||||||
if os.getuid() == 0:
|
|
||||||
tryuri = "qemu:///system"
|
|
||||||
@@ -248,6 +248,9 @@
|
|
||||||
|
|
||||||
gtk.window_set_default_icon_from_file(icon_dir + "/" + appname + "-icon.svg")
|
|
||||||
|
|
||||||
+ if options.uri != None and (options.uri.upper() == "XEN" or options.uri.upper().startswith("XEN:")):
|
|
||||||
+ options.uri = "xen:///"
|
|
||||||
+
|
|
||||||
if options.show and options.uri==None:
|
|
||||||
raise OptionValueError("can't use --show-* options without --connect")
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user