diff --git a/4036aa91-systemd.patch b/4036aa91-systemd.patch deleted file mode 100644 index 3146817..0000000 --- a/4036aa91-systemd.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit 4036aa91bff6482cf4c136c93277619fa8ec6f94 -Author: Jim Fehlig -Date: Mon Jul 9 09:52:55 2012 -0600 - - systemd: start libvirtd after network - - Domains configured with autostart may fail to start if the host - network stack has not been started. E.g. when using bridged - networking autostarting a domain can fail with - - libvirtd[1403]: 2012-06-20 13:23:49.833+0000: 1485: error : - qemuAutostartDomain:177 : Failed to autostart VM 'test': Cannot get - interface MTU on 'br0': No such device - -Index: libvirt-0.9.13/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 - Before=libvirt-guests.service -+After=network.target - - [Service] - EnvironmentFile=-/etc/sysconfig/libvirtd diff --git a/6039a2cb-CVE-2012-3445.patch b/6039a2cb-CVE-2012-3445.patch deleted file mode 100644 index 92c7abf..0000000 --- a/6039a2cb-CVE-2012-3445.patch +++ /dev/null @@ -1,99 +0,0 @@ -commit 6039a2cb49c8af4c68460d2faf365a7e1c686c7b -Author: Jiri Denemark -Date: Mon Jul 30 12:14:54 2012 +0200 - - daemon: Fix crash in virTypedParameterArrayClear - - Daemon uses the following pattern when dispatching APIs with typed - parameters: - - VIR_ALLOC_N(params, nparams); - virDomain*(dom, params, &nparams, flags); - virTypedParameterArrayClear(params, nparams); - - In case nparams was originally set to 0, virDomain* API would fill it - with the number of typed parameters it can provide and we would use this - number (rather than zero) to clear params. Because VIR_ALLOC* returns - non-NULL pointer even if size is 0, the code would end up walking - through random memory. If we were lucky enough and the memory contained - 7 (VIR_TYPED_PARAM_STRING) at the right place, we would try to free a - random pointer and crash. - - Let's make sure params stays NULL when nparams is 0. - -Index: libvirt-0.9.13/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; - } -- if (VIR_ALLOC_N(params, nparams) < 0) -+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) - goto no_memory; - - if (!(dom = get_nonnull_domain(priv->conn, args->dom))) -@@ -1073,7 +1073,7 @@ remoteDispatchDomainGetSchedulerParamete - virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; - } -- if (VIR_ALLOC_N(params, nparams) < 0) -+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) - goto no_memory; - - if (!(dom = get_nonnull_domain(priv->conn, args->dom))) -@@ -1254,7 +1254,7 @@ remoteDispatchDomainBlockStatsFlags(virN - virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; - } -- if (VIR_ALLOC_N(params, nparams) < 0) { -+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) { - virReportOOMError(); - goto cleanup; - } -@@ -1728,7 +1728,7 @@ remoteDispatchDomainGetMemoryParameters( - virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; - } -- if (VIR_ALLOC_N(params, nparams) < 0) { -+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) { - virReportOOMError(); - goto cleanup; - } -@@ -1793,7 +1793,7 @@ remoteDispatchDomainGetNumaParameters(vi - virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; - } -- if (VIR_ALLOC_N(params, nparams) < 0) { -+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) { - virReportOOMError(); - goto cleanup; - } -@@ -1858,7 +1858,7 @@ remoteDispatchDomainGetBlkioParameters(v - virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; - } -- if (VIR_ALLOC_N(params, nparams) < 0) { -+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) { - virReportOOMError(); - goto cleanup; - } -@@ -2118,7 +2118,7 @@ remoteDispatchDomainGetBlockIoTune(virNe - goto cleanup; - } - -- if (VIR_ALLOC_N(params, nparams) < 0) { -+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) { - virReportOOMError(); - goto cleanup; - } -@@ -3621,7 +3621,7 @@ remoteDispatchDomainGetInterfaceParamete - virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large")); - goto cleanup; - } -- if (VIR_ALLOC_N(params, nparams) < 0) { -+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) { - virReportOOMError(); - goto cleanup; - } diff --git a/AF_PACKET.patch b/AF_PACKET.patch index 10ec470..df87839 100644 --- a/AF_PACKET.patch +++ b/AF_PACKET.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.9.13/src/util/virnetdev.c +Index: libvirt-0.10.2/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 +--- libvirt-0.10.2.orig/src/util/virnetdev.c ++++ libvirt-0.10.2/src/util/virnetdev.c +@@ -81,7 +81,7 @@ static int virNetDevSetupControlFull(con static int virNetDevSetupControl(const char *ifname, struct ifreq *ifr) { @@ -11,10 +11,10 @@ Index: libvirt-0.9.13/src/util/virnetdev.c } #endif -Index: libvirt-0.9.13/src/util/virnetdevbridge.c +Index: libvirt-0.10.2/src/util/virnetdevbridge.c =================================================================== ---- libvirt-0.9.13.orig/src/util/virnetdevbridge.c -+++ libvirt-0.9.13/src/util/virnetdevbridge.c +--- libvirt-0.10.2.orig/src/util/virnetdevbridge.c ++++ libvirt-0.10.2/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 054d8b2..0aa138d 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 -@@ -1791,6 +1791,9 @@ int lxcContainerStart(virDomainDefPtr de +@@ -1932,6 +1932,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; -@@ -1810,7 +1813,11 @@ int lxcContainerStart(virDomainDefPtr de +@@ -1951,7 +1954,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); -@@ -1836,6 +1843,7 @@ int lxcContainerAvailable(int features) +@@ -1977,6 +1984,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; -@@ -1843,14 +1851,21 @@ int lxcContainerAvailable(int features) +@@ -1984,14 +1992,21 @@ int lxcContainerAvailable(int features) if (features & LXC_CONTAINER_FEATURE_NET) flags |= CLONE_NEWNET; diff --git a/f781e276-xen-driver-fix.patch b/f781e276-xen-driver-fix.patch deleted file mode 100644 index 810d00e..0000000 --- a/f781e276-xen-driver-fix.patch +++ /dev/null @@ -1,91 +0,0 @@ -commit f781e27653c7e50747c414a916c788cfc81760c4 -Author: Jim Fehlig -Date: Thu Aug 30 12:53:02 2012 -0600 - - Fix xen driver following changes to make it stateful - - Recent work to improve support for loadable driver modules introduced - a regression in the xen driver. The legacy xen driver is now a - stateful, libvirtd driver but was not being registered when building - without driver modules. - - A slight behavior change was also noted in the xen drivers when - built as driver modules. Previously, explicitly specifying a - connection URI was not necessary, but now - - Compiled against library: libvirt 0.10.0 - Using library: libvirt 0.10.0 - Using API: QEMU 0.10.0 - error: failed to get the hypervisor version - error: internal error Cannot find suitable emulator for x86_64 - - The xen drivers need to be registered before the qemu driver since - the qemu driver will return success with a null connection URI. - This ordering is safe since the xen drivers will decline when not - running the xen kernel. - -Index: libvirt-0.9.13/daemon/Makefile.am -=================================================================== ---- libvirt-0.9.13.orig/daemon/Makefile.am -+++ libvirt-0.9.13/daemon/Makefile.am -@@ -132,6 +132,10 @@ if WITH_LXC - libvirtd_LDADD += ../src/libvirt_driver_lxc.la - endif - -+if WITH_XEN -+ libvirtd_LDADD += ../src/libvirt_driver_xen.la -+endif -+ - if WITH_LIBXL - libvirtd_LDADD += ../src/libvirt_driver_libxl.la - endif -Index: libvirt-0.9.13/daemon/libvirtd.c -=================================================================== ---- libvirt-0.9.13.orig/daemon/libvirtd.c -+++ libvirt-0.9.13/daemon/libvirtd.c -@@ -65,6 +65,9 @@ - # ifdef WITH_LXC - # include "lxc/lxc_driver.h" - # endif -+# ifdef WITH_XEN -+# include "xen/xen_driver.h" -+# endif - # ifdef WITH_LIBXL - # include "libxl/libxl_driver.h" - # endif -@@ -381,6 +384,12 @@ static void daemonInitialize(void) - # ifdef WITH_INTERFACE - virDriverLoadModule("interface"); - # endif -+# ifdef WITH_XEN -+ virDriverLoadModule("xen"); -+# endif -+# ifdef WITH_LIBXL -+ virDriverLoadModule("libxl"); -+# endif - # ifdef WITH_QEMU - virDriverLoadModule("qemu"); - # endif -@@ -390,12 +399,6 @@ static void daemonInitialize(void) - # ifdef WITH_UML - virDriverLoadModule("uml"); - # endif --# ifdef WITH_XEN -- virDriverLoadModule("xen"); --# endif --# ifdef WITH_LIBXL -- virDriverLoadModule("libxl"); --# endif - #else - # ifdef WITH_NETWORK - networkRegister(); -@@ -415,6 +418,9 @@ static void daemonInitialize(void) - # ifdef WITH_NWFILTER - nwfilterRegister(); - # endif -+# ifdef WITH_XEN -+ xenRegister(); -+# endif - # ifdef WITH_LIBXL - libxlRegister(); - # endif diff --git a/install-apparmor-profiles.patch b/install-apparmor-profiles.patch index f2851e4..4591813 100644 --- a/install-apparmor-profiles.patch +++ b/install-apparmor-profiles.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.13/examples/apparmor/Makefile.am +Index: libvirt-0.10.2/examples/apparmor/Makefile.am =================================================================== ---- libvirt-0.9.13.orig/examples/apparmor/Makefile.am -+++ libvirt-0.9.13/examples/apparmor/Makefile.am +--- libvirt-0.10.2.orig/examples/apparmor/Makefile.am ++++ libvirt-0.10.2/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.13/examples/apparmor/Makefile.am + rm -f $(DESTDIR)$(sysconfdir)/apparmor.d/libvirt/TEMPLATE + +endif -Index: libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in +Index: libvirt-0.10.2/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in =================================================================== --- /dev/null -+++ libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in ++++ libvirt-0.10.2/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.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in + /var/lib/kvm/images/ r, + /var/lib/kvm/images/** r, +} -Index: libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper +Index: libvirt-0.10.2/examples/apparmor/usr.lib.libvirt.virt-aa-helper =================================================================== ---- libvirt-0.9.13.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper +--- libvirt-0.10.2.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.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper - /var/lib/libvirt/images/ r, - /var/lib/libvirt/images/** r, -} -Index: libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd +Index: libvirt-0.10.2/examples/apparmor/usr.sbin.libvirtd =================================================================== ---- libvirt-0.9.13.orig/examples/apparmor/usr.sbin.libvirtd +--- libvirt-0.10.2.orig/examples/apparmor/usr.sbin.libvirtd +++ /dev/null @@ -1,52 +0,0 @@ -# Last Modified: Mon Apr 5 15:03:58 2010 @@ -192,10 +192,10 @@ Index: libvirt-0.9.13/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.13/examples/apparmor/usr.sbin.libvirtd.in +Index: libvirt-0.10.2/examples/apparmor/usr.sbin.libvirtd.in =================================================================== --- /dev/null -+++ libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd.in ++++ libvirt-0.10.2/examples/apparmor/usr.sbin.libvirtd.in @@ -0,0 +1,57 @@ +# Last Modified: Fri Aug 19 11:20:36 2011 +#include @@ -254,10 +254,10 @@ Index: libvirt-0.9.13/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.13/examples/apparmor/libvirt-qemu +Index: libvirt-0.10.2/examples/apparmor/libvirt-qemu =================================================================== ---- libvirt-0.9.13.orig/examples/apparmor/libvirt-qemu -+++ libvirt-0.9.13/examples/apparmor/libvirt-qemu +--- libvirt-0.10.2.orig/examples/apparmor/libvirt-qemu ++++ libvirt-0.10.2/examples/apparmor/libvirt-qemu @@ -52,6 +52,7 @@ # access to firmware's etc /usr/share/kvm/** r, diff --git a/libvirt-0.10.2.tar.bz2 b/libvirt-0.10.2.tar.bz2 new file mode 100644 index 0000000..9a173e1 --- /dev/null +++ b/libvirt-0.10.2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c155e0805275688128abdcd0f43eb32907dc80c5ea6c5cb485723ddf03d0646 +size 15629786 diff --git a/libvirt-0.9.13.tar.bz2 b/libvirt-0.9.13.tar.bz2 deleted file mode 100644 index 141b197..0000000 --- a/libvirt-0.9.13.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -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 25935f2..bf98226 100644 --- a/libvirt-suse-netcontrol.patch +++ b/libvirt-suse-netcontrol.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.9.13/configure.ac +Index: libvirt-0.10.2/configure.ac =================================================================== ---- libvirt-0.9.13.orig/configure.ac -+++ libvirt-0.9.13/configure.ac -@@ -63,6 +63,7 @@ AVAHI_REQUIRED="0.6.0" +--- libvirt-0.10.2.orig/configure.ac ++++ libvirt-0.10.2/configure.ac +@@ -102,6 +102,7 @@ AVAHI_REQUIRED="0.6.0" POLKIT_REQUIRED="0.6" PARTED_REQUIRED="1.8.0" NETCF_REQUIRED="0.1.4" @@ -10,7 +10,7 @@ Index: libvirt-0.9.13/configure.ac UDEV_REQUIRED=145 PCIACCESS_REQUIRED=0.10.0 XMLRPC_REQUIRED=1.14.0 -@@ -1796,6 +1797,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit +@@ -1948,6 +1949,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit AC_SUBST([NETCF_CFLAGS]) AC_SUBST([NETCF_LIBS]) @@ -49,15 +49,7 @@ Index: libvirt-0.9.13/configure.ac AC_ARG_WITH([secrets], AC_HELP_STRING([--with-secrets], [with local secrets management driver @<:@default=yes@:>@]),[],[with_secrets=yes]) -@@ -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]) -+AC_MSG_NOTICE([ netctrl: $with_netcontrol]) - AC_MSG_NOTICE([ macvtap: $with_macvtap]) - AC_MSG_NOTICE([virtport: $with_virtualport]) - AC_MSG_NOTICE([]) -@@ -2942,6 +2976,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $ +@@ -3183,6 +3216,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $ else AC_MSG_NOTICE([ netcf: no]) fi @@ -69,52 +61,11 @@ Index: libvirt-0.9.13/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.13/daemon/Makefile.am +Index: libvirt-0.10.2/src/Makefile.am =================================================================== ---- 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 -+else -+if WITH_NETCONTROL -+ libvirtd_LDADD += ../src/libvirt_driver_interface.la -+endif - endif - - if WITH_NODE_DEVICES -Index: libvirt-0.9.13/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 - # include "interface/netcf_driver.h" -+# else -+# ifdef WITH_NETCONTROL -+# include "interface/netcf_driver.h" -+# endif - # endif - # ifdef WITH_STORAGE - # include "storage/storage_driver.h" -@@ -402,6 +406,10 @@ static void daemonInitialize(void) - # endif - # ifdef WITH_NETCF - interfaceRegister(); -+#else -+# ifdef WITH_NETCONTROL -+ interfaceRegister(); -+# endif - # endif - # ifdef WITH_STORAGE - storageRegister(); -Index: libvirt-0.9.13/src/Makefile.am -=================================================================== ---- 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-0.10.2.orig/src/Makefile.am ++++ libvirt-0.10.2/src/Makefile.am +@@ -1050,6 +1050,24 @@ libvirt_driver_interface_la_LIBADD += .. libvirt_driver_interface_la_LDFLAGS += -module -avoid-version endif libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES) @@ -139,25 +90,40 @@ Index: libvirt-0.9.13/src/Makefile.am endif if WITH_SECRETS -Index: libvirt-0.9.13/src/interface/netcf_driver.c +Index: libvirt-0.10.2/tools/virsh.c =================================================================== ---- libvirt-0.9.13.orig/src/interface/netcf_driver.c -+++ libvirt-0.9.13/src/interface/netcf_driver.c -@@ -23,7 +23,13 @@ +--- libvirt-0.10.2.orig/tools/virsh.c ++++ libvirt-0.10.2/tools/virsh.c +@@ -2708,6 +2708,10 @@ vshShowVersion(vshControl *ctl ATTRIBUTE + vshPrint(ctl, " Interface"); + # if defined(WITH_NETCF) + vshPrint(ctl, " netcf"); ++# else ++# ifdef WITH_NETCONTROL ++ vshPrint(ctl, " Interface"); ++# endif + # endif + #endif + #ifdef WITH_NWFILTER +Index: libvirt-0.10.2/src/interface/interface_backend_netcf.c +=================================================================== +--- libvirt-0.10.2.orig/src/interface/interface_backend_netcf.c ++++ libvirt-0.10.2/src/interface/interface_backend_netcf.c +@@ -23,7 +23,12 @@ #include +-#include +#ifdef WITH_NETCONTROL -+#include -+#include -+#include "logging.h" ++# include ++# include +#else - #include ++# include +#endif #include "virterror_internal.h" #include "datatypes.h" -@@ -55,6 +61,39 @@ static void interfaceDriverUnlock(struct +@@ -52,6 +57,39 @@ static void interfaceDriverUnlock(struct virMutexUnlock(&driver->lock); } @@ -197,7 +163,7 @@ Index: libvirt-0.9.13/src/interface/netcf_driver.c static int netcf_to_vir_err(int netcf_errcode) { switch (netcf_errcode) -@@ -140,6 +179,10 @@ static virDrvOpenStatus interfaceOpenInt +@@ -137,6 +175,10 @@ static virDrvOpenStatus interfaceOpenInt goto mutex_error; } @@ -208,18 +174,3 @@ Index: libvirt-0.9.13/src/interface/netcf_driver.c /* open netcf */ if (ncf_init(&driverState->netcf, NULL) != 0) { -Index: libvirt-0.9.13/tools/virsh.c -=================================================================== ---- 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, " Interface"); -+#else -+# ifdef WITH_NETCONTROL -+ vshPrint(ctl, " Interface"); -+# endif - #endif - #ifdef WITH_NWFILTER - vshPrint(ctl, " Nwfilter"); diff --git a/libvirt.changes b/libvirt.changes index 3d688c6..9ecbc6f 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,52 @@ +------------------------------------------------------------------- +Tue Sep 25 16:20:43 MDT 2012 - jfehlig@suse.com + +- Temporarily disable building libxl driver. The current + implementation does not support libxl in Xen 4.2. + +------------------------------------------------------------------- +Tue Sep 25 16:17:29 MDT 2012 - jfehlig@suse.com + +- Update to libvirt 0.10.2 + - network: define new API virNetworkUpdate + - add support for QEmu sandbox support + - blockjob: add virDomainBlockCommit + - node_memory: Define the APIs to get/set memory parameters + - list: Define new API virConnectListAllSecrets + - list: Define new API virConnectListAllNWFilter + - list: Define new API virConnectListAllNodeDevices + - list: Define new API virConnectListAllInterfaces + - list: Define new API virConnectListAllNetworks + - list: Define new API virStoragePoolListAllVolumes + - list: Define new API virStorageListAllStoragePools + - parallels: add support of containers to the driver + - Add PMSUSPENDED life cycle event + - Add per-guest S3/S4 state configuration + - qemu: Support for Block Device IO Limits + +------------------------------------------------------------------- +Fri Sep 7 13:42:10 MDT 2012 - jfehlig@suse.com + +- Update to libvirt 0.10.1 + - Bug fix release for critical bugs in 0.10.0 + - Drop upstream patch f781e276-xen-driver-fix.patch + +------------------------------------------------------------------- +Fri Aug 31 11:20:35 MDT 2012 - jfehlig@suse.com + +- Update to libvirt 0.10.0 + - agent: add qemuAgentArbitraryCommand() + - Introduce virDomainPinEmulator and virDomainGetEmulatorPinInfo + - network: use firewalld instead of iptables, when available + - network: make network driver vlan-aware + - esx: Implement network driver + - driver for parallels hypervisor + - Various LXC improvements + - Add virDomainGetHostname + - Drop upstream patches + 4036aa91-systemd.patch + 6039a2cb-CVE-2012-3445.patch + ------------------------------------------------------------------- Thu Aug 30 21:20:11 MDT 2012 - jfehlig@suse.com diff --git a/libvirt.spec b/libvirt.spec index 9c4bf9b..0cdf053 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -95,11 +95,9 @@ %define with_libxl 0 %endif -# libxenlight driver requires Xen >= 4.1, which is only -# available in openSUSE >= 12.1 or SLE >= 11sp2 -%if 0%{?suse_version} < 1210 +# Temporarily disable building the libxl driver since the current +# implementation only works with Xen 4.1 %define with_libxl 0 -%endif # numactl only on x86_64 and ia64 %ifnarch x86_64 ia64 @@ -330,7 +328,7 @@ BuildRequires: systemd Name: libvirt Url: http://libvirt.org/ -Version: 0.9.13 +Version: 0.10.2 Release: 0 Summary: A C toolkit to interact with the virtualization capabilities of Linux License: LGPL-2.1+ @@ -413,9 +411,6 @@ Source1: libvirtd.init Source2: libvirtd-relocation-server.fw Source99: baselibs.conf # Upstream patches -Patch0: 4036aa91-systemd.patch -Patch1: 6039a2cb-CVE-2012-3445.patch -Patch2: f781e276-xen-driver-fix.patch # Need to go upstream Patch100: xen-name-for-devid.patch Patch101: clone.patch @@ -551,9 +546,6 @@ Authors: %prep %setup -q -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 %patch100 -p1 %patch101 %patch102 -p1 diff --git a/libvirtd-defaults.patch b/libvirtd-defaults.patch index 732f6da..0dc5a0a 100644 --- a/libvirtd-defaults.patch +++ b/libvirtd-defaults.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.13/daemon/libvirtd.conf +Index: libvirt-0.10.2/daemon/libvirtd.conf =================================================================== ---- libvirt-0.9.13.orig/daemon/libvirtd.conf -+++ libvirt-0.9.13/daemon/libvirtd.conf +--- libvirt-0.10.2.orig/daemon/libvirtd.conf ++++ libvirt-0.10.2/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.13/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.13/daemon/libvirtd-config.c +Index: libvirt-0.10.2/daemon/libvirtd-config.c =================================================================== ---- 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 +--- libvirt-0.10.2.orig/daemon/libvirtd-config.c ++++ libvirt-0.10.2/daemon/libvirtd-config.c +@@ -233,7 +233,7 @@ daemonConfigNew(bool privileged ATTRIBUT return NULL; } diff --git a/relax-qemu-usergroup-check.patch b/relax-qemu-usergroup-check.patch index 4cade40..0075711 100644 --- a/relax-qemu-usergroup-check.patch +++ b/relax-qemu-usergroup-check.patch @@ -7,11 +7,11 @@ 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.13/src/qemu/qemu_conf.c +Index: libvirt-0.10.2/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 +--- libvirt-0.10.2.orig/src/qemu/qemu_conf.c ++++ libvirt-0.10.2/src/qemu/qemu_conf.c +@@ -350,9 +350,7 @@ int qemudLoadDriverConfig(struct qemud_d return -1; } if (virGetUserID(user, &driver->user) < 0) { @@ -22,7 +22,7 @@ Index: libvirt-0.9.13/src/qemu/qemu_conf.c } VIR_FREE(user); -@@ -286,9 +284,7 @@ int qemudLoadDriverConfig(struct qemud_d +@@ -365,9 +363,7 @@ int qemudLoadDriverConfig(struct qemud_d return -1; } if (virGetGroupID(group, &driver->group) < 0) { diff --git a/suse-qemu-conf.patch b/suse-qemu-conf.patch index 7fb1c6e..d64d38a 100644 --- a/suse-qemu-conf.patch +++ b/suse-qemu-conf.patch @@ -1,10 +1,10 @@ -Index: libvirt-0.9.13/src/qemu/qemu.conf +Index: libvirt-0.10.2/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. +--- libvirt-0.10.2.orig/src/qemu/qemu.conf ++++ libvirt-0.10.2/src/qemu/qemu.conf +@@ -169,7 +169,16 @@ + # a special value; security_driver can be set to that value in + # isolation, but it cannot appear in a list of drivers. # +# SUSE Note: +# Currently, Apparmor is the default security framework in SUSE @@ -14,12 +14,12 @@ Index: libvirt-0.9.13/src/qemu/qemu.conf +# confinement of qemu instances. +# #security_driver = "selinux" -+# security_driver = "apparmor" ++#security_driver = "apparmor" +security_driver = "none" # If set to non-zero, then the default security labeling # will make guests confined. If set to zero, then guests -@@ -319,6 +328,15 @@ +@@ -342,6 +351,15 @@ #allow_disk_format_probing = 1 diff --git a/use-init-script-redhat.patch b/use-init-script-redhat.patch index 659cbff..ce16965 100644 --- a/use-init-script-redhat.patch +++ b/use-init-script-redhat.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.9.13/tools/Makefile.am +Index: libvirt-0.10.2/tools/Makefile.am =================================================================== ---- 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 +--- libvirt-0.10.2.orig/tools/Makefile.am ++++ libvirt-0.10.2/tools/Makefile.am +@@ -169,24 +169,22 @@ install-data-local: install-init install uninstall-local: uninstall-init uninstall-systemd install-sysconfig: @@ -33,10 +33,10 @@ Index: libvirt-0.9.13/tools/Makefile.am if LIBVIRT_INIT_SCRIPT_RED_HAT -Index: libvirt-0.9.13/tools/libvirt-guests.sysconf +Index: libvirt-0.10.2/tools/libvirt-guests.sysconf =================================================================== ---- libvirt-0.9.13.orig/tools/libvirt-guests.sysconf -+++ libvirt-0.9.13/tools/libvirt-guests.sysconf +--- libvirt-0.10.2.orig/tools/libvirt-guests.sysconf ++++ libvirt-0.10.2/tools/libvirt-guests.sysconf @@ -1,19 +1,29 @@ +## Path: System/Virtualization/libvirt + @@ -101,10 +101,10 @@ Index: libvirt-0.9.13/tools/libvirt-guests.sysconf # some file systems. -#BYPASS_CACHE=0 +BYPASS_CACHE=0 -Index: libvirt-0.9.13/tools/libvirt-guests.init.sh +Index: libvirt-0.10.2/tools/libvirt-guests.init.sh =================================================================== ---- libvirt-0.9.13.orig/tools/libvirt-guests.init.sh -+++ libvirt-0.9.13/tools/libvirt-guests.init.sh +--- libvirt-0.10.2.orig/tools/libvirt-guests.init.sh ++++ libvirt-0.10.2/tools/libvirt-guests.init.sh @@ -4,10 +4,10 @@ # ### BEGIN INIT INFO @@ -212,7 +212,7 @@ Index: libvirt-0.9.13/tools/libvirt-guests.init.sh eval_gettext "Resuming guests on \$uri URI..."; echo for guest in $list; do name=$(guest_name "$uri" "$guest") -@@ -372,7 +394,7 @@ shutdown_guests_parallel() +@@ -401,7 +423,7 @@ shutdown_guests_parallel() timeout=$(($timeout - 1)) if [ $timeout -le 0 ]; then eval_gettext "Timeout expired while shutting down domains"; echo @@ -220,8 +220,8 @@ Index: libvirt-0.9.13/tools/libvirt-guests.init.sh + rc_failed 1 return fi - fi -@@ -394,7 +416,7 @@ stop() { + else +@@ -429,7 +451,7 @@ stop() { if [ $SHUTDOWN_TIMEOUT -lt 0 ]; then gettext "SHUTDOWN_TIMEOUT must be equal or greater than 0" echo @@ -230,7 +230,7 @@ Index: libvirt-0.9.13/tools/libvirt-guests.init.sh return fi fi -@@ -508,14 +530,13 @@ gueststatus() { +@@ -543,14 +565,13 @@ gueststatus() { rh_status() { if [ -f "$LISTFILE" ]; then gettext "stopped, with saved guests"; echo @@ -246,17 +246,17 @@ Index: libvirt-0.9.13/tools/libvirt-guests.init.sh fi } -@@ -559,4 +580,4 @@ case "$1" in +@@ -594,4 +615,4 @@ case "$1" in usage ;; esac -exit $RETVAL +rc_exit -Index: libvirt-0.9.13/daemon/Makefile.am +Index: libvirt-0.10.2/daemon/Makefile.am =================================================================== ---- libvirt-0.9.13.orig/daemon/Makefile.am -+++ libvirt-0.9.13/daemon/Makefile.am -@@ -260,39 +260,23 @@ uninstall-logrotate: +--- libvirt-0.10.2.orig/daemon/Makefile.am ++++ libvirt-0.10.2/daemon/Makefile.am +@@ -259,39 +259,23 @@ uninstall-logrotate: rmdir $(DESTDIR)$(sysconfdir)/logrotate.d || : install-sysconfig: @@ -300,10 +300,10 @@ Index: libvirt-0.9.13/daemon/Makefile.am else install-init-redhat: uninstall-init-redhat: -Index: libvirt-0.9.13/daemon/libvirtd.sysconf +Index: libvirt-0.10.2/daemon/libvirtd.sysconf =================================================================== ---- libvirt-0.9.13.orig/daemon/libvirtd.sysconf -+++ libvirt-0.9.13/daemon/libvirtd.sysconf +--- libvirt-0.10.2.orig/daemon/libvirtd.sysconf ++++ libvirt-0.10.2/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 8c04449..5b90f1d 100644 --- a/xen-name-for-devid.patch +++ b/xen-name-for-devid.patch @@ -13,11 +13,11 @@ 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.13/src/xen/xend_internal.c +Index: libvirt-0.10.2/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 @@ +--- libvirt-0.10.2.orig/src/xen/xend_internal.c ++++ libvirt-0.10.2/src/xen/xend_internal.c +@@ -61,6 +61,7 @@ static int virDomainXMLDevID(virDomainPtr domain, @@ -25,7 +25,7 @@ Index: libvirt-0.9.13/src/xen/xend_internal.c virDomainDeviceDefPtr dev, char *class, char *ref, -@@ -2757,7 +2758,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr +@@ -2764,7 +2765,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr sexpr = virBufferContentAndReset(&buf); @@ -34,16 +34,16 @@ Index: libvirt-0.9.13/src/xen/xend_internal.c /* device doesn't exist, define it */ ret = xend_op(domain->conn, domain->name, "op", "device_create", "config", sexpr, NULL); -@@ -2878,7 +2879,7 @@ xenDaemonUpdateDeviceFlags(virDomainPtr +@@ -2885,7 +2886,7 @@ xenDaemonUpdateDeviceFlags(virDomainPtr sexpr = virBufferContentAndReset(&buf); - if (virDomainXMLDevID(domain, dev, class, ref, sizeof(ref))) { + if (virDomainXMLDevID(domain, def, dev, class, ref, sizeof(ref))) { - virXendError(VIR_ERR_OPERATION_INVALID, "%s", - _("requested device does not exist")); + virReportError(VIR_ERR_OPERATION_INVALID, "%s", + _("requested device does not exist")); goto cleanup; -@@ -2973,7 +2974,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr +@@ -2980,7 +2981,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr def, xml, VIR_DOMAIN_XML_INACTIVE))) goto cleanup; @@ -52,7 +52,7 @@ Index: libvirt-0.9.13/src/xen/xend_internal.c goto cleanup; if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV) { -@@ -3919,6 +3920,7 @@ struct xenUnifiedDriver xenDaemonDriver +@@ -3926,6 +3927,7 @@ struct xenUnifiedDriver xenDaemonDriver */ static int virDomainXMLDevID(virDomainPtr domain, @@ -60,7 +60,7 @@ Index: libvirt-0.9.13/src/xen/xend_internal.c virDomainDeviceDefPtr dev, char *class, char *ref, -@@ -3927,8 +3929,12 @@ virDomainXMLDevID(virDomainPtr domain, +@@ -3934,8 +3936,12 @@ virDomainXMLDevID(virDomainPtr domain, xenUnifiedPrivatePtr priv = domain->conn->privateData; char *xref; char *tmp; @@ -73,7 +73,7 @@ Index: libvirt-0.9.13/src/xen/xend_internal.c if (dev->data.disk->driverName && STREQ(dev->data.disk->driverName, "tap")) strcpy(class, "tap"); -@@ -3938,19 +3944,21 @@ virDomainXMLDevID(virDomainPtr domain, +@@ -3945,19 +3951,21 @@ virDomainXMLDevID(virDomainPtr domain, else strcpy(class, "vbd"); diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch index 2d022f5..62bb783 100644 --- a/xen-pv-cdrom.patch +++ b/xen-pv-cdrom.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.13/src/xenxs/xen_sxpr.c +Index: libvirt-0.10.2/src/xenxs/xen_sxpr.c =================================================================== ---- libvirt-0.9.13.orig/src/xenxs/xen_sxpr.c -+++ libvirt-0.9.13/src/xenxs/xen_sxpr.c +--- libvirt-0.10.2.orig/src/xenxs/xen_sxpr.c ++++ libvirt-0.10.2/src/xenxs/xen_sxpr.c @@ -340,7 +340,7 @@ error: static int xenParseSxprDisks(virDomainDefPtr def, @@ -17,5 +17,5 @@ Index: libvirt-0.9.13/src/xenxs/xen_sxpr.c if (!offset || - !hvm || STRNEQ(offset, ":cdrom")) { - XENXS_ERROR(VIR_ERR_INTERNAL_ERROR, - "%s", _("domain information incomplete, vbd has no src")); + virReportError(VIR_ERR_INTERNAL_ERROR, + "%s", _("domain information incomplete, vbd has no src"));