aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludovic.courtes@inria.fr>2020-08-27 15:02:04 +0200
committerLudovic Courtès <ludo@gnu.org>2020-08-27 19:58:16 +0200
commit8df6900dffa9e1c74ac3f64877f067974eee0eeb (patch)
tree856c65f5a7d8ecd44ba01800692331e58951d75e
parent0c9d22c13fef9056413338293747c0d32f0cd5a4 (diff)
downloadguix-8df6900dffa9e1c74ac3f64877f067974eee0eeb.tar
guix-8df6900dffa9e1c74ac3f64877f067974eee0eeb.tar.gz
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".
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/sssd-system-directories.patch56
-rw-r--r--gnu/packages/sssd.scm8
3 files changed, 63 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 76f6fe6be5..9c54368eb3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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 \
diff --git a/gnu/packages/patches/sssd-system-directories.patch b/gnu/packages/patches/sssd-system-directories.patch
new file mode 100644
index 0000000000..f2ab0182e1
--- /dev/null
+++ b/gnu/packages/patches/sssd-system-directories.patch
@@ -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
diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm
index c004e8c21c..aa91424b4d 100644
--- a/gnu/packages/sssd.scm
+++ b/gnu/packages/sssd.scm
@@ -90,7 +90,8 @@ fundamental object types for C.")
(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 @@ fundamental object types for C.")
;; 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"