diff options
| author | Gyorgy Sarvari <skandigraun@gmail.com> | 2025-09-07 21:20:10 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-09-08 18:02:40 +0100 |
| commit | 1cad0ccc890b50210dce241d40e91b4415760f93 (patch) | |
| tree | d545c381c4f81242133ed494daa62768c3b62c70 /meta/classes-recipe | |
| parent | 533adb63d178be9feb4ba62862a4eb254d02726b (diff) | |
| download | poky-1cad0ccc890b50210dce241d40e91b4415760f93.tar.gz | |
gettext, gettext-minimal-native: upgrade 0.23.1 -> 0.26
Changelog:
0.24: https://lists.gnu.org/archive/html/info-gnu/2025-02/msg00010.html
0.25: https://lists.gnu.org/archive/html/info-gnu/2025-05/msg00000.html
0.26: https://lists.gnu.org/archive/html/info-gnu/2025-07/msg00007.html
- gettext-minimal-native recipe adapted to the new macro name (aclocal_DATA -> macros_DATA)
- install Makevars.template to gettext-minimal-native to be able to update missing variables
The file is renamed in the desitanion to Makevars.template.minimal, to avoid clashing
with the full gettext package (some recipes have both as dependency).
- autotools.bbclass: search for all po folders, and update the Makefile.in.in file
in each of them. This is required, because without this the old Makefile.in.in
files in these non ${S}/po folders are not updated with the new version of gettext, and
the compilation routinely fails due to this.
As part of the same change, also concatenate the source's Makevars files with the gettext
Makevars.template: this allows all variables to be defined, even the new ones that the
source didn't contain originally. First set the gettext template, and then append
the source's original Makevars to it, so it should override the variables that it was
setting originally, and keep the new variables at their default value.
- Add new PACKAGECONFIG to use libselinux, and also fix libselinux discovery in autotools
(use pkg-config instead of autotools discovery, because autotools' library search doesn't
respect custom sysroot)
Ptest results:
=======================
All 626 tests passed
(40 tests were not run)
=======================
DURATION: 36
END: /usr/lib/gettext/ptest
2025-08-30T17:49
STOP: ptest-runner
TOTAL: 1 FAIL: 0
With the previous version:
All 545 tests passed
(34 tests were not run)
(From OE-Core rev: f4b240b4d2c4b424e5dc8f739d8702c736f32d13)
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes-recipe')
| -rw-r--r-- | meta/classes-recipe/autotools.bbclass | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/meta/classes-recipe/autotools.bbclass b/meta/classes-recipe/autotools.bbclass index 948f8c183a..bd477dc60f 100644 --- a/meta/classes-recipe/autotools.bbclass +++ b/meta/classes-recipe/autotools.bbclass | |||
| @@ -186,13 +186,34 @@ autotools_do_configure() { | |||
| 186 | echo "no" | glib-gettextize --force --copy | 186 | echo "no" | glib-gettextize --force --copy |
| 187 | fi | 187 | fi |
| 188 | elif [ "${BPN}" != "gettext" ] && grep -q "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC; then | 188 | elif [ "${BPN}" != "gettext" ] && grep -q "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC; then |
| 189 | # We'd call gettextize here if it wasn't so broken... | 189 | # Gettextize could be called here, however it doesn't make the job much easier: |
| 190 | # It doesn't discover relevant po folders on its own, so they still need to be | ||
| 191 | # found by some heurestics. Also, it would require always the full gettext | ||
| 192 | # package always, instead of gettext-minimal-native. | ||
| 190 | cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/ | 193 | cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/ |
| 191 | if [ -d ${S}/po/ ]; then | 194 | if [ -d ${S}/po ]; then |
| 192 | cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/ | 195 | # Copy the latest Makefile.in.in to the /po folder, regardless if it exists or not |
| 193 | if [ ! -e ${S}/po/remove-potcdate.sed ]; then | 196 | # If it exists, then also look for identical Makefile.in.in files, and update them too |
| 194 | cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sed ${S}/po/ | 197 | makefiles_to_update="./po/Makefile.in.in" |
| 198 | if [ -f ${S}/po/Makefile.in.in ]; then | ||
| 199 | # search for all Makefile.in.in files that are identical to ./po/Makefile.in.in, by md5sum | ||
| 200 | base_makefile_hash=`md5sum ${S}/po/Makefile.in.in | tr -s ' ' | cut -f1 -d' '` | ||
| 201 | makefiles_to_update=`find ${S} -name Makefile.in.in -exec md5sum {} \+ | grep $base_makefile_hash | tr -s ' ' | cut -d' ' -f2` | ||
| 195 | fi | 202 | fi |
| 203 | bbnote List of Makefile.in.ins to update: $makefiles_to_update | ||
| 204 | for makefile in ${makefiles_to_update}; do | ||
| 205 | makefile_dir=$(dirname $makefile) | ||
| 206 | bbnote Executing: cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${makefile_dir}/ | ||
| 207 | cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${makefile_dir}/ | ||
| 208 | if [ ! -e ${makefile_dir}/remove-potcdate.sed ]; then | ||
| 209 | cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sed ${makefile_dir}/ | ||
| 210 | fi | ||
| 211 | done | ||
| 212 | for makevars in `find ${S} -name Makevars`; do | ||
| 213 | bbnote Concatenating Makevars: $makevars | ||
| 214 | cat ${STAGING_DATADIR_NATIVE}/gettext/po/Makevars.template.minimal ${makevars} >> ${makevars}.yocto_temp | ||
| 215 | mv ${makevars}.yocto_temp ${makevars} | ||
| 216 | done | ||
| 196 | fi | 217 | fi |
| 197 | PRUNE_M4="$PRUNE_M4 gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4" | 218 | PRUNE_M4="$PRUNE_M4 gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4" |
| 198 | fi | 219 | fi |
