From f463598b2420abf36f77df9b3fcf4c358a3fffe6 Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Wed, 8 Aug 2012 22:45:35 +0800 Subject: [PATCH] Prerelease for libvirt-0.10.0 Snapshot before 0.10.0 expected beginning of september --- 0001-Fix-daemon-auto-spawning.patch | 46 ------------ libvirt-0.10.0-rc0-release-naming.patch | 67 +++++++++++++++++ libvirt.spec | 97 +++++++++++++++++++------ sources | 2 +- 4 files changed, 142 insertions(+), 70 deletions(-) delete mode 100644 0001-Fix-daemon-auto-spawning.patch create mode 100644 libvirt-0.10.0-rc0-release-naming.patch diff --git a/0001-Fix-daemon-auto-spawning.patch b/0001-Fix-daemon-auto-spawning.patch deleted file mode 100644 index 099676f..0000000 --- a/0001-Fix-daemon-auto-spawning.patch +++ /dev/null @@ -1,46 +0,0 @@ -From efe6c8021146d046846ead5b5efc9828d97c1ceb Mon Sep 17 00:00:00 2001 -From: Christophe Fergeau -Date: Thu, 12 Jul 2012 13:52:36 +0200 -Subject: [PATCH] Fix daemon auto-spawning - -Commit 32a9aac switched libvirt to use the XDG base directories -to locate most of its data/config. In particular, the per-user socket -for qemu:///session is now stored in the XDG runtime directory. -This directory is located by looking at the XDG_RUNTIME_DIR environment -variable, with a fallback to ~/.cache/libvirt if this variable is not -set. - -When the daemon is autospawned because a client application wants -to use qemu:///session, the daemon is ran in a clean environment -which does not contain XDG_RUNTIME_DIR. It will create its socket -in ~/.cache/libvirt. If the client application has XDG_RUNTIME_DIR -set, it will not look for the socket in the fallback place, and will -fail to connect to the autospawned daemon. - -This patch adds XDG_RUNTIME_DIR to the daemon environment before -auto-starting it. I've done this in virNetSocketForkDaemon rather -than in virCommandAddEnvPassCommon as I wasn't sure we want to pass -these variables to other commands libvirt spawns. XDG_CACHE_HOME -and XDG_CONFIG_HOME are also added to the daemon env as it makes use -of those as well. ---- - src/rpc/virnetsocket.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/rpc/virnetsocket.c b/src/rpc/virnetsocket.c -index 0b32ffe..08dfbb0 100644 ---- a/src/rpc/virnetsocket.c -+++ b/src/rpc/virnetsocket.c -@@ -97,6 +97,9 @@ static int virNetSocketForkDaemon(const char *binary) - NULL); - - virCommandAddEnvPassCommon(cmd); -+ virCommandAddEnvPass(cmd, "XDG_CACHE_HOME"); -+ virCommandAddEnvPass(cmd, "XDG_CONFIG_HOME"); -+ virCommandAddEnvPass(cmd, "XDG_RUNTIME_DIR"); - virCommandClearCaps(cmd); - virCommandDaemonize(cmd); - ret = virCommandRun(cmd, NULL); --- -1.7.10.4 - diff --git a/libvirt-0.10.0-rc0-release-naming.patch b/libvirt-0.10.0-rc0-release-naming.patch new file mode 100644 index 0000000..b09a885 --- /dev/null +++ b/libvirt-0.10.0-rc0-release-naming.patch @@ -0,0 +1,67 @@ +commit 1d170d3f9afce53b748acdbc0612758bba39aa35 +Author: Eric Blake +Date: Wed Aug 1 11:00:35 2012 -0600 + + build: commit to 0.10.0 release naming + + With 0.10.0-rc0 out the door, we are committed to the next version + number. + + * src/libvirt_public.syms (LIBVIRT_0.9.14): Rename... + (LIBVIRT_0.10.0): ...to this. + * docs/formatdomain.html.in: Fix fallout. + * src/openvz/openvz_driver.c (openvzDriver): Likewise. + * src/remote/remote_driver.c (remote_driver): Likewise. + +diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in +index c834577..f97c630 100644 +--- a/docs/formatdomain.html.in ++++ b/docs/formatdomain.html.in +@@ -780,7 +780,7 @@ + CPU model will fail. Supported values for fallback + attribute are: allow (this is the default), and + forbid. The optional vendor_id attribute +- (Since 0.9.14) can be used to set the ++ (Since 0.10.0) can be used to set the + vendor id seen by the guest. It must be exactly 12 characters long. + If not set the vendor id of the host is used. Typical possible + values are "AuthenticAMD" and "GenuineIntel". +diff --git a/src/libvirt_public.syms b/src/libvirt_public.syms +index 5004182..e3ba119 100644 +--- a/src/libvirt_public.syms ++++ b/src/libvirt_public.syms +@@ -544,7 +544,7 @@ LIBVIRT_0.9.13 { + virDomainSnapshotRef; + } LIBVIRT_0.9.11; + +-LIBVIRT_0.9.14 { ++LIBVIRT_0.10.0 { + global: + virDomainGetHostname; + virConnectRegisterCloseCallback; +diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c +index 4cc7f46..48b5219 100644 +--- a/src/openvz/openvz_driver.c ++++ b/src/openvz/openvz_driver.c +@@ -2170,7 +2170,7 @@ static virDriver openvzDriver = { + .domainIsUpdated = openvzDomainIsUpdated, /* 0.8.6 */ + .isAlive = openvzIsAlive, /* 0.9.8 */ + .domainUpdateDeviceFlags = openvzDomainUpdateDeviceFlags, /* 0.9.13 */ +- .domainGetHostname = openvzDomainGetHostname, /* 0.9.14 */ ++ .domainGetHostname = openvzDomainGetHostname, /* 0.10.0 */ + }; + + int openvzRegister(void) { +diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c +index 9354cb4..b9e2127 100644 +--- a/src/remote/remote_driver.c ++++ b/src/remote/remote_driver.c +@@ -5366,7 +5366,7 @@ static virDriver remote_driver = { + .domainGetDiskErrors = remoteDomainGetDiskErrors, /* 0.9.10 */ + .domainSetMetadata = remoteDomainSetMetadata, /* 0.9.10 */ + .domainGetMetadata = remoteDomainGetMetadata, /* 0.9.10 */ +- .domainGetHostname = remoteDomainGetHostname, /* 0.9.14 */ ++ .domainGetHostname = remoteDomainGetHostname, /* 0.10.0 */ + }; + + static virNetworkDriver network_driver = { diff --git a/libvirt.spec b/libvirt.spec index e2391a2..3d9fe50 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -67,21 +67,27 @@ %define with_esx 0%{!?_without_esx:1} %define with_hyperv 0%{!?_without_hyperv:1} %define with_xenapi 0%{!?_without_xenapi:1} +%define with_parallels 0%{!?_without_parallels:1} # Then the secondary host drivers, which run inside libvirtd -%define with_network 0%{!?_without_network:%{server_drivers}} -%define with_storage_fs 0%{!?_without_storage_fs:%{server_drivers}} -%define with_storage_lvm 0%{!?_without_storage_lvm:%{server_drivers}} -%define with_storage_iscsi 0%{!?_without_storage_iscsi:%{server_drivers}} -%define with_storage_disk 0%{!?_without_storage_disk:%{server_drivers}} -%define with_storage_mpath 0%{!?_without_storage_mpath:%{server_drivers}} +%define with_network 0%{!?_without_network:%{server_drivers}} +%define with_storage_fs 0%{!?_without_storage_fs:%{server_drivers}} +%define with_storage_lvm 0%{!?_without_storage_lvm:%{server_drivers}} +%define with_storage_iscsi 0%{!?_without_storage_iscsi:%{server_drivers}} +%define with_storage_disk 0%{!?_without_storage_disk:%{server_drivers}} +%define with_storage_mpath 0%{!?_without_storage_mpath:%{server_drivers}} %if 0%{?fedora} >= 16 -%define with_storage_rbd 0%{!?_without_storage_rbd:%{server_drivers}} +%define with_storage_rbd 0%{!?_without_storage_rbd:%{server_drivers}} %else -%define with_storage_rbd 0 +%define with_storage_rbd 0 %endif -%define with_numactl 0%{!?_without_numactl:%{server_drivers}} -%define with_selinux 0%{!?_without_selinux:%{server_drivers}} +%if 0%{?fedora} >= 17 +%define with_storage_sheepdog 0%{!?_without_storage_sheepdog:%{server_drivers}} +%else +%define with_storage_sheepdog 0 +%endif +%define with_numactl 0%{!?_without_numactl:%{server_drivers}} +%define with_selinux 0%{!?_without_selinux:%{server_drivers}} # A few optional bits off by default, we enable later %define with_polkit 0%{!?_without_polkit:0} @@ -131,6 +137,7 @@ %define with_xenapi 0 %define with_libxl 0 %define with_hyperv 0 +%define with_parallels 0 %endif # Fedora 17 / RHEL-7 are first where we use systemd. Although earlier @@ -224,6 +231,7 @@ %define with_storage_iscsi 0 %define with_storage_mpath 0 %define with_storage_rbd 0 +%define with_storage_sheepdog 0 %define with_storage_disk 0 %endif @@ -300,8 +308,8 @@ Summary: Library providing a simple virtualization API Name: libvirt -Version: 0.9.13 -Release: 3%{?dist}%{?extra_release} +Version: 0.10.0 +Release: 0rc0%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -310,10 +318,8 @@ URL: http://libvirt.org/ %if %(echo %{version} | grep -o \\. | wc -l) == 3 %define mainturl stable_updates/ %endif -Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz - -# Upstream patch to fix RHBZ#842114. Can be removed in 0.9.14. -Patch0: 0001-Fix-daemon-auto-spawning.patch +Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}-rc0.tar.gz +Patch0: libvirt-0.10.0-rc0-release-naming.patch %if %{with_libvirtd} Requires: libvirt-daemon = %{version}-%{release} @@ -323,8 +329,30 @@ Requires: libvirt-daemon-config-network = %{version}-%{release} %if %{with_nwfilter} Requires: libvirt-daemon-config-nwfilter = %{version}-%{release} %endif -# XXX when we turn on driver modules, we need to add -# deps on each driver (Requires: libvirt-daemon-drv-qemu) +%if %{with_driver_modules} +%if %{with_libxl} +Requires: libvirt-daemon-driver-libxl = %{version}-%{release} +%endif +%if %{with_lxc} +Requires: libvirt-daemon-driver-lxc = %{version}-%{release} +%endif +%if %{with_qemu} +Requires: libvirt-daemon-driver-qemu = %{version}-%{release} +%endif +%if %{with_uml} +Requires: libvirt-daemon-driver-uml = %{version}-%{release} +%endif +%if %{with_xen} +Requires: libvirt-daemon-driver-xen = %{version}-%{release} +%endif + +Requires: libvirt-daemon-driver-interface = %{version}-%{release} +Requires: libvirt-daemon-driver-secret = %{version}-%{release} +Requires: libvirt-daemon-driver-storage = %{version}-%{release} +Requires: libvirt-daemon-driver-network = %{version}-%{release} +Requires: libvirt-daemon-driver-nodedev = %{version}-%{release} +Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release} +%endif %endif Requires: libvirt-client = %{version}-%{release} @@ -610,6 +638,10 @@ Requires: device-mapper # For RBD support Requires: ceph %endif +%if %{with_storage_sheepdog} +# For Sheepdog support +Requires: sheepdog +%endif %if %{with_cgconfig} Requires: libcgroup %endif @@ -737,7 +769,9 @@ Summary: Qemu driver plugin for the libvirtd daemon Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} # There really is a hard cross-driver dependency here +%if %{with_driver_modules} Requires: libvirt-daemon-driver-network = %{version}-%{release} +%endif %description daemon-driver-qemu The qemu driver plugin for the libvirtd daemon, providing @@ -752,7 +786,9 @@ Summary: LXC driver plugin for the libvirtd daemon Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} # There really is a hard cross-driver dependency here +%if %{with_driver_modules} Requires: libvirt-daemon-driver-network = %{version}-%{release} +%endif %description daemon-driver-lxc The LXC driver plugin for the libvirtd daemon, providing @@ -985,7 +1021,6 @@ of recent versions of Linux (and other OSes). %prep %setup -q - %patch0 -p1 %build @@ -1041,6 +1076,10 @@ of recent versions of Linux (and other OSes). %define _without_vmware --without-vmware %endif +%if ! %{with_parallels} +%define _without_parallels --without-parallels +%endif + %if ! %{with_polkit} %define _without_polkit --without-polkit %endif @@ -1089,6 +1128,10 @@ of recent versions of Linux (and other OSes). %define _without_storage_rbd --without-storage-rbd %endif +%if ! %{with_storage_sheepdog} +%define _without_storage_sheepdog --without-storage-sheepdog +%endif + %if ! %{with_numactl} %define _without_numactl --without-numactl %endif @@ -1179,6 +1222,7 @@ autoreconf -if %{?_without_esx} \ %{?_without_hyperv} \ %{?_without_vmware} \ + %{?_without_parallels} \ %{?_without_network} \ %{?_with_rhel5_api} \ %{?_without_storage_fs} \ @@ -1187,6 +1231,7 @@ autoreconf -if %{?_without_storage_disk} \ %{?_without_storage_mpath} \ %{?_without_storage_rbd} \ + %{?_without_storage_sheepdog} \ %{?_without_numactl} \ %{?_without_numad} \ %{?_without_capng} \ @@ -1284,11 +1329,13 @@ rm -fr %{buildroot} %check cd tests -# These 3 tests don't current work in a mock build root -for i in nodeinfotest daemon-conf seclabeltest +make +# These tests don't current work in a mock build root +for i in nodeinfotest seclabeltest virdrivermoduletest do rm -f $i - printf "#!/bin/sh\nexit 0\n" > $i + printf 'int main(void) { return(0); }' > $i.c + printf '#!/bin/sh\nexit 0\n' > $i chmod +x $i done make check @@ -1369,7 +1416,7 @@ fi /sbin/chkconfig --add libvirtd if [ "$1" -ge "1" ]; then - /sbin/service libvirtd condrestart > /dev/null 2>&1 + /sbin/service libvirtd condrestart > /dev/null 2>&1 fi %endif @@ -1797,6 +1844,10 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/sysctl.d/libvirtd %endif %changelog +* Wed Aug 8 2012 Daniel Veillard - 0.10.0-0rc0 +- snapshot before 0.10.0 in a few weeks +- adds the parallel driver support + * Mon Jul 23 2012 Richard W.M. Jones - 0.9.13-3 - Add upstream patch to fix RHBZ#842114. diff --git a/sources b/sources index ebe1cf3..2f15fef 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -86cbe53ee662e3b9e8bb0c63c737ba27 libvirt-0.9.13.tar.gz +75fffe250104c44e23a6bf8e4925311f libvirt-0.10.0-rc0.tar.gz