]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
spec: require device-mapper-devel for storage-disk
authorEric Blake <eblake@redhat.com>
Tue, 25 Feb 2014 19:28:53 +0000 (12:28 -0700)
committerEric Blake <eblake@redhat.com>
Wed, 26 Feb 2014 13:02:06 +0000 (06:02 -0700)
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>
libvirt.spec.in

index c25b8ca6c048a11eb21469d5de75f46de348151b..0b2a6b3534e3f29aa25662d25c8ab45e545f8d11 100644 (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