Accepting request 83950 from Virtualization
Checkin for Beta OBS-URL: https://build.opensuse.org/request/show/83950 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virt-manager?expand=0&rev=61
This commit is contained in:
commit
d14a989b97
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:be12754b9cd13b36854082224c38cc77c536a69f5d6f13aa4ddda4b93dd93663
|
||||
size 1096524
|
3
virt-manager-0.9.0.tar.bz2
Normal file
3
virt-manager-0.9.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2053b0694fa5dab24b57b2d5434cc5a1b80cb344a938fab13f891fa9b8ed38eb
|
||||
size 1126289
|
@ -1,3 +1,30 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 20 09:05:19 MDT 2011 - carnold@novell.com
|
||||
|
||||
- bnc#718861 - [SLES11SP2beta5] virt-manager unable to boot
|
||||
Windows2008 guest with virtio disk and network device (kvm)
|
||||
- Update to virt-manager 0.9.0
|
||||
* Use a hiding toolbar for fullscreen mode
|
||||
* Use libguestfs to show guest packagelist and more (Richard W.M. Jones)
|
||||
* Basic 'New VM' wizard support for LXC guests
|
||||
* Remote serial console access (with latest libvirt)
|
||||
* Remote URL guest installs (with latest libvirt)
|
||||
* Add Hardware: Support <filesystem> devices
|
||||
* Add Hardware: Support <smartcard> devices (Marc-André Lureau)
|
||||
* Enable direct interface selection for qemu/kvm (Gerhard Stenzel)
|
||||
* Allow viewing and changing disk serial number
|
||||
- Update to virtinst 0.600.0
|
||||
* virt-install: Various improvements to enable LXC/container guests:
|
||||
* New --filesystem option for <filesystem> devices
|
||||
* New --init option for container <init> path
|
||||
* New --container option (similar to --paravirt or --hvm)
|
||||
* virt-install: Make --location remotely (with latest libvirt)
|
||||
* virt-install: New --smartcard option for <smartcard> devices
|
||||
* (Marc-André Lureau)
|
||||
* virt-install: New --numatune option for building guest <numatune> XML
|
||||
* virt-install: option to set --disk error_policy=
|
||||
* virt-install: option to set --disk serial=
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 15 16:21:55 MDT 2011 - carnold@novell.com
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package virt-manager
|
||||
# spec file for package virt-manager (Version 0.9.0)
|
||||
#
|
||||
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
@ -21,16 +21,16 @@
|
||||
%define gsysconfdir /etc
|
||||
%define gconftool /usr/bin/gconftool-2
|
||||
%define virtinst_maj 0
|
||||
%define virtinst_min 500
|
||||
%define virtinst_rel 6
|
||||
%define virtinst_min 600
|
||||
%define virtinst_rel 0
|
||||
%define virtinst_name virtinst-%{virtinst_maj}.%{virtinst_min}.%{virtinst_rel}
|
||||
|
||||
%define pysite %(python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()")
|
||||
|
||||
Name: virt-manager
|
||||
Summary: Virtual Machine Manager
|
||||
Version: 0.8.7
|
||||
Release: 7
|
||||
Version: 0.9.0
|
||||
Release: 1
|
||||
Group: System/Monitoring
|
||||
License: GPLv2+
|
||||
Url: http://virt-manager.et.redhat.com
|
||||
@ -38,12 +38,6 @@ Source0: virt-manager-%{version}.tar.bz2
|
||||
Source1: %{virtinst_name}.tar.bz2
|
||||
# see https://bugzilla.redhat.com/show_bug.cgi?id=620216,
|
||||
# https://bugzilla.novell.com/show_bug.cgi?id=641981
|
||||
Patch0: virtman-fix-addhw-nonhotplug.diff
|
||||
Patch1: virtman-fix-type.diff
|
||||
Patch2: virtman-fix-no-nic-present.diff
|
||||
Patch3: virtman-fix-storage_capable.diff
|
||||
Patch4: virtman-fix-ui-resize.diff
|
||||
Patch5: virtman-fix-ui-cleanup.diff
|
||||
Patch50: virtman-desktop.diff
|
||||
Patch51: virtman-vminstall.diff
|
||||
Patch52: virtman-cdrom.diff
|
||||
@ -139,12 +133,6 @@ Authors:
|
||||
%prep
|
||||
%setup -q
|
||||
%setup -b 1
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch50 -p1
|
||||
%patch51 -p1
|
||||
%patch52 -p1
|
||||
@ -216,17 +204,22 @@ sed -i -e 's/Categories=.*/Categories=Qt;X-SuSE-YaST;X-SuSE-YaST-Virtualization;
|
||||
%dir %{_datadir}/%{name}
|
||||
%{_datadir}/%{name}/*.glade
|
||||
%dir %{_datadir}/%{name}/pixmaps
|
||||
%dir %{_datadir}/%{name}/pixmaps/hicolor/
|
||||
%dir %{_datadir}/%{name}/pixmaps/hicolor/*/
|
||||
%dir %{_datadir}/%{name}/pixmaps/hicolor/*/*/
|
||||
%{_datadir}/%{name}/pixmaps/*.png
|
||||
%{_datadir}/%{name}/pixmaps/*.svg
|
||||
%{_datadir}/%{name}/pixmaps/hicolor/*/*/*.png
|
||||
%dir %{_datadir}/%{name}/icons
|
||||
%dir %{_datadir}/%{name}/icons/hicolor/
|
||||
%dir %{_datadir}/%{name}/icons/hicolor/*/
|
||||
%dir %{_datadir}/%{name}/icons/hicolor/*/*/
|
||||
%dir %{_datadir}/icons/hicolor/
|
||||
%dir %{_datadir}/icons/hicolor/*/
|
||||
%dir %{_datadir}/icons/hicolor/*/*/
|
||||
%{_datadir}/%{name}/icons/hicolor/*/*/*.png
|
||||
%{_datadir}/icons/hicolor/*/*/*.png
|
||||
%{_datadir}/%{name}/*.py
|
||||
%dir %{_datadir}/%{name}/virtManager
|
||||
%dir %{_datadir}/%{name}/virtManagerTui
|
||||
%dir %{_datadir}/%{name}/virtManagerTui/importblacklist
|
||||
%{_datadir}/%{name}/virtManager/*.py
|
||||
%{_datadir}/%{name}/virtManagerTui/*.py
|
||||
%{_datadir}/%{name}/virtManagerTui/importblacklist/*.py
|
||||
%dir %{pysite}/virtinst
|
||||
%{pysite}/virtinst/*.py
|
||||
%{pysite}/virtinst/*.pyc
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fbb65ff97292042990dd233f7bcac212e602d889085e09debd253d1c53c502f4
|
||||
size 345939
|
3
virtinst-0.600.0.tar.bz2
Normal file
3
virtinst-0.600.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cb407a55cac7a7a5bb42eb85813c7282a1e862575cea74b2b03c71a0589ba0b5
|
||||
size 360053
|
@ -1,8 +1,8 @@
|
||||
Index: virtinst-0.500.6/virtinst/VirtualDisk.py
|
||||
Index: virtinst-0.600.0/virtinst/VirtualDisk.py
|
||||
===================================================================
|
||||
--- virtinst-0.500.6.orig/virtinst/VirtualDisk.py
|
||||
+++ virtinst-0.500.6/virtinst/VirtualDisk.py
|
||||
@@ -1625,14 +1625,18 @@ class VirtualDisk(VirtualDevice):
|
||||
--- virtinst-0.600.0.orig/virtinst/VirtualDisk.py
|
||||
+++ virtinst-0.600.0/virtinst/VirtualDisk.py
|
||||
@@ -1703,14 +1703,18 @@ class VirtualDisk(VirtualDevice):
|
||||
self.target = "hdc"
|
||||
return self.target
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: virtinst-0.500.6/virtinst/Storage.py
|
||||
Index: virtinst-0.600.0/virtinst/Storage.py
|
||||
===================================================================
|
||||
--- virtinst-0.500.6.orig/virtinst/Storage.py
|
||||
+++ virtinst-0.500.6/virtinst/Storage.py
|
||||
@@ -523,7 +523,7 @@ class FilesystemPool(StoragePool):
|
||||
--- virtinst-0.600.0.orig/virtinst/Storage.py
|
||||
+++ virtinst-0.600.0/virtinst/Storage.py
|
||||
@@ -534,7 +534,7 @@ class FilesystemPool(StoragePool):
|
||||
get_volume_class = staticmethod(get_volume_class)
|
||||
|
||||
formats = [ "auto", "ext2", "ext3", "ext4", "ufs", "iso9660", "udf",
|
||||
|
@ -1,13 +1,13 @@
|
||||
Index: virt-manager-0.8.7/src/virtManager/engine.py
|
||||
Index: virt-manager-0.9.0/src/virtManager/engine.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/engine.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/engine.py
|
||||
@@ -498,7 +498,7 @@ class vmmEngine(vmmGObject):
|
||||
self.config.add_connection(conn.get_uri())
|
||||
--- virt-manager-0.9.0.orig/src/virtManager/engine.py
|
||||
+++ virt-manager-0.9.0/src/virtManager/engine.py
|
||||
@@ -361,7 +361,7 @@ class vmmEngine(vmmGObject):
|
||||
conn = self.add_conn(uri)
|
||||
|
||||
if autoconnect:
|
||||
- conn.set_autoconnect(True)
|
||||
if autoconnect is not None:
|
||||
- conn.set_autoconnect(bool(autoconnect))
|
||||
+ self.connect_to_uri(uri)
|
||||
|
||||
return conn
|
||||
|
||||
self.show_manager()
|
||||
if do_start:
|
||||
|
@ -1,29 +1,35 @@
|
||||
Index: virt-manager-0.8.7/src/virtManager/details.py
|
||||
Index: virt-manager-0.9.0/src/virtManager/details.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/details.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/details.py
|
||||
@@ -1774,8 +1774,9 @@ class vmmDetails(vmmGObjectUI):
|
||||
self.vm.hotplug_both_mem,
|
||||
(curmem, maxmem))
|
||||
--- virt-manager-0.9.0.orig/src/virtManager/details.py
|
||||
+++ virt-manager-0.9.0/src/virtManager/details.py
|
||||
@@ -2005,11 +2005,9 @@ class vmmDetails(vmmGObjectUI):
|
||||
|
||||
return self._change_config_helper(df, da, hf, ha)
|
||||
|
||||
- # Boot device / Autostart
|
||||
- def config_boot_options_apply(self):
|
||||
- df, da, add_define, hf, ha, add_hotplug = self.make_apply_data()
|
||||
- ignore = add_hotplug
|
||||
-
|
||||
+ # Autostart - See bnc#624250 - L3: virt-manager doesn't update
|
||||
+ # "Autostart" setting in vm configuration correctly
|
||||
+ def update_on_xend_start(self):
|
||||
auto = self.window.get_widget("config-autostart")
|
||||
|
||||
if auto.get_property("sensitive"):
|
||||
@@ -1786,6 +1787,8 @@ class vmmDetails(vmmGObjectUI):
|
||||
str(e)), "".join(traceback.format_exc()))
|
||||
if self.editted(EDIT_AUTOSTART):
|
||||
auto = self.widget("config-autostart")
|
||||
try:
|
||||
@@ -2019,6 +2017,11 @@ class vmmDetails(vmmGObjectUI):
|
||||
(_("Error changing autostart value: %s") % str(e)))
|
||||
return False
|
||||
|
||||
+ # Boot device
|
||||
+ def config_boot_options_apply(self):
|
||||
+ df, da, add_define, hf, ha, add_hotplug = self.make_apply_data()
|
||||
+ ignore = add_hotplug
|
||||
+
|
||||
if self.editted(EDIT_BOOTORDER):
|
||||
bootdevs = self.get_config_boot_devs()
|
||||
bootmenu = self.window.get_widget("boot-menu").get_active()
|
||||
|
||||
@@ -2019,6 +2022,8 @@ class vmmDetails(vmmGObjectUI):
|
||||
add_define(self.vm.set_boot_device, bootdevs)
|
||||
@@ -2355,6 +2358,8 @@ class vmmDetails(vmmGObjectUI):
|
||||
buttons=gtk.BUTTONS_OK,
|
||||
dialog_type=dtype)
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
Index: virt-manager-0.8.7/src/virtManager/addhardware.py
|
||||
Index: virt-manager-0.9.0/src/virtManager/addhardware.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/addhardware.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/addhardware.py
|
||||
@@ -480,6 +480,7 @@ class vmmAddHardware(vmmGObjectUI):
|
||||
--- virt-manager-0.9.0.orig/src/virtManager/addhardware.py
|
||||
+++ virt-manager-0.9.0/src/virtManager/addhardware.py
|
||||
@@ -508,6 +508,7 @@ class vmmAddHardware(vmmGObjectUI):
|
||||
if self.vm.get_hv_type() == "kvm":
|
||||
add_dev("virtio", virtinst.VirtualDisk.DEVICE_DISK, "Virtio Disk")
|
||||
if self.vm.get_connection().is_xen():
|
||||
if self.conn.is_xen():
|
||||
+ add_dev("xen", virtinst.VirtualDisk.DEVICE_CDROM, "Virtual disk (read only)")
|
||||
add_dev("xen", virtinst.VirtualDisk.DEVICE_DISK, "Virtual disk")
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: virt-manager-0.8.7/src/Makefile.am
|
||||
Index: virt-manager-0.9.0/src/Makefile.am
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/Makefile.am
|
||||
+++ virt-manager-0.8.7/src/Makefile.am
|
||||
--- virt-manager-0.9.0.orig/src/Makefile.am
|
||||
+++ virt-manager-0.9.0/src/Makefile.am
|
||||
@@ -14,7 +14,7 @@ libexec_SCRIPTS = $(PACKAGE)-launch
|
||||
gladedir = $(pkgdatadir)
|
||||
glade_DATA = $(wildcard $(srcdir)/*.glade)
|
||||
@ -11,10 +11,10 @@ Index: virt-manager-0.8.7/src/Makefile.am
|
||||
desktop_DATA_IN = $(PACKAGE).desktop.in.in
|
||||
desktop_DATA = $(PACKAGE).desktop
|
||||
|
||||
Index: virt-manager-0.8.7/src/Makefile.in
|
||||
Index: virt-manager-0.9.0/src/Makefile.in
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/Makefile.in
|
||||
+++ virt-manager-0.8.7/src/Makefile.in
|
||||
--- virt-manager-0.9.0.orig/src/Makefile.in
|
||||
+++ virt-manager-0.9.0/src/Makefile.in
|
||||
@@ -255,7 +255,7 @@ libexec_DATA_IN = $(PACKAGE)-launch.in
|
||||
libexec_SCRIPTS = $(PACKAGE)-launch
|
||||
gladedir = $(pkgdatadir)
|
||||
@ -24,15 +24,15 @@ Index: virt-manager-0.8.7/src/Makefile.in
|
||||
desktop_DATA_IN = $(PACKAGE).desktop.in.in
|
||||
desktop_DATA = $(PACKAGE).desktop
|
||||
dbusdir = $(datadir)/dbus-1/services
|
||||
Index: virt-manager-0.8.7/src/virt-manager.desktop.in.in
|
||||
Index: virt-manager-0.9.0/src/virt-manager.desktop.in.in
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virt-manager.desktop.in.in
|
||||
+++ virt-manager-0.8.7/src/virt-manager.desktop.in.in
|
||||
--- virt-manager-0.9.0.orig/src/virt-manager.desktop.in.in
|
||||
+++ virt-manager-0.9.0/src/virt-manager.desktop.in.in
|
||||
@@ -1,9 +1,19 @@
|
||||
[Desktop Entry]
|
||||
_Name=Virtual Machine Manager
|
||||
-_Comment=Manage virtual machines
|
||||
-Icon=::ICONDIR::/::PACKAGE::-icon.svg
|
||||
-Icon=::PACKAGE::
|
||||
-Exec=::PACKAGE::
|
||||
+_Comment=Manage Virtual Machines for Xen and KVM
|
||||
+Version=1.0
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: virt-manager-0.8.7/src/virtManager/addhardware.py
|
||||
Index: virt-manager-0.9.0/src/virtManager/addhardware.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/addhardware.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/addhardware.py
|
||||
@@ -906,6 +906,18 @@ class vmmAddHardware(vmmGObjectUI):
|
||||
--- virt-manager-0.9.0.orig/src/virtManager/addhardware.py
|
||||
+++ virt-manager-0.9.0/src/virtManager/addhardware.py
|
||||
@@ -1021,6 +1021,18 @@ class vmmAddHardware(vmmGObjectUI):
|
||||
self._dev.get_xml_config()
|
||||
logging.debug("Adding device:\n" + self._dev.get_xml_config())
|
||||
|
||||
@ -21,13 +21,13 @@ Index: virt-manager-0.8.7/src/virtManager/addhardware.py
|
||||
# Hotplug device
|
||||
attach_err = False
|
||||
try:
|
||||
Index: virt-manager-0.8.7/src/virtManager/details.py
|
||||
Index: virt-manager-0.9.0/src/virtManager/details.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/details.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/details.py
|
||||
@@ -1907,6 +1907,17 @@ class vmmDetails(vmmGObjectUI):
|
||||
--- virt-manager-0.9.0.orig/src/virtManager/details.py
|
||||
+++ virt-manager-0.9.0/src/virtManager/details.py
|
||||
@@ -2242,6 +2242,17 @@ class vmmDetails(vmmGObjectUI):
|
||||
text1=(_("Are you sure you want to remove this device?"))):
|
||||
return
|
||||
self.config.set_confirm_removedev(not skip_prompt)
|
||||
|
||||
+ # If vm is running, try to hot remove the device and modify
|
||||
+ # persistent config in one go
|
||||
@ -43,11 +43,11 @@ Index: virt-manager-0.8.7/src/virtManager/details.py
|
||||
# Define the change
|
||||
try:
|
||||
self.vm.remove_device(dev_id_info)
|
||||
Index: virt-manager-0.8.7/src/virtManager/domain.py
|
||||
Index: virt-manager-0.9.0/src/virtManager/domain.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/domain.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/domain.py
|
||||
@@ -1225,6 +1225,10 @@ class vmmDomain(vmmDomainBase):
|
||||
--- virt-manager-0.9.0.orig/src/virtManager/domain.py
|
||||
+++ virt-manager-0.9.0/src/virtManager/domain.py
|
||||
@@ -697,6 +697,10 @@ class vmmDomain(vmmLibvirtObject):
|
||||
devxml = devobj.get_xml_config()
|
||||
self._backend.attachDevice(devxml)
|
||||
|
||||
@ -58,7 +58,7 @@ Index: virt-manager-0.8.7/src/virtManager/domain.py
|
||||
def detach_device(self, devobj):
|
||||
"""
|
||||
Hotunplug device from running guest
|
||||
@@ -1243,6 +1247,10 @@ class vmmDomain(vmmDomainBase):
|
||||
@@ -715,6 +719,10 @@ class vmmDomain(vmmLibvirtObject):
|
||||
xml = devobj.get_xml_config()
|
||||
self._backend.updateDeviceFlags(xml, flags)
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
Index: virt-manager-0.8.7/src/virtManager/uihelpers.py
|
||||
Index: virt-manager-0.9.0/src/virtManager/uihelpers.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/uihelpers.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/uihelpers.py
|
||||
@@ -215,6 +215,7 @@ def populate_netmodel_combo(vm, combo):
|
||||
--- virt-manager-0.9.0.orig/src/virtManager/uihelpers.py
|
||||
+++ virt-manager-0.9.0/src/virtManager/uihelpers.py
|
||||
@@ -290,6 +290,7 @@ def populate_netmodel_combo(vm, combo):
|
||||
if vm.is_hvm():
|
||||
mod_list = ["rtl8139", "ne2k_pci", "pcnet", "e1000"]
|
||||
if vm.get_hv_type() == "kvm":
|
||||
if vm.get_hv_type() in ["kvm", "qemu", "test"]:
|
||||
+ mod_list.append("eepro100")
|
||||
mod_list.append("virtio")
|
||||
if vm.get_hv_type() == "xen":
|
||||
if vm.get_hv_type() in ["xen", "test"]:
|
||||
mod_list.append("netfront")
|
||||
|
@ -1,21 +0,0 @@
|
||||
|
||||
Subject: addhw: Fix nonhotplug to running guest
|
||||
From: Cole Robinson crobinso@redhat.com Tue Apr 5 16:15:05 2011 -0400
|
||||
Date: Tue Apr 5 16:15:05 2011 -0400:
|
||||
Git: 4922222c2c7b13704b6f461aedbee9ec06c01b5b
|
||||
|
||||
|
||||
Index: virt-manager-0.8.7/src/virtManager/addhardware.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/addhardware.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/addhardware.py
|
||||
@@ -922,7 +922,8 @@ class vmmAddHardware(vmmGObjectUI):
|
||||
"Would you like to make the device available after the "
|
||||
"next VM shutdown?")),
|
||||
dialog_type=gtk.MESSAGE_WARNING,
|
||||
- buttons=gtk.BUTTONS_YES_NO)
|
||||
+ buttons=gtk.BUTTONS_YES_NO,
|
||||
+ async=False)
|
||||
|
||||
if not res:
|
||||
return (False, None)
|
@ -1,23 +0,0 @@
|
||||
|
||||
Subject: create: Fix building guest when no network options are present
|
||||
From: Cole Robinson crobinso@redhat.com Thu Apr 7 17:11:10 2011 -0400
|
||||
Date: Thu Apr 7 17:11:10 2011 -0400:
|
||||
Git: 6da0a95b5754b6415df15b08d6d9fbd3dc07eb7d
|
||||
|
||||
|
||||
Index: virt-manager-0.8.7/src/virtManager/create.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/create.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/create.py
|
||||
@@ -1497,8 +1497,9 @@ class vmmCreate(vmmGObjectUI):
|
||||
|
||||
if self.nic and self.nic in self.guest.get_devices("interface"):
|
||||
self.guest.remove_device(self.nic)
|
||||
- self.nic = nic
|
||||
- self.guest.add_device(self.nic)
|
||||
+ if nic:
|
||||
+ self.nic = nic
|
||||
+ self.guest.add_device(self.nic)
|
||||
|
||||
return True
|
||||
|
@ -1,21 +0,0 @@
|
||||
|
||||
Subject: host: Fix busted use of conn.storage_capable
|
||||
From: Cole Robinson crobinso@redhat.com Sat Apr 9 21:27:41 2011 -0400
|
||||
Date: Sat Apr 9 21:55:41 2011 -0400:
|
||||
Git: 239015d2486d6b41c49ff8fd8a84a0c454f386c9
|
||||
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
|
||||
Index: virt-manager-0.8.7/src/virtManager/host.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/host.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/host.py
|
||||
@@ -365,7 +365,7 @@ class vmmHost(vmmGObjectUI):
|
||||
_("Libvirt connection does not support virtual network "
|
||||
"management."))
|
||||
|
||||
- if not self.conn.storage_capable:
|
||||
+ if not self.conn.is_storage_capable():
|
||||
self.set_storage_error_page(
|
||||
_("Libvirt connection does not support storage management."))
|
||||
|
@ -1,32 +0,0 @@
|
||||
|
||||
Subject: schemas: Fix minor typo
|
||||
From: Yuri Chornoivan yurchor@ukr.net Thu Apr 7 15:04:50 2011 -0400
|
||||
Date: Thu Apr 7 15:04:50 2011 -0400:
|
||||
Git: f10063d6bd2d44e9cc1b2e980687d8c3d7a2efef
|
||||
|
||||
|
||||
Index: virt-manager-0.8.7/AUTHORS
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/AUTHORS
|
||||
+++ virt-manager-0.8.7/AUTHORS
|
||||
@@ -69,6 +69,7 @@ Further patches have been submitted by:
|
||||
Niels de Vos <ndevos-at-redhat-dot-com>
|
||||
Wen Congyang <wency-at-cn-dot-fujitsu-dot-com>
|
||||
Gerhard Stenzel <gerhard-dot-stenzel-at-de-dot-ibm-dot-com>
|
||||
+ Yuri Chornoivan <yurchor-at-ukr-dot-net>
|
||||
|
||||
<...send a patch & get your name here...>
|
||||
|
||||
Index: virt-manager-0.8.7/src/virt-manager.schemas.in
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virt-manager.schemas.in
|
||||
+++ virt-manager-0.8.7/src/virt-manager.schemas.in
|
||||
@@ -256,7 +256,7 @@
|
||||
|
||||
<locale name="C">
|
||||
<short>Default save domain path</short>
|
||||
- <long>Default path for saving VM snaphots</long>
|
||||
+ <long>Default path for saving VM snapshots</long>
|
||||
</locale>
|
||||
</schema>
|
||||
|
@ -1,27 +0,0 @@
|
||||
|
||||
Subject: clone: Fix cleanup when repopulating the UI
|
||||
From: Cole Robinson crobinso@redhat.com Thu Apr 14 13:12:24 2011 -0400
|
||||
Date: Thu Apr 14 13:12:24 2011 -0400:
|
||||
Git: 2c98bc67888e3e54d3dec93e3e55f9b4da1d56d5
|
||||
|
||||
|
||||
Index: virt-manager-0.8.7/src/virtManager/clone.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/clone.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/clone.py
|
||||
@@ -198,6 +198,7 @@ class vmmCloneVM(vmmGObjectUI):
|
||||
net_box = self.window.get_widget("clone-network-box")
|
||||
for c in net_box.get_children():
|
||||
net_box.remove(c)
|
||||
+ c.destroy()
|
||||
|
||||
self.net_list = {}
|
||||
self.mac_list = []
|
||||
@@ -477,6 +478,7 @@ class vmmCloneVM(vmmGObjectUI):
|
||||
storage_box = self.window.get_widget("clone-storage-box")
|
||||
for c in storage_box.get_children():
|
||||
storage_box.remove(c)
|
||||
+ c.destroy()
|
||||
|
||||
for target in self.target_list:
|
||||
disk = self.storage_list[target]
|
@ -1,31 +0,0 @@
|
||||
|
||||
Subject: clone: Fix some UI resizing issues
|
||||
From: Cole Robinson crobinso@redhat.com Thu Apr 14 13:07:52 2011 -0400
|
||||
Date: Thu Apr 14 13:07:52 2011 -0400:
|
||||
Git: cc8e93061314714347f2b207ac4f9ecb6edeb4e6
|
||||
|
||||
|
||||
Index: virt-manager-0.8.7/src/virtManager/clone.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/clone.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/clone.py
|
||||
@@ -128,6 +128,7 @@ class vmmCloneVM(vmmGObjectUI):
|
||||
|
||||
def show(self):
|
||||
self.reset_state()
|
||||
+ self.topwin.resize(1, 1)
|
||||
self.topwin.present()
|
||||
|
||||
def close(self, ignore1=None, ignore2=None):
|
||||
Index: virt-manager-0.8.7/src/vmm-clone.glade
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/vmm-clone.glade
|
||||
+++ virt-manager-0.8.7/src/vmm-clone.glade
|
||||
@@ -882,6 +882,7 @@ uses the existing disk image for both th
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
+ <property name="expand">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
@ -1,156 +1,21 @@
|
||||
Index: virt-manager-0.8.7/src/vmm-details.glade
|
||||
Index: virt-manager-0.9.0/src/virtManager/uihelpers.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/vmm-details.glade
|
||||
+++ virt-manager-0.8.7/src/vmm-details.glade
|
||||
@@ -350,11 +350,93 @@
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
+ <widget class="GtkMenuItem" id="details-menu-send-css">
|
||||
+ <property name="visible">True</property>
|
||||
+ <property name="label" translatable="yes">Ctrl+_Scroll+Scroll</property>
|
||||
+ <property name="use_underline">True</property>
|
||||
+ <signal name="activate" handler="on_details_menu_send_css_activate" last_modification_time="Wed, 14 Oct 2009 12:06:25 GMT"/>
|
||||
+ </widget>
|
||||
+ </child>
|
||||
+ <child>
|
||||
<widget class="GtkSeparatorMenuItem" id="separator9">
|
||||
<property name="visible">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
+ <widget class="GtkMenuItem" id="details-menu-send-af10">
|
||||
+ <property name="visible">True</property>
|
||||
+ <property name="label" translatable="yes">A_lt+F10</property>
|
||||
+ <property name="use_underline">True</property>
|
||||
+ <signal name="activate" handler="on_details_menu_send_af10_activate" last_modification_time="Wed, 14 Oct 2009 12:06:25 GMT"/>
|
||||
+ </widget>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <widget class="GtkMenuItem" id="details-menu-send-atab">
|
||||
+ <property name="visible">True</property>
|
||||
+ <property name="label" translatable="yes">Alt+_Tab</property>
|
||||
+ <property name="use_underline">True</property>
|
||||
+ <signal name="activate" handler="on_details_menu_send_atab_activate" last_modification_time="Wed, 14 Oct 2009 12:06:25 GMT"/>
|
||||
+ </widget>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <widget class="GtkMenuItem" id="details-menu-send-aesc">
|
||||
+ <property name="visible">True</property>
|
||||
+ <property name="label" translatable="yes">_Alt+Esc</property>
|
||||
+ <property name="use_underline">True</property>
|
||||
+ <signal name="activate" handler="on_details_menu_send_aesc_activate" last_modification_time="Wed, 14 Oct 2009 12:06:25 GMT"/>
|
||||
+ </widget>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <widget class="GtkMenuItem" id="details-menu-send-cesc">
|
||||
+ <property name="visible">True</property>
|
||||
+ <property name="label" translatable="yes">_Ctrl+Esc</property>
|
||||
+ <property name="use_underline">True</property>
|
||||
+ <signal name="activate" handler="on_details_menu_send_cesc_activate" last_modification_time="Wed, 14 Oct 2009 12:06:25 GMT"/>
|
||||
+ </widget>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <widget class="GtkMenuItem" id="details-menu-send-caesc">
|
||||
+ <property name="visible">True</property>
|
||||
+ <property name="label" translatable="yes">Ctrl+Alt+_Esc</property>
|
||||
+ <property name="use_underline">True</property>
|
||||
+ <signal name="activate" handler="on_details_menu_send_caesc_activate" last_modification_time="Wed, 14 Oct 2009 12:06:25 GMT"/>
|
||||
+ </widget>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <widget class="GtkMenuItem" id="details-menu-send-assesc">
|
||||
+ <property name="visible">True</property>
|
||||
+ <property name="label" translatable="yes">Alt+Sh_ift+Shift+Esc</property>
|
||||
+ <property name="use_underline">True</property>
|
||||
+ <signal name="activate" handler="on_details_menu_send_assesc_activate" last_modification_time="Wed, 14 Oct 2009 12:06:25 GMT"/>
|
||||
+ </widget>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <widget class="GtkSeparatorMenuItem" id="separator10">
|
||||
+ <property name="visible">True</property>
|
||||
+ </widget>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <widget class="GtkMenuItem" id="details-menu-send-f8">
|
||||
+ <property name="visible">True</property>
|
||||
+ <property name="label" translatable="yes">_F8</property>
|
||||
+ <property name="use_underline">True</property>
|
||||
+ <signal name="activate" handler="on_details_menu_send_f8_activate" last_modification_time="Wed, 09 Jan 2008 19:20:40 GMT"/>
|
||||
+ </widget>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <widget class="GtkMenuItem" id="details-menu-send-f10">
|
||||
+ <property name="visible">True</property>
|
||||
+ <property name="label" translatable="yes">F1_0</property>
|
||||
+ <property name="use_underline">True</property>
|
||||
+ <signal name="activate" handler="on_details_menu_send_f10_activate" last_modification_time="Wed, 09 Jan 2008 19:20:40 GMT"/>
|
||||
+ </widget>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <widget class="GtkSeparatorMenuItem" id="separator13">
|
||||
+ <property name="visible">True</property>
|
||||
+ </widget>
|
||||
+ </child>
|
||||
+ <child>
|
||||
<widget class="GtkMenuItem" id="details-menu-send-caf1">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">Ctrl+Alt+F_1</property>
|
||||
@@ -451,7 +533,7 @@
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
- <widget class="GtkSeparatorMenuItem" id="separator10">
|
||||
+ <widget class="GtkSeparatorMenuItem" id="separator14">
|
||||
<property name="visible">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
Index: virt-manager-0.8.7/src/virtManager/details.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/details.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/details.py
|
||||
@@ -414,6 +414,15 @@ class vmmDetails(vmmGObjectUI):
|
||||
--- virt-manager-0.9.0.orig/src/virtManager/uihelpers.py
|
||||
+++ virt-manager-0.9.0/src/virtManager/uihelpers.py
|
||||
@@ -934,6 +934,16 @@ def build_keycombo_menu(cb):
|
||||
make_item("Ctrl+Alt+_Backspace", ["Control_L", "Alt_L", "BackSpace"])
|
||||
make_item("Ctrl+Alt+_Delete", ["Control_L", "Alt_L", "Delete"])
|
||||
menu.add(gtk.SeparatorMenuItem())
|
||||
+ make_item("Ctrl+Scroll+Scroll", ["Control_L", "Scroll" + "Scroll"])
|
||||
+ make_item("Alt+F_10", ["Alt_L", "F10"])
|
||||
+ make_item("Alt+Tab", ["Alt_L", "Tab"])
|
||||
+ make_item("Alt+Escape", ["Alt_L", "Escape"])
|
||||
+ make_item("Ctrl+Escape", ["Control_L", "Escape"])
|
||||
+ make_item("Ctrl+Alt+Escape", ["Control_L", "Alt_L", "Escape"])
|
||||
+ make_item("Alt+Shift+Shift+Escape", ["Alt_R", "Shift_R", "Shift_L", "Escape"])
|
||||
+ make_item("F_8", ["F8"])
|
||||
+ make_item("F_10", ["F10"])
|
||||
+ menu.add(gtk.SeparatorMenuItem())
|
||||
|
||||
"on_details_menu_send_cad_activate": self.console.send_key,
|
||||
"on_details_menu_send_cab_activate": self.console.send_key,
|
||||
+ "on_details_menu_send_css_activate": self.console.send_key,
|
||||
+ "on_details_menu_send_af10_activate": self.console.send_key,
|
||||
+ "on_details_menu_send_atab_activate": self.console.send_key,
|
||||
+ "on_details_menu_send_aesc_activate": self.console.send_key,
|
||||
+ "on_details_menu_send_cesc_activate": self.console.send_key,
|
||||
+ "on_details_menu_send_caesc_activate": self.console.send_key,
|
||||
+ "on_details_menu_send_assesc_activate": self.console.send_key,
|
||||
+ "on_details_menu_send_f8_activate": self.console.send_key,
|
||||
+ "on_details_menu_send_f10_activate": self.console.send_key,
|
||||
"on_details_menu_send_caf1_activate": self.console.send_key,
|
||||
"on_details_menu_send_caf2_activate": self.console.send_key,
|
||||
"on_details_menu_send_caf3_activate": self.console.send_key,
|
||||
Index: virt-manager-0.8.7/src/virtManager/console.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/console.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/console.py
|
||||
@@ -684,6 +684,24 @@ class vmmConsolePages(vmmGObjectUI):
|
||||
keys = ["Control_L", "Alt_L", "Delete"]
|
||||
elif src.get_name() == "details-menu-send-cab":
|
||||
keys = ["Control_L", "Alt_L", "BackSpace"]
|
||||
+ elif src.get_name() == "details-menu-send-css":
|
||||
+ keys = ["Control_L", "Scroll", "Scroll"]
|
||||
+ elif src.get_name() == "details-menu-send-af10":
|
||||
+ keys = ["Alt_L", "F10"]
|
||||
+ elif src.get_name() == "details-menu-send-atab":
|
||||
+ keys = ["Alt_L", "Tab"]
|
||||
+ elif src.get_name() == "details-menu-send-aesc":
|
||||
+ keys = ["Alt_L", "Escape"]
|
||||
+ elif src.get_name() == "details-menu-send-cesc":
|
||||
+ keys = ["Control_L", "Escape"]
|
||||
+ elif src.get_name() == "details-menu-send-caesc":
|
||||
+ keys = ["Control_L", "Alt_L", "Escape"]
|
||||
+ elif src.get_name() == "details-menu-send-assesc":
|
||||
+ keys = ["Alt_R", "Shift_R", "Shift_L", "Escape"]
|
||||
+ elif src.get_name() == "details-menu-send-f8":
|
||||
+ keys = ["F8"]
|
||||
+ elif src.get_name() == "details-menu-send-f10":
|
||||
+ keys = ["F10"]
|
||||
elif src.get_name() == "details-menu-send-caf1":
|
||||
keys = ["Control_L", "Alt_L", "F1"]
|
||||
elif src.get_name() == "details-menu-send-caf2":
|
||||
for i in range(1, 13):
|
||||
make_item("Ctrl+Alt+F_%d" % i, ["Control_L", "Alt_L", "F%d" % i])
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: virt-manager-0.8.7/src/virtManager/engine.py
|
||||
Index: virt-manager-0.9.0/src/virtManager/engine.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/engine.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/engine.py
|
||||
@@ -54,6 +54,7 @@ def default_uri():
|
||||
--- virt-manager-0.9.0.orig/src/virtManager/engine.py
|
||||
+++ virt-manager-0.9.0/src/virtManager/engine.py
|
||||
@@ -59,6 +59,7 @@ def default_uri():
|
||||
os.path.exists("/usr/bin/qemu") or
|
||||
os.path.exists("/usr/bin/qemu-kvm") or
|
||||
os.path.exists("/usr/bin/kvm") or
|
||||
|
@ -1,19 +1,18 @@
|
||||
Index: virt-manager-0.8.7/src/virtManager/uihelpers.py
|
||||
Index: virt-manager-0.9.0/src/virtManager/uihelpers.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/uihelpers.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/uihelpers.py
|
||||
@@ -280,13 +280,16 @@ def build_vnc_keymap_combo(vm, combo, no
|
||||
#####################################
|
||||
|
||||
def build_storage_format_combo(vm, combo):
|
||||
- ignore = vm
|
||||
dev_model = gtk.ListStore(str)
|
||||
--- virt-manager-0.9.0.orig/src/virtManager/uihelpers.py
|
||||
+++ virt-manager-0.9.0/src/virtManager/uihelpers.py
|
||||
@@ -376,12 +376,12 @@ def build_storage_format_combo(vm, combo
|
||||
combo.set_model(dev_model)
|
||||
combo.set_text_column(0)
|
||||
|
||||
- for m in ["raw", "qcow2", "vmdk"]:
|
||||
- formats = ["raw", "qcow2"]
|
||||
- if vm.rhel6_defaults():
|
||||
- formats.append("vmdk")
|
||||
-
|
||||
- for m in formats:
|
||||
- dev_model.append([m])
|
||||
+ if vm.get_connection().is_xen():
|
||||
+ if vm.conn.is_xen():
|
||||
+ for m in ["raw", "qcow2", "vmdk"]:
|
||||
+ dev_model.append([m])
|
||||
+ else:
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: virt-manager-0.8.7/src/virtManager/engine.py
|
||||
Index: virt-manager-0.9.0/src/virtManager/engine.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/engine.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/engine.py
|
||||
--- virt-manager-0.9.0.orig/src/virtManager/engine.py
|
||||
+++ virt-manager-0.9.0/src/virtManager/engine.py
|
||||
@@ -41,7 +41,6 @@ from virtManager.manager import vmmManag
|
||||
from virtManager.migrate import vmmMigrateDialog
|
||||
from virtManager.details import vmmDetails
|
||||
@ -10,15 +10,7 @@ Index: virt-manager-0.8.7/src/virtManager/engine.py
|
||||
from virtManager.host import vmmHost
|
||||
from virtManager.error import vmmErrorDialog
|
||||
from virtManager.systray import vmmSystray
|
||||
@@ -222,6 +221,7 @@ class vmmEngine(vmmGObject):
|
||||
self.windowCreate = None
|
||||
self.windowManager = None
|
||||
self.windowMigrate = None
|
||||
+ self.remote_install = False
|
||||
|
||||
self.connections = {}
|
||||
self.err = vmmErrorDialog()
|
||||
@@ -705,12 +705,48 @@ class vmmEngine(vmmGObject):
|
||||
@@ -818,11 +817,45 @@ class vmmEngine(vmmGObject):
|
||||
self.windowCreate = obj
|
||||
return self.windowCreate
|
||||
|
||||
@ -27,15 +19,11 @@ Index: virt-manager-0.8.7/src/virtManager/engine.py
|
||||
+
|
||||
def _do_show_create(self, src, uri):
|
||||
- try:
|
||||
- self._get_create_dialog().show(uri)
|
||||
- self._get_create_dialog().show(src.topwin, uri)
|
||||
- except Exception, e:
|
||||
- src.err.show_err(_("Error launching manager: %s") % str(e),
|
||||
- "".join(traceback.format_exc()))
|
||||
+ if uri:
|
||||
- src.err.show_err(_("Error launching manager: %s") % str(e))
|
||||
+ conn = self._lookup_connection(uri)
|
||||
+ do_remote = conn.is_remote()
|
||||
+ else:
|
||||
+ do_remote = False
|
||||
+ if self.windowCreate == None or do_remote != self.remote_install:
|
||||
+ try:
|
||||
+ if do_remote:
|
||||
@ -72,20 +60,11 @@ Index: virt-manager-0.8.7/src/virtManager/engine.py
|
||||
|
||||
def _do_show_migrate(self, src, uri, uuid):
|
||||
try:
|
||||
Index: virt-manager-0.8.7/src/virtManager/create.py
|
||||
Index: virt-manager-0.9.0/src/virtManager/create.py
|
||||
===================================================================
|
||||
--- virt-manager-0.8.7.orig/src/virtManager/create.py
|
||||
+++ virt-manager-0.8.7/src/virtManager/create.py
|
||||
@@ -63,6 +63,8 @@ class vmmCreate(vmmGObjectUI):
|
||||
gobject.TYPE_NONE, (str, str)),
|
||||
"action-show-help": (gobject.SIGNAL_RUN_FIRST,
|
||||
gobject.TYPE_NONE, [str]),
|
||||
+ "vmmcreate-closing": (gobject.SIGNAL_RUN_FIRST,
|
||||
+ gobject.TYPE_NONE, (int,)),
|
||||
}
|
||||
|
||||
def __init__(self, engine):
|
||||
@@ -151,6 +153,7 @@ class vmmCreate(vmmGObjectUI):
|
||||
--- virt-manager-0.9.0.orig/src/virtManager/create.py
|
||||
+++ virt-manager-0.9.0/src/virtManager/create.py
|
||||
@@ -154,6 +154,7 @@ class vmmCreate(vmmGObjectUI):
|
||||
self.topwin.present()
|
||||
|
||||
def close(self, ignore1=None, ignore2=None):
|
||||
@ -93,3 +72,8 @@ Index: virt-manager-0.8.7/src/virtManager/create.py
|
||||
self.topwin.hide()
|
||||
self.remove_timers()
|
||||
|
||||
@@ -2127,3 +2128,4 @@ class vmmCreate(vmmGObjectUI):
|
||||
vmmGObjectUI.type_register(vmmCreate)
|
||||
vmmCreate.signal_new(vmmCreate, "action-show-vm", [str, str])
|
||||
vmmCreate.signal_new(vmmCreate, "action-show-help", [str])
|
||||
+vmmCreate.signal_new(vmmCreate, "vmmcreate-closing", [str])
|
||||
|
Loading…
Reference in New Issue
Block a user