linux-pam.mk 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. ################################################################################
  2. #
  3. # linux-pam
  4. #
  5. ################################################################################
  6. LINUX_PAM_VERSION = 1.6.1
  7. LINUX_PAM_SOURCE = Linux-PAM-$(LINUX_PAM_VERSION).tar.xz
  8. LINUX_PAM_SITE = https://github.com/linux-pam/linux-pam/releases/download/v$(LINUX_PAM_VERSION)
  9. LINUX_PAM_INSTALL_STAGING = YES
  10. LINUX_PAM_CONF_OPTS = \
  11. --disable-prelude \
  12. --disable-isadir \
  13. --disable-nis \
  14. --disable-db \
  15. --disable-regenerate-docu \
  16. --enable-securedir=/lib/security \
  17. --libdir=/lib
  18. LINUX_PAM_DEPENDENCIES = host-flex host-pkgconf \
  19. $(if $(BR2_PACKAGE_LIBXCRYPT),libxcrypt) \
  20. $(TARGET_NLS_DEPENDENCIES)
  21. LINUX_PAM_LICENSE = BSD-3-Clause
  22. LINUX_PAM_LICENSE_FILES = Copyright
  23. LINUX_PAM_LIBS = $(TARGET_NLS_LIBS)
  24. LINUX_PAM_MAKE_OPTS += LIBS="$(LINUX_PAM_LIBS)"
  25. LINUX_PAM_CPE_ID_VENDOR = linux-pam
  26. ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
  27. LINUX_PAM_LIBS += -latomic
  28. endif
  29. ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
  30. LINUX_PAM_CONF_OPTS += --enable-selinux
  31. LINUX_PAM_DEPENDENCIES += libselinux
  32. define LINUX_PAM_SELINUX_PAMFILE_TWEAK
  33. $(SED) 's/^# \(.*pam_selinux.so.*\)$$/\1/' \
  34. $(TARGET_DIR)/etc/pam.d/login
  35. endef
  36. else
  37. LINUX_PAM_CONF_OPTS += --disable-selinux
  38. endif
  39. ifeq ($(BR2_PACKAGE_AUDIT),y)
  40. LINUX_PAM_CONF_OPTS += --enable-audit
  41. LINUX_PAM_DEPENDENCIES += audit
  42. else
  43. LINUX_PAM_CONF_OPTS += --disable-audit
  44. endif
  45. ifeq ($(BR2_PACKAGE_OPENSSL),y)
  46. LINUX_PAM_CONF_OPTS += --enable-openssl
  47. LINUX_PAM_DEPENDENCIES += openssl
  48. else
  49. LINUX_PAM_CONF_OPTS += --disable-openssl
  50. endif
  51. # Install default pam config (deny everything except login)
  52. define LINUX_PAM_INSTALL_CONFIG
  53. $(INSTALL) -m 0644 -D package/linux-pam/login.pam \
  54. $(TARGET_DIR)/etc/pam.d/login
  55. $(INSTALL) -m 0644 -D package/linux-pam/other.pam \
  56. $(TARGET_DIR)/etc/pam.d/other
  57. $(LINUX_PAM_SELINUX_PAMFILE_TWEAK)
  58. endef
  59. LINUX_PAM_POST_INSTALL_TARGET_HOOKS += LINUX_PAM_INSTALL_CONFIG
  60. $(eval $(autotools-package))