xref: /OK3568_Linux_fs/buildroot/package/linux-pam/linux-pam.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# linux-pam
4#
5################################################################################
6
7LINUX_PAM_VERSION = 1.5.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_MAKE_OPTS += LIBS=$(TARGET_NLS_LIBS)
25LINUX_PAM_CPE_ID_VENDOR = linux-pam
26# We're patching configure.ac
27LINUX_PAM_AUTORECONF = YES
28
29ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
30LINUX_PAM_CONF_OPTS += --enable-selinux
31LINUX_PAM_DEPENDENCIES += libselinux
32define LINUX_PAM_SELINUX_PAMFILE_TWEAK
33	$(SED) 's/^# \(.*pam_selinux.so.*\)$$/\1/' \
34		$(TARGET_DIR)/etc/pam.d/login
35endef
36else
37LINUX_PAM_CONF_OPTS += --disable-selinux
38endif
39
40ifeq ($(BR2_PACKAGE_AUDIT),y)
41LINUX_PAM_CONF_OPTS += --enable-audit
42LINUX_PAM_DEPENDENCIES += audit
43else
44LINUX_PAM_CONF_OPTS += --disable-audit
45endif
46
47# Install default pam config (deny everything except login)
48define LINUX_PAM_INSTALL_CONFIG
49	$(INSTALL) -m 0644 -D package/linux-pam/login.pam \
50		$(TARGET_DIR)/etc/pam.d/login
51	$(INSTALL) -m 0644 -D package/linux-pam/other.pam \
52		$(TARGET_DIR)/etc/pam.d/other
53	$(LINUX_PAM_SELINUX_PAMFILE_TWEAK)
54endef
55
56LINUX_PAM_POST_INSTALL_TARGET_HOOKS += LINUX_PAM_INSTALL_CONFIG
57
58$(eval $(autotools-package))
59