From: Eric Blake Date: Tue, 25 Feb 2014 19:28:53 +0000 (-0700) Subject: spec: require device-mapper-devel for storage-disk X-Git-Tag: v1.2.2~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7cac3afa5091f5da7035b49db041114ee9ad33a6;p=thirdparty%2Flibvirt.git 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 --- 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