From 7cac3afa5091f5da7035b49db041114ee9ad33a6 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Tue, 25 Feb 2014 12:28:53 -0700 Subject: [PATCH] spec: require device-mapper-devel for storage-disk On Fedora 20, with the following in my ~/.rpmmacros: %_without_udev 1 %_without_storage_mpath 1 and with device-mapper-devel uninstalled, 'make rpm' fails with: checking for libdevmapper.h... no configure: error: You must install device-mapper-devel/libdevmapper >= 1.0.0 to compile libvirt error: Bad exit status from /var/tmp/rpm-tmp.Wo9pOG (%build) This is a rather late point to be issuing an error; better is to flag missing packages up front. The fix is to match the logic in configure.ac on when devmapper is required (for both mpath and storage). While at it, rbd storage is not dependent on mpath. With this patch applied, I now get: $ rpmbuild -ta libvirt-1.2.2.tar.gz error: Failed build dependencies: device-mapper-devel is needed by libvirt-1.2.2-1.fc20.x86_64 until either installing the package or further modifying ~/.rpmmacros to add "%_without_storage_disk 1". * libvirt.spec.in (BuildRequires): Fix build when mpath is disabled. Signed-off-by: Eric Blake --- libvirt.spec.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libvirt.spec.in b/libvirt.spec.in index c25b8ca6c0..0b2a6b3534 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -566,7 +566,7 @@ BuildRequires: parted-devel BuildRequires: e2fsprogs-devel %endif %endif -%if %{with_storage_mpath} +%if %{with_storage_mpath} || %{with_storage_disk} # For Multipath support %if 0%{?rhel} == 5 # Broken RHEL-5 packaging has header files in main RPM :-( @@ -574,9 +574,9 @@ BuildRequires: device-mapper %else BuildRequires: device-mapper-devel %endif - %if %{with_storage_rbd} +%endif +%if %{with_storage_rbd} BuildRequires: ceph-devel - %endif %endif %if %{with_storage_gluster} %if 0%{?rhel} >= 6