Hello community, here is the log from the commit of package virt-manager for openSUSE:Factory checked in at 2014-03-14 15:18:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/virt-manager (Old) and /work/SRC/openSUSE:Factory/.virt-manager.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virt-manager" Changes: -------- --- /work/SRC/openSUSE:Factory/virt-manager/virt-manager.changes 2014-03-11 17:28:42.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.virt-manager.new/virt-manager.changes 2014-03-14 15:18:06.000000000 +0100 @@ -1,0 +2,27 @@ +Tue Mar 13 08:19:52 MDT 2014 - carn...@suse.com + +- Fix start_libvirtd to correctly use systemd to start libvirtd + virtman-libvirtd-not-running.patch +- Upstream bug fixes + 531dd0ca-lxc-define-private-network.patch + 53207f40-invalidate-cached-caps.patch + 5320c976-fix-adding-empty-cdrom-floppy-drive.patch + +------------------------------------------------------------------- +Tue Mar 11 17:05:59 MDT 2014 - carn...@suse.com + +- bnc#867796 - virt-manager New Virtual Machine "Vm-install" + virtman-vminstall.patch + +------------------------------------------------------------------- +Tue Mar 11 09:12:07 MDT 2014 - carn...@suse.com + +- bnc#867749 - virt-manager polling connection + virtman-load-stored-uris.patch +- bnc#866287 - virt-manager suggests to install + "qemu / libvirt-daemon-qemu / libvirt-daemon-driver-network" at startup + virtman-packages.patch +- Use qemu-system-x86_64 instead of the deprecated qemu-kvm + virtman-kvm.patch + +------------------------------------------------------------------- New: ---- 531dd0ca-lxc-define-private-network.patch 53207f40-invalidate-cached-caps.patch 5320c976-fix-adding-empty-cdrom-floppy-drive.patch virtman-libvirtd-not-running.patch virtman-load-stored-uris.patch virtman-packages.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ virt-manager.spec ++++++ --- /var/tmp/diff_new_pack.e0ZbCG/_old 2014-03-14 15:18:07.000000000 +0100 +++ /var/tmp/diff_new_pack.e0ZbCG/_new 2014-03-14 15:18:07.000000000 +0100 @@ -19,9 +19,10 @@ %define with_guestfs 0 %define askpass_package "openssh-askpass" %define qemu_user "qemu" -%define libvirt_packages "libvirt-daemon-qemu,libvirt-daemon-driver-network" -%define preferred_distros "opensuse,sles" -%define kvm_packages "qemu" +%define libvirt_kvm_packages "libvirt-daemon-qemu" +%define libvirt_xen_packages "libvirt-daemon-xen" +%define preferred_distros "sles,opensuse" +%define kvm_packages "qemu-x86" %define _version 1.0.0 %define _release 1 @@ -60,6 +61,9 @@ Patch23: 5319db07-customize-add-disk-fix.patch Patch24: 531db6a7-new-volume-tooltip-logic.patch Patch25: 531dbfa7-handle-errors-when-deregistering-events-on-close.patch +Patch26: 531dd0ca-lxc-define-private-network.patch +Patch27: 53207f40-invalidate-cached-caps.patch +Patch28: 5320c976-fix-adding-empty-cdrom-floppy-drive.patch Patch50: virtman-desktop.patch Patch51: virtman-cdrom.patch Patch52: virtman-kvm.patch @@ -77,6 +81,9 @@ Patch70: virtman-autoyast-support.patch Patch71: virtman-vminstall.patch Patch72: virtman-show-suse-install-repos.patch +Patch73: virtman-packages.patch +Patch74: virtman-load-stored-uris.patch +Patch75: virtman-libvirtd-not-running.patch Patch150: virtinst-cdrom.patch Patch151: virtinst-storage-ocfs2.patch Patch152: virtinst-qed.patch @@ -88,11 +95,11 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build %define verrel %{version}-%{release} -Requires: dbus-1-x11 -Requires: dconf +Requires: virt-manager-common = %{verrel} Requires: gtk3 Requires: python-gconf -Requires: virt-manager-common = %{verrel} +Requires: dconf +Requires: dbus-1-x11 Requires: vm-install >= 0.5.6 # Libvirt-glib @@ -107,12 +114,12 @@ Requires: gtk-vnc2 Requires: libspice-client-glib-2_0-8 Requires: libspice-client-gtk-3_0-4 -Requires: python-gobject-cairo -Requires: typelib-1_0-GVnc-1_0 -Requires: typelib-1_0-Gtk-3_0 -Requires: typelib-1_0-GtkVnc-2_0 Requires: typelib-1_0-SpiceClientGlib-2_0 Requires: typelib-1_0-SpiceClientGtk-3_0 +Requires: typelib-1_0-Gtk-3_0 +Requires: typelib-1_0-GVnc-1_0 +Requires: typelib-1_0-GtkVnc-2_0 +Requires: python-gobject-cairo Recommends: python-SpiceClientGtk Requires: virt-install @@ -141,9 +148,9 @@ # This version not strictly required: virt-manager should work with older, # however varying amounts of functionality will not be enabled. Requires: libvirt-python >= 0.7.0 +Requires: python-urlgrabber Requires: python-ipaddr Requires: python-libxml2 -Requires: python-urlgrabber %description common Common files used by the different virt-manager interfaces, as well as @@ -156,10 +163,10 @@ Requires: virt-manager-common = %{verrel} -Provides: python-virtinst Provides: virt-clone -Provides: virt-convert Provides: virt-image +Provides: virt-convert +Provides: python-virtinst Obsoletes: python-virtinst <= 0.600.4 Supplements: virt-manager @@ -196,6 +203,9 @@ %patch23 -p1 %patch24 -p1 %patch25 -p1 +%patch26 -p1 +%patch27 -p1 +%patch28 -p1 %patch50 -p1 %patch51 -p1 %patch52 -p1 @@ -214,6 +224,9 @@ %patch70 -p1 %patch71 -p1 %patch72 -p1 +%patch73 -p1 +%patch74 -p1 +%patch75 -p1 #%patch150 -p1 use 'c' for cdrom %patch151 -p1 %patch152 -p1 @@ -235,8 +248,12 @@ %define _preferred_distros --preferred-distros=%{preferred_distros} %endif -%if %{libvirt_packages} -%define _libvirt_packages --libvirt-package-names=%{libvirt_packages} +%if %{libvirt_kvm_packages} +%define _libvirt_kvm_packages --libvirt-kvm-package-names=%{libvirt_kvm_packages} +%endif + +%if %{libvirt_xen_packages} +%define _libvirt_xen_packages --libvirt-xen-package-names=%{libvirt_xen_packages} %endif %if %{askpass_package} @@ -249,7 +266,8 @@ --default-graphics="spice" \ %{?_qemu_user} \ %{?_kvm_packages} \ - %{?_libvirt_packages} \ + %{?_libvirt_kvm_packages} \ + %{?_libvirt_xen_packages} \ %{?_askpass_package} \ %{?_preferred_distros} \ %{?_default_graphics} ++++++ 531dd0ca-lxc-define-private-network.patch ++++++ Subject: lxc: define a private network for OS containers From: Giuseppe Scrivano gscri...@redhat.com Mon Mar 10 15:25:14 2014 +0100 Date: Mon Mar 10 15:48:42 2014 +0100: Git: 75349b9cf075b229c027ef1fcabeb5ebac981cc8 By default, specify the the "<privnet>" feature with LXC operating system containers. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1040406 Signed-off-by: Giuseppe Scrivano <gscri...@redhat.com> Index: virt-manager-1.0.0/tests/cli-test-xml/compare/virt-install-fs-default.xml =================================================================== --- virt-manager-1.0.0.orig/tests/cli-test-xml/compare/virt-install-fs-default.xml +++ virt-manager-1.0.0/tests/cli-test-xml/compare/virt-install-fs-default.xml @@ -8,6 +8,9 @@ <type arch="x86_64">exe</type> <init>/sbin/init</init> </os> + <features> + <privnet/> + </features> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> Index: virt-manager-1.0.0/virtinst/guest.py =================================================================== --- virt-manager-1.0.0.orig/virtinst/guest.py +++ virt-manager-1.0.0/virtinst/guest.py @@ -1,7 +1,7 @@ # # Common code for all guests # -# Copyright 2006-2009, 2013 Red Hat, Inc. +# Copyright 2006-2009, 2013, 2014 Red Hat, Inc. # Jeremy Katz <ka...@redhat.com> # # This program is free software; you can redistribute it and/or modify @@ -645,12 +645,18 @@ class Guest(XMLBuilder): self._set_video_defaults() self._set_sound_defaults() + def _is_os_container(self): + if not self.os.is_container(): + return False + for fs in self.get_devices("filesystem"): + if fs.target == "/": + return True + return False + def _set_osxml_defaults(self): if self.os.is_container() and not self.os.init: - for fs in self.get_devices("filesystem"): - if fs.target == "/": - self.os.init = "/sbin/init" - break + if self._is_os_container(): + self.os.init = "/sbin/init" self.os.init = self.os.init or "/bin/sh" if not self.os.loader and self.os.is_hvm() and self.type == "xen": @@ -736,6 +742,8 @@ class Guest(XMLBuilder): self.features.acpi = None self.features.apic = None self.features.pae = None + if self._is_os_container(): + self.features.privnet = True return if not self.os.is_hvm(): ++++++ 53207f40-invalidate-cached-caps.patch ++++++ Subject: create: Invalidate cached caps across similar connections (bz 1075444) From: Cole Robinson crobi...@redhat.com Wed Mar 12 11:37:36 2014 -0400 Date: Wed Mar 12 11:37:36 2014 -0400: Git: 1cf8b629909ebbfb3caee235d03c7e9bb149091e diff --git a/virtManager/create.py b/virtManager/create.py index b4b1dfe..e8259dc 100644 --- a/virtManager/create.py +++ b/virtManager/create.py @@ -214,9 +214,9 @@ class vmmCreate(vmmGObjectUI): self.addstorage = None def remove_conn(self): - if not self.conn: - return self.conn = None + self.capsguest = None + self.capsdomain = None def set_conn(self, newconn, force_validate=False): if self.conn == newconn and not force_validate: ++++++ 5320c976-fix-adding-empty-cdrom-floppy-drive.patch ++++++ Subject: addhw: Fix adding empty cdrom/floppy drive From: Cole Robinson crobi...@redhat.com Wed Mar 12 16:54:14 2014 -0400 Date: Wed Mar 12 16:54:14 2014 -0400: Git: abb3920ac6b1e24d2f50faad2772e31ddabcb1c9 diff --git a/virtManager/addstorage.py b/virtManager/addstorage.py index 68558c9..2d15a57 100644 --- a/virtManager/addstorage.py +++ b/virtManager/addstorage.py @@ -324,11 +324,11 @@ class vmmAddStorage(vmmGObjectUI): if is_default: path = self._check_ideal_path(path, vmname, collidelist) - if not path and device != "disk": + if not path and device in ["disk", "lun"]: return self.err.val_err(_("A storage path must be specified.")) disk = virtinst.VirtualDisk(conn) - disk.path = path + disk.path = path or None disk.read_only = readonly disk.device = device disk.set_create_storage(size=size, sparse=sparse, ++++++ virtman-kvm.patch ++++++ --- /var/tmp/diff_new_pack.e0ZbCG/_old 2014-03-14 15:18:07.000000000 +0100 +++ /var/tmp/diff_new_pack.e0ZbCG/_new 2014-03-14 15:18:07.000000000 +0100 @@ -1,11 +1,13 @@ -Index: virt-manager-0.10.1/virtManager/connect.py +Index: virt-manager-1.0.0/virtManager/connect.py =================================================================== ---- virt-manager-0.10.1.orig/virtManager/connect.py -+++ virt-manager-0.10.1/virtManager/connect.py -@@ -111,6 +111,7 @@ class vmmConnect(vmmGObjectUI): +--- virt-manager-1.0.0.orig/virtManager/connect.py ++++ virt-manager-1.0.0/virtManager/connect.py +@@ -110,7 +110,8 @@ class vmmConnect(vmmGObjectUI): + if (os.path.exists("/usr/bin/qemu") or os.path.exists("/usr/bin/qemu-kvm") or - os.path.exists("/usr/bin/kvm") or +- os.path.exists("/usr/bin/kvm") or ++ os.path.exists("/usr/bin/qemu-system-x86_64") or + os.path.exists("/dev/kvm") or os.path.exists("/usr/libexec/qemu-kvm")): if always_system or os.geteuid() == 0: ++++++ virtman-libvirtd-not-running.patch ++++++ --- 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(): logging.debug("libvirtd not running, asking system-config-services " "to start it") scs = Gio.DBusProxy.new_sync(bus, 0, None, - "org.fedoraproject.Config.Services", - "/org/fedoraproject/Config/Services/systemd1", + "org.freedesktop.systemd1", + "/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", None) scs.StartUnit("(ss)", unitname, "replace") time.sleep(2) ++++++ virtman-load-stored-uris.patch ++++++ --- virt-manager-1.0.0/virtManager/engine.py.orig 2014-03-13 15:48:17.556984261 -0600 +++ virt-manager-1.0.0/virtManager/engine.py 2014-03-13 15:48:22.909014154 -0600 @@ -229,9 +229,22 @@ class vmmEngine(vmmGObject): if not uris: return logging.debug("About to connect to uris %s", uris) + tryuri = vmmConnect.default_uri(always_system=True) + found_uri = None for uri in uris: + # If booted Xen, don't try connecting to local qemu + # Likewise if booted native, don't try connecting to local xen + if uri == 'xen:///' or uri == 'qemu:///system': + if tryuri and tryuri != uri: + logging.debug("Skipping %s because it is incompatible with local host", uri) + continue + found_uri = True conn = self.make_conn(uri) self.register_conn(conn, skip_config=True) + if tryuri and found_uri is None: + logging.debug("Didn't connect with anything, try default %s", tryuri) + conn = self.make_conn(tryuri) + self.register_conn(conn, skip_config=False) def autostart_conns(self): """ ++++++ virtman-packages.patch ++++++ Index: virt-manager-1.0.0/setup.py =================================================================== --- virt-manager-1.0.0.orig/setup.py +++ virt-manager-1.0.0/setup.py @@ -310,8 +310,11 @@ class configure(Command): ("pkgversion=", None, "user specified version-id"), ("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 " @@ -335,7 +338,8 @@ class configure(Command): self.prefix = sysprefix self.pkgversion = None 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 @@ -351,8 +355,10 @@ class configure(Command): template += "pkgversion = %s\n" % self.pkgversion 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.0.0/virtcli/cliconfig.py =================================================================== --- virt-manager-1.0.0.orig/virtcli/cliconfig.py +++ virt-manager-1.0.0/virtcli/cliconfig.py @@ -86,5 +86,6 @@ stable_defaults = bool(int(_get_param("s preferred_distros = _split_list(_get_param("preferred_distros", "")) hv_packages = _split_list(_get_param("hv_packages", "")) askpass_package = _split_list(_get_param("askpass_packages", "")) -libvirt_packages = _split_list(_get_param("libvirt_packages", "")) +libvirt_kvm_packages = _split_list(_get_param("libvirt_kvm_packages", "")) +libvirt_xen_packages = _split_list(_get_param("libvirt_xen_packages", "")) default_graphics = _get_param("default_graphics", "spice") Index: virt-manager-1.0.0/virtManager/config.py =================================================================== --- virt-manager-1.0.0.orig/virtManager/config.py +++ virt-manager-1.0.0/virtManager/config.py @@ -160,7 +160,8 @@ class vmmConfig(object): self.stable_defaults = cliconfig.stable_defaults 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.cli_usbredir = None Index: virt-manager-1.0.0/virtManager/engine.py =================================================================== --- virt-manager-1.0.0.orig/virtManager/engine.py +++ virt-manager-1.0.0/virtManager/engine.py @@ -196,21 +196,17 @@ class vmmEngine(vmmGObject): ret = None try: - libvirt_packages = self.config.libvirt_packages - packages = self.config.hv_packages + libvirt_packages - + tryuri = vmmConnect.default_uri(always_system=True) + 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(always_system=True) - 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" ++++++ virtman-vminstall.patch ++++++ --- /var/tmp/diff_new_pack.e0ZbCG/_old 2014-03-14 15:18:07.000000000 +0100 +++ /var/tmp/diff_new_pack.e0ZbCG/_new 2014-03-14 15:18:07.000000000 +0100 @@ -106,7 +106,11 @@ =================================================================== --- virt-manager-1.0.0.orig/virtManager/engine.py +++ virt-manager-1.0.0/virtManager/engine.py -@@ -28,6 +28,8 @@ import logging +@@ -25,9 +25,12 @@ from gi.repository import Gtk + # pylint: enable=E0611 + + import logging ++import os import re import Queue import threading @@ -115,7 +119,7 @@ import libvirt from virtinst import util -@@ -76,6 +78,7 @@ class vmmEngine(vmmGObject): +@@ -76,6 +79,7 @@ class vmmEngine(vmmGObject): self.windowCreate = None self.windowManager = None self.windowMigrate = None @@ -123,7 +127,7 @@ self.conns = {} self.err = vmmErrorDialog() -@@ -841,6 +844,7 @@ class vmmEngine(vmmGObject): +@@ -841,6 +845,7 @@ class vmmEngine(vmmGObject): obj.connect("action-show-domain", self._do_show_vm) obj.connect("action-show-preferences", self._do_show_preferences) obj.connect("action-show-create", self._do_show_create) @@ -131,7 +135,7 @@ obj.connect("action-show-about", self._do_show_about) obj.connect("action-show-host", self._do_show_host) obj.connect("action-show-connect", self._do_show_connect) -@@ -881,11 +885,42 @@ class vmmEngine(vmmGObject): +@@ -881,11 +886,52 @@ class vmmEngine(vmmGObject): self.windowCreate = obj return self.windowCreate @@ -157,11 +161,21 @@ + self._get_create_dialog().show(src.topwin, uri) + self.remote_install = True + else: -+ args = ['/usr/bin/vm-install'] -+ logging.debug("Launching: %s" % str(args)) -+ p = Popen(args) -+ self.windowCreate = None -+ self.remote_install = False ++ if os.getuid() == 0: ++ args = ['/usr/bin/vm-install'] ++ logging.debug("Launching: %s" % str(args)) ++ p = Popen(args) ++ self.windowCreate = None ++ self.remote_install = False ++ else: ++ from vminstall.msg import must_be_root ++ message_box = Gtk.MessageDialog(None, ++ Gtk.DialogFlags.MODAL, ++ Gtk.MessageType.WARNING, ++ Gtk.ButtonsType.OK, ++ must_be_root) ++ message_box.run() ++ message_box.destroy() + except Exception, e: + src.err.show_err(_("Error launching manager: %s") % str(e), + "".join(traceback.format_exc())) -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org