diff --git a/libvirt-0.8.0.tar.bz2 b/libvirt-0.8.0.tar.bz2 deleted file mode 100644 index 9b38ec6..0000000 --- a/libvirt-0.8.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:98ff762add810e318d2d586ea419219e71fe29f25f32eab20bae1cd9edbbc703 -size 7478088 diff --git a/libvirt-0.8.1.tar.bz2 b/libvirt-0.8.1.tar.bz2 new file mode 100644 index 0000000..f77a719 --- /dev/null +++ b/libvirt-0.8.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:037256df745a96ba141dbfc4e4197e8bc16c51f21c834f4f89c599c379792698 +size 7706670 diff --git a/libvirt.changes b/libvirt.changes index ab869a9..699fafe 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Wed May 12 11:29:44 MDT 2010 - jfehlig@novell.com + +- Don't package directories/files under /var/run +- Add upstream commit 34a7f3f6 to fix unintentional breakage of + RPC protocol. +- Disable numa support in openSUSE11.3/Factory pending resolution + of bnc#598488 + +------------------------------------------------------------------- +Fri Apr 30 15:25:52 MDT 2010 - jfehlig@novell.com + +- Update to libvirt 0.8.1 + - Add virDomainGetBlockInfo API to query disk sizing + - Start dnsmasq from libvirtd with --dhcp-hostsfile option + - lots of improvements and bug fixes + ------------------------------------------------------------------- Mon Apr 12 18:15:38 MDT 2010 - jfehlig@novell.com diff --git a/libvirt.spec b/libvirt.spec index 5b04a5a..cad6402 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -1,5 +1,5 @@ # -# spec file for package libvirt (Version 0.8.0) +# spec file for package libvirt (Version 0.8.1) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -62,6 +62,10 @@ %ifnarch x86_64 ia64 %define with_numactl 0 %endif +# TEMP: no numa on 11.3 / Factory until bnc#598488 is resolved +%if 0%{?suse_version} > 1120 +%define with_numactl 0 +%endif # SLES doesn't contain OpenVZ, VBox, UML, OpenNebula, or ESX %if 0%{?sles_version} %define with_openvz 0 @@ -113,11 +117,11 @@ Url: http://libvirt.org/ License: LGPLv2.1+ Group: Development/Libraries/C and C++ AutoReqProv: yes -Version: 0.8.0 +Version: 0.8.1 Release: 1 Summary: A C toolkit to interract with the virtualization capabilities of Linux # The client side, i.e. shared libs and virsh are in a subpackage -Requires: libvirt-client = %{version}-%{release} +Requires: %{name}-client = %{version}-%{release} Requires: bridge-utils Requires: iptables Requires: lvm2 @@ -138,6 +142,7 @@ Requires: PolicyKit >= 0.6 Source0: %{name}-%{version}.tar.bz2 Source1: libvirtd.init # Upstream patches +Patch0: remote-rm-unused-field.patch # Need to go upstream Patch100: xen-name-for-devid.patch Patch101: socat.patch @@ -194,7 +199,7 @@ Authors: License: LGPLv2.1+ Summary: A C toolkit to interract with the virtualization capabilities of Linux Group: Development/Libraries/C and C++ -Requires: %{name} = %{version} libxml2-devel +Requires: %{name}-client = %{version}-%{release} libxml2-devel %if %{with_xen} Requires: xen-devel %endif @@ -216,7 +221,7 @@ Authors: License: LGPLv2.1+ Summary: A C toolkit to interract with the virtualization capabilities of Linux Group: Development/Libraries/C and C++ -Requires: %{name} = %{version} +Requires: %{name}-client = %{version}-%{release} %description doc Libvirt is a C toolkit to interract with the virtualization @@ -234,7 +239,7 @@ Authors: License: LGPLv2.1+ Summary: A C toolkit to interract with the virtualization capabilities of Linux Group: Development/Libraries/C and C++ -Requires: %{name} = %{version} +Requires: %{name}-client = %{version}-%{release} %py_requires %description python @@ -251,6 +256,7 @@ Authors: %prep %setup -q +%patch0 -p1 %patch100 -p1 %patch101 -p1 %patch102 @@ -352,7 +358,6 @@ cd docs ; cp -a *.html $RPM_BUILD_ROOT%{_docdir}/%{name} ; cp -a *.png $RPM_BU rm -rf $RPM_BUILD_ROOT/usr/share/locale/sr@latin # don't autostart the default network rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml -mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/run/libvirt mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/libvirt rm $RPM_BUILD_ROOT%{_libdir}/*.*a $RPM_BUILD_ROOT%{py_sitedir}/*.*a %if ! %{with_lxc} @@ -426,7 +431,6 @@ rm -rf $RPM_BUILD_ROOT %config %{_sysconfdir}/libvirt/libvirtd.conf %config %{_sysconfdir}/libvirt/qemu/networks/default.xml %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/ -%dir %{_localstatedir}/run/libvirt/ %dir %{_localstatedir}/lib/libvirt/ %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/images/ %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/boot/ @@ -441,7 +445,6 @@ rm -rf $RPM_BUILD_ROOT %if %{with_qemu} %config (noreplace)%{_sysconfdir}/libvirt/qemu.conf %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu -%dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/ %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/qemu/ %dir %attr(0700, root, root) %{_localstatedir}/cache/libvirt/qemu/ %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ @@ -449,14 +452,12 @@ rm -rf $RPM_BUILD_ROOT %if %{with_lxc} %config(noreplace) %{_sysconfdir}/libvirt/lxc.conf %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc -%dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/lxc/ %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/ %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/ %attr(0755, root, root) %{_libdir}/%{name}/libvirt_lxc %endif %if %{with_uml} %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml -%dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/uml/ %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/ %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/ %endif diff --git a/remote-rm-unused-field.patch b/remote-rm-unused-field.patch new file mode 100644 index 0000000..0a5f271 --- /dev/null +++ b/remote-rm-unused-field.patch @@ -0,0 +1,50 @@ +commit 34a7f3f6be9c63ac3d4c4604c1fb2482a4e5053b +Author: Matthew Booth +Date: Fri May 7 16:38:05 2010 +0200 + + Remove unused nwfilter field from struct remote_error + + Change 965466c1 added a new field to struct remote_error, which broke + the RPC protocol. Fortunately the new field is unused, so this change + simply removes it again. + + * src/remote/remote_protocol.(c|h|x): Remove remote_nwfilter from struct + remote_error + +diff --git a/src/remote/remote_protocol.c b/src/remote/remote_protocol.c +index 187281d..972bf52 100644 +--- a/src/remote/remote_protocol.c ++++ b/src/remote/remote_protocol.c +@@ -227,8 +227,6 @@ xdr_remote_error (XDR *xdrs, remote_error *objp) + return FALSE; + if (!xdr_remote_network (xdrs, &objp->net)) + return FALSE; +- if (!xdr_remote_nwfilter (xdrs, &objp->nwfilter)) +- return FALSE; + return TRUE; + } + +diff --git a/src/remote/remote_protocol.h b/src/remote/remote_protocol.h +index 6f01da7..a600af6 100644 +--- a/src/remote/remote_protocol.h ++++ b/src/remote/remote_protocol.h +@@ -143,7 +143,6 @@ struct remote_error { + int int1; + int int2; + remote_network net; +- remote_nwfilter nwfilter; + }; + typedef struct remote_error remote_error; + +diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x +index 8000ee0..1ce488c 100644 +--- a/src/remote/remote_protocol.x ++++ b/src/remote/remote_protocol.x +@@ -266,7 +266,6 @@ struct remote_error { + int int1; + int int2; + remote_network net; +- remote_nwfilter nwfilter; + }; + + /* Authentication types available thus far.... */ diff --git a/socat.patch b/socat.patch index f0be201..76b956f 100644 --- a/socat.patch +++ b/socat.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.8.0/src/remote/remote_driver.c +Index: libvirt-0.8.1/src/remote/remote_driver.c =================================================================== ---- libvirt-0.8.0.orig/src/remote/remote_driver.c -+++ libvirt-0.8.0/src/remote/remote_driver.c -@@ -768,12 +768,29 @@ doRemoteOpen (virConnectPtr conn, +--- libvirt-0.8.1.orig/src/remote/remote_driver.c ++++ libvirt-0.8.1/src/remote/remote_driver.c +@@ -769,12 +769,29 @@ doRemoteOpen (virConnectPtr conn, cmd_argv[j++] = strdup ("none"); } cmd_argv[j++] = strdup (priv->hostname); diff --git a/xen-name-for-devid.patch b/xen-name-for-devid.patch index 0bafde2..b324c5a 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.8.0/src/xen/xend_internal.c +Index: libvirt-0.8.1/src/xen/xend_internal.c =================================================================== ---- libvirt-0.8.0.orig/src/xen/xend_internal.c -+++ libvirt-0.8.0/src/xen/xend_internal.c +--- libvirt-0.8.1.orig/src/xen/xend_internal.c ++++ libvirt-0.8.1/src/xen/xend_internal.c @@ -91,6 +91,7 @@ xenDaemonFormatSxprOnePCI(virDomainHostd static int @@ -25,7 +25,7 @@ Index: libvirt-0.8.0/src/xen/xend_internal.c virDomainDeviceDefPtr dev, char *class, char *ref, -@@ -4161,7 +4162,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr +@@ -4164,7 +4165,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr sexpr = virBufferContentAndReset(&buf); @@ -34,7 +34,7 @@ Index: libvirt-0.8.0/src/xen/xend_internal.c /* device doesn't exist, define it */ ret = xend_op(domain->conn, domain->name, "op", "device_create", "config", sexpr, NULL); -@@ -4274,7 +4275,7 @@ xenDaemonUpdateDeviceFlags(virDomainPtr +@@ -4281,7 +4282,7 @@ xenDaemonUpdateDeviceFlags(virDomainPtr sexpr = virBufferContentAndReset(&buf); @@ -43,7 +43,7 @@ Index: libvirt-0.8.0/src/xen/xend_internal.c virXendError(VIR_ERR_OPERATION_INVALID, "%s", _("requested device does not exist")); goto cleanup; -@@ -4366,7 +4367,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr +@@ -4373,7 +4374,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr def, xml, VIR_DOMAIN_XML_INACTIVE))) goto cleanup; @@ -52,7 +52,7 @@ Index: libvirt-0.8.0/src/xen/xend_internal.c goto cleanup; if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV) { -@@ -6114,6 +6115,7 @@ error: +@@ -6121,6 +6122,7 @@ error: */ static int virDomainXMLDevID(virDomainPtr domain, @@ -60,7 +60,7 @@ Index: libvirt-0.8.0/src/xen/xend_internal.c virDomainDeviceDefPtr dev, char *class, char *ref, -@@ -6122,27 +6124,33 @@ virDomainXMLDevID(virDomainPtr domain, +@@ -6129,27 +6131,33 @@ virDomainXMLDevID(virDomainPtr domain, xenUnifiedPrivatePtr priv = domain->conn->privateData; char *xref; char *tmp; diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch index f3e89cf..9b90452 100644 --- a/xen-pv-cdrom.patch +++ b/xen-pv-cdrom.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.8.0/src/xen/xend_internal.c +Index: libvirt-0.8.1/src/xen/xend_internal.c =================================================================== ---- libvirt-0.8.0.orig/src/xen/xend_internal.c -+++ libvirt-0.8.0/src/xen/xend_internal.c -@@ -5524,7 +5524,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co +--- libvirt-0.8.1.orig/src/xen/xend_internal.c ++++ libvirt-0.8.1/src/xen/xend_internal.c +@@ -5531,7 +5531,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co } else if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) { virBufferVSprintf(buf, "(dev '%s:cdrom')", def->dst); } else { diff --git a/xen-tap2-support.patch b/xen-tap2-support.patch index 82c52f9..8f05493 100644 --- a/xen-tap2-support.patch +++ b/xen-tap2-support.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.8.0/src/xen/xend_internal.c +Index: libvirt-0.8.1/src/xen/xend_internal.c =================================================================== ---- libvirt-0.8.0.orig/src/xen/xend_internal.c -+++ libvirt-0.8.0/src/xen/xend_internal.c -@@ -1593,7 +1593,8 @@ xenDaemonParseSxprDisks(virDomainDefPtr +--- libvirt-0.8.1.orig/src/xen/xend_internal.c ++++ libvirt-0.8.1/src/xen/xend_internal.c +@@ -1596,7 +1596,8 @@ xenDaemonParseSxprDisks(virDomainDefPtr but blktap disks ended up in a differently named (device (tap ....)) block.... */ if (sexpr_lookup(node, "device/vbd") || @@ -12,7 +12,7 @@ Index: libvirt-0.8.0/src/xen/xend_internal.c char *offset; const char *src = NULL; const char *dst = NULL; -@@ -1604,10 +1605,14 @@ xenDaemonParseSxprDisks(virDomainDefPtr +@@ -1607,10 +1608,14 @@ xenDaemonParseSxprDisks(virDomainDefPtr src = sexpr_node(node, "device/vbd/uname"); dst = sexpr_node(node, "device/vbd/dev"); mode = sexpr_node(node, "device/vbd/mode"); diff --git a/xend-disk-order.patch b/xend-disk-order.patch index 4c47ffe..90c5247 100644 --- a/xend-disk-order.patch +++ b/xend-disk-order.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.8.0/src/xen/xend_internal.c +Index: libvirt-0.8.1/src/xen/xend_internal.c =================================================================== ---- libvirt-0.8.0.orig/src/xen/xend_internal.c -+++ libvirt-0.8.0/src/xen/xend_internal.c -@@ -1599,20 +1599,24 @@ xenDaemonParseSxprDisks(virDomainDefPtr +--- libvirt-0.8.1.orig/src/xen/xend_internal.c ++++ libvirt-0.8.1/src/xen/xend_internal.c +@@ -1602,20 +1602,24 @@ xenDaemonParseSxprDisks(virDomainDefPtr const char *src = NULL; const char *dst = NULL; const char *mode = NULL; @@ -27,7 +27,7 @@ Index: libvirt-0.8.0/src/xen/xend_internal.c } if (VIR_ALLOC(disk) < 0) -@@ -1737,7 +1741,12 @@ xenDaemonParseSxprDisks(virDomainDefPtr +@@ -1740,7 +1744,12 @@ xenDaemonParseSxprDisks(virDomainDefPtr if (VIR_REALLOC_N(def->disks, def->ndisks+1) < 0) goto no_memory;