summaryrefslogtreecommitdiffstats
path: root/meta/classes-recipe
diff options
context:
space:
mode:
authorGyorgy Sarvari <skandigraun@gmail.com>2025-09-07 21:20:10 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-09-08 18:02:40 +0100
commit1cad0ccc890b50210dce241d40e91b4415760f93 (patch)
treed545c381c4f81242133ed494daa62768c3b62c70 /meta/classes-recipe
parent533adb63d178be9feb4ba62862a4eb254d02726b (diff)
downloadpoky-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.bbclass31
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