- Upstream bug fixes
535fb6f6-hide-scrollbar-until-something-scrollable.patch 535fe0c2-fix-screenshot-with-qxl-spice.patch 535feaca-fix-storage-when-directory-name-contains-whitespace.patch 535ff0b7-fix-install-when-one-package-is-already-installed.patch 536152fe-fix-error-detecting-OS-in-show-all-list.patch 536154d8-show-error-if-launching-delete-dialog-fails.patch 53615662-call-path_exists-before-getting-storage-volume.patch - s390x: Set the correct emulator virtinst-set-qemu-emulator.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=169
This commit is contained in:
parent
24c47c97a8
commit
78a202101a
25
535fb6f6-hide-scrollbar-until-something-scrollable.patch
Normal file
25
535fb6f6-hide-scrollbar-until-something-scrollable.patch
Normal file
@ -0,0 +1,25 @@
|
||||
Subject: serialcon: Hide scrollbar until there's something to scroll
|
||||
From: Cole Robinson crobinso@redhat.com Fri Apr 25 19:13:44 2014 -0400
|
||||
Date: Tue Apr 29 10:28:06 2014 -0400:
|
||||
Git: 02f49be9e2f58032a7c124ea77d7983834dc80b6
|
||||
|
||||
|
||||
Index: virt-manager-1.0.1/virtManager/serialcon.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.1.orig/virtManager/serialcon.py
|
||||
+++ virt-manager-1.0.1/virtManager/serialcon.py
|
||||
@@ -378,6 +378,14 @@ class vmmSerialConsole(vmmGObject):
|
||||
self.box.append_page(self.error_label, Gtk.Label(""))
|
||||
self.box.show_all()
|
||||
|
||||
+ scrollbar.hide()
|
||||
+ scrollbar.get_adjustment().connect(
|
||||
+ "changed", self._scrollbar_adjustment_changed, scrollbar)
|
||||
+
|
||||
+ def _scrollbar_adjustment_changed(self, adjustment, scrollbar):
|
||||
+ scrollbar.set_visible(
|
||||
+ adjustment.get_upper() > adjustment.get_page_size())
|
||||
+
|
||||
def _cleanup(self):
|
||||
self.console.cleanup()
|
||||
self.console = None
|
22
535fe0c2-fix-screenshot-with-qxl-spice.patch
Normal file
22
535fe0c2-fix-screenshot-with-qxl-spice.patch
Normal file
@ -0,0 +1,22 @@
|
||||
Subject: snapshots: Fix screenshot with qxl+spice (bz 1089780)
|
||||
From: Cole Robinson crobinso@redhat.com Tue Apr 29 13:26:26 2014 -0400
|
||||
Date: Tue Apr 29 13:26:26 2014 -0400:
|
||||
Git: 2272166844f84943342fc097af927a09737ee57f
|
||||
|
||||
|
||||
Index: virt-manager-1.0.1/virtManager/snapshots.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.1.orig/virtManager/snapshots.py
|
||||
+++ virt-manager-1.0.1/virtManager/snapshots.py
|
||||
@@ -379,6 +379,11 @@ class vmmSnapshotPage(vmmGObjectUI):
|
||||
return
|
||||
|
||||
try:
|
||||
+ # Perform two screenshots, because qemu + qxl has a bug where
|
||||
+ # screenshot generally only shows the data from the previous
|
||||
+ # screenshot request:
|
||||
+ # https://bugs.launchpad.net/qemu/+bug/1314293
|
||||
+ self._take_screenshot()
|
||||
mime, sdata = self._take_screenshot()
|
||||
except:
|
||||
logging.exception("Error taking screenshot")
|
@ -0,0 +1,29 @@
|
||||
Subject: Fix using storage when the directory name contains whitespace (bz 1091384)
|
||||
From: Cole Robinson crobinso@redhat.com Tue Apr 29 14:09:14 2014 -0400
|
||||
Date: Tue Apr 29 14:09:14 2014 -0400:
|
||||
Git: feadd98fed045ec40d5d5cf8250c7b05517eb9c9
|
||||
|
||||
|
||||
diff --git a/virtinst/diskbackend.py b/virtinst/diskbackend.py
|
||||
index 370996c..3d5aed8 100644
|
||||
--- a/virtinst/diskbackend.py
|
||||
+++ b/virtinst/diskbackend.py
|
||||
@@ -137,13 +137,14 @@ def manage_path(conn, path):
|
||||
return vol, pool, path_is_pool
|
||||
|
||||
dirname = os.path.dirname(path)
|
||||
- poolname = StoragePool.find_free_name(
|
||||
- conn, os.path.basename(dirname) or "pool")
|
||||
+ poolname = os.path.basename(dirname).replace(" ", "_")
|
||||
+ if not poolname:
|
||||
+ poolname = "dirpool"
|
||||
+ poolname = StoragePool.find_free_name(conn, poolname)
|
||||
logging.debug("Attempting to build pool=%s target=%s", poolname, dirname)
|
||||
|
||||
poolxml = StoragePool(conn)
|
||||
- poolxml.name = poolxml.find_free_name(
|
||||
- conn, os.path.basename(dirname) or "dirpool")
|
||||
+ poolxml.name = poolname
|
||||
poolxml.type = poolxml.TYPE_DIR
|
||||
poolxml.target_path = dirname
|
||||
pool = poolxml.install(build=False, create=True, autostart=True)
|
@ -0,0 +1,41 @@
|
||||
Subject: packageutils: Fix install when one package is already installed (bz 1090181)
|
||||
From: Cole Robinson crobinso@redhat.com Tue Apr 29 14:34:31 2014 -0400
|
||||
Date: Tue Apr 29 14:34:31 2014 -0400:
|
||||
Git: 15449eb12601ec1b88aa6d8ee52986ef5ab41ae2
|
||||
|
||||
|
||||
Index: virt-manager-1.0.1/virtManager/packageutils.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.1.orig/virtManager/packageutils.py
|
||||
+++ virt-manager-1.0.1/virtManager/packageutils.py
|
||||
@@ -53,7 +53,12 @@ def check_packagekit(parent, errbox, pac
|
||||
return
|
||||
|
||||
try:
|
||||
- packagekit_install(parent, packages)
|
||||
+ for package in packages[:]:
|
||||
+ if packagekit_isinstalled(package):
|
||||
+ packages.remove(package)
|
||||
+
|
||||
+ if packages:
|
||||
+ packagekit_install(parent, packages)
|
||||
except Exception, e:
|
||||
# PackageKit frontend should report an error for us, so just log
|
||||
# the actual error
|
||||
@@ -63,6 +68,16 @@ def check_packagekit(parent, errbox, pac
|
||||
return True
|
||||
|
||||
|
||||
+def packagekit_isinstalled(package):
|
||||
+ bus = Gio.bus_get_sync(Gio.BusType.SESSION, None)
|
||||
+ pk_control = Gio.DBusProxy.new_sync(bus, 0, None,
|
||||
+ "org.freedesktop.PackageKit",
|
||||
+ "/org/freedesktop/PackageKit",
|
||||
+ "org.freedesktop.PackageKit.Query", None)
|
||||
+
|
||||
+ return pk_control.IsInstalled("(ss)", package, "")
|
||||
+
|
||||
+
|
||||
def packagekit_install(parent, package_list):
|
||||
bus = Gio.bus_get_sync(Gio.BusType.SESSION, None)
|
||||
pk_control = Gio.DBusProxy.new_sync(bus, 0, None,
|
29
536152fe-fix-error-detecting-OS-in-show-all-list.patch
Normal file
29
536152fe-fix-error-detecting-OS-in-show-all-list.patch
Normal file
@ -0,0 +1,29 @@
|
||||
Subject: create: Fix error when detecting OS in 'show all' list
|
||||
From: Cole Robinson crobinso@redhat.com Wed Apr 30 15:46:06 2014 -0400
|
||||
Date: Wed Apr 30 15:46:06 2014 -0400:
|
||||
Git: 3d49bbe6494ac1fa9305c019df1db81371a89385
|
||||
|
||||
The will be free'd when the widget is repopulated, so don't access
|
||||
stale data.
|
||||
|
||||
Index: virt-manager-1.0.1/virtManager/create.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.1.orig/virtManager/create.py
|
||||
+++ virt-manager-1.0.1/virtManager/create.py
|
||||
@@ -1181,6 +1181,7 @@ class vmmCreate(vmmGObjectUI):
|
||||
type_row = self._selected_os_row()
|
||||
if not type_row:
|
||||
return
|
||||
+ old_type = type_row[0]
|
||||
|
||||
self.show_all_os = True
|
||||
self.populate_os_type_model()
|
||||
@@ -1188,7 +1189,7 @@ class vmmCreate(vmmGObjectUI):
|
||||
os_type_list = self.widget("install-os-type")
|
||||
os_type_model = os_type_list.get_model()
|
||||
for idx in range(len(os_type_model)):
|
||||
- if os_type_model[idx][0] == type_row[0]:
|
||||
+ if os_type_model[idx][0] == old_type:
|
||||
os_type_list.set_active(idx)
|
||||
break
|
||||
|
23
536154d8-show-error-if-launching-delete-dialog-fails.patch
Normal file
23
536154d8-show-error-if-launching-delete-dialog-fails.patch
Normal file
@ -0,0 +1,23 @@
|
||||
Subject: engine: Show error if launching delete dialog fails
|
||||
From: Cole Robinson crobinso@redhat.com Wed Apr 30 15:54:00 2014 -0400
|
||||
Date: Wed Apr 30 15:54:00 2014 -0400:
|
||||
Git: f35438a01bbf3ba54b4e448d14e7981110a74f08
|
||||
|
||||
|
||||
Index: virt-manager-1.0.1/virtManager/engine.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.1.orig/virtManager/engine.py
|
||||
+++ virt-manager-1.0.1/virtManager/engine.py
|
||||
@@ -1176,6 +1176,9 @@ class vmmEngine(vmmGObject):
|
||||
conn = self._lookup_conn(uri)
|
||||
vm = conn.get_vm(uuid)
|
||||
|
||||
- if not self.delete_dialog:
|
||||
- self.delete_dialog = vmmDeleteDialog()
|
||||
- self.delete_dialog.show(vm, src.topwin)
|
||||
+ try:
|
||||
+ if not self.delete_dialog:
|
||||
+ self.delete_dialog = vmmDeleteDialog()
|
||||
+ self.delete_dialog.show(vm, src.topwin)
|
||||
+ except Exception, e:
|
||||
+ src.err.show_err(_("Error launching delete dialog: %s") % str(e))
|
@ -0,0 +1,24 @@
|
||||
Subject: connection: Call path_exists before getting storage volume (bz 1092739)
|
||||
From: Cole Robinson crobinso@redhat.com Wed Apr 30 16:00:34 2014 -0400
|
||||
Date: Wed Apr 30 16:00:34 2014 -0400:
|
||||
Git: 5c28a00d3e28ba7446f323a31ac47a194eb200b1
|
||||
|
||||
path_exists will check to ensure the volume actually survives a pool
|
||||
refresh, incase it was deleted behind libvirt's back. This makes the
|
||||
delete dialog happier at least.
|
||||
|
||||
Index: virt-manager-1.0.1/virtManager/connection.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.1.orig/virtManager/connection.py
|
||||
+++ virt-manager-1.0.1/virtManager/connection.py
|
||||
@@ -751,6 +751,10 @@ class vmmConnection(vmmGObject):
|
||||
return self.get_pool_by_name("default")
|
||||
|
||||
def get_vol_by_path(self, path):
|
||||
+ # path_exists will handle stuff like refreshing a busted pool
|
||||
+ if not virtinst.VirtualDisk.path_exists(self.get_backend(), path):
|
||||
+ return None
|
||||
+
|
||||
for pool in self.pools.values():
|
||||
for vol in pool.get_volumes().values():
|
||||
if vol.get_target_path() == path:
|
@ -1,3 +1,21 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 30 07:24:54 MDT 2014 - carnold@suse.com
|
||||
|
||||
- Upstream bug fixes
|
||||
535fb6f6-hide-scrollbar-until-something-scrollable.patch
|
||||
535fe0c2-fix-screenshot-with-qxl-spice.patch
|
||||
535feaca-fix-storage-when-directory-name-contains-whitespace.patch
|
||||
535ff0b7-fix-install-when-one-package-is-already-installed.patch
|
||||
536152fe-fix-error-detecting-OS-in-show-all-list.patch
|
||||
536154d8-show-error-if-launching-delete-dialog-fails.patch
|
||||
53615662-call-path_exists-before-getting-storage-volume.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 29 11:37:12 MDT 2014 - carnold@suse.com
|
||||
|
||||
- s390x: Set the correct emulator
|
||||
virtinst-set-qemu-emulator.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 28 15:21:58 MDT 2014 - carnold@suse.com
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
Name: virt-manager
|
||||
Version: 1.0.1
|
||||
Release: 0
|
||||
Release: 3.2
|
||||
Summary: Virtual Machine Manager
|
||||
License: GPL-2.0+
|
||||
Group: System/Monitoring
|
||||
@ -54,6 +54,13 @@ Patch15: 534d6406-display-the-domain-for-PCI-devices.patch
|
||||
Patch16: 534eafe4-avoid-useless-errors-when-connection-closes.patch
|
||||
Patch17: 5350d9cc-display-error-on-empty-installation-URL.patch
|
||||
Patch18: 535584ed-fix-target-validation-when-editing-device.patch
|
||||
Patch19: 535fb6f6-hide-scrollbar-until-something-scrollable.patch
|
||||
Patch20: 535fe0c2-fix-screenshot-with-qxl-spice.patch
|
||||
Patch21: 535feaca-fix-storage-when-directory-name-contains-whitespace.patch
|
||||
Patch22: 535ff0b7-fix-install-when-one-package-is-already-installed.patch
|
||||
Patch23: 536152fe-fix-error-detecting-OS-in-show-all-list.patch
|
||||
Patch24: 536154d8-show-error-if-launching-delete-dialog-fails.patch
|
||||
Patch25: 53615662-call-path_exists-before-getting-storage-volume.patch
|
||||
Patch50: virtman-desktop.patch
|
||||
Patch51: virtman-cdrom.patch
|
||||
Patch52: virtman-kvm.patch
|
||||
@ -190,6 +197,13 @@ machine).
|
||||
%patch16 -p1
|
||||
%patch17 -p1
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
%patch23 -p1
|
||||
%patch24 -p1
|
||||
%patch25 -p1
|
||||
%patch50 -p1
|
||||
%patch51 -p1
|
||||
%patch52 -p1
|
||||
|
@ -2,7 +2,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.1.orig/virtinst/urlfetcher.py
|
||||
+++ virt-manager-1.0.1/virtinst/urlfetcher.py
|
||||
@@ -379,6 +379,24 @@ def _distroFromContent(fetcher, arch, vm
|
||||
@@ -383,6 +383,24 @@ def _distroFromContent(fetcher, arch, vm
|
||||
|
||||
return ob
|
||||
|
||||
@ -27,7 +27,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
|
||||
def getDistroStore(guest, fetcher):
|
||||
stores = []
|
||||
logging.debug("Finding distro store for location=%s", fetcher.location)
|
||||
@@ -398,6 +416,10 @@ def getDistroStore(guest, fetcher):
|
||||
@@ -402,6 +420,10 @@ def getDistroStore(guest, fetcher):
|
||||
if dist:
|
||||
return dist
|
||||
|
||||
@ -38,7 +38,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
|
||||
# FIXME: This 'distro ==' doesn't cut it. 'distro' is from our os
|
||||
# dictionary, so would look like 'fedora9' or 'rhel5', so this needs
|
||||
# to be a bit more intelligent
|
||||
@@ -1144,6 +1166,13 @@ class ALTLinuxDistro(Distro):
|
||||
@@ -1148,6 +1170,13 @@ class ALTLinuxDistro(Distro):
|
||||
logging.debug("Regex didn't match, not a %s distro", self.name)
|
||||
return False
|
||||
|
||||
|
@ -10,12 +10,15 @@ Index: virt-manager-1.0.1/virtinst/guest.py
|
||||
import logging
|
||||
|
||||
import urlgrabber.progress as progress
|
||||
@@ -724,14 +725,19 @@ class Guest(XMLBuilder):
|
||||
@@ -724,14 +725,22 @@ class Guest(XMLBuilder):
|
||||
self.emulator = None
|
||||
return
|
||||
|
||||
- if self.emulator:
|
||||
+ if self.conn.is_qemu():
|
||||
+ if self.os.arch == "s390x":
|
||||
+ preferred_emulator = "/usr/bin/qemu-system-s390x"
|
||||
+ else:
|
||||
+ preferred_emulator = "/usr/bin/qemu-system-x86_64"
|
||||
+ else:
|
||||
+ preferred_emulator = "/usr/lib/xen/bin/qemu-system-i386"
|
||||
@ -31,7 +34,7 @@ Index: virt-manager-1.0.1/virtinst/guest.py
|
||||
+ self.emulator = preferred_emulator
|
||||
+ elif self.os.is_hvm() and self.type == "xen":
|
||||
+ self.emulator = "/usr/lib/xen/bin/qemu-dm"
|
||||
+ else:
|
||||
+ elif not self.emulator:
|
||||
+ self.emulator = "/usr/bin/qemu-kvm"
|
||||
|
||||
def _set_cpu_defaults(self):
|
||||
|
@ -37,7 +37,7 @@ Index: virt-manager-1.0.1/virtManager/create.py
|
||||
# Get previous
|
||||
type_row = self._selected_os_row()
|
||||
if not type_row:
|
||||
@@ -1589,7 +1612,10 @@ class vmmCreate(vmmGObjectUI):
|
||||
@@ -1590,7 +1613,10 @@ class vmmCreate(vmmGObjectUI):
|
||||
if extra:
|
||||
extraargs += extra
|
||||
if ks:
|
||||
@ -49,7 +49,7 @@ Index: virt-manager-1.0.1/virtManager/create.py
|
||||
|
||||
if extraargs:
|
||||
self.guest.installer.extraargs = extraargs
|
||||
@@ -1985,6 +2011,7 @@ class vmmCreate(vmmGObjectUI):
|
||||
@@ -1986,6 +2012,7 @@ class vmmCreate(vmmGObjectUI):
|
||||
dl = self.set_os_val(self.widget("install-os-type"), distro_type)
|
||||
vl = self.set_os_val(self.widget("install-os-version"), distro_var)
|
||||
self.set_distro_labels(dl, vl)
|
||||
|
@ -1,6 +1,8 @@
|
||||
--- virt-manager-1.0.0/virtManager/packageutils.py.orig 2014-03-13 14:43:07.187281364 -0600
|
||||
+++ virt-manager-1.0.0/virtManager/packageutils.py 2014-03-13 14:45:06.847936733 -0600
|
||||
@@ -136,8 +136,8 @@ def start_libvirtd():
|
||||
Index: virt-manager-1.0.1/virtManager/packageutils.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.1.orig/virtManager/packageutils.py
|
||||
+++ virt-manager-1.0.1/virtManager/packageutils.py
|
||||
@@ -151,8 +151,8 @@ def start_libvirtd():
|
||||
logging.debug("libvirtd not running, asking system-config-services "
|
||||
"to start it")
|
||||
scs = Gio.DBusProxy.new_sync(bus, 0, None,
|
||||
|
Loading…
Reference in New Issue
Block a user