virt-manager/virtman-packages.patch
Charles Arnold bac3f6bcbd - bsc#960828 - Unable to create qcow2 volumes on remote KVM with
virt-manager
  virtinst-vol-default-nocow.patch
- bsc#960724 - virt-manager fails to create Virtual machines on a
  CentOS7 host
  virtinst-set-qemu-emulator.patch
- Upstream bug fix
  89c3638b-fix-detection-that-libvirtd-is-stopped.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=290
2016-01-12 20:36:29 +00:00

108 lines
5.4 KiB
Diff

Reference: bnc#866287
This patch is for when virt-manager is installed but not libvirt
This is not a normal situation on a suse distro. Split out required
libvirt packages (kvm vs xen). Only install those libvirt packages
for which the host is booted. This patch has a corresponding spec
file change (%define libvirt_kvm_packages and %define libvirt_xen_packages).
Index: virt-manager-1.3.2/setup.py
===================================================================
--- virt-manager-1.3.2.orig/setup.py
+++ virt-manager-1.3.2/setup.py
@@ -299,8 +299,11 @@ class configure(distutils.core.Command):
("prefix=", None, "installation prefix"),
("qemu-user=", None,
"user libvirt uses to launch qemu processes (default=root)"),
- ("libvirt-package-names=", None,
- "list of libvirt distro packages virt-manager will check for on "
+ ("libvirt-kvm-package-names=", None,
+ "list of libvirt kvm distro packages virt-manager will check for on "
+ "first run. comma separated string (default=none)"),
+ ("libvirt-xen-package-names=", None,
+ "list of libvirt xen distro packages virt-manager will check for on "
"first run. comma separated string (default=none)"),
("kvm-package-names=", None,
"recommended kvm packages virt-manager will check for on first run "
@@ -326,7 +329,8 @@ class configure(distutils.core.Command):
def initialize_options(self):
self.prefix = sysprefix
self.qemu_user = None
- self.libvirt_package_names = None
+ self.libvirt_kvm_package_names = None
+ self.libvirt_xen_package_names = None
self.kvm_package_names = None
self.askpass_package_names = None
self.preferred_distros = None
@@ -341,8 +345,10 @@ class configure(distutils.core.Command):
template += "prefix = %s\n" % self.prefix
if self.qemu_user is not None:
template += "default_qemu_user = %s\n" % self.qemu_user
- if self.libvirt_package_names is not None:
- template += "libvirt_packages = %s\n" % self.libvirt_package_names
+ if self.libvirt_kvm_package_names is not None:
+ template += "libvirt_kvm_packages = %s\n" % self.libvirt_kvm_package_names
+ if self.libvirt_xen_package_names is not None:
+ template += "libvirt_xen_packages = %s\n" % self.libvirt_xen_package_names
if self.kvm_package_names is not None:
template += "hv_packages = %s\n" % self.kvm_package_names
if self.askpass_package_names is not None:
Index: virt-manager-1.3.2/virtcli/cliconfig.py
===================================================================
--- virt-manager-1.3.2.orig/virtcli/cliconfig.py
+++ virt-manager-1.3.2/virtcli/cliconfig.py
@@ -83,7 +83,8 @@ class _CLIConfig(object):
_get_param("preferred_distros", ""))
self.hv_packages = _split_list(_get_param("hv_packages", ""))
self.askpass_package = _split_list(_get_param("askpass_packages", ""))
- self.libvirt_packages = _split_list(_get_param("libvirt_packages", ""))
+ self.libvirt_kvm_packages = _split_list(_get_param("libvirt_kvm_packages", ""))
+ self.libvirt_xen_packages = _split_list(_get_param("libvirt_xen_packages", ""))
self.default_graphics = _get_param("default_graphics", "spice")
self.default_hvs = _split_list(_get_param("default_hvs", ""))
Index: virt-manager-1.3.2/virtManager/config.py
===================================================================
--- virt-manager-1.3.2.orig/virtManager/config.py
+++ virt-manager-1.3.2/virtManager/config.py
@@ -172,7 +172,8 @@ class vmmConfig(object):
self.default_qemu_user = CLIConfig.default_qemu_user
self.preferred_distros = CLIConfig.preferred_distros
self.hv_packages = CLIConfig.hv_packages
- self.libvirt_packages = CLIConfig.libvirt_packages
+ self.libvirt_kvm_packages = CLIConfig.libvirt_kvm_packages
+ self.libvirt_xen_packages = CLIConfig.libvirt_xen_packages
self.askpass_package = CLIConfig.askpass_package
self.default_graphics_from_config = CLIConfig.default_graphics
self.default_hvs = CLIConfig.default_hvs
Index: virt-manager-1.3.2/virtManager/engine.py
===================================================================
--- virt-manager-1.3.2.orig/virtManager/engine.py
+++ virt-manager-1.3.2/virtManager/engine.py
@@ -226,21 +226,18 @@ class vmmEngine(vmmGObject):
ret = None
try:
- libvirt_packages = self.config.libvirt_packages
- packages = self.config.hv_packages + libvirt_packages
+ tryuri = vmmConnect.default_uri()
+ if tryuri and tryuri.startswith('xen'):
+ packages = self.config.libvirt_xen_packages
+ else:
+ packages = self.config.libvirt_kvm_packages + self.config.hv_packages
ret = packageutils.check_packagekit(manager, manager.err, packages)
except:
logging.exception("Error talking to PackageKit")
- if ret:
- tryuri = "qemu:///system"
- else:
- tryuri = vmmConnect.default_uri()
-
if tryuri is None:
- manager.set_startup_error(msg)
- return
+ tryuri = "qemu:///system"
warnmsg = _("The 'libvirtd' service will need to be started.\n\n"
"After that, virt-manager will connect to libvirt on\n"