mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
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>
This commit is contained in:
parent
7cac3afa50
commit
dea81f40ec
@ -131,6 +131,7 @@
|
|||||||
%define with_firewalld 0%{!?_without_firewalld:0}
|
%define with_firewalld 0%{!?_without_firewalld:0}
|
||||||
%define with_libssh2 0%{!?_without_libssh2:0}
|
%define with_libssh2 0%{!?_without_libssh2:0}
|
||||||
%define with_wireshark 0%{!?_without_wireshark:0}
|
%define with_wireshark 0%{!?_without_wireshark:0}
|
||||||
|
%define with_systemd_daemon 0%{!?_without_systemd_daemon:0}
|
||||||
|
|
||||||
# Non-server/HV driver defaults which are always enabled
|
# Non-server/HV driver defaults which are always enabled
|
||||||
%define with_sasl 0%{!?_without_sasl:1}
|
%define with_sasl 0%{!?_without_sasl:1}
|
||||||
@ -180,6 +181,7 @@
|
|||||||
# Fedora has systemd, libvirt still used sysvinit there.
|
# Fedora has systemd, libvirt still used sysvinit there.
|
||||||
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
|
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
|
||||||
%define with_systemd 1
|
%define with_systemd 1
|
||||||
|
%define with_systemd_daemon 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Fedora 18 / RHEL-7 are first where firewalld support is enabled
|
# Fedora 18 / RHEL-7 are first where firewalld support is enabled
|
||||||
@ -452,6 +454,9 @@ BuildRequires: python
|
|||||||
%if %{with_systemd}
|
%if %{with_systemd}
|
||||||
BuildRequires: systemd-units
|
BuildRequires: systemd-units
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with_systemd_daemon}
|
||||||
|
BuildRequires: systemd-devel
|
||||||
|
%endif
|
||||||
%if %{with_xen} || %{with_libxl}
|
%if %{with_xen} || %{with_libxl}
|
||||||
BuildRequires: xen-devel
|
BuildRequires: xen-devel
|
||||||
%endif
|
%endif
|
||||||
@ -1386,6 +1391,10 @@ driver
|
|||||||
%define _without_wireshark --without-wireshark-dissector
|
%define _without_wireshark --without-wireshark-dissector
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_systemd_daemon}
|
||||||
|
%define _without_systemd_daemon --without-systemd-daemon
|
||||||
|
%endif
|
||||||
|
|
||||||
%define when %(date +"%%F-%%T")
|
%define when %(date +"%%F-%%T")
|
||||||
%define where %(hostname)
|
%define where %(hostname)
|
||||||
%define who %{?packager}%{!?packager:Unknown}
|
%define who %{?packager}%{!?packager:Unknown}
|
||||||
@ -1460,6 +1469,7 @@ driver
|
|||||||
%{?_without_driver_modules} \
|
%{?_without_driver_modules} \
|
||||||
%{?_with_firewalld} \
|
%{?_with_firewalld} \
|
||||||
%{?_without_wireshark} \
|
%{?_without_wireshark} \
|
||||||
|
%{?_without_systemd_daemon} \
|
||||||
%{with_packager} \
|
%{with_packager} \
|
||||||
%{with_packager_version} \
|
%{with_packager_version} \
|
||||||
--with-qemu-user=%{qemu_user} \
|
--with-qemu-user=%{qemu_user} \
|
||||||
|
Loading…
Reference in New Issue
Block a user