pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/mk Always use OpenPAM as fallback PAM implementation i...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/68b47d9e81d6
branches:  trunk
changeset: 635746:68b47d9e81d6
user:      joerg <joerg%pkgsrc.org@localhost>
date:      Tue Jun 10 13:52:57 2014 +0000

description:
Always use OpenPAM as fallback PAM implementation if a native one is
missing. Drop PAM_ACCEPTED and PAM_TYPE as unused or redundant.

diffstat:

 mk/linux-pam.builtin.mk |  74 +++++++++++++++++++++++++++++++++++++++++++++++++
 mk/pam.buildlink3.mk    |  63 +++++++++--------------------------------
 mk/platform/QNX.mk      |   2 -
 3 files changed, 88 insertions(+), 51 deletions(-)

diffs (196 lines):

diff -r 88d24f063cf4 -r 68b47d9e81d6 mk/linux-pam.builtin.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/mk/linux-pam.builtin.mk   Tue Jun 10 13:52:57 2014 +0000
@@ -0,0 +1,74 @@
+# $NetBSD: linux-pam.builtin.mk,v 1.1 2014/06/10 13:52:57 joerg Exp $
+
+BUILTIN_PKG:=  linux-pam
+
+BUILTIN_FIND_HEADERS_VAR:=     H_LINUX_PAM
+BUILTIN_FIND_HEADERS.H_LINUX_PAM=      security/pam_appl.h     \
+                               pam/pam_appl.h
+BUILTIN_FIND_GREP.H_LINUX_PAM= The Linux-PAM Framework layer API
+
+.include "../../mk/buildlink3/bsd.builtin.mk"
+
+###
+### Determine if there is a built-in implementation of the package and
+### set IS_BUILTIN.<pkg> appropriately ("yes" or "no").
+###
+.if !defined(IS_BUILTIN.linux-pam)
+IS_BUILTIN.linux-pam=  no
+.  if empty(H_LINUX_PAM:M__nonexistent__) && empty(H_LINUX_PAM:M${LOCALBASE}/*)
+IS_BUILTIN.linux-pam=  yes
+.  endif
+.endif
+MAKEVARS+=     IS_BUILTIN.linux-pam
+
+###
+### Determine whether we should use the built-in implementation if it
+### exists, and set USE_BUILTIN.<pkg> appropriate ("yes" or "no").
+###
+.if !defined(USE_BUILTIN.linux-pam)
+.  if ${PREFER.linux-pam} == "pkgsrc"
+USE_BUILTIN.linux-pam= no
+.  else
+USE_BUILTIN.linux-pam= ${IS_BUILTIN.linux-pam}
+.    if defined(BUILTIN_PKG.linux-pam) && \
+        !empty(IS_BUILTIN.linux-pam:M[yY][eE][sS])
+USE_BUILTIN.linux-pam= yes
+.      for _dep_ in ${BUILDLINK_API_DEPENDS.linux-pam}
+.        if !empty(USE_BUILTIN.linux-pam:M[yY][eE][sS])
+USE_BUILTIN.linux-pam!=                                                        \
+       if ${PKG_ADMIN} pmatch ${_dep_:Q} ${BUILTIN_PKG.linux-pam:Q}; then \
+               ${ECHO} yes;                                            \
+       else                                                            \
+               ${ECHO} no;                                             \
+       fi
+.        endif
+.      endfor
+.    endif
+.  endif  # PREFER.linux-pam
+.endif
+MAKEVARS+=     USE_BUILTIN.linux-pam
+
+###
+### The section below only applies if we are not including this file
+### solely to determine whether a built-in implementation exists.
+###
+CHECK_BUILTIN.linux-pam?=      no
+.if !empty(CHECK_BUILTIN.linux-pam:M[nN][oO])
+
+.  if !empty(USE_BUILTIN.linux-pam:M[yY][eE][sS])
+BUILDLINK_TARGETS+=    buildlink-pam-security
+.  endif
+
+.  if !target(buildlink-pam-security)
+.PHONY: buildlink-pam-security
+buildlink-pam-security:
+       ${_PKG_SILENT}${_PKG_DEBUG}                                     \
+       src=${BUILDLINK_PREFIX.linux-pam:Q}"/include/pam";              \
+       dest=${BUILDLINK_DIR:Q}"/include/security";                     \
+       if ${TEST} -d "$$src"; then                                     \
+               ${RM} -fr "$$dest";                                     \
+               ${LN} -fs "$$src" "$$dest";                             \
+       fi
+.  endif
+
+.endif # CHECK_BUILTIN.linux-pam
diff -r 88d24f063cf4 -r 68b47d9e81d6 mk/pam.buildlink3.mk
--- a/mk/pam.buildlink3.mk      Tue Jun 10 13:45:16 2014 +0000
+++ b/mk/pam.buildlink3.mk      Tue Jun 10 13:52:57 2014 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: pam.buildlink3.mk,v 1.11 2009/03/20 19:25:01 joerg Exp $
+# $NetBSD: pam.buildlink3.mk,v 1.12 2014/06/10 13:52:57 joerg Exp $
 #
 # This Makefile fragment is meant to be included by packages that
 # require a PAM implementation.
@@ -9,21 +9,12 @@
 #      The preferred PAM implementation.
 #
 #      Possible: linux-pam openpam solaris-pam
-#      Default: (from the base system, fallback: linux-pam)
+#      Default: (from the base system, fallback: openpam)
 #
 # Package-settable variables:
 #
-# PAM_ACCEPTED
-#      The PAM implementations that this package can use.
-#
-#      Possible: (see PAM_DEFAULT)
-#      Default: all
-#
 # System-provided variables:
 #
-# PAM_TYPE
-#      The PAM implementation that will be used for this package.
-#
 # PAMBASE
 #      The directory where the PAM implementation is installed.
 #
@@ -35,28 +26,16 @@
 .if !empty(PAM_BUILDLINK3_MK:M+)
 #
 # This is an exhaustive list of all of the PAM implementations
-# that may be used with PAM.buildlink3.mk, in order of precedence.
-#
-# OS conditionals can exclude implementations not available on
-# some platforms.
-#
-.if ${OPSYS} != "Interix"
-_PAM_PKGS+=    linux-pam
-.endif
+# that may be used with pam.buildlink3.mk, in order of precedence.
 
-.if ${OPSYS} != "Interix"
-_PAM_PKGS+=    openpam
-.endif
+_PAM_PKGS=     openpam linux-pam solaris-pam
 
-# builtin only, so no conditional needed
-_PAM_PKGS+=    solaris-pam
-
-BUILDLINK_BUILTIN_MK.linux-pam=                ../../security/PAM/builtin.mk
+BUILDLINK_BUILTIN_MK.linux-pam=                ../../mk/linux-pam.builtin.mk
 BUILDLINK_BUILTIN_MK.openpam=          ../../security/openpam/builtin.mk
 BUILDLINK_BUILTIN_MK.solaris-pam=      ../../mk/solaris-pam.builtin.mk
 
 # If we have a particular PAM implementation in the base system, then
-# default to using that PAM type.  Otherwise, default to "linux-pam".
+# default to using that PAM type.  Otherwise, default to "openpam".
 #
 .  for _pam_ in ${_PAM_PKGS}
 .    if exists(${BUILDLINK_BUILTIN_MK.${_pam_}})
@@ -69,32 +48,18 @@
 CHECK_BUILTIN.${_pam_}:=       no
 .    endif
 .  endfor
-PAM_DEFAULT?=  linux-pam
-PAM_ACCEPTED?= ${_PAM_PKGS}
-
-_PAM_DEFAULT=  ${PAM_DEFAULT}
-_PAM_ACCEPTED= ${PAM_ACCEPTED}
+PAM_DEFAULT?=  openpam
 
-_PAM_TYPE?=    ${_PAM_DEFAULT}
-
-.  if !empty(_PAM_ACCEPTED:M${_PAM_TYPE})
-PAM_TYPE=      ${_PAM_TYPE}
-.  else
-PAM_TYPE=      none
-.  endif
-PAMBASE=       ${BUILDLINK_PREFIX.${PAM_TYPE}}
+PAMBASE=       ${BUILDLINK_PREFIX.${PAM_DEFAULT}}
 
 BUILD_DEFS+=           PAM_DEFAULT
-BUILD_DEFS_EFFECTS+=   PAMBASE PAM_TYPE
+BUILD_DEFS_EFFECTS+=   PAMBASE
 .endif # PAM_BUILDLINK3_MK
 
-.if ${PAM_TYPE} == "none"
-PKG_FAIL_REASON=       \
-       "${_PAM_TYPE} is not an acceptable PAM type for ${PKGNAME}."
-.elif ${PAM_TYPE} == "linux-pam"
-.  include "../../security/PAM/buildlink3.mk"
-.elif ${PAM_TYPE} == "openpam"
-.  include "../../security/openpam/buildlink3.mk"
-.elif ${PAM_TYPE} == "solaris-pam"
+.if ${PAM_DEFAULT} == "openpam"
+.include "../../security/openpam/buildlink3.mk"
+.elif ${PAM_DEFAULT} == "linux-pam"
+BUILDLINK_TREE+=       linux-pam -linux-pam
+.elif ${PAM_DEFAULT} == "solaris-pam"
 BUILDLINK_TREE+=       solaris-pam -solaris-pam
 .endif
diff -r 88d24f063cf4 -r 68b47d9e81d6 mk/platform/QNX.mk
--- a/mk/platform/QNX.mk        Tue Jun 10 13:45:16 2014 +0000
+++ b/mk/platform/QNX.mk        Tue Jun 10 13:52:57 2014 +0000
@@ -98,8 +98,6 @@
 GAMEDIRMODE=           0775
 .endif
 
-PAM_DEFAULT?=          openpam
-
 _OPSYS_PREFER.zlib?=   pkgsrc
 _OPSYS_PREFER.bzip2?=  pkgsrc
 _OPSYS_PREFER.curses?= pkgsrc



Home | Main Index | Thread Index | Old Index