#20 Make pam_oddjob_mkhomedir optional to build and install
Merged a year ago by abbra. Opened a year ago by salahx.
Unknown source pam  into  master

file modified
+15 -12
@@ -43,18 +43,21 @@

  AC_SUBST(DBUS_INTROSPECTION_INTERFACE)

  AC_SUBST(DBUS_INTROSPECTION_METHOD)

  

- pam=yes

- AC_CHECK_HEADERS(security/pam_modules.h)

- savedLDFLAGS="$LDFLAGS"

- LDFLAGS=

- savedLIBS="$LIBS"

- LIBS=

- AC_CHECK_FUNCS([pam_get_user pam_get_item],,[AC_CHECK_LIB(pam,pam_get_user,,pam=no)])

- PAM_LIBS="$LIBS"

- LIBS="$savedLIBS"

- LDFLAGS="$savedLDFLAGS"

- AC_SUBST(PAM_LIBS)

- AM_CONDITIONAL(BUILD_PAM,test x$pam = xyes)

+ AC_ARG_WITH([pam],

+ 	[AS_HELP_STRING([--with-pam],[Build and install pam_oddjob_mkhomedir])]

+ 	,,[with_pam=yes])

+ AS_IF([test "x$with_pam" != "xno"],

+ 	[AC_CHECK_HEADERS(security/pam_modules.h)

+ 	savedLDFLAGS="$LDFLAGS"

+ 	LDFLAGS=

+ 	savedLIBS="$LIBS"

+ 	LIBS=

+ 	AC_CHECK_FUNCS([pam_get_user pam_get_item],,[AC_CHECK_LIB(pam,pam_get_user,,pam=no)])

+ 	PAM_LIBS="$LIBS"

+ 	LIBS="$savedLIBS"

+ 	LDFLAGS="$savedLDFLAGS"

+ 	AC_SUBST(PAM_LIBS)])

+ AM_CONDITIONAL(BUILD_PAM,[test "x$with_pam" != "xno"])

  

  dnl Oh, for the clear management of OID arcs....

  NAMESPACE=com.redhat

file modified
+1
@@ -96,6 +96,7 @@

  %configure \

  	--disable-static \

  	--enable-pie --enable-now \

+ 	--with-pam \

  	--with-selinux-acls \

  	--with-selinux-labels \

  	--without-python --enable-xml-docs --enable-compat-dtd \

file modified
-4
@@ -25,9 +25,7 @@

  

  confddir = $(sysconfdir)/$(PACKAGE)d.conf.d

  confd_DATA = oddjobd-introspection.conf

- if BUILD_PAM

  confd_DATA += oddjobd-mkhomedir.conf

- endif

  

  CLEANFILES = $(confd_DATA)

  
@@ -40,10 +38,8 @@

  pkgsysconfdir = $(sysconfdir)/$(PACKAGE)

  systemdbusdir = $(sysconfdir)/@DBUS_PACKAGE@/system.d

  systemdbus_DATA = oddjob.conf

- if BUILD_PAM

  systemdbus_DATA += oddjob-mkhomedir.conf

  pkglibexec_PROGRAMS = mkhomedir

- endif

  

  pkglibexecdir = $(libexecdir)/$(PACKAGE)

  pkglibexec_SCRIPTS = sanity.sh

Fedora has separate oddjob and oddjob-mkhomedir packages. Gentoo, being a source-based distribution, cannot do that easily. Currently oddjob builds the module unconditionally, but the machinery to conditionally build it already exists in the Makefiles. The option just needs to be readded to configure.ac and a bit of Makefile tweaking.

Technically, oddjob-mkhomedir can be used outside of PAM flow as well. I don't really want to limit it only to PAM usage.

Also, Fedora does not ship separate source packages, it does have separate binary package. I understand that in Gentoo you cannot build separate binary packages, you just build one package with a chosen feature set. So may be put PAM module under --with-pam but keep oddjob-mkhomedir in the base set.

rebased onto f5cf1c6

a year ago

Ok, if it can be used outside the PAM flow, then only pam_oddjob_mkhomedir.so and its man page needs to be excluded. So I've implemented that.

Pull-Request has been merged by abbra

a year ago

Thank you, I merged it.