]> git.ipfire.org Git - thirdparty/libvirt.git/commit
spec: make systemd_daemon usage configurable
authorEric Blake <eblake@redhat.com>
Tue, 25 Feb 2014 20:12:34 +0000 (13:12 -0700)
committerEric Blake <eblake@redhat.com>
Wed, 26 Feb 2014 13:02:57 +0000 (06:02 -0700)
commitdea81f40ecd4796059d5f2bf1bb214756106ac50
tree246dc0514c1e1bbe9c23e26579cf28e21195cfc8
parent7cac3afa5091f5da7035b49db041114ee9ad33a6
spec: make systemd_daemon usage configurable

On Fedora 20, I added this to my '~/.rpmmacros':

%_without_udev 1
%_without_storage_mpath 1
%_without_storage_disk 1

and uninstalled systemd-devel (which also removed device-mapper-devel).
Then I ran 'make rpm', and inspected the results:

$ ldd ~/rpmbuild/BUILD/libvirt-1.2.2/daemon/.libs/libvirtd | grep syst
$

Then I reinstalled systemd-devel, where I now see:

$ ldd ~/rpmbuild/BUILD/libvirt-1.2.2/daemon/.libs/libvirtd | grep syst
  libsystemd-daemon.so.0 => /lib64/libsystemd-daemon.so.0 (0x00007ffb858ba000)
$

Oops - the build is non-deterministic, where the final binary
depends on my build environment.  The fix is to require
systemd-devel in all situations where the code base uses it.
Now ~/.rpmmacros can contain "%define _without_systemd_daemon 1"
to explicitly disable use of the library, but the library is now
a strict build requirement for normal builds; if systemd-devel
is not installed, the user now gets an up-front warning:

$ rpmbuild -ta libvirt-1.2.2.tar.gz
error: Failed build dependencies:
       systemd-devel is needed by libvirt-1.2.2-1.fc20.x86_64

* libvirt.spec.in (with_systemd_daemon): New variable.
(BuildRequires): Require systemd-devel for more than just udev.
(%configure): Make choice of systemd_daemon explicit.

Signed-off-by: Eric Blake <eblake@redhat.com>
libvirt.spec.in