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