mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Build: create /var/run directories at install time
Directory creating was moved from SPEC file to install-data-hook. At the same time, it is using systemd-tmpfiles to create the directories so we do not risk any inconsistency between SPEC file and tmpfilesd configuration. systemd-tmpfiles call is non-critical on purpose: The build would fail when run under unprivileged user because systemd-tmpfiles tries to change ownership. Luckily it creates all the files and just do not change ownership so it works even under unprivileged user. Interestingly, systemd-tmpfiles continues if user does not have sufficient permissions to change ownership but fails if target username does not exist at all. For this reason there is BuildRequires on httpd. https://fedorahosted.org/freeipa/ticket/6418 Reviewed-By: Martin Basti <mbasti@redhat.com> Reviewed-By: Christian Heimes <cheimes@redhat.com>
This commit is contained in:
committed by
Martin Babinsky
parent
288d624336
commit
6cb0271509
@@ -66,6 +66,8 @@ BuildRequires: python3-devel
|
||||
%endif # with_python3
|
||||
# %{_unitdir}, %{_tmpfilesdir}
|
||||
BuildRequires: systemd
|
||||
# systemd-tmpfiles which is executed from make install requires apache user
|
||||
BuildRequires: httpd
|
||||
BuildRequires: libini_config-devel
|
||||
BuildRequires: cyrus-sasl-devel
|
||||
%if ! %{ONLY_CLIENT}
|
||||
@@ -800,13 +802,6 @@ mkdir -p %{buildroot}%{_usr}/share/ipa/ui/js/plugins
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/ipa/kdcproxy/
|
||||
install -m 644 install/share/kdcproxy.conf %{buildroot}%{_sysconfdir}/ipa/kdcproxy/kdcproxy.conf
|
||||
|
||||
mkdir -p %{buildroot}%{_localstatedir}/run/
|
||||
install -d -m 0700 %{buildroot}%{_localstatedir}/run/ipa_memcached/
|
||||
install -d -m 0700 %{buildroot}%{_localstatedir}/run/ipa/
|
||||
install -d -m 0700 %{buildroot}%{_localstatedir}/run/httpd/ipa
|
||||
install -d -m 0700 %{buildroot}%{_localstatedir}/run/httpd/ipa/clientcaches
|
||||
install -d -m 0700 %{buildroot}%{_localstatedir}/run/httpd/ipa/krbcache
|
||||
|
||||
mkdir -p %{buildroot}%{_libdir}/krb5/plugins/libkrb5
|
||||
touch %{buildroot}%{_libdir}/krb5/plugins/libkrb5/winbind_krb5_locator.so
|
||||
|
||||
|
||||
@@ -8,3 +8,13 @@ CLEANFILES = $(systemdtmpfiles_DATA)
|
||||
|
||||
%: %.in Makefile
|
||||
sed -e 's|@localstatedir[@]|$(localstatedir)|g' '$(srcdir)/$@.in' >$@
|
||||
|
||||
# create empty directories as needed
|
||||
# DESTDIR might not be set, in that case default to system root
|
||||
DESTDIR ?= /
|
||||
install-data-hook:
|
||||
for conf in $(systemdtmpfiles_DATA); do \
|
||||
systemd-tmpfiles --remove --create --boot \
|
||||
--root $(DESTDIR) \
|
||||
$(DESTDIR)$(systemdtmpfilesdir)/$${conf} || :; \
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user