diff --git a/45147ca3-macvtap-warning.patch b/45147ca3-macvtap-warning.patch new file mode 100644 index 0000000..901b9a9 --- /dev/null +++ b/45147ca3-macvtap-warning.patch @@ -0,0 +1,18 @@ +commit 45147ca37f3d93ea67b02a6c0e435bdf40b4ddc5 +Author: Jean-Baptiste Rouault +Date: Wed Dec 1 12:00:32 2010 +0100 + + Fix warning when macvtap support is disabled + +diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c +index b0343c6..7cd0603 100644 +--- a/src/qemu/qemu_conf.c ++++ b/src/qemu/qemu_conf.c +@@ -1689,6 +1689,7 @@ qemudPhysIfaceConnect(virConnectPtr conn, + (void)qemuCmdFlags; + (void)driver; + (void)vmuuid; ++ (void)vmop; + qemuReportError(VIR_ERR_INTERNAL_ERROR, + "%s", _("No support for macvtap device")); + rc = -1; diff --git a/474b1c14-macvtap-undefined.patch b/474b1c14-macvtap-undefined.patch new file mode 100644 index 0000000..a56fb8b --- /dev/null +++ b/474b1c14-macvtap-undefined.patch @@ -0,0 +1,121 @@ +commit 474b1c1487828a17fe9e1025901334d9820ea350 +Author: Matthias Bolte +Date: Wed Dec 1 15:43:40 2010 +0100 + + Fix undefined symbol errors when macvtap support is disabled + + Use macvtap specific functions depending on WITH_MACVTAP. + + Use #if instead of #ifdef to check for WITH_MACVTAP, because + WITH_MACVTAP is always defined with value 0 or 1. + + Also export virVMOperationType{To|From}String unconditional, + because they are used unconditional in the domain config code. + +Index: libvirt-0.8.6/src/libvirt_macvtap.syms +=================================================================== +--- libvirt-0.8.6.orig/src/libvirt_macvtap.syms ++++ libvirt-0.8.6/src/libvirt_macvtap.syms +@@ -1,9 +1,10 @@ + # ++# These symbols are dependent on WITH_MACVTAP. ++# ++ + + # macvtap.h + delMacvtap; + openMacvtapTap; +-virVMOperationTypeFromString; +-virVMOperationTypeToString; + vpAssociatePortProfileId; + vpDisassociatePortProfileId; +Index: libvirt-0.8.6/src/libvirt_private.syms +=================================================================== +--- libvirt-0.8.6.orig/src/libvirt_private.syms ++++ libvirt-0.8.6/src/libvirt_private.syms +@@ -503,6 +503,11 @@ virLogStartup; + virLogUnlock; + + ++# macvtap.h ++virVMOperationTypeFromString; ++virVMOperationTypeToString; ++ ++ + # memory.h + virAlloc; + virAllocN; +Index: libvirt-0.8.6/src/qemu/qemu_driver.c +=================================================================== +--- libvirt-0.8.6.orig/src/qemu/qemu_driver.c ++++ libvirt-0.8.6/src/qemu/qemu_driver.c +@@ -11869,6 +11869,7 @@ cleanup: + return ret; + } + ++#if WITH_MACVTAP + static void + qemudVPAssociatePortProfiles(virDomainDefPtr def) { + int i; +@@ -11903,6 +11904,10 @@ err_exit: + } + } + } ++#else /* !WITH_MACVTAP */ ++static void ++qemudVPAssociatePortProfiles(virDomainDefPtr def ATTRIBUTE_UNUSED) { } ++#endif /* WITH_MACVTAP */ + + /* Finish is the third and final step, and it runs on the destination host. */ + static virDomainPtr +Index: libvirt-0.8.6/src/util/macvtap.h +=================================================================== +--- libvirt-0.8.6.orig/src/util/macvtap.h ++++ libvirt-0.8.6/src/util/macvtap.h +@@ -57,11 +57,6 @@ struct _virVirtualPortProfileParams { + } u; + }; + +- +-# if defined(WITH_MACVTAP) +- +-# include "internal.h" +- + enum virVMOperationType { + VIR_VM_OP_CREATE, + VIR_VM_OP_SAVE, +@@ -75,6 +70,10 @@ enum virVMOperationType { + VIR_VM_OP_LAST + }; + ++# if WITH_MACVTAP ++ ++# include "internal.h" ++ + int openMacvtapTap(const char *ifname, + const unsigned char *macaddress, + const char *linkdev, +@@ -90,11 +89,9 @@ void delMacvtap(const char *ifname, + const char *linkdev, + virVirtualPortProfileParamsPtr virtPortProfile); + +-# endif /* WITH_MACVTAP */ +- +-# define MACVTAP_MODE_PRIVATE_STR "private" +-# define MACVTAP_MODE_VEPA_STR "vepa" +-# define MACVTAP_MODE_BRIDGE_STR "bridge" ++# define MACVTAP_MODE_PRIVATE_STR "private" ++# define MACVTAP_MODE_VEPA_STR "vepa" ++# define MACVTAP_MODE_BRIDGE_STR "bridge" + + int vpAssociatePortProfileId(const char *macvtap_ifname, + const unsigned char *macvtap_macaddr, +@@ -109,6 +106,8 @@ int vpDisassociatePortProfileId(const ch + const virVirtualPortProfileParamsPtr virtPort, + enum virVMOperationType vmOp); + ++# endif /* WITH_MACVTAP */ ++ + VIR_ENUM_DECL(virVirtualPort) + VIR_ENUM_DECL(virVMOperation) + diff --git a/b164db62-xen-compile-warnings.patch b/b164db62-xen-compile-warnings.patch deleted file mode 100644 index 60f65cf..0000000 --- a/b164db62-xen-compile-warnings.patch +++ /dev/null @@ -1,57 +0,0 @@ -commit b164db623c7dce2d75b100abae3be6ffd162c4e4 -Author: Eric Blake -Date: Mon Nov 1 12:18:06 2010 -0600 - - build: avoid compiler warning in xen code - - * src/xen/xend_internal.c (xenDaemonFormatSxpr): Hoist verify - outside of function to avoid a -Wnested-externs warning. - * src/xen/xm_internal.c (xenXMDomainConfigFormat): Likewise. - Reported by Daniel P. Berrange. - -diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c -index 614c036..5c3a4bd 100644 ---- a/src/xen/xend_internal.c -+++ b/src/xen/xend_internal.c -@@ -5744,6 +5744,10 @@ xenDaemonFormatSxprInput(virDomainInputDefPtr input, - } - - -+/* Computing the vcpu_avail bitmask works because MAX_VIRT_CPUS is -+ either 32, or 64 on a platform where long is big enough. */ -+verify(MAX_VIRT_CPUS <= sizeof(1UL) * CHAR_BIT); -+ - /** - * xenDaemonFormatSxpr: - * @conn: pointer to the hypervisor connection -@@ -5772,7 +5776,6 @@ xenDaemonFormatSxpr(virConnectPtr conn, - virBufferVSprintf(&buf, "(vcpus %u)", def->maxvcpus); - /* Computing the vcpu_avail bitmask works because MAX_VIRT_CPUS is - either 32, or 64 on a platform where long is big enough. */ -- verify(MAX_VIRT_CPUS <= sizeof(1UL) * CHAR_BIT); - if (def->vcpus < def->maxvcpus) - virBufferVSprintf(&buf, "(vcpu_avail %lu)", (1UL << def->vcpus) - 1); - -diff --git a/src/xen/xm_internal.c b/src/xen/xm_internal.c -index 6c5df0f..a4d1a30 100644 ---- a/src/xen/xm_internal.c -+++ b/src/xen/xm_internal.c -@@ -2304,6 +2304,10 @@ error: - } - - -+/* Computing the vcpu_avail bitmask works because MAX_VIRT_CPUS is -+ either 32, or 64 on a platform where long is big enough. */ -+verify(MAX_VIRT_CPUS <= sizeof(1UL) * CHAR_BIT); -+ - virConfPtr xenXMDomainConfigFormat(virConnectPtr conn, - virDomainDefPtr def) { - virConfPtr conf = NULL; -@@ -2338,7 +2342,6 @@ virConfPtr xenXMDomainConfigFormat(virConnectPtr conn, - goto no_memory; - /* Computing the vcpu_avail bitmask works because MAX_VIRT_CPUS is - either 32, or 64 on a platform where long is big enough. */ -- verify(MAX_VIRT_CPUS <= sizeof(1UL) * CHAR_BIT); - if (def->vcpus < def->maxvcpus && - xenXMConfigSetInt(conf, "vcpu_avail", (1UL << def->vcpus) - 1) < 0) - goto no_memory; diff --git a/clone.patch b/clone.patch index dda2750..8437409 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 -@@ -831,6 +831,9 @@ int lxcContainerStart(virDomainDefPtr de +@@ -838,6 +838,9 @@ int lxcContainerStart(virDomainDefPtr de lxc_child_argv_t args = { def, nveths, veths, control, ttyPath }; /* 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; -@@ -849,7 +852,11 @@ int lxcContainerStart(virDomainDefPtr de +@@ -856,7 +859,11 @@ int lxcContainerStart(virDomainDefPtr de flags |= CLONE_NEWNET; } @@ -24,7 +24,7 @@ Index: src/lxc/lxc_container.c VIR_FREE(stack); DEBUG("clone() completed, new container PID is %d", pid); -@@ -875,6 +882,7 @@ int lxcContainerAvailable(int features) +@@ -882,6 +889,7 @@ int lxcContainerAvailable(int features) char *childStack; char *stack; int childStatus; @@ -32,7 +32,7 @@ Index: src/lxc/lxc_container.c if (features & LXC_CONTAINER_FEATURE_USER) flags |= CLONE_NEWUSER; -@@ -882,14 +890,21 @@ int lxcContainerAvailable(int features) +@@ -889,14 +897,21 @@ int lxcContainerAvailable(int features) if (features & LXC_CONTAINER_FEATURE_NET) flags |= CLONE_NEWNET; diff --git a/dc27e089-xen-max-cpu.patch b/dc27e089-xen-max-cpu.patch deleted file mode 100644 index b99b923..0000000 --- a/dc27e089-xen-max-cpu.patch +++ /dev/null @@ -1,136 +0,0 @@ -commit dc27e089bf40ef0336667e2678774b6dadd876a5 -Author: Eric Blake -Date: Fri Oct 29 10:51:01 2010 -0600 - - xen: work with ia64 MAX_VIRT_CPUS of 64 - - * src/xen/xen_hypervisor.c (MAX_VIRT_CPUS): Move... - * src/xen/xen_driver.h (MAX_VIRT_CPUS): ...so all xen code can see - same value. - * src/xen/xend_internal.c (sexpr_to_xend_domain_info) - (xenDaemonDomainGetVcpusFlags, xenDaemonParseSxpr) - (xenDaemonFormatSxpr): Work if MAX_VIRT_CPUS is 64 on a platform - where long is 64-bits. - * src/xen/xm_internal.c (xenXMDomainConfigParse) - (xenXMDomainConfigFormat): Likewise. - -diff --git a/src/xen/xen_driver.h b/src/xen/xen_driver.h -index 53f97d4..16d22f1 100644 ---- a/src/xen/xen_driver.h -+++ b/src/xen/xen_driver.h -@@ -29,6 +29,14 @@ - # include - # endif - -+/* xen-unstable changeset 19788 removed MAX_VIRT_CPUS from public -+ * headers. Its semantic was retained with XEN_LEGACY_MAX_VCPUS. -+ * Ensure MAX_VIRT_CPUS is defined accordingly. -+ */ -+# if !defined(MAX_VIRT_CPUS) && defined(XEN_LEGACY_MAX_VCPUS) -+# define MAX_VIRT_CPUS XEN_LEGACY_MAX_VCPUS -+# endif -+ - extern int xenRegister (void); - - # define XEN_UNIFIED_HYPERVISOR_OFFSET 0 -diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c -index 3797865..ec726fe 100644 ---- a/src/xen/xen_hypervisor.c -+++ b/src/xen/xen_hypervisor.c -@@ -109,14 +109,6 @@ typedef privcmd_hypercall_t hypercall_t; - # define SYS_IFACE_MIN_VERS_NUMA 4 - #endif - --/* xen-unstable changeset 19788 removed MAX_VIRT_CPUS from public -- * headers. Its semanitc was retained with XEN_LEGACY_MAX_VCPUS. -- * Ensure MAX_VIRT_CPUS is defined accordingly. -- */ --#if !defined(MAX_VIRT_CPUS) && defined(XEN_LEGACY_MAX_VCPUS) --# define MAX_VIRT_CPUS XEN_LEGACY_MAX_VCPUS --#endif -- - static int xen_ioctl_hypercall_cmd = 0; - static int initialized = 0; - static int in_init = 0; -diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c -index e96b762..614c036 100644 ---- a/src/xen/xend_internal.c -+++ b/src/xen/xend_internal.c -@@ -2192,7 +2192,7 @@ xenDaemonParseSxpr(virConnectPtr conn, - } - - def->maxvcpus = sexpr_int(root, "domain/vcpus"); -- def->vcpus = count_one_bits(sexpr_int(root, "domain/vcpu_avail")); -+ def->vcpus = count_one_bits_l(sexpr_u64(root, "domain/vcpu_avail")); - if (!def->vcpus || def->maxvcpus < def->vcpus) - def->vcpus = def->maxvcpus; - -@@ -2468,7 +2468,7 @@ sexpr_to_xend_domain_info(virDomainPtr domain, const struct sexpr *root, - } - info->cpuTime = sexpr_float(root, "domain/cpu_time") * 1000000000; - vcpus = sexpr_int(root, "domain/vcpus"); -- info->nrVirtCpu = count_one_bits(sexpr_int(root, "domain/vcpu_avail")); -+ info->nrVirtCpu = count_one_bits_l(sexpr_u64(root, "domain/vcpu_avail")); - if (!info->nrVirtCpu || vcpus < info->nrVirtCpu) - info->nrVirtCpu = vcpus; - -@@ -3706,7 +3706,7 @@ xenDaemonDomainGetVcpusFlags(virDomainPtr domain, unsigned int flags) - - ret = sexpr_int(root, "domain/vcpus"); - if (!(flags & VIR_DOMAIN_VCPU_MAXIMUM)) { -- int vcpus = count_one_bits(sexpr_int(root, "domain/vcpu_avail")); -+ int vcpus = count_one_bits_l(sexpr_u64(root, "domain/vcpu_avail")); - if (vcpus) - ret = MIN(vcpus, ret); - } -@@ -5770,9 +5770,11 @@ xenDaemonFormatSxpr(virConnectPtr conn, - virBufferVSprintf(&buf, "(memory %lu)(maxmem %lu)", - def->mem.cur_balloon/1024, def->mem.max_balloon/1024); - virBufferVSprintf(&buf, "(vcpus %u)", def->maxvcpus); -- /* Computing the vcpu_avail bitmask works because MAX_VIRT_CPUS is 32. */ -+ /* Computing the vcpu_avail bitmask works because MAX_VIRT_CPUS is -+ either 32, or 64 on a platform where long is big enough. */ -+ verify(MAX_VIRT_CPUS <= sizeof(1UL) * CHAR_BIT); - if (def->vcpus < def->maxvcpus) -- virBufferVSprintf(&buf, "(vcpu_avail %u)", (1U << def->vcpus) - 1); -+ virBufferVSprintf(&buf, "(vcpu_avail %lu)", (1UL << def->vcpus) - 1); - - if (def->cpumask) { - char *ranges = virDomainCpuSetFormat(def->cpumask, def->cpumasklen); -@@ -5869,8 +5871,8 @@ xenDaemonFormatSxpr(virConnectPtr conn, - - virBufferVSprintf(&buf, "(vcpus %u)", def->maxvcpus); - if (def->vcpus < def->maxvcpus) -- virBufferVSprintf(&buf, "(vcpu_avail %u)", -- (1U << def->vcpus) - 1); -+ virBufferVSprintf(&buf, "(vcpu_avail %lu)", -+ (1UL << def->vcpus) - 1); - - for (i = 0 ; i < def->os.nBootDevs ; i++) { - switch (def->os.bootDevs[i]) { -diff --git a/src/xen/xm_internal.c b/src/xen/xm_internal.c -index 430d40b..6c5df0f 100644 ---- a/src/xen/xm_internal.c -+++ b/src/xen/xm_internal.c -@@ -776,7 +776,7 @@ xenXMDomainConfigParse(virConnectPtr conn, virConfPtr conf) { - def->maxvcpus = count; - if (xenXMConfigGetULong(conf, "vcpu_avail", &count, -1) < 0) - goto cleanup; -- def->vcpus = MIN(count_one_bits(count), def->maxvcpus); -+ def->vcpus = MIN(count_one_bits_l(count), def->maxvcpus); - - if (xenXMConfigGetString(conf, "cpus", &str, NULL) < 0) - goto cleanup; -@@ -2336,8 +2336,11 @@ virConfPtr xenXMDomainConfigFormat(virConnectPtr conn, - - if (xenXMConfigSetInt(conf, "vcpus", def->maxvcpus) < 0) - goto no_memory; -+ /* Computing the vcpu_avail bitmask works because MAX_VIRT_CPUS is -+ either 32, or 64 on a platform where long is big enough. */ -+ verify(MAX_VIRT_CPUS <= sizeof(1UL) * CHAR_BIT); - if (def->vcpus < def->maxvcpus && -- xenXMConfigSetInt(conf, "vcpu_avail", (1U << def->vcpus) - 1) < 0) -+ xenXMConfigSetInt(conf, "vcpu_avail", (1UL << def->vcpus) - 1) < 0) - goto no_memory; - - if ((def->cpumask != NULL) && diff --git a/libvirt-0.8.5.tar.bz2 b/libvirt-0.8.5.tar.bz2 deleted file mode 100644 index f014bbf..0000000 --- a/libvirt-0.8.5.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2e4b053a5d74f886e0d75c7824ff078e4a3557d9a93186f248827baad11873e2 -size 8679525 diff --git a/libvirt-0.8.6.tar.bz2 b/libvirt-0.8.6.tar.bz2 new file mode 100644 index 0000000..6ef7935 --- /dev/null +++ b/libvirt-0.8.6.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00392714fb1aca8c75d2dbe88dad91744da0028e7b259918a40ac930edabb0d9 +size 8912706 diff --git a/libvirt.changes b/libvirt.changes index 3db2b22..d74960b 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,6 +1,19 @@ ------------------------------------------------------------------- Mon Nov 1 17:27:29 MDT 2010 - jfehlig@novell.com +- Update to libvirt 0.8.6 + - new API virDomainIsUpdated + - Add support for iSCSI target auto-discovery + - QED: Basic support for QED images + - Introduce a virDomainOpenConsole API + - Support for SPICE graphics + - Add a sysinfo and SMBIOS support + - Implement virsh qemu-monitor-command +- Enabled yajl, macvtap, and virtualport for suse_version >= 1140 + +------------------------------------------------------------------- +Mon Nov 1 17:27:29 MDT 2010 - jfehlig@novell.com + - Fix build when using "policy kit 0" polkit0.patch diff --git a/libvirt.spec b/libvirt.spec index fe39d4e..dbc113c 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -1,5 +1,5 @@ # -# spec file for package libvirt (Version 0.8.5) +# spec file for package libvirt (Version 0.8.6) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -44,12 +44,24 @@ %else %define with_capng 0 %endif +%if 0%{?suse_version} >= 1140 +%define with_netcf 1 +%define with_yajl 1 +%define with_macvtap 1 +%define with_virtualport 1 +%else %define with_netcf 0 -%define with_udev 0 -%define with_hal 0 %define with_yajl 0 %define with_macvtap 0 %define with_virtualport 0 +%endif +%if 0%{?suse_version} > 1110 +%define with_udev 1 +%define with_hal 0 +%else +%define with_udev 0 +%define with_hal 1 +%endif # Xen is available only on i386 x86_64 %ifnarch %ix86 x86_64 @@ -76,11 +88,6 @@ %define with_one 0 %define with_esx 0 %endif -%if 0%{?suse_version} > 1110 -%define with_udev 1 -%else -%define with_hal 1 -%endif Name: libvirt BuildRequires: bridge-utils cyrus-sasl-devel device-mapper-devel fdupes gettext gnutls-devel iptables-devel libxml2-devel lvm2 ncurses-devel parted-devel pkg-config python-devel python-xml readline-devel util-linux xhtml-dtd @@ -116,6 +123,9 @@ BuildRequires: PolicyKit-devel >= 0.6 %if %{with_phyp} BuildRequires: libssh2-devel %endif +%if %{with_yajl} +BuildRequires: libyajl-devel +%endif %if %{with_macvtap} BuildRequires: libnl-devel %endif @@ -125,22 +135,25 @@ BuildRequires: libcurl-devel %if %{with_capng} BuildRequires: libcap-ng-devel %endif +%if %{with_netcf} +BuildRequires: netcf-devel +%endif # Only for directory ownership: BuildRequires: gtk-doc Url: http://libvirt.org/ License: LGPLv2.1+ Group: Development/Libraries/C and C++ AutoReqProv: yes -Version: 0.8.5 +Version: 0.8.6 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: %{name}-client = %{version}-%{release} +Requires: parted +Requires: virt-utils Recommends: bridge-utils Recommends: iptables Recommends: lvm2 -Requires: parted -Requires: virt-utils Recommends: logrotate Recommends: dnsmasq Recommends: open-iscsi @@ -151,15 +164,13 @@ Requires: hal %if 0%{?suse_version} > 1110 Recommends: polkit >= 0.9 %else -Requires: PolicyKit >= 0.6 +Recommends: PolicyKit >= 0.6 %endif Source0: %{name}-%{version}.tar.bz2 Source1: libvirtd.init # Upstream patches -Patch0: dc27e089-xen-max-cpu.patch -Patch1: b164db62-xen-compile-warnings.patch -Patch2: max-cpus-fixup.patch -Patch3: polkit0.patch +Patch0: 45147ca3-macvtap-warning.patch +Patch1: 474b1c14-macvtap-undefined.patch # Need to go upstream Patch100: xen-name-for-devid.patch Patch102: clone.patch @@ -273,8 +284,6 @@ Authors: %setup -q %patch0 -p1 %patch1 -p1 -%patch2 -p1 -%patch3 -p1 %patch100 -p1 %patch102 %patch103 -p1 @@ -434,7 +443,9 @@ rm -rf $RPM_BUILD_ROOT %postun /sbin/ldconfig %restart_on_update libvirtd +%if 0%{?sles_version} %insserv_cleanup +%endif %post client -p /sbin/ldconfig diff --git a/libvirtd-defaults.patch b/libvirtd-defaults.patch index 66dd246..ea40498 100644 --- a/libvirtd-defaults.patch +++ b/libvirtd-defaults.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.8.5/daemon/libvirtd.conf +Index: libvirt-0.8.6/daemon/libvirtd.conf =================================================================== ---- libvirt-0.8.5.orig/daemon/libvirtd.conf -+++ libvirt-0.8.5/daemon/libvirtd.conf +--- libvirt-0.8.6.orig/daemon/libvirtd.conf ++++ libvirt-0.8.6/daemon/libvirtd.conf @@ -18,8 +18,8 @@ # It is necessary to setup a CA and issue server certificates before # using this capability. @@ -28,11 +28,11 @@ Index: libvirt-0.8.5/daemon/libvirtd.conf # Override the default mDNS advertizement name. This must be # unique on the immediate broadcast network. -Index: libvirt-0.8.5/daemon/libvirtd.c +Index: libvirt-0.8.6/daemon/libvirtd.c =================================================================== ---- libvirt-0.8.5.orig/daemon/libvirtd.c -+++ libvirt-0.8.5/daemon/libvirtd.c -@@ -143,7 +143,7 @@ static int sigwrite = -1; /* Signa +--- libvirt-0.8.6.orig/daemon/libvirtd.c ++++ libvirt-0.8.6/daemon/libvirtd.c +@@ -147,7 +147,7 @@ static int sigwrite = -1; /* Signa static int ipsock = 0; /* -l Listen for TCP/IP */ /* Defaults for configuration file elements */ @@ -41,7 +41,7 @@ Index: libvirt-0.8.5/daemon/libvirtd.c static int listen_tcp = 0; static char *listen_addr = (char *) LIBVIRTD_LISTEN_ADDR; static char *tls_port = (char *) LIBVIRTD_TLS_PORT; -@@ -165,7 +165,7 @@ static int auth_tcp = REMOTE_AUTH_NONE; +@@ -169,7 +169,7 @@ static int auth_tcp = REMOTE_AUTH_NONE; #endif static int auth_tls = REMOTE_AUTH_NONE; diff --git a/max-cpus-fixup.patch b/max-cpus-fixup.patch deleted file mode 100644 index ff8a6b7..0000000 --- a/max-cpus-fixup.patch +++ /dev/null @@ -1,38 +0,0 @@ -I'm waiting for an ACK before pushing this, but it sure seems -pretty trivial. I don't know why the xen 4.0.1 headers of rawhide -are different from the xen 3.4.3 headers of Fedora 13 (translation: -something used to implicitly include xen/xen.h in the older headers, -but no longer does in the newer xen, but I didn't bother to figure -out where the inclusion chain differs). - -Tested on F13 and rawhide; fixes the MAX_VIRT_CPUS undeclared issue -that was occurring on rawhide. - - src/xen/xen_driver.h | 2 ++ - src/xen/xs_internal.c | 1 - - 2 files changed, 2 insertions(+), 1 deletions(-) - -diff --git a/src/xen/xen_driver.h b/src/xen/xen_driver.h -index 16d22f1..6af6132 100644 ---- a/src/xen/xen_driver.h -+++ b/src/xen/xen_driver.h -@@ -29,6 +29,8 @@ - # include - # endif - -+# include -+ - /* xen-unstable changeset 19788 removed MAX_VIRT_CPUS from public - * headers. Its semantic was retained with XEN_LEGACY_MAX_VCPUS. - * Ensure MAX_VIRT_CPUS is defined accordingly. -diff --git a/src/xen/xs_internal.c b/src/xen/xs_internal.c -index a9817b1..eba1b95 100644 ---- a/src/xen/xs_internal.c -+++ b/src/xen/xs_internal.c -@@ -22,7 +22,6 @@ - - #include - #include --#include - - #include diff --git a/polkit0.patch b/polkit0.patch deleted file mode 100644 index 88ef6e6..0000000 --- a/polkit0.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: libvirt-0.8.5/daemon/remote.c -=================================================================== ---- libvirt-0.8.5.orig/daemon/remote.c -+++ libvirt-0.8.5/daemon/remote.c -@@ -4152,6 +4152,7 @@ remoteDispatchAuthPolkit (struct qemud_s - DBusError err; - const char *action; - char ident[100]; -+ int rv; - - memset(ident, 0, sizeof ident); - diff --git a/xen-domctl-ver7.patch b/xen-domctl-ver7.patch index 589d95b..149ba99 100644 --- a/xen-domctl-ver7.patch +++ b/xen-domctl-ver7.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.8.5/src/xen/xen_hypervisor.c +Index: libvirt-0.8.6/src/xen/xen_hypervisor.c =================================================================== ---- libvirt-0.8.5.orig/src/xen/xen_hypervisor.c -+++ libvirt-0.8.5/src/xen/xen_hypervisor.c -@@ -222,11 +222,28 @@ struct xen_v2d6_getdomaininfo { +--- libvirt-0.8.6.orig/src/xen/xen_hypervisor.c ++++ libvirt-0.8.6/src/xen/xen_hypervisor.c +@@ -223,11 +223,28 @@ struct xen_v2d6_getdomaininfo { }; typedef struct xen_v2d6_getdomaininfo xen_v2d6_getdomaininfo; @@ -31,7 +31,7 @@ Index: libvirt-0.8.5/src/xen/xen_hypervisor.c }; typedef union xen_getdomaininfo xen_getdomaininfo; -@@ -235,6 +252,7 @@ union xen_getdomaininfolist { +@@ -236,6 +253,7 @@ union xen_getdomaininfolist { struct xen_v2_getdomaininfo *v2; struct xen_v2d5_getdomaininfo *v2d5; struct xen_v2d6_getdomaininfo *v2d6; @@ -39,7 +39,7 @@ Index: libvirt-0.8.5/src/xen/xen_hypervisor.c }; typedef union xen_getdomaininfolist xen_getdomaininfolist; -@@ -272,147 +290,179 @@ typedef struct xen_v2s5_availheap xen_v +@@ -273,147 +291,179 @@ typedef struct xen_v2s5_availheap xen_v #define XEN_GETDOMAININFOLIST_ALLOC(domlist, size) \ (hypervisor_version < 2 ? \ (VIR_ALLOC_N(domlist.v0, (size)) == 0) : \ @@ -251,7 +251,7 @@ Index: libvirt-0.8.5/src/xen/xen_hypervisor.c static int -@@ -2095,8 +2145,16 @@ xenHypervisorInit(void) +@@ -2087,8 +2137,16 @@ xenHypervisorInit(void) sys_interface_version = 7; /* XEN_SYSCTL_INTERFACE_VERSION */ if (virXen_getdomaininfo(fd, 0, &info) == 1) { dom_interface_version = 6; /* XEN_DOMCTL_INTERFACE_VERSION */ diff --git a/xen-name-for-devid.patch b/xen-name-for-devid.patch index e6aa497..5b04ade 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.8.5/src/xen/xend_internal.c +Index: libvirt-0.8.6/src/xen/xend_internal.c =================================================================== ---- libvirt-0.8.5.orig/src/xen/xend_internal.c -+++ libvirt-0.8.5/src/xen/xend_internal.c -@@ -93,6 +93,7 @@ xenDaemonFormatSxprOnePCI(virDomainHostd +--- libvirt-0.8.6.orig/src/xen/xend_internal.c ++++ libvirt-0.8.6/src/xen/xend_internal.c +@@ -89,6 +89,7 @@ xenDaemonFormatSxprOnePCI(virDomainHostd static int virDomainXMLDevID(virDomainPtr domain, @@ -25,7 +25,7 @@ Index: libvirt-0.8.5/src/xen/xend_internal.c virDomainDeviceDefPtr dev, char *class, char *ref, -@@ -4072,7 +4073,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr +@@ -4052,7 +4053,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr sexpr = virBufferContentAndReset(&buf); @@ -34,7 +34,7 @@ Index: libvirt-0.8.5/src/xen/xend_internal.c /* device doesn't exist, define it */ ret = xend_op(domain->conn, domain->name, "op", "device_create", "config", sexpr, NULL); -@@ -4190,7 +4191,7 @@ xenDaemonUpdateDeviceFlags(virDomainPtr +@@ -4170,7 +4171,7 @@ xenDaemonUpdateDeviceFlags(virDomainPtr sexpr = virBufferContentAndReset(&buf); @@ -43,7 +43,7 @@ Index: libvirt-0.8.5/src/xen/xend_internal.c virXendError(VIR_ERR_OPERATION_INVALID, "%s", _("requested device does not exist")); goto cleanup; -@@ -4283,7 +4284,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr +@@ -4263,7 +4264,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr def, xml, VIR_DOMAIN_XML_INACTIVE))) goto cleanup; @@ -52,7 +52,7 @@ Index: libvirt-0.8.5/src/xen/xend_internal.c goto cleanup; if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV) { -@@ -6042,6 +6043,7 @@ error: +@@ -6033,6 +6034,7 @@ error: */ static int virDomainXMLDevID(virDomainPtr domain, @@ -60,7 +60,7 @@ Index: libvirt-0.8.5/src/xen/xend_internal.c virDomainDeviceDefPtr dev, char *class, char *ref, -@@ -6050,8 +6052,12 @@ virDomainXMLDevID(virDomainPtr domain, +@@ -6041,8 +6043,12 @@ virDomainXMLDevID(virDomainPtr domain, xenUnifiedPrivatePtr priv = domain->conn->privateData; char *xref; char *tmp; @@ -73,7 +73,7 @@ Index: libvirt-0.8.5/src/xen/xend_internal.c if (dev->data.disk->driverName && STREQ(dev->data.disk->driverName, "tap")) strcpy(class, "tap"); -@@ -6061,19 +6067,21 @@ virDomainXMLDevID(virDomainPtr domain, +@@ -6052,19 +6058,21 @@ virDomainXMLDevID(virDomainPtr domain, else strcpy(class, "vbd"); diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch index f0918ca..efe43b8 100644 --- a/xen-pv-cdrom.patch +++ b/xen-pv-cdrom.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.8.5/src/xen/xend_internal.c +Index: libvirt-0.8.6/src/xen/xend_internal.c =================================================================== ---- libvirt-0.8.5.orig/src/xen/xend_internal.c -+++ libvirt-0.8.5/src/xen/xend_internal.c -@@ -1376,7 +1376,7 @@ error: +--- libvirt-0.8.6.orig/src/xen/xend_internal.c ++++ libvirt-0.8.6/src/xen/xend_internal.c +@@ -1358,7 +1358,7 @@ error: static int xenDaemonParseSxprDisks(virDomainDefPtr def, const struct sexpr *root, @@ -11,7 +11,7 @@ Index: libvirt-0.8.5/src/xen/xend_internal.c int xendConfigVersion) { const struct sexpr *cur, *node; -@@ -1423,7 +1423,6 @@ xenDaemonParseSxprDisks(virDomainDefPtr +@@ -1405,7 +1405,6 @@ xenDaemonParseSxprDisks(virDomainDefPtr /* There is a case without the uname to the CD-ROM device */ offset = strchr(dst, ':'); if (!offset || diff --git a/xend-disk-order.patch b/xend-disk-order.patch index fd01e1a..119a23b 100644 --- a/xend-disk-order.patch +++ b/xend-disk-order.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.8.5/src/xen/xend_internal.c +Index: libvirt-0.8.6/src/xen/xend_internal.c =================================================================== ---- libvirt-0.8.5.orig/src/xen/xend_internal.c -+++ libvirt-0.8.5/src/xen/xend_internal.c -@@ -1394,20 +1394,24 @@ xenDaemonParseSxprDisks(virDomainDefPtr +--- libvirt-0.8.6.orig/src/xen/xend_internal.c ++++ libvirt-0.8.6/src/xen/xend_internal.c +@@ -1376,20 +1376,24 @@ xenDaemonParseSxprDisks(virDomainDefPtr const char *src = NULL; const char *dst = NULL; const char *mode = NULL; @@ -27,7 +27,7 @@ Index: libvirt-0.8.5/src/xen/xend_internal.c } if (VIR_ALLOC(disk) < 0) -@@ -1532,7 +1536,12 @@ xenDaemonParseSxprDisks(virDomainDefPtr +@@ -1514,7 +1518,12 @@ xenDaemonParseSxprDisks(virDomainDefPtr if (VIR_REALLOC_N(def->disks, def->ndisks+1) < 0) goto no_memory;