diff mbox series

libnss-nis: Upgrade to 3.4

Message ID 20250828144115.4131848-1-raj.khem@gmail.com
State New
Headers show
Series libnss-nis: Upgrade to 3.4 | expand

Commit Message

Khem Raj Aug. 28, 2025, 2:41 p.m. UTC
Bring following changes on top of 3.2

* 3c206b7 (origin/master, origin/HEAD) Release version 3.4
* 09f6be4 fix: Leak in nis-initgroups.c:_nss_nis_initgroups_dyn()
* d141952 Release version 3.3
* 9a5fb67 Update autoconf files
* f062d8e Remove nis-publickey.c

Drop the lld patch, its fixed upstream by dropping the concerned code

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...s_getsecretkey-export-conditional-on.patch | 78 -------------------
 .../{libnss-nis.bb => libnss-nis_3.4.bb}      |  9 +--
 2 files changed, 2 insertions(+), 85 deletions(-)
 delete mode 100644 meta/recipes-extended/libnss-nis/libnss-nis/0001-make-ake-_nss_nis_getsecretkey-export-conditional-on.patch
 rename meta/recipes-extended/libnss-nis/{libnss-nis.bb => libnss-nis_3.4.bb} (82%)
diff mbox series

Patch

diff --git a/meta/recipes-extended/libnss-nis/libnss-nis/0001-make-ake-_nss_nis_getsecretkey-export-conditional-on.patch b/meta/recipes-extended/libnss-nis/libnss-nis/0001-make-ake-_nss_nis_getsecretkey-export-conditional-on.patch
deleted file mode 100644
index b9996d32921..00000000000
--- a/meta/recipes-extended/libnss-nis/libnss-nis/0001-make-ake-_nss_nis_getsecretkey-export-conditional-on.patch
+++ /dev/null
@@ -1,78 +0,0 @@ 
-From ecc9767fd8c3a1ecbfca5df18714df34995a38a3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 26 Aug 2025 22:45:54 -0700
-Subject: [PATCH] make: Make _nss_nis_getsecretkey export conditional on xdecrypt()
-
-The function _nss_nis_getsecretkey in nis-publickey.c is only
-compiled when xdecrypt() is available. This is controlled by the
-configure check AC_CHECK_FUNCS([xdecrypt]) which defines
-HAVE_XDECRYPT in config.h.
-
-However, the symbol was always listed in src/libnss_nis.map,
-regardless of whether the function was actually built. On systems
-without xdecrypt() (for example musl or certain embedded toolchains),
-this leads to a link failure:
-
-    ld: error: version script assignment of 'NSS_NIS_1.0' to symbol
-    '_nss_nis_getsecretkey' failed: symbol not defined
-
-To fix this mismatch, rename libnss_nis.map to
-libnss_nis.map.in and generate libnss_nis.map at build time:
-
- - If HAVE_XDECRYPT is defined, the symbol map is copied unchanged.
- - Otherwise, the _nss_nis_getsecretkey line is stripped out
-   with sed.
-
-Automake rules are added to src/Makefile.am so the correct
-libnss_nis.map is produced, and the linker always sees a version
-script consistent with the compiled objects.
-
-This ensures _nss_nis_getsecretkey is exported only when it exists
-in the object code, preventing build failures on platforms where
-xdecrypt() is missing.
-
-This fixes build with LLD linker which defaults to not accepting
-undefined symbols
-
-Upstream-Status: Submitted [https://github.com/thkukuk/libnss_nis/pull/12]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/Makefile.am                           | 18 +++++++++++++++++-
- src/{libnss_nis.map => libnss_nis.map.in} |  0
- 2 files changed, 17 insertions(+), 1 deletion(-)
- rename src/{libnss_nis.map => libnss_nis.map.in} (100%)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index e1a9bb2..cc32ea9 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -22,8 +22,24 @@ nss_loader_test_LDADD = -ldl
- 
- TESTS = $(check_PROGRAMS)
- 
-+# Build the version script from a template, pruning _nss_nis_getsecretkey
-+# when xdecrypt() was not detected by configure (i.e., HAVE_XDECRYPT is unset).
-+BUILT_SOURCES = libnss_nis.map
-+EXTRA_DIST   += libnss_nis.map.in
-+CLEANFILES   += libnss_nis.map
-+
-+libnss_nis.map: $(srcdir)/libnss_nis.map.in $(top_builddir)/config.h
-+	$(AM_V_GEN) { \
-+	  if grep -q '^[[:space:]]*#define[[:space:]]\+HAVE_XDECRYPT[[:space:]]\+1' $(top_builddir)/config.h ; then \
-+	    cp $(srcdir)/libnss_nis.map.in $@ ; \
-+	  else \
-+	    sed 's/ _nss_nis_getsecretkey;//g' \
-+	        $(srcdir)/libnss_nis.map.in > $@ ; \
-+	  fi ; \
-+	}
-+
- libnss_nis_la_LDFLAGS = -version-info 2:0:0 \
--	-Wl,--version-script=$(srcdir)/libnss_nis.map
-+	-Wl,--version-script=$(builddir)/libnss_nis.map
- libnss_nis_la_LIBADD = @LIBNSL_LIBS@
- libnss_nis_la_SOURCES = nis-alias.c nis-ethers.c nis-grp.c nis-hosts.c \
- 			nis-initgroups.c nis-netgrp.c nis-network.c  \
-diff --git a/src/libnss_nis.map b/src/libnss_nis.map.in
-similarity index 100%
-rename from src/libnss_nis.map
-rename to src/libnss_nis.map.in
diff --git a/meta/recipes-extended/libnss-nis/libnss-nis.bb b/meta/recipes-extended/libnss-nis/libnss-nis_3.4.bb
similarity index 82%
rename from meta/recipes-extended/libnss-nis/libnss-nis.bb
rename to meta/recipes-extended/libnss-nis/libnss-nis_3.4.bb
index a7f6545be06..eac385f6d1c 100644
--- a/meta/recipes-extended/libnss-nis/libnss-nis.bb
+++ b/meta/recipes-extended/libnss-nis/libnss-nis_3.4.bb
@@ -13,13 +13,8 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 SECTION = "libs"
 DEPENDS += "libtirpc libnsl2"
 
-PV = "3.2"
-
-SRCREV = "cd0d391af9535b56e612ed227c1b89be269f3d59"
-
-SRC_URI = "git://github.com/thkukuk/libnss_nis;branch=master;protocol=https \
-           file://0001-make-ake-_nss_nis_getsecretkey-export-conditional-on.patch \
-          "
+SRCREV = "3c206b762ac8557dab3c40ff3a297c9d1bff0d83"
+SRC_URI = "git://github.com/thkukuk/libnss_nis;branch=master;protocol=https;tag=v${PV}"
 
 inherit autotools pkgconfig