Accepting request 329789 from Virtualization

Bug fixes

OBS-URL: https://build.opensuse.org/request/show/329789
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virt-manager?expand=0&rev=126
This commit is contained in:
Dominique Leuenberger 2015-09-09 18:21:11 +00:00 committed by Git OBS Bridge
commit 9387259397
8 changed files with 132 additions and 89 deletions

View File

@ -0,0 +1,68 @@
Subject: guest: Don't try to set vmport on non-x86, it isn't supported (bz 1259998)
From: Cole Robinson crobinso@redhat.com Fri Sep 4 12:14:22 2015 -0400
Date: Fri Sep 4 12:14:22 2015 -0400:
Git: 5e68b0fc3d9b93491817a3c1914fa9b3633440b6
Index: virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-machdefault-f20.xml
===================================================================
--- virt-manager-1.2.1.orig/tests/cli-test-xml/compare/virt-install-ppc64-machdefault-f20.xml
+++ virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-machdefault-f20.xml
@@ -8,12 +8,6 @@
<type arch="ppc64" machine="pseries">hvm</type>
<boot dev="network"/>
</os>
- <features>
- <acpi/>
- <apic/>
- <pae/>
- <vmport state="off"/>
- </features>
<clock offset="utc"/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
Index: virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-pseries-f20.xml
===================================================================
--- virt-manager-1.2.1.orig/tests/cli-test-xml/compare/virt-install-ppc64-pseries-f20.xml
+++ virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-pseries-f20.xml
@@ -8,12 +8,6 @@
<type arch="ppc64" machine="pseries">hvm</type>
<boot dev="network"/>
</os>
- <features>
- <acpi/>
- <apic/>
- <pae/>
- <vmport state="off"/>
- </features>
<clock offset="utc"/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
Index: virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64le-kvm-import.xml
===================================================================
--- virt-manager-1.2.1.orig/tests/cli-test-xml/compare/virt-install-ppc64le-kvm-import.xml
+++ virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64le-kvm-import.xml
@@ -8,11 +8,6 @@
<type arch="ppc64le" machine="pseries">hvm</type>
<boot dev="hd"/>
</os>
- <features>
- <acpi/>
- <apic/>
- <vmport state="off"/>
- </features>
<clock offset="utc"/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
Index: virt-manager-1.2.1/virtinst/guest.py
===================================================================
--- virt-manager-1.2.1.orig/virtinst/guest.py
+++ virt-manager-1.2.1/virtinst/guest.py
@@ -847,6 +847,7 @@ class Guest(XMLBuilder):
self.features.pae = self.conn.caps.supports_pae()
if (self.features.vmport == "default" and
+ self.os.is_x86() and
self.has_spice() and
self.conn.check_support(self.conn.SUPPORT_CONN_VMPORT)):
self.features.vmport = False

View File

@ -1,4 +1,8 @@
References: bsc#941464 Subject: storage: fix default storage pool lookup
From: Charles Arnold carnold@suse.com Wed Aug 12 16:00:14 2015 -0600
Date: Mon Aug 31 18:25:37 2015 -0400:
Git: eb92178e0c208c20c658dd3f38caf377bb788ae4
virt-convert fails when the storage pool is already present but virt-convert fails when the storage pool is already present but
is not called 'default'. is not called 'default'.
@ -6,19 +10,26 @@ If the 'default' pool has been removed but another pool uses the
default location of /var/lib/libvirt/images virt-convert will fail default location of /var/lib/libvirt/images virt-convert will fail
to find the pool and attempt to create another one with the same to find the pool and attempt to create another one with the same
path. This causes the conversion to fail. path. This causes the conversion to fail.
Index: virt-manager-1.2.1/virtinst/storage.py
=================================================================== Signed-off-by: Charles Arnold <carnold@suse.com>
--- virt-manager-1.2.1.orig/virtinst/storage.py
+++ virt-manager-1.2.1/virtinst/storage.py (crobinso: Remove now-redundant 'pass')
@@ -209,10 +209,11 @@ class StoragePool(_StorageObject):
diff --git a/virtinst/storage.py b/virtinst/storage.py
index 285acb8..d3d867a 100644
--- a/virtinst/storage.py
+++ b/virtinst/storage.py
@@ -209,10 +209,12 @@ class StoragePool(_StorageObject):
try: try:
pool = conn.storagePoolLookupByName(name) pool = conn.storagePoolLookupByName(name)
except libvirt.libvirtError: except libvirt.libvirtError:
- pass
+ # Try default pool path when "default" name fails
+ pool = StoragePool.lookup_pool_by_path(conn, path) + pool = StoragePool.lookup_pool_by_path(conn, path)
pass
if pool: if pool:
- return - return
+ # This is a libvirt pool object so create a StoragePool from it
+ return StoragePool(conn, parsexml=pool.XMLDesc(0)) + return StoragePool(conn, parsexml=pool.XMLDesc(0))
try: try:

View File

@ -1,3 +1,26 @@
-------------------------------------------------------------------
Tue Sep 8 15:59:53 MDT 2015 - carnold@suse.com
- bsc#942796 - Virtualization/virt-manager: Missing dependeny
virt-manager.spec
-------------------------------------------------------------------
Thu Sep 3 10:43:15 MDT 2015 - carnold@suse.com
- bsc#944374 - virt-manager uninstallable on aarch64
virt-manager.spec
- Add upstream bug fix
5e68b0fc-dont-try-to-set-vmport-on-non-x86.patch
- Drop virtinst-detect-windows-media.patch as this is not needed
now that we use libosinfo
-------------------------------------------------------------------
Mon Aug 31 16:41:28 MDT 2015 - carnold@suse.com
- Drop virtinst-fix-storage-pool-lookup.patch in favor of upstream
version (bsc#941464).
eb92178e-virtinst-fix-storage-pool-lookup.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Aug 26 15:32:59 MDT 2015 - carnold@suse.com Wed Aug 26 15:32:59 MDT 2015 - carnold@suse.com

View File

@ -1,7 +1,7 @@
# #
# spec file for package virt-manager # spec file for package virt-manager
# #
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -45,6 +45,8 @@ Patch5: a9b303fb-fix-copy-host-cpu-definition.patch
Patch6: f81358b0-dont-display-error-if-machine-is-missing-in-XML.patch Patch6: f81358b0-dont-display-error-if-machine-is-missing-in-XML.patch
Patch7: aebebbf8-report-an-error-for-pxe-install-without-network.patch Patch7: aebebbf8-report-an-error-for-pxe-install-without-network.patch
Patch8: 4970615f-fix-qemu-vs-lxc-detection.patch Patch8: 4970615f-fix-qemu-vs-lxc-detection.patch
Patch9: eb92178e-virtinst-fix-storage-pool-lookup.patch
Patch10: 5e68b0fc-dont-try-to-set-vmport-on-non-x86.patch
# SUSE Only # SUSE Only
Patch70: virtman-desktop.patch Patch70: virtman-desktop.patch
Patch71: virtman-kvm.patch Patch71: virtman-kvm.patch
@ -70,10 +72,9 @@ Patch121: virtinst-default-xen-to-qcow2-format.patch
Patch123: virtinst-detect-oes-distros.patch Patch123: virtinst-detect-oes-distros.patch
Patch124: virtinst-modify-gui-defaults.patch Patch124: virtinst-modify-gui-defaults.patch
Patch125: virtinst-vol-default-nocow.patch Patch125: virtinst-vol-default-nocow.patch
Patch126: virtinst-detect-windows-media.patch Patch126: virtinst-set-cache-mode-unsafe-for-install.patch
Patch127: virtinst-set-cache-mode-unsafe-for-install.patch Patch127: virtinst-add-default-rng-device.patch
Patch128: virtinst-add-default-rng-device.patch Patch128: virtinst-set-qemu-emulator.patch
Patch129: virtinst-set-qemu-emulator.patch
# Bug Fixes # Bug Fixes
Patch150: virtman-supported-disk-formats.patch Patch150: virtman-supported-disk-formats.patch
Patch151: virtman-prevent-double-click-starting-vm-twice.patch Patch151: virtman-prevent-double-click-starting-vm-twice.patch
@ -85,7 +86,6 @@ Patch160: virtinst-xen-drive-type.patch
Patch161: virtinst-xenbus-disk-index-fix.patch Patch161: virtinst-xenbus-disk-index-fix.patch
Patch162: virtinst-refresh_before_fetch_pool.patch Patch162: virtinst-refresh_before_fetch_pool.patch
Patch163: virtinst-replace-unar-with-other-archivers.patch Patch163: virtinst-replace-unar-with-other-archivers.patch
Patch164: virtinst-fix-storage-pool-lookup.patch
BuildArch: noarch BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -95,30 +95,18 @@ Requires: dbus-1-x11
Requires: dconf Requires: dconf
Requires: gtk3 Requires: gtk3
Requires: python-gconf Requires: python-gconf
Requires: virt-manager-common = %{verrel}
Requires: vm-install >= 0.5.6
# Typelib's
Requires: typelib(GVnc)
Requires: typelib(GtkVnc)
Requires: typelib(LibvirtGLib)
Requires: typelib(SpiceClientGtk)
Requires: typelib(Vte)
# For console widget # For console widget
Requires: python-gobject-cairo Requires: python-gobject-cairo
Recommends: python-SpiceClientGtk Recommends: python-SpiceClientGtk
Requires: virt-install Requires: virt-install
Requires: virt-manager-common = %{verrel}
Recommends: vm-install >= 0.5.6
%if %{with_guestfs} %if %{with_guestfs}
Requires: python-libguestfs Requires: python-libguestfs
%endif %endif
BuildRequires: glib2-devel BuildRequires: glib2-devel
%if 0%{?suse_version} > 1320
BuildRequires: gobject-introspection
%endif
BuildRequires: intltool BuildRequires: intltool
BuildRequires: perl BuildRequires: perl
BuildRequires: python BuildRequires: python
@ -142,7 +130,17 @@ Requires: libvirt-python >= 0.7.0
Requires: python-ipaddr Requires: python-ipaddr
Requires: python-libxml2 Requires: python-libxml2
Requires: python-urlgrabber Requires: python-urlgrabber
%if 0%{?is_opensuse}
BuildRequires: gobject-introspection
%else
Recommends: typelib(AppIndicator3)
Requires: typelib(GVnc)
Requires: typelib(GtkVnc)
Requires: typelib(Libosinfo) Requires: typelib(Libosinfo)
Requires: typelib(LibvirtGLib)
Requires: typelib(SpiceClientGtk)
Requires: typelib(Vte)
%endif
%description common %description common
Common files used by the different virt-manager interfaces, as well as Common files used by the different virt-manager interfaces, as well as
@ -178,6 +176,8 @@ machine).
%patch6 -p1 %patch6 -p1
%patch7 -p1 %patch7 -p1
%patch8 -p1 %patch8 -p1
%patch9 -p1
%patch10 -p1
# SUSE Only # SUSE Only
%patch70 -p1 %patch70 -p1
%patch71 -p1 %patch71 -p1
@ -206,7 +206,6 @@ machine).
%patch126 -p1 %patch126 -p1
%patch127 -p1 %patch127 -p1
%patch128 -p1 %patch128 -p1
%patch129 -p1
# Bug Fixes # Bug Fixes
%patch150 -p1 %patch150 -p1
%patch151 -p1 %patch151 -p1
@ -218,7 +217,6 @@ machine).
%patch161 -p1 %patch161 -p1
%patch162 -p1 %patch162 -p1
%patch163 -p1 %patch163 -p1
%patch164 -p1
%build %build
%if %{qemu_user} %if %{qemu_user}

View File

@ -1,57 +0,0 @@
Enhancement to detect windows media. It is based solely upon
finding an autorun.inf file in the root of the installation source.
It only assumes windows, not the specific version of windows.
Index: virt-manager-1.2.0/virtinst/urlfetcher.py
===================================================================
--- virt-manager-1.2.0.orig/virtinst/urlfetcher.py
+++ virt-manager-1.2.0/virtinst/urlfetcher.py
@@ -408,6 +408,24 @@ def _distroFromSUSEContent(fetcher, arch
return ob
+def _distroFromAutorun(fetcher, arch, vmtype=None):
+ # Just look for autorun.inf (also in uppercase)
+ # If present media is likely from a windows iso.
+ distro_version = None
+ if not fetcher.hasFile("autorun.inf"):
+ return None
+
+ dclass = WindowsDistro
+
+ ob = dclass(fetcher, arch, vmtype)
+ if dclass != GenericDistro:
+ ob.content = distro_version
+
+ # Explictly call this, so we populate os_type/variant info
+ ob.isValidStore()
+
+ return ob
+
def getDistroStore(guest, fetcher):
stores = []
logging.debug("Finding distro store for location=%s", fetcher.location)
@@ -427,6 +445,10 @@ def getDistroStore(guest, fetcher):
if dist:
return dist
+ dist = _distroFromAutorun(fetcher, arch, _type)
+ if dist:
+ return dist
+
stores = _allstores[:]
# If user manually specified an os_distro, bump it's URL class
@@ -1175,6 +1197,13 @@ class ALTLinuxDistro(Distro):
logging.debug("Regex didn't match, not a %s distro", self.name)
return False
+class WindowsDistro(Distro):
+
+ urldistro = "windows"
+ os_variant = "win8.1"
+
+ def isValidStore(self):
+ return False
# Build list of all *Distro classes
def _build_distro_list():

View File

@ -3,7 +3,7 @@ Index: virt-manager-1.2.1/virtinst/storage.py
=================================================================== ===================================================================
--- virt-manager-1.2.1.orig/virtinst/storage.py --- virt-manager-1.2.1.orig/virtinst/storage.py
+++ virt-manager-1.2.1/virtinst/storage.py +++ virt-manager-1.2.1/virtinst/storage.py
@@ -447,7 +447,7 @@ class StoragePool(_StorageObject): @@ -449,7 +449,7 @@ class StoragePool(_StorageObject):
def list_formats(self): def list_formats(self):
if self.type == self.TYPE_FS: if self.type == self.TYPE_FS:
return ["auto", "ext2", "ext3", "ext4", "ufs", "iso9660", "udf", return ["auto", "ext2", "ext3", "ext4", "ufs", "iso9660", "udf",

View File

@ -8,7 +8,7 @@ Index: virt-manager-1.2.1/virtinst/storage.py
=================================================================== ===================================================================
--- virt-manager-1.2.1.orig/virtinst/storage.py --- virt-manager-1.2.1.orig/virtinst/storage.py
+++ virt-manager-1.2.1/virtinst/storage.py +++ virt-manager-1.2.1/virtinst/storage.py
@@ -716,6 +716,11 @@ class StorageVolume(_StorageObject): @@ -718,6 +718,11 @@ class StorageVolume(_StorageObject):
lazy_refcounts = XMLProperty("./target/features/lazy_refcounts", lazy_refcounts = XMLProperty("./target/features/lazy_refcounts",
is_bool=True, default_cb=_lazy_refcounts_default_cb) is_bool=True, default_cb=_lazy_refcounts_default_cb)

View File

@ -75,7 +75,7 @@ Index: virt-manager-1.2.1/virtinst/guest.py
return return
self.add_device(VirtualGraphics(self.conn)) self.add_device(VirtualGraphics(self.conn))
@@ -956,7 +961,7 @@ class Guest(XMLBuilder): @@ -957,7 +962,7 @@ class Guest(XMLBuilder):
if self._hv_only_supports_virtio(): if self._hv_only_supports_virtio():
return True return True