gnu: sssd: Pass '--localstatedir=/var' and '--sysconfdir=/etc'.

This ensures notably that libnss_sss looks for the mmap cache files in
the right place, /var/lib/sss/mc, rather than in the store.

* gnu/packages/patches/sssd-system-directories.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/sssd.scm (sssd)[source]: Use it.
[arguments]: Pass "--localstatedir" and "--sysconfdir".
This commit is contained in:
Ludovic Courtès 2020-08-27 15:02:04 +02:00 committed by Ludovic Courtès
parent 0c9d22c13f
commit 8df6900dff
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 63 additions and 2 deletions

View file

@ -1570,6 +1570,7 @@ dist_patch_DATA = \
%D%/packages/patches/sooperlooper-build-with-wx-30.patch \
%D%/packages/patches/sphinxbase-fix-doxygen.patch \
%D%/packages/patches/sssd-fix-samba.patch \
%D%/packages/patches/sssd-system-directories.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/suitesparse-mongoose-cmake.patch \
%D%/packages/patches/superlu-dist-awpm-grid.patch \

View file

@ -0,0 +1,56 @@
Do not attempt to create $localstatedir and $sysconfdir (i.e., /var and /etc)
upon "make install".
diff --git a/Makefile.in b/Makefile.in
index c32cb7d..77a5c00 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -7991,7 +7991,7 @@ sssdconfdir = $(sysconfdir)/sssd
sssddatadir = $(datadir)/sssd
sssdapiplugindir = $(sssddatadir)/sssd.api.d
sssdtapscriptdir = $(sssddatadir)/systemtap
-dbuspolicydir = $(sysconfdir)/dbus-1/system.d
+dbuspolicydir = $(prefix)/etc/dbus-1/system.d
dbusservicedir = $(datadir)/dbus-1/system-services
sss_statedir = $(localstatedir)/lib/sss
pamlibdir = @pammoddir@
@@ -8000,7 +8000,7 @@ nfslibdir = @nfsidmaplibdir@
keytabdir = $(sss_statedir)/keytabs
pkgconfigdir = $(libdir)/pkgconfig
sudolibdir = @sudolibpath@
-pamconfdir = $(sysconfdir)/pam.d
+pamconfdir = $(prefix)/etc/pam.d
systemtap_tapdir = @tapset_dir@
sssdkcmdatadir = $(datadir)/sssd-kcm
deskprofilepath = $(sss_statedir)/deskprofile
@@ -43733,7 +43733,6 @@ installsssddirs::
$(DESTDIR)$(bindir) \
$(DESTDIR)$(sbindir) \
$(DESTDIR)$(mandir) \
- $(DESTDIR)$(pidpath) \
$(DESTDIR)$(pluginpath) \
$(DESTDIR)$(libdir)/ldb \
$(DESTDIR)$(dbuspolicydir) \
@@ -43743,22 +43742,9 @@ installsssddirs::
$(DESTDIR)$(sssddatadir) \
$(DESTDIR)$(sudolibdir) \
$(DESTDIR)$(autofslibdir) \
- $(DESTDIR)$(pipepath)/private \
- $(SSSD_USER_DIRS) \
$(NULL);
@SSSD_USER_TRUE@ -chown $(SSSD_USER):$(SSSD_USER) $(SSSD_USER_DIRS)
@SSSD_USER_TRUE@ -chown $(SSSD_USER) $(DESTDIR)$(pipepath)/private
- $(INSTALL) -d -m 0700 $(DESTDIR)$(dbpath) $(DESTDIR)$(logpath) \
- $(DESTDIR)$(keytabdir) \
- $(NULL)
- $(INSTALL) -d -m 0750 $(DESTDIR)$(pipepath)/private
- $(INSTALL) -d -m 0755 $(DESTDIR)$(mcpath) $(DESTDIR)$(pipepath) \
- $(DESTDIR)$(pubconfpath) \
- $(DESTDIR)$(pubconfpath)/krb5.include.d $(DESTDIR)$(gpocachepath)
- $(INSTALL) -d -m 0711 $(DESTDIR)$(sssdconfdir) \
- $(DESTDIR)$(sssdconfdir)/conf.d \
- $(DESTDIR)$(sssdconfdir)/pki
-@BUILD_SECRETS_TRUE@ $(MKDIR_P) $(DESTDIR)$(secdbpath)
@HAVE_DOXYGEN_TRUE@docs:
@HAVE_DOXYGEN_TRUE@ $(DOXYGEN) src/doxy.config

View file

@ -90,7 +90,8 @@ (define-public sssd
(sha256
(base32
"1h6hwibaf3xa2w6qpzjiiywmfj6zkgbz4r2isf3gd0xm6vq7n6if"))
(patches (search-patches "sssd-fix-samba.patch"))))
(patches (search-patches "sssd-fix-samba.patch"
"sssd-system-directories.patch"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@ -103,7 +104,10 @@ (define-public sssd
;; online DTDs.
"XMLLINT_FLAGS = --catalogs --nonet --noent --xinclude --noout")
#:configure-flags
(list "--disable-cifs-idmap-plugin"
(list "--localstatedir=/var" ;for /var/lib/sss, /var/run/sssd.pid, etc.
"--sysconfdir=/etc" ;/etc/sssd
"--disable-cifs-idmap-plugin"
"--without-nfsv4-idmapd-plugin"
"--without-python2-bindings"
"--without-python3-bindings"