[PATCH v4 2/8] gettext: upgrade 0.26 -> 1.0

Hemanth.KumarMD
2026-03-12T16:11:34Z

From: Randy MacLeod <Randy.MacLeod@windriver.com>

Release notes:
https://savannah.gnu.org/news/?id=10853

Changelog:
1.0: https://lists.gnu.org/archive/html/info-gnu/2026-01/msg00007.html

- gettext-minimal-native: update Makevars.template source path to new
location under gettext-tools/wizard/po-templates/traditional/

- use-pkgconfig.patch: refresh patch hunks to match updated upstream
context in libxml.m4 and selinux-selinux-h.m4, update selinux
discovery: replace AC_SEARCH_LIBS (getfilecon_raw) with
PKG_CHECK_MODULES for correct sysroot handling

- gettext_1.0.bb: add autotools ptest directory and install
gettext-tools autotools build artifacts for ptest

ptest results:

=======================
All 630 tests passed
(41 tests were not run)
=======================
DURATION: 45
END: /usr/lib/gettext/ptest
2026-03-09T17:58
STOP: ptest-runner
TOTAL: 1 FAIL: 0

With the previous version:
All 626 tests passed
(40 tests were not run)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Hemanth Kumar M D <Hemanth.KumarMD@windriver.com>
---
..._0.26.bb => gettext-minimal-native_1.0.bb} | 3 ++-
meta/recipes-core/gettext/gettext-sources.inc | 2 +-
.../gettext/gettext/use-pkgconfig.patch | 25 +++++++++++--------
.../{gettext_0.26.bb => gettext_1.0.bb} | 2 ++
4 files changed, 20 insertions(+), 12 deletions(-)
rename meta/recipes-core/gettext/{gettext-minimal-native_0.26.bb => gettext-minimal-native_1.0.bb} (88%)
rename meta/recipes-core/gettext/{gettext_0.26.bb => gettext_1.0.bb} (98%)

diff --git a/meta/recipes-core/gettext/gettext-minimal-native_0.26.bb b/meta/recipes-core/gettext/gettext-minimal-native_1.0.bb
similarity index 88%
rename from meta/recipes-core/gettext/gettext-minimal-native_0.26.bb
rename to meta/recipes-core/gettext/gettext-minimal-native_1.0.bb
index b5c32d0786..28392a26b5 100644
--- a/meta/recipes-core/gettext/gettext-minimal-native_0.26.bb
+++ b/meta/recipes-core/gettext/gettext-minimal-native_1.0.bb
@@ -44,5 +44,6 @@ do_install () {
cp ${S}/gettext-runtime/po/Makefile.in.in ${D}${datadir}/gettext/po/
cp ${S}/gettext-runtime/po/remove-potcdate.sed ${D}${datadir}/gettext/po/
# The gettext recipe also installs the same Makevars.template at the same place, rename it
- cp ${S}/gettext-tools/po/Makevars.template ${D}${datadir}/gettext/po/Makevars.template.minimal
+ # cp ${S}/gettext-tools/po/Makevars.template ${D}${datadir}/gettext/po/Makevars.template.minimal
+ cp ${S}/gettext-tools/wizard/po-templates/traditional/Makevars.template ${D}${datadir}/gettext/po/Makevars.template.minimal
}
diff --git a/meta/recipes-core/gettext/gettext-sources.inc b/meta/recipes-core/gettext/gettext-sources.inc
index 2ddf47334d..02ad72fc9f 100644
--- a/meta/recipes-core/gettext/gettext-sources.inc
+++ b/meta/recipes-core/gettext/gettext-sources.inc
@@ -1,3 +1,3 @@
HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz"
-SRC_URI[sha256sum] = "39acf4b0371e9b110b60005562aace5b3631fed9b1bb9ecccfc7f56e58bb1d7f"
+SRC_URI[sha256sum] = "85d99b79c981a404874c02e0342176cf75c7698e2b51fe41031cf6526d974f1a"
diff --git a/meta/recipes-core/gettext/gettext/use-pkgconfig.patch b/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
index 2b9fef1e94..031a44d4dd 100644
--- a/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
+++ b/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
@@ -27,7 +27,7 @@ diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.
index c7160d7..8e46cc7 100644
--- a/gettext-tools/gnulib-m4/libxml.m4
+++ b/gettext-tools/gnulib-m4/libxml.m4
-@@ -14,6 +14,7 @@ dnl gl_LIBXML(FORCE-INCLUDED)
+@@ -15,6 +15,7 @@ dnl gl_LIBXML(FORCE-INCLUDED)
dnl forces the use of the included or an external libxml.
AC_DEFUN([gl_LIBXML],
[
@@ -35,7 +35,7 @@ index c7160d7..8e46cc7 100644
AC_REQUIRE([AM_ICONV_LINK])

ifelse([$1], , [
-@@ -31,106 +32,10 @@ AC_DEFUN([gl_LIBXML],
+@@ -33,106 +34,10 @@ AC_DEFUN([gl_LIBXML],
INCXML=
ifelse([$1], [yes], , [
if test "$gl_cv_libxml_use_included" != yes; then
@@ -399,7 +399,7 @@ diff --git a/gettext-tools/gnulib-m4/selinux-selinux-h.m4 b/gettext-tools/gnulib
index e2613fa..2a733a7 100644
--- a/gettext-tools/gnulib-m4/selinux-selinux-h.m4
+++ b/gettext-tools/gnulib-m4/selinux-selinux-h.m4
-@@ -71,6 +71,7 @@ AC_DEFUN([gl_LIBSELINUX],
+@@ -71,6 +71,7 @@
[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AC_CANONICAL_BUILD])
@@ -407,24 +407,29 @@ index e2613fa..2a733a7 100644

AC_ARG_WITH([selinux],
AS_HELP_STRING([[--without-selinux]], [do not use SELinux, even on systems with SELinux]),
-@@ -79,19 +80,8 @@ AC_DEFUN([gl_LIBSELINUX],
+@@ -79,24 +80,8 @@
LIB_SELINUX=
if test "$with_selinux" != no; then
gl_saved_LIBS=$LIBS
-- AC_SEARCH_LIBS([setfilecon], [selinux],
-- [test "$ac_cv_search_setfilecon" = "none required" ||
-- LIB_SELINUX=$ac_cv_search_setfilecon])
+- dnl On Android, in Termux, prefer libandroid-selinux.so, because it
+- dnl defines many more API functions than /system/lib/libselinux.so.
+- AC_SEARCH_LIBS([getfilecon_raw], [android-selinux selinux],
+- [test "$ac_cv_search_getfilecon_raw" = "none required" ||
+- LIB_SELINUX=$ac_cv_search_getfilecon_raw])
+ PKG_CHECK_MODULES([SELINUX], [libselinux], [LIB_SELINUX=$SELINUX_LIBS])
LIBS=$gl_saved_LIBS
fi
AC_SUBST([LIB_SELINUX])
-
- # Warn if SELinux is found but libselinux is absent;
-- if test "$ac_cv_search_setfilecon" = no; then
-- if test "$host" = "$build" && test -d /selinux; then
+- if test "$ac_cv_search_getfilecon_raw" = no; then
+- if test "$host" = "$build" \
+- && { test -d /sys/fs/selinux || test -d /selinux; }; then
- AC_MSG_WARN([This system supports SELinux but libselinux is missing.])
- AC_MSG_WARN([AC_PACKAGE_NAME will be compiled without SELinux support.])
- fi
-- with_selinux=no
+- if test "$with_selinux" = maybe; then
+- with_selinux=no
+- fi
- fi
])
diff --git a/meta/recipes-core/gettext/gettext_0.26.bb b/meta/recipes-core/gettext/gettext_1.0.bb
similarity index 98%
rename from meta/recipes-core/gettext/gettext_0.26.bb
rename to meta/recipes-core/gettext/gettext_1.0.bb
index b99b301af4..37e46869a7 100644
--- a/meta/recipes-core/gettext/gettext_0.26.bb
+++ b/meta/recipes-core/gettext/gettext_1.0.bb
@@ -148,6 +148,7 @@ do_install_ptest() {
mkdir -p ${D}${PTEST_PATH}/tests
mkdir -p ${D}${PTEST_PATH}/src
mkdir -p ${D}${PTEST_PATH}/po
+ mkdir -p ${D}${PTEST_PATH}/autotools
mkdir -p ${D}${PTEST_PATH}/misc
mkdir -p ${D}${PTEST_PATH}/its
mkdir -p ${D}${PTEST_PATH}/styles
@@ -172,6 +173,7 @@ do_install_ptest() {
install ${B}/gettext-runtime/src/gettext ${D}${PTEST_PATH}/src
install ${B}/gettext-tools/src/.libs/cldr-plurals ${D}${PTEST_PATH}/src
install ${S}/gettext-tools/po/gettext-tools.pot ${D}${PTEST_PATH}/po
+ install ${B}/gettext-tools/autotools/* ${D}${PTEST_PATH}/autotools
install ${B}/gettext-tools/misc/* ${D}${PTEST_PATH}/misc
find ${D}${PTEST_PATH}/ -name "*.o" -exec rm {} \;
chmod 0755 ${D}${PTEST_PATH}/tests/lang-vala ${D}${PTEST_PATH}/tests/plural-1 ${D}${PTEST_PATH}/tests/xgettext-tcl-4 \
--
2.49.0