[Buildroot] [PATCH v2] package/linux-pam: bump to version 1.7.0

Charlie Jenkins charlie at rivosinc.com
Wed Apr 2 21:46:31 UTC 2025


Bump to latest version. Remove patch included in release and fixup the
configure options due to linux-pam migrating to the Meson build system.

Signed-off-by: Charlie Jenkins <charlie at rivosinc.com>
---
Changes in v2:
- Fix depends
- Link to v1: https://lore.kernel.org/r/20250331-bump_linux_pam_1-7-0-v1-1-dfc4b55a0dd8@rivosinc.com
---
 ...build-consistently-include-config.h-first.patch | 180 ---------------------
 package/linux-pam/Config.in                        |   5 +-
 package/linux-pam/linux-pam.hash                   |   6 +-
 package/linux-pam/linux-pam.mk                     |  30 ++--
 4 files changed, 21 insertions(+), 200 deletions(-)

diff --git a/package/linux-pam/0001-build-consistently-include-config.h-first.patch b/package/linux-pam/0001-build-consistently-include-config.h-first.patch
deleted file mode 100644
index e9f36b8a606d98373dc61cc4b49c1c40ed9a335a..0000000000000000000000000000000000000000
--- a/package/linux-pam/0001-build-consistently-include-config.h-first.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-From cdba2c8cdba9b3500595624fb375c0dda266631b Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv at strace.io>
-Date: Fri, 30 Aug 2024 08:00:00 +0000
-Subject: [PATCH] build: consistently include config.h first
-
-Make sure that config.h is included before any system header.
-
-Upstream: https://github.com/linux-pam/linux-pam/commit/5d7eefb1883c557c7a027f68e966e2fae294a9b6
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
----
- libpam/pam_prelude.c                | 8 ++++----
- modules/pam_namespace/argv_parse.c  | 2 ++
- modules/pam_setquota/pam_setquota.c | 3 ++-
- modules/pam_timestamp/sha1.c        | 2 +-
- modules/pam_unix/audit.c            | 3 +--
- modules/pam_unix/bigcrypt_main.c    | 2 ++
- modules/pam_unix/md5.c              | 4 ++--
- modules/pam_unix/md5_crypt.c        | 2 +-
- modules/pam_unix/yppasswd.h         | 2 ++
- 9 files changed, 17 insertions(+), 11 deletions(-)
-
-diff --git a/libpam/pam_prelude.c b/libpam/pam_prelude.c
-index 6c73bf5d..c62e2f2c 100644
---- a/libpam/pam_prelude.c
-+++ b/libpam/pam_prelude.c
-@@ -5,17 +5,17 @@
-  * (C) Sebastien Tricaud 2005 <toady at gscore.org>
-  */
- 
--#include <stdio.h>
--#include <syslog.h>
--
- #ifdef PRELUDE
- 
-+#include "pam_private.h"
-+
-+#include <stdio.h>
-+#include <syslog.h>
- #include <libprelude/prelude.h>
- #include <libprelude/prelude-log.h>
- #include <libprelude/idmef-message-print.h>
- 
- #include "pam_prelude.h"
--#include "pam_private.h"
- 
- 
- #define ANALYZER_CLASS "pam"
-diff --git a/modules/pam_namespace/argv_parse.c b/modules/pam_namespace/argv_parse.c
-index ac7c9ae0..cbae7831 100644
---- a/modules/pam_namespace/argv_parse.c
-+++ b/modules/pam_namespace/argv_parse.c
-@@ -28,6 +28,8 @@
-  * Version 1.1, modified 2/27/1999
-  */
- 
-+#include "config.h"
-+
- #include <limits.h>
- #include <stdlib.h>
- #include <ctype.h>
-diff --git a/modules/pam_setquota/pam_setquota.c b/modules/pam_setquota/pam_setquota.c
-index c15fc669..73445e29 100644
---- a/modules/pam_setquota/pam_setquota.c
-+++ b/modules/pam_setquota/pam_setquota.c
-@@ -8,6 +8,8 @@
-    Copyright © 2016 Keller Fuchs <kellerfuchs at hashbang.sh>
- */
- 
-+#include "pam_inline.h"
-+
- #include <sys/types.h>
- #include <sys/quota.h>
- #include <linux/quota.h>
-@@ -22,7 +24,6 @@
- #include <security/_pam_macros.h>
- #include <security/pam_ext.h>
- #include <security/pam_modutil.h>
--#include "pam_inline.h"
- 
- #ifndef PATH_LOGIN_DEFS
- # define PATH_LOGIN_DEFS "/etc/login.defs"
-diff --git a/modules/pam_timestamp/sha1.c b/modules/pam_timestamp/sha1.c
-index dff454cf..f21b2870 100644
---- a/modules/pam_timestamp/sha1.c
-+++ b/modules/pam_timestamp/sha1.c
-@@ -37,6 +37,7 @@
-  */
- /* See http://www.itl.nist.gov/fipspubs/fip180-1.htm for descriptions. */
- 
-+#include "pam_inline.h"
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <netinet/in.h>
-@@ -47,7 +48,6 @@
- #include <endian.h>
- #include <unistd.h>
- #include "sha1.h"
--#include "pam_inline.h"
- 
- static const unsigned char
- padding[SHA1_BLOCK_SIZE] = {
-diff --git a/modules/pam_unix/audit.c b/modules/pam_unix/audit.c
-index 1547a652..9513aaa9 100644
---- a/modules/pam_unix/audit.c
-+++ b/modules/pam_unix/audit.c
-@@ -1,5 +1,3 @@
--#include "audit.h"
--
- #include "config.h"
- 
- #ifdef HAVE_LIBAUDIT
-@@ -11,6 +9,7 @@
- 
- #include <security/_pam_types.h>
- 
-+#include "audit.h"
- #include "passverify.h"
- 
- int audit_log(int type, const char *uname, int retval)
-diff --git a/modules/pam_unix/bigcrypt_main.c b/modules/pam_unix/bigcrypt_main.c
-index fab212d9..22d325da 100644
---- a/modules/pam_unix/bigcrypt_main.c
-+++ b/modules/pam_unix/bigcrypt_main.c
-@@ -1,3 +1,5 @@
-+#include "config.h"
-+
- #include <stdio.h>
- #include <string.h>
- 
-diff --git a/modules/pam_unix/md5.c b/modules/pam_unix/md5.c
-index 95b8de4c..78e9af27 100644
---- a/modules/pam_unix/md5.c
-+++ b/modules/pam_unix/md5.c
-@@ -18,11 +18,11 @@
-  *
-  */
- 
-+#include "pam_inline.h"
-+
- #include <string.h>
- #include "md5.h"
- 
--#include "pam_inline.h"
--
- #ifndef HIGHFIRST
- #define byteReverse(buf, len)	/* Nothing */
- #else
-diff --git a/modules/pam_unix/md5_crypt.c b/modules/pam_unix/md5_crypt.c
-index 9a6bd4f9..9451f376 100644
---- a/modules/pam_unix/md5_crypt.c
-+++ b/modules/pam_unix/md5_crypt.c
-@@ -12,11 +12,11 @@
-  *
-  */
- 
-+#include "pam_inline.h"
- #include <string.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include "md5.h"
--#include "pam_inline.h"
- 
- static const unsigned char itoa64[] =	/* 0 ... 63 => ascii - 64 */
- "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
-diff --git a/modules/pam_unix/yppasswd.h b/modules/pam_unix/yppasswd.h
-index dc686cd7..3a40c3ea 100644
---- a/modules/pam_unix/yppasswd.h
-+++ b/modules/pam_unix/yppasswd.h
-@@ -6,6 +6,8 @@
- #ifndef _YPPASSWD_H_RPCGEN
- #define _YPPASSWD_H_RPCGEN
- 
-+#include "config.h"
-+
- #include <rpc/rpc.h>
- 
- 
--- 
-2.47.1
-
diff --git a/package/linux-pam/Config.in b/package/linux-pam/Config.in
index 6b08a9c4c2a9ff14a9d43c96ecc99826c82bdae7..41de8f833b14247b85ce1849c08fac6a507727d5 100644
--- a/package/linux-pam/Config.in
+++ b/package/linux-pam/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_LINUX_PAM
 	depends on BR2_ENABLE_LOCALE
 	depends on BR2_USE_WCHAR
 	depends on !BR2_STATIC_LIBS
+	depends on !BR2_microblaze # Toolchain doesn't support shared libraries
 	depends on BR2_USE_MMU # fork()
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11/stdatomic.h
 	select BR2_PACKAGE_LIBXCRYPT if BR2_TOOLCHAIN_USES_GLIBC
@@ -16,8 +17,10 @@ if BR2_PACKAGE_LINUX_PAM
 
 config BR2_PACKAGE_LINUX_PAM_LASTLOG
 	bool "pam_lastlog.so"
+	depends on !BR2_TOOLCHAIN_USES_MUSL
 	help
-	  Build pam_lastlog.so module.
+	  Build pam_lastlog.so module. Requires toolchain support for shared libraries
+	  which microblaze does not have.
 
 endif
 
diff --git a/package/linux-pam/linux-pam.hash b/package/linux-pam/linux-pam.hash
index 353613e6e6ea30d48617fd24018a097c735b871c..3ed98510d03ffe3a50cfdf2745fa70c8532769ae 100644
--- a/package/linux-pam/linux-pam.hash
+++ b/package/linux-pam/linux-pam.hash
@@ -1,6 +1,6 @@
 # Locally computed hashes after checking signature at
-# https://github.com/linux-pam/linux-pam/releases/download/v1.6.1/Linux-PAM-1.6.1.tar.xz.asc
-# signed with the key 8C6BFD92EE0F42EDF91A6A736D1A7F052E5924BB
-sha256  f8923c740159052d719dbfc2a2f81942d68dd34fcaf61c706a02c9b80feeef8e  Linux-PAM-1.6.1.tar.xz
+# https://github.com/linux-pam/linux-pam/releases/download/v1.7.0/Linux-PAM-1.7.0.tar.xz.asc
+# signed with the key 296D6F29A020808E8717A8842DB5BD89A340AEB7
+sha256  57dcd7a6b966ecd5bbd95e1d11173734691e16b68692fa59661cdae9b13b1697  Linux-PAM-1.7.0.tar.xz
 # Locally computed
 sha256  133d98e7a2ab3ffd330b4debb0bfc10fea21e4b2b5a5b09de2e924293be5ff08  Copyright
diff --git a/package/linux-pam/linux-pam.mk b/package/linux-pam/linux-pam.mk
index 23b09efbaea6a148924bc0eb7721e6cbec7f8e6b..4f18a12c2059e70498ecb0adb1b23dff2fa04388 100644
--- a/package/linux-pam/linux-pam.mk
+++ b/package/linux-pam/linux-pam.mk
@@ -4,17 +4,15 @@
 #
 ################################################################################
 
-LINUX_PAM_VERSION = 1.6.1
+LINUX_PAM_VERSION = 1.7.0
 LINUX_PAM_SOURCE = Linux-PAM-$(LINUX_PAM_VERSION).tar.xz
 LINUX_PAM_SITE = https://github.com/linux-pam/linux-pam/releases/download/v$(LINUX_PAM_VERSION)
 LINUX_PAM_INSTALL_STAGING = YES
 LINUX_PAM_CONF_OPTS = \
-	--disable-prelude \
-	--disable-isadir \
-	--disable-nis \
-	--disable-db \
-	--disable-regenerate-docu \
-	--enable-securedir=/lib/security \
+	-Dnis=disabled \
+	-Dpam_userdb=disabled \
+	-Ddocs=disabled \
+	-Dsecuredir=/lib/security \
 	--libdir=/lib
 LINUX_PAM_DEPENDENCIES = host-flex host-pkgconf \
 	$(if $(BR2_PACKAGE_LIBXCRYPT),libxcrypt) \
@@ -30,38 +28,38 @@ LINUX_PAM_LIBS += -latomic
 endif
 
 ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
-LINUX_PAM_CONF_OPTS += --enable-selinux
+LINUX_PAM_CONF_OPTS += -Dselinux=enabled
 LINUX_PAM_DEPENDENCIES += libselinux
 define LINUX_PAM_SELINUX_PAMFILE_TWEAK
 	$(SED) 's/^# \(.*pam_selinux.so.*\)$$/\1/' \
 		$(TARGET_DIR)/etc/pam.d/login
 endef
 else
-LINUX_PAM_CONF_OPTS += --disable-selinux
+LINUX_PAM_CONF_OPTS += -Dselinux=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_AUDIT),y)
-LINUX_PAM_CONF_OPTS += --enable-audit
+LINUX_PAM_CONF_OPTS += -Daudit=enabled
 LINUX_PAM_DEPENDENCIES += audit
 else
-LINUX_PAM_CONF_OPTS += --disable-audit
+LINUX_PAM_CONF_OPTS += -Daudit=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
-LINUX_PAM_CONF_OPTS += --enable-openssl
+LINUX_PAM_CONF_OPTS += -Dopenssl=enabled
 LINUX_PAM_DEPENDENCIES += openssl
 else
-LINUX_PAM_CONF_OPTS += --disable-openssl
+LINUX_PAM_CONF_OPTS += -Dopenssl=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_LINUX_PAM_LASTLOG),y)
-LINUX_PAM_CONF_OPTS += --enable-lastlog
+LINUX_PAM_CONF_OPTS += -Dpam_lastlog=enabled
 define LINUX_PAM_LASTLOG_PAMFILE_TWEAK
 	$(SED) 's/^# \(.*pam_lastlog.so.*\)$$/\1/' \
 		$(TARGET_DIR)/etc/pam.d/login
 endef
 else
-LINUX_PAM_CONF_OPTS += --disable-lastlog
+LINUX_PAM_CONF_OPTS += -Dpam_lastlog=disabled
 endif
 
 # Install default pam config (deny everything except login)
@@ -76,4 +74,4 @@ endef
 
 LINUX_PAM_POST_INSTALL_TARGET_HOOKS += LINUX_PAM_INSTALL_CONFIG
 
-$(eval $(autotools-package))
+$(eval $(meson-package))

---
base-commit: 696703dc5ae7c2a5fa637c76190665791869692a
change-id: 20250331-bump_linux_pam_1-7-0-d77f3e5ed32e
-- 
- Charlie



More information about the buildroot mailing list