From 8df6900dffa9e1c74ac3f64877f067974eee0eeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 27 Aug 2020 15:02:04 +0200 Subject: [PATCH] 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". --- gnu/local.mk | 1 + .../patches/sssd-system-directories.patch | 56 +++++++++++++++++++ gnu/packages/sssd.scm | 8 ++- 3 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/sssd-system-directories.patch 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 @@ (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"