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 <eblake@redhat.com>
This commit is contained in:
Eric Blake 2014-02-25 12:28:53 -07:00
parent fa2939986d
commit 7cac3afa50

View File

@ -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