From 687c47cc53b57cc8c49fff03bbc4d1d75d4cbb2f72aebfcf89d5ed653eacfa2f Mon Sep 17 00:00:00 2001 From: James Fehlig Date: Wed, 8 Aug 2012 17:47:16 +0000 Subject: [PATCH 1/2] - Update to libvirt 0.9.13 - S390: support for s390(x) - snapshot: implement new APIs for esx and vbox - snapshot: new query APIs and many improvements - virsh: Allow users to reedit rejected XML - nwfilter: add DHCP snooping - storage backend: Add RBD (RADOS Block Device) support - sVirt support for LXC domains inprovement _ Update to libvirt 0.9.12 - qemu: allow snapshotting of sheepdog and rbd disks - blockjob: add new AP - many bug fixes and improvements OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=221 --- 0dda594d-libvirtd-shutdown-deadlock.patch | 45 --------------- 4036aa91-systemd.patch | 6 +- 57349ffc-lxc-ctrl.patch | 70 ----------------------- 6039a2cb-CVE-2012-3445.patch | 20 +++---- 9c77bf04-fix-virnetserver-refcnt.patch | 34 ----------- AF_PACKET.patch | 12 ++-- clone.patch | 8 +-- install-apparmor-profiles.patch | 31 +++++----- libvirt-0.9.11.4.tar.bz2 | 3 - libvirt-0.9.13.tar.bz2 | 3 + libvirt-suse-netcontrol.patch | 62 ++++++++++---------- libvirt.changes | 20 +++++++ libvirt.spec | 22 ++++--- libvirtd-defaults.patch | 14 ++--- relax-qemu-usergroup-check.patch | 6 +- revert-d8978c90.patch | 20 ------- suse-qemu-conf.patch | 6 +- use-init-script-redhat.patch | 59 ++++++++++--------- xen-name-for-devid.patch | 6 +- xen-pv-cdrom.patch | 6 +- 20 files changed, 152 insertions(+), 301 deletions(-) delete mode 100644 0dda594d-libvirtd-shutdown-deadlock.patch delete mode 100644 57349ffc-lxc-ctrl.patch delete mode 100644 9c77bf04-fix-virnetserver-refcnt.patch delete mode 100644 libvirt-0.9.11.4.tar.bz2 create mode 100644 libvirt-0.9.13.tar.bz2 delete mode 100644 revert-d8978c90.patch diff --git a/0dda594d-libvirtd-shutdown-deadlock.patch b/0dda594d-libvirtd-shutdown-deadlock.patch deleted file mode 100644 index b703457..0000000 --- a/0dda594d-libvirtd-shutdown-deadlock.patch +++ /dev/null @@ -1,45 +0,0 @@ -commit 0dda594da99aede7621018a3705e7cf4c13b1606 -Author: Jim Fehlig -Date: Thu Jun 21 09:21:44 2012 -0600 - - Fix deadlock on libvirtd shutdown - - When shutting down libvirtd, the virNetServer shutdown can deadlock - if there are in-flight jobs being handled by virNetServerHandleJob(). - virNetServerFree() will acquire the virNetServer lock and call - virThreadPoolFree() to terminate the workers, waiting for the workers - to finish. But in-flight workers will attempt to acquire the - virNetServer lock, resulting in deadlock. - - Fix the deadlock by unlocking the virNetServer lock before calling - virThreadPoolFree(). This is safe since the virNetServerPtr object - is ref-counted and only decrementing the ref count needs to be - protected. Additionally, there is no need to re-acquire the lock - after virThreadPoolFree() completes as all the workers have - terminated. - -Index: libvirt-0.9.11.4/src/rpc/virnetserver.c -=================================================================== ---- libvirt-0.9.11.4.orig/src/rpc/virnetserver.c -+++ libvirt-0.9.11.4/src/rpc/virnetserver.c -@@ -801,10 +801,9 @@ void virNetServerFree(virNetServerPtr sr - virNetServerLock(srv); - VIR_DEBUG("srv=%p refs=%d", srv, srv->refs); - srv->refs--; -- if (srv->refs > 0) { -- virNetServerUnlock(srv); -+ virNetServerUnlock(srv); -+ if (srv->refs > 0) - return; -- } - - for (i = 0 ; i < srv->nservices ; i++) - virNetServerServiceToggle(srv->services[i], false); -@@ -845,7 +844,6 @@ void virNetServerFree(virNetServerPtr sr - dbus_connection_unref(srv->sysbus); - #endif - -- virNetServerUnlock(srv); - virMutexDestroy(&srv->lock); - VIR_FREE(srv); - } diff --git a/4036aa91-systemd.patch b/4036aa91-systemd.patch index 33872f0..3146817 100644 --- a/4036aa91-systemd.patch +++ b/4036aa91-systemd.patch @@ -12,10 +12,10 @@ Date: Mon Jul 9 09:52:55 2012 -0600 qemuAutostartDomain:177 : Failed to autostart VM 'test': Cannot get interface MTU on 'br0': No such device -Index: libvirt-0.9.11.4/daemon/libvirtd.service.in +Index: libvirt-0.9.13/daemon/libvirtd.service.in =================================================================== ---- libvirt-0.9.11.4.orig/daemon/libvirtd.service.in -+++ libvirt-0.9.11.4/daemon/libvirtd.service.in +--- libvirt-0.9.13.orig/daemon/libvirtd.service.in ++++ libvirt-0.9.13/daemon/libvirtd.service.in @@ -6,6 +6,7 @@ [Unit] Description=Virtualization daemon diff --git a/57349ffc-lxc-ctrl.patch b/57349ffc-lxc-ctrl.patch deleted file mode 100644 index 2f5f13a..0000000 --- a/57349ffc-lxc-ctrl.patch +++ /dev/null @@ -1,70 +0,0 @@ -commit 57349ffc10290eed2cb25ca7cfb4b34ab5003156 -Author: Jim Fehlig -Date: Wed Jun 20 23:28:09 2012 -0600 - - Initialize random generator in lxc controller - - The lxc contoller eventually makes use of virRandomBits(), which was - segfaulting since virRandomInitialize() is never invoked. - - Program received signal SIGSEGV, Segmentation fault. - 0x00007ffff554d560 in random_r () from /lib64/libc.so.6 - (gdb) bt - 0 0x00007ffff554d560 in random_r () from /lib64/libc.so.6 - 1 0x0000000000469eaa in virRandomBits (nbits=32) at util/virrandom.c:80 - 2 0x000000000045bf69 in virHashCreateFull (size=256, - dataFree=0x4aa2a2 , keyCode=0x45bd40 , - keyEqual=0x45bdad , keyCopy=0x45bdfa , - keyFree=0x45be37 ) at util/virhash.c:134 - 3 0x000000000045c069 in virHashCreate (size=0, dataFree=0x4aa2a2 ) - at util/virhash.c:164 - 4 0x00000000004aa562 in virNWFilterHashTableCreate (n=0) - at conf/nwfilter_params.c:686 - 5 0x00000000004aa95b in virNWFilterParseParamAttributes (cur=0x711d30) - at conf/nwfilter_params.c:793 - 6 0x0000000000481a7f in virDomainNetDefParseXML (caps=0x702c90, node=0x7116b0, - ctxt=0x7101b0, bootMap=0x0, flags=0) at conf/domain_conf.c:4589 - 7 0x000000000048cc36 in virDomainDefParseXML (caps=0x702c90, xml=0x710040, - root=0x7103b0, ctxt=0x7101b0, expectedVirtTypes=16, flags=0) - at conf/domain_conf.c:8658 - 8 0x000000000048f011 in virDomainDefParseNode (caps=0x702c90, xml=0x710040, - root=0x7103b0, expectedVirtTypes=16, flags=0) at conf/domain_conf.c:9360 - 9 0x000000000048ee30 in virDomainDefParse (xmlStr=0x0, - filename=0x702ae0 "/var/run/libvirt/lxc/x.xml", caps=0x702c90, - expectedVirtTypes=16, flags=0) at conf/domain_conf.c:9310 - 10 0x000000000048ef00 in virDomainDefParseFile (caps=0x702c90, - filename=0x702ae0 "/var/run/libvirt/lxc/x.xml", expectedVirtTypes=16, flags=0) - at conf/domain_conf.c:9332 - 11 0x0000000000425053 in main (argc=5, argv=0x7fffffffe2b8) - at lxc/lxc_controller.c:1773 - -Index: libvirt-0.9.11.4/src/lxc/lxc_controller.c -=================================================================== ---- libvirt-0.9.11.4.orig/src/lxc/lxc_controller.c -+++ libvirt-0.9.11.4/src/lxc/lxc_controller.c -@@ -43,6 +43,7 @@ - #include - #include - #include -+#include - - #if HAVE_CAPNG - # include -@@ -71,6 +72,7 @@ - #include "command.h" - #include "processinfo.h" - #include "nodeinfo.h" -+#include "virrandom.h" - - #define VIR_FROM_THIS VIR_FROM_LXC - -@@ -1663,7 +1665,8 @@ int main(int argc, char *argv[]) - - if (setlocale(LC_ALL, "") == NULL || - bindtextdomain(PACKAGE, LOCALEDIR) == NULL || -- textdomain(PACKAGE) == NULL) { -+ textdomain(PACKAGE) == NULL || -+ virRandomInitialize(time(NULL) ^ getpid())) { - fprintf(stderr, _("%s: initialization failed\n"), argv[0]); - exit(EXIT_FAILURE); - } diff --git a/6039a2cb-CVE-2012-3445.patch b/6039a2cb-CVE-2012-3445.patch index fcfb7d1..92c7abf 100644 --- a/6039a2cb-CVE-2012-3445.patch +++ b/6039a2cb-CVE-2012-3445.patch @@ -21,10 +21,10 @@ Date: Mon Jul 30 12:14:54 2012 +0200 Let's make sure params stays NULL when nparams is 0. -Index: libvirt-0.9.11.4/daemon/remote.c +Index: libvirt-0.9.13/daemon/remote.c =================================================================== ---- libvirt-0.9.11.4.orig/daemon/remote.c -+++ libvirt-0.9.11.4/daemon/remote.c +--- libvirt-0.9.13.orig/daemon/remote.c ++++ libvirt-0.9.13/daemon/remote.c @@ -964,7 +964,7 @@ remoteDispatchDomainGetSchedulerParamete virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); goto cleanup; @@ -34,7 +34,7 @@ Index: libvirt-0.9.11.4/daemon/remote.c goto no_memory; if (!(dom = get_nonnull_domain(priv->conn, args->dom))) -@@ -1019,7 +1019,7 @@ remoteDispatchDomainGetSchedulerParamete +@@ -1073,7 +1073,7 @@ remoteDispatchDomainGetSchedulerParamete virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); goto cleanup; } @@ -43,7 +43,7 @@ Index: libvirt-0.9.11.4/daemon/remote.c goto no_memory; if (!(dom = get_nonnull_domain(priv->conn, args->dom))) -@@ -1200,7 +1200,7 @@ remoteDispatchDomainBlockStatsFlags(virN +@@ -1254,7 +1254,7 @@ remoteDispatchDomainBlockStatsFlags(virN virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); goto cleanup; } @@ -52,7 +52,7 @@ Index: libvirt-0.9.11.4/daemon/remote.c virReportOOMError(); goto cleanup; } -@@ -1674,7 +1674,7 @@ remoteDispatchDomainGetMemoryParameters( +@@ -1728,7 +1728,7 @@ remoteDispatchDomainGetMemoryParameters( virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); goto cleanup; } @@ -61,7 +61,7 @@ Index: libvirt-0.9.11.4/daemon/remote.c virReportOOMError(); goto cleanup; } -@@ -1739,7 +1739,7 @@ remoteDispatchDomainGetNumaParameters(vi +@@ -1793,7 +1793,7 @@ remoteDispatchDomainGetNumaParameters(vi virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); goto cleanup; } @@ -70,7 +70,7 @@ Index: libvirt-0.9.11.4/daemon/remote.c virReportOOMError(); goto cleanup; } -@@ -1804,7 +1804,7 @@ remoteDispatchDomainGetBlkioParameters(v +@@ -1858,7 +1858,7 @@ remoteDispatchDomainGetBlkioParameters(v virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); goto cleanup; } @@ -79,7 +79,7 @@ Index: libvirt-0.9.11.4/daemon/remote.c virReportOOMError(); goto cleanup; } -@@ -2064,7 +2064,7 @@ remoteDispatchDomainGetBlockIoTune(virNe +@@ -2118,7 +2118,7 @@ remoteDispatchDomainGetBlockIoTune(virNe goto cleanup; } @@ -88,7 +88,7 @@ Index: libvirt-0.9.11.4/daemon/remote.c virReportOOMError(); goto cleanup; } -@@ -3563,7 +3563,7 @@ remoteDispatchDomainGetInterfaceParamete +@@ -3621,7 +3621,7 @@ remoteDispatchDomainGetInterfaceParamete virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); goto cleanup; } diff --git a/9c77bf04-fix-virnetserver-refcnt.patch b/9c77bf04-fix-virnetserver-refcnt.patch deleted file mode 100644 index 83ca93a..0000000 --- a/9c77bf04-fix-virnetserver-refcnt.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit 9c77bf04b03ff026bb37212a195070d8983f530d -Author: Hu Tao -Date: Fri Jun 22 11:26:03 2012 +0800 - - fix a bug of ref count in virnetserver.c - - The test of ref count is not protected by lock, which is unsafe because - the ref count may have been changed by other threads during the test. - - This patch fixes this. - -Index: libvirt-0.9.11.4/src/rpc/virnetserver.c -=================================================================== ---- libvirt-0.9.11.4.orig/src/rpc/virnetserver.c -+++ libvirt-0.9.11.4/src/rpc/virnetserver.c -@@ -794,15 +794,16 @@ void virNetServerQuit(virNetServerPtr sr - void virNetServerFree(virNetServerPtr srv) - { - int i; -+ int refs; - - if (!srv) - return; - - virNetServerLock(srv); - VIR_DEBUG("srv=%p refs=%d", srv, srv->refs); -- srv->refs--; -+ refs = --srv->refs; - virNetServerUnlock(srv); -- if (srv->refs > 0) -+ if (refs > 0) - return; - - for (i = 0 ; i < srv->nservices ; i++) diff --git a/AF_PACKET.patch b/AF_PACKET.patch index 316a217..10ec470 100644 --- a/AF_PACKET.patch +++ b/AF_PACKET.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.11.4/src/util/virnetdev.c +Index: libvirt-0.9.13/src/util/virnetdev.c =================================================================== ---- libvirt-0.9.11.4.orig/src/util/virnetdev.c -+++ libvirt-0.9.11.4/src/util/virnetdev.c +--- libvirt-0.9.13.orig/src/util/virnetdev.c ++++ libvirt-0.9.13/src/util/virnetdev.c @@ -85,7 +85,7 @@ static int virNetDevSetupControlFull(con static int virNetDevSetupControl(const char *ifname, struct ifreq *ifr) @@ -11,10 +11,10 @@ Index: libvirt-0.9.11.4/src/util/virnetdev.c } #endif -Index: libvirt-0.9.11.4/src/util/virnetdevbridge.c +Index: libvirt-0.9.13/src/util/virnetdevbridge.c =================================================================== ---- libvirt-0.9.11.4.orig/src/util/virnetdevbridge.c -+++ libvirt-0.9.11.4/src/util/virnetdevbridge.c +--- libvirt-0.9.13.orig/src/util/virnetdevbridge.c ++++ libvirt-0.9.13/src/util/virnetdevbridge.c @@ -84,7 +84,7 @@ static int virNetDevSetupControlFull(con static int virNetDevSetupControl(const char *ifname, struct ifreq *ifr) diff --git a/clone.patch b/clone.patch index 353c9ba..054d8b2 100644 --- a/clone.patch +++ b/clone.patch @@ -2,7 +2,7 @@ Index: src/lxc/lxc_container.c =================================================================== --- src/lxc/lxc_container.c.orig +++ src/lxc/lxc_container.c -@@ -1454,6 +1454,9 @@ int lxcContainerStart(virDomainDefPtr de +@@ -1791,6 +1791,9 @@ int lxcContainerStart(virDomainDefPtr de ttyPaths, nttyPaths, handshakefd}; /* allocate a stack for the container */ @@ -12,7 +12,7 @@ Index: src/lxc/lxc_container.c if (VIR_ALLOC_N(stack, stacksize) < 0) { virReportOOMError(); return -1; -@@ -1473,7 +1476,11 @@ int lxcContainerStart(virDomainDefPtr de +@@ -1810,7 +1813,11 @@ int lxcContainerStart(virDomainDefPtr de cflags |= CLONE_NEWNET; } @@ -24,7 +24,7 @@ Index: src/lxc/lxc_container.c VIR_FREE(stack); VIR_DEBUG("clone() completed, new container PID is %d", pid); -@@ -1499,6 +1506,7 @@ int lxcContainerAvailable(int features) +@@ -1836,6 +1843,7 @@ int lxcContainerAvailable(int features) int cpid; char *childStack; char *stack; @@ -32,7 +32,7 @@ Index: src/lxc/lxc_container.c if (features & LXC_CONTAINER_FEATURE_USER) flags |= CLONE_NEWUSER; -@@ -1506,14 +1514,21 @@ int lxcContainerAvailable(int features) +@@ -1843,14 +1851,21 @@ int lxcContainerAvailable(int features) if (features & LXC_CONTAINER_FEATURE_NET) flags |= CLONE_NEWNET; diff --git a/install-apparmor-profiles.patch b/install-apparmor-profiles.patch index fef25ac..f2851e4 100644 --- a/install-apparmor-profiles.patch +++ b/install-apparmor-profiles.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.11.4/examples/apparmor/Makefile.am +Index: libvirt-0.9.13/examples/apparmor/Makefile.am =================================================================== ---- libvirt-0.9.11.4.orig/examples/apparmor/Makefile.am -+++ libvirt-0.9.11.4/examples/apparmor/Makefile.am +--- libvirt-0.9.13.orig/examples/apparmor/Makefile.am ++++ libvirt-0.9.13/examples/apparmor/Makefile.am @@ -1,8 +1,39 @@ ## Copyright (C) 2005-2011 Red Hat, Inc. ## See COPYING.LIB for the License of this software @@ -47,10 +47,10 @@ Index: libvirt-0.9.11.4/examples/apparmor/Makefile.am + rm -f $(DESTDIR)$(sysconfdir)/apparmor.d/libvirt/TEMPLATE + +endif -Index: libvirt-0.9.11.4/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in +Index: libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in =================================================================== --- /dev/null -+++ libvirt-0.9.11.4/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in ++++ libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in @@ -0,0 +1,40 @@ +# Last Modified: Fri Aug 19 11:21:48 2011 +#include @@ -92,9 +92,9 @@ Index: libvirt-0.9.11.4/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in + /var/lib/kvm/images/ r, + /var/lib/kvm/images/** r, +} -Index: libvirt-0.9.11.4/examples/apparmor/usr.lib.libvirt.virt-aa-helper +Index: libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper =================================================================== ---- libvirt-0.9.11.4.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper +--- libvirt-0.9.13.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper +++ /dev/null @@ -1,38 +0,0 @@ -# Last Modified: Mon Apr 5 15:10:27 2010 @@ -135,9 +135,9 @@ Index: libvirt-0.9.11.4/examples/apparmor/usr.lib.libvirt.virt-aa-helper - /var/lib/libvirt/images/ r, - /var/lib/libvirt/images/** r, -} -Index: libvirt-0.9.11.4/examples/apparmor/usr.sbin.libvirtd +Index: libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd =================================================================== ---- libvirt-0.9.11.4.orig/examples/apparmor/usr.sbin.libvirtd +--- libvirt-0.9.13.orig/examples/apparmor/usr.sbin.libvirtd +++ /dev/null @@ -1,52 +0,0 @@ -# Last Modified: Mon Apr 5 15:03:58 2010 @@ -192,11 +192,11 @@ Index: libvirt-0.9.11.4/examples/apparmor/usr.sbin.libvirtd - change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*, - -} -Index: libvirt-0.9.11.4/examples/apparmor/usr.sbin.libvirtd.in +Index: libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd.in =================================================================== --- /dev/null -+++ libvirt-0.9.11.4/examples/apparmor/usr.sbin.libvirtd.in -@@ -0,0 +1,58 @@ ++++ libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd.in +@@ -0,0 +1,57 @@ +# Last Modified: Fri Aug 19 11:20:36 2011 +#include +@{LIBVIRT}="libvirt" @@ -222,7 +222,6 @@ Index: libvirt-0.9.11.4/examples/apparmor/usr.sbin.libvirtd.in + capability mknod, + capability fsetid, + capability ipc_lock, -+ capability audit_write, + + network inet stream, + network inet dgram, @@ -255,10 +254,10 @@ Index: libvirt-0.9.11.4/examples/apparmor/usr.sbin.libvirtd.in + change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*, + +} -Index: libvirt-0.9.11.4/examples/apparmor/libvirt-qemu +Index: libvirt-0.9.13/examples/apparmor/libvirt-qemu =================================================================== ---- libvirt-0.9.11.4.orig/examples/apparmor/libvirt-qemu -+++ libvirt-0.9.11.4/examples/apparmor/libvirt-qemu +--- libvirt-0.9.13.orig/examples/apparmor/libvirt-qemu ++++ libvirt-0.9.13/examples/apparmor/libvirt-qemu @@ -52,6 +52,7 @@ # access to firmware's etc /usr/share/kvm/** r, diff --git a/libvirt-0.9.11.4.tar.bz2 b/libvirt-0.9.11.4.tar.bz2 deleted file mode 100644 index 5b57f60..0000000 --- a/libvirt-0.9.11.4.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ba68c591b0a500188170fefc43d0dbec02f4527aeed18c5b2ebbdc5ca91bca56 -size 13792390 diff --git a/libvirt-0.9.13.tar.bz2 b/libvirt-0.9.13.tar.bz2 new file mode 100644 index 0000000..141b197 --- /dev/null +++ b/libvirt-0.9.13.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a1944135d0a52116e1085614a8c86a573b922cb25c18a62939960c40b85b365 +size 14360261 diff --git a/libvirt-suse-netcontrol.patch b/libvirt-suse-netcontrol.patch index d93cec8..25935f2 100644 --- a/libvirt-suse-netcontrol.patch +++ b/libvirt-suse-netcontrol.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.11.4/configure.ac +Index: libvirt-0.9.13/configure.ac =================================================================== ---- libvirt-0.9.11.4.orig/configure.ac -+++ libvirt-0.9.11.4/configure.ac +--- libvirt-0.9.13.orig/configure.ac ++++ libvirt-0.9.13/configure.ac @@ -63,6 +63,7 @@ AVAHI_REQUIRED="0.6.0" POLKIT_REQUIRED="0.6" PARTED_REQUIRED="1.8.0" @@ -10,7 +10,7 @@ Index: libvirt-0.9.11.4/configure.ac UDEV_REQUIRED=145 PCIACCESS_REQUIRED=0.10.0 XMLRPC_REQUIRED=1.14.0 -@@ -1756,6 +1757,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit +@@ -1796,6 +1797,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit AC_SUBST([NETCF_CFLAGS]) AC_SUBST([NETCF_LIBS]) @@ -49,7 +49,7 @@ Index: libvirt-0.9.11.4/configure.ac AC_ARG_WITH([secrets], AC_HELP_STRING([--with-secrets], [with local secrets management driver @<:@default=yes@:>@]),[],[with_secrets=yes]) -@@ -2701,6 +2734,7 @@ AC_MSG_NOTICE([ Remote: $with_remote]) +@@ -2810,6 +2843,7 @@ AC_MSG_NOTICE([ Remote: $with_remote]) AC_MSG_NOTICE([ Network: $with_network]) AC_MSG_NOTICE([Libvirtd: $with_libvirtd]) AC_MSG_NOTICE([ netcf: $with_netcf]) @@ -57,7 +57,7 @@ Index: libvirt-0.9.11.4/configure.ac AC_MSG_NOTICE([ macvtap: $with_macvtap]) AC_MSG_NOTICE([virtport: $with_virtualport]) AC_MSG_NOTICE([]) -@@ -2832,6 +2866,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $ +@@ -2942,6 +2976,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $ else AC_MSG_NOTICE([ netcf: no]) fi @@ -69,11 +69,11 @@ Index: libvirt-0.9.11.4/configure.ac if test "$with_qemu" = "yes" && test "$LIBPCAP_FOUND" != "no"; then AC_MSG_NOTICE([ pcap: $LIBPCAP_CFLAGS $LIBPCAP_LIBS]) else -Index: libvirt-0.9.11.4/daemon/Makefile.am +Index: libvirt-0.9.13/daemon/Makefile.am =================================================================== ---- libvirt-0.9.11.4.orig/daemon/Makefile.am -+++ libvirt-0.9.11.4/daemon/Makefile.am -@@ -143,6 +143,10 @@ endif +--- libvirt-0.9.13.orig/daemon/Makefile.am ++++ libvirt-0.9.13/daemon/Makefile.am +@@ -150,6 +150,10 @@ endif if WITH_NETCF libvirtd_LDADD += ../src/libvirt_driver_interface.la @@ -84,10 +84,10 @@ Index: libvirt-0.9.11.4/daemon/Makefile.am endif if WITH_NODE_DEVICES -Index: libvirt-0.9.11.4/daemon/libvirtd.c +Index: libvirt-0.9.13/daemon/libvirtd.c =================================================================== ---- libvirt-0.9.11.4.orig/daemon/libvirtd.c -+++ libvirt-0.9.11.4/daemon/libvirtd.c +--- libvirt-0.9.13.orig/daemon/libvirtd.c ++++ libvirt-0.9.13/daemon/libvirtd.c @@ -76,6 +76,10 @@ # endif # ifdef WITH_NETCF @@ -97,9 +97,9 @@ Index: libvirt-0.9.11.4/daemon/libvirtd.c +# include "interface/netcf_driver.h" +# endif # endif - # ifdef WITH_STORAGE_DIR + # ifdef WITH_STORAGE # include "storage/storage_driver.h" -@@ -415,6 +419,10 @@ static void daemonInitialize(void) +@@ -402,6 +406,10 @@ static void daemonInitialize(void) # endif # ifdef WITH_NETCF interfaceRegister(); @@ -108,13 +108,13 @@ Index: libvirt-0.9.11.4/daemon/libvirtd.c + interfaceRegister(); +# endif # endif - # ifdef WITH_STORAGE_DIR + # ifdef WITH_STORAGE storageRegister(); -Index: libvirt-0.9.11.4/src/Makefile.am +Index: libvirt-0.9.13/src/Makefile.am =================================================================== ---- libvirt-0.9.11.4.orig/src/Makefile.am -+++ libvirt-0.9.11.4/src/Makefile.am -@@ -970,6 +970,24 @@ libvirt_driver_interface_la_LIBADD += .. +--- libvirt-0.9.13.orig/src/Makefile.am ++++ libvirt-0.9.13/src/Makefile.am +@@ -941,6 +941,24 @@ libvirt_driver_interface_la_LIBADD += .. libvirt_driver_interface_la_LDFLAGS += -module -avoid-version endif libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES) @@ -139,10 +139,10 @@ Index: libvirt-0.9.11.4/src/Makefile.am endif if WITH_SECRETS -Index: libvirt-0.9.11.4/src/interface/netcf_driver.c +Index: libvirt-0.9.13/src/interface/netcf_driver.c =================================================================== ---- libvirt-0.9.11.4.orig/src/interface/netcf_driver.c -+++ libvirt-0.9.11.4/src/interface/netcf_driver.c +--- libvirt-0.9.13.orig/src/interface/netcf_driver.c ++++ libvirt-0.9.13/src/interface/netcf_driver.c @@ -23,7 +23,13 @@ #include @@ -208,18 +208,18 @@ Index: libvirt-0.9.11.4/src/interface/netcf_driver.c /* open netcf */ if (ncf_init(&driverState->netcf, NULL) != 0) { -Index: libvirt-0.9.11.4/tools/virsh.c +Index: libvirt-0.9.13/tools/virsh.c =================================================================== ---- libvirt-0.9.11.4.orig/tools/virsh.c -+++ libvirt-0.9.11.4/tools/virsh.c -@@ -19827,6 +19827,10 @@ vshShowVersion(vshControl *ctl ATTRIBUTE +--- libvirt-0.9.13.orig/tools/virsh.c ++++ libvirt-0.9.13/tools/virsh.c +@@ -20837,6 +20837,10 @@ vshShowVersion(vshControl *ctl ATTRIBUTE #endif #ifdef WITH_NETCF - vshPrint(ctl, " Netcf"); + vshPrint(ctl, " Interface"); +#else -+#ifdef WITH_NETCONTROL -+ vshPrint(ctl, " NetControl"); -+#endif ++# ifdef WITH_NETCONTROL ++ vshPrint(ctl, " Interface"); ++# endif #endif #ifdef WITH_NWFILTER vshPrint(ctl, " Nwfilter"); diff --git a/libvirt.changes b/libvirt.changes index 84cbf97..394b3e3 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Wed Aug 8 11:42:28 MDT 2012 - jfehlig@suse.com + +- Update to libvirt 0.9.13 + - S390: support for s390(x) + - snapshot: implement new APIs for esx and vbox + - snapshot: new query APIs and many improvements + - virsh: Allow users to reedit rejected XML + - nwfilter: add DHCP snooping + - storage backend: Add RBD (RADOS Block Device) support + - sVirt support for LXC domains inprovement + +------------------------------------------------------------------- +Mon Aug 6 18:02:14 MDT 2012 - jfehlig@suse.com + +_ Update to libvirt 0.9.12 + - qemu: allow snapshotting of sheepdog and rbd disks + - blockjob: add new AP + - many bug fixes and improvements + ------------------------------------------------------------------- Wed Aug 1 11:42:58 MDT 2012 - jfehlig@suse.com diff --git a/libvirt.spec b/libvirt.spec index 6d5b1dc..8668051 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -26,6 +26,9 @@ %define server_drivers 1 %endif +# Do not build with dlopen'd modules for now +%define with_driver_modules 0 + # Now set the defaults for all the important features, independent # of any particular OS @@ -327,7 +330,7 @@ BuildRequires: systemd Name: libvirt Url: http://libvirt.org/ -Version: 0.9.11.4 +Version: 0.9.13 Release: 0 Summary: A C toolkit to interact with the virtualization capabilities of Linux License: LGPL-2.1+ @@ -410,13 +413,8 @@ Source1: libvirtd.init Source2: libvirtd-relocation-server.fw Source99: baselibs.conf # Upstream patches -# Revert v0.9.11-maint branch commit d8978c90 -Patch0: revert-d8978c90.patch -Patch1: 57349ffc-lxc-ctrl.patch -Patch2: 0dda594d-libvirtd-shutdown-deadlock.patch -Patch3: 9c77bf04-fix-virnetserver-refcnt.patch -Patch4: 4036aa91-systemd.patch -Patch5: 6039a2cb-CVE-2012-3445.patch +Patch0: 4036aa91-systemd.patch +Patch1: 6039a2cb-CVE-2012-3445.patch # Need to go upstream Patch100: xen-name-for-devid.patch Patch101: clone.patch @@ -554,10 +552,6 @@ Authors: %setup -q %patch0 -p1 %patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 %patch100 -p1 %patch101 %patch102 -p1 @@ -696,6 +690,9 @@ Authors: %else %define init_scripts --with-init_script=redhat %endif +%if ! %{with_driver_modules} +%define _without_driver_modules --without-driver-modules +%endif autoreconf -f -i export CFLAGS="$RPM_OPT_FLAGS" @@ -738,6 +735,7 @@ export CFLAGS="$RPM_OPT_FLAGS" %{?_without_python} \ %{?_without_libpcap} \ %{?_without_sanlock} \ + %{?_without_driver_modules} \ --libexecdir=%{_libdir}/%{name} \ --with-qemu-user=%{qemu_user} \ --with-qemu-group=%{qemu_group} \ diff --git a/libvirtd-defaults.patch b/libvirtd-defaults.patch index 79381b0..732f6da 100644 --- a/libvirtd-defaults.patch +++ b/libvirtd-defaults.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.11.4/daemon/libvirtd.conf +Index: libvirt-0.9.13/daemon/libvirtd.conf =================================================================== ---- libvirt-0.9.11.4.orig/daemon/libvirtd.conf -+++ libvirt-0.9.11.4/daemon/libvirtd.conf +--- libvirt-0.9.13.orig/daemon/libvirtd.conf ++++ libvirt-0.9.13/daemon/libvirtd.conf @@ -18,8 +18,8 @@ # It is necessary to setup a CA and issue server certificates before # using this capability. @@ -13,11 +13,11 @@ Index: libvirt-0.9.11.4/daemon/libvirtd.conf # Listen for unencrypted TCP connections on the public TCP/IP port. # NB, must pass the --listen flag to the libvirtd process for this to -Index: libvirt-0.9.11.4/daemon/libvirtd.c +Index: libvirt-0.9.13/daemon/libvirtd-config.c =================================================================== ---- libvirt-0.9.11.4.orig/daemon/libvirtd.c -+++ libvirt-0.9.11.4/daemon/libvirtd.c -@@ -872,7 +872,7 @@ daemonConfigNew(bool privileged ATTRIBUT +--- libvirt-0.9.13.orig/daemon/libvirtd-config.c ++++ libvirt-0.9.13/daemon/libvirtd-config.c +@@ -237,7 +237,7 @@ daemonConfigNew(bool privileged ATTRIBUT return NULL; } diff --git a/relax-qemu-usergroup-check.patch b/relax-qemu-usergroup-check.patch index 9324396..4cade40 100644 --- a/relax-qemu-usergroup-check.patch +++ b/relax-qemu-usergroup-check.patch @@ -7,10 +7,10 @@ drivers as loadable modules instead of built-in to the daemon. Then the qemu driver would only be loaded when needed, which would never be the case on a xen-only configuration. -Index: libvirt-0.9.11.4/src/qemu/qemu_conf.c +Index: libvirt-0.9.13/src/qemu/qemu_conf.c =================================================================== ---- libvirt-0.9.11.4.orig/src/qemu/qemu_conf.c -+++ libvirt-0.9.11.4/src/qemu/qemu_conf.c +--- libvirt-0.9.13.orig/src/qemu/qemu_conf.c ++++ libvirt-0.9.13/src/qemu/qemu_conf.c @@ -271,9 +271,7 @@ int qemudLoadDriverConfig(struct qemud_d return -1; } diff --git a/revert-d8978c90.patch b/revert-d8978c90.patch deleted file mode 100644 index e5bcb49..0000000 --- a/revert-d8978c90.patch +++ /dev/null @@ -1,20 +0,0 @@ -Revert commit d8978c90 - -Commit d8978c90 (master commit 5c650b98) should not have been backported -to 0.9.11 branch without master commit 97010eb1 as well. - - -Index: libvirt-0.9.11.4/src/qemu/qemu_process.c -=================================================================== ---- libvirt-0.9.11.4.orig/src/qemu/qemu_process.c -+++ libvirt-0.9.11.4/src/qemu/qemu_process.c -@@ -1735,8 +1735,7 @@ cleanup: - } - #else - static int --qemuProcessInitNumaMemoryPolicy(virDomainObjPtr vm, -- const char *nodemask ATTRIBUTE_UNUSED) -+qemuProcessInitNumaMemoryPolicy(virDomainObjPtr vm) - { - if (vm->def->numatune.memory.nodemask) { - qemuReportError(VIR_ERR_INTERNAL_ERROR, "%s", diff --git a/suse-qemu-conf.patch b/suse-qemu-conf.patch index faf07ad..7fb1c6e 100644 --- a/suse-qemu-conf.patch +++ b/suse-qemu-conf.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.11.4/src/qemu/qemu.conf +Index: libvirt-0.9.13/src/qemu/qemu.conf =================================================================== ---- libvirt-0.9.11.4.orig/src/qemu/qemu.conf -+++ libvirt-0.9.11.4/src/qemu/qemu.conf +--- libvirt-0.9.13.orig/src/qemu/qemu.conf ++++ libvirt-0.9.13/src/qemu/qemu.conf @@ -146,7 +146,16 @@ # leaving SELinux enabled for the host in general, then set this # to 'none' instead. diff --git a/use-init-script-redhat.patch b/use-init-script-redhat.patch index 69bbc36..443e5be 100644 --- a/use-init-script-redhat.patch +++ b/use-init-script-redhat.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.9.11.4/tools/Makefile.am +Index: libvirt-0.9.13/tools/Makefile.am =================================================================== ---- libvirt-0.9.11.4.orig/tools/Makefile.am -+++ libvirt-0.9.11.4/tools/Makefile.am -@@ -182,24 +182,22 @@ install-data-local: install-init install +--- libvirt-0.9.13.orig/tools/Makefile.am ++++ libvirt-0.9.13/tools/Makefile.am +@@ -148,24 +148,22 @@ install-data-local: install-init install uninstall-local: uninstall-init uninstall-systemd install-sysconfig: @@ -33,10 +33,10 @@ Index: libvirt-0.9.11.4/tools/Makefile.am if LIBVIRT_INIT_SCRIPT_RED_HAT -Index: libvirt-0.9.11.4/tools/libvirt-guests.sysconf +Index: libvirt-0.9.13/tools/libvirt-guests.sysconf =================================================================== ---- libvirt-0.9.11.4.orig/tools/libvirt-guests.sysconf -+++ libvirt-0.9.11.4/tools/libvirt-guests.sysconf +--- libvirt-0.9.13.orig/tools/libvirt-guests.sysconf ++++ libvirt-0.9.13/tools/libvirt-guests.sysconf @@ -1,19 +1,29 @@ +## Path: System/Virtualization/libvirt + @@ -101,10 +101,10 @@ Index: libvirt-0.9.11.4/tools/libvirt-guests.sysconf # some file systems. -#BYPASS_CACHE=0 +BYPASS_CACHE=0 -Index: libvirt-0.9.11.4/tools/libvirt-guests.init.sh +Index: libvirt-0.9.13/tools/libvirt-guests.init.sh =================================================================== ---- libvirt-0.9.11.4.orig/tools/libvirt-guests.init.sh -+++ libvirt-0.9.11.4/tools/libvirt-guests.init.sh +--- libvirt-0.9.13.orig/tools/libvirt-guests.init.sh ++++ libvirt-0.9.13/tools/libvirt-guests.init.sh @@ -4,10 +4,10 @@ # ### BEGIN INIT INFO @@ -252,11 +252,11 @@ Index: libvirt-0.9.11.4/tools/libvirt-guests.init.sh esac -exit $RETVAL +rc_exit -Index: libvirt-0.9.11.4/daemon/Makefile.am +Index: libvirt-0.9.13/daemon/Makefile.am =================================================================== ---- libvirt-0.9.11.4.orig/daemon/Makefile.am -+++ libvirt-0.9.11.4/daemon/Makefile.am -@@ -249,22 +249,16 @@ uninstall-logrotate: +--- libvirt-0.9.13.orig/daemon/Makefile.am ++++ libvirt-0.9.13/daemon/Makefile.am +@@ -256,39 +256,23 @@ uninstall-logrotate: rmdir $(DESTDIR)$(sysconfdir)/logrotate.d || : install-sysconfig: @@ -264,43 +264,46 @@ Index: libvirt-0.9.11.4/daemon/Makefile.am + $(MKDIR_P) $(DESTDIR)$(localstatedir)/adm/fillup-templates $(INSTALL_DATA) $(srcdir)/libvirtd.sysconf \ - $(DESTDIR)$(sysconfdir)/sysconfig/libvirtd -+ $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirtd -+ - uninstall-sysconfig: +-uninstall-sysconfig: - rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirtd - rmdir $(DESTDIR)$(sysconfdir)/sysconfig || : -+ rm -f $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirtd ++ $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirtd - if WITH_SYSCTL - install-sysctl: +-if WITH_SYSCTL +-install-sysctl: - $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysctl.d - $(INSTALL_DATA) $(srcdir)/libvirtd.sysctl \ - $(DESTDIR)$(sysconfdir)/sysctl.d/libvirtd -- - uninstall-sysctl: ++uninstall-sysconfig: ++ rm -f $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirtd + +-uninstall-sysctl: - rm -f $(DESTDIR)$(sysconfdir)/sysctl.d/libvirtd - rmdir $(DESTDIR)$(sysconfdir)/sysctl.d || : - else +-else install-sysctl: uninstall-sysctl: -@@ -275,13 +269,7 @@ if LIBVIRT_INIT_SCRIPT_RED_HAT +-endif + + if LIBVIRT_INIT_SCRIPT_RED_HAT + BUILT_SOURCES += libvirtd.init install-init-redhat: install-sysconfig libvirtd.init - $(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d - $(INSTALL_SCRIPT) libvirtd.init \ - $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd -- + uninstall-init-redhat: uninstall-sysconfig - rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd - rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || : else install-init-redhat: uninstall-init-redhat: -Index: libvirt-0.9.11.4/daemon/libvirtd.sysconf +Index: libvirt-0.9.13/daemon/libvirtd.sysconf =================================================================== ---- libvirt-0.9.11.4.orig/daemon/libvirtd.sysconf -+++ libvirt-0.9.11.4/daemon/libvirtd.sysconf +--- libvirt-0.9.13.orig/daemon/libvirtd.sysconf ++++ libvirt-0.9.13/daemon/libvirtd.sysconf @@ -1,16 +1,25 @@ +## Path: System/Virtualization/libvirt + diff --git a/xen-name-for-devid.patch b/xen-name-for-devid.patch index ddea34c..8c04449 100644 --- a/xen-name-for-devid.patch +++ b/xen-name-for-devid.patch @@ -13,10 +13,10 @@ Date: Wed Jan 27 16:11:41 2010 -0700 This approach allows removing a disk when domain is inactive. We obviously can't search xenstore when the domain is inactive. -Index: libvirt-0.9.11.4/src/xen/xend_internal.c +Index: libvirt-0.9.13/src/xen/xend_internal.c =================================================================== ---- libvirt-0.9.11.4.orig/src/xen/xend_internal.c -+++ libvirt-0.9.11.4/src/xen/xend_internal.c +--- libvirt-0.9.13.orig/src/xen/xend_internal.c ++++ libvirt-0.9.13/src/xen/xend_internal.c @@ -60,6 +60,7 @@ static int diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch index 055cb55..2d022f5 100644 --- a/xen-pv-cdrom.patch +++ b/xen-pv-cdrom.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.11.4/src/xenxs/xen_sxpr.c +Index: libvirt-0.9.13/src/xenxs/xen_sxpr.c =================================================================== ---- libvirt-0.9.11.4.orig/src/xenxs/xen_sxpr.c -+++ libvirt-0.9.11.4/src/xenxs/xen_sxpr.c +--- libvirt-0.9.13.orig/src/xenxs/xen_sxpr.c ++++ libvirt-0.9.13/src/xenxs/xen_sxpr.c @@ -340,7 +340,7 @@ error: static int xenParseSxprDisks(virDomainDefPtr def, From 4fd37b7da7f178f0344276964ff20e23f05b4dc08a5298ce679a8d48dfd6eb9f Mon Sep 17 00:00:00 2001 From: James Fehlig Date: Mon, 20 Aug 2012 17:19:50 +0000 Subject: [PATCH 2/2] Mention patch removals in changelog OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=222 --- libvirt.changes | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libvirt.changes b/libvirt.changes index 394b3e3..65a9e24 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -9,6 +9,11 @@ Wed Aug 8 11:42:28 MDT 2012 - jfehlig@suse.com - nwfilter: add DHCP snooping - storage backend: Add RBD (RADOS Block Device) support - sVirt support for LXC domains inprovement + - Drop upstream patches + 0dda594d-libvirtd-shutdown-deadlock.patch + 9c77bf04-fix-virnetserver-refcnt.patch + 57349ffc-lxc-ctrl.patch + revert-d8978c90.patch ------------------------------------------------------------------- Mon Aug 6 18:02:14 MDT 2012 - jfehlig@suse.com