@@ -186,13 +186,35 @@ autotools_do_configure() {
echo "no" | glib-gettextize --force --copy
fi
elif [ "${BPN}" != "gettext" ] && grep -q "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC; then
- # We'd call gettextize here if it wasn't so broken...
+ # Gettextize could be called here, however it doesn't make the job much easier:
+ # It doesn't discover relevant po folders on its own, so they still need to be
+ # found by some heurestics. Also, it would require always the full gettext
+ # package always, instead of gettext-minimal-native.
cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
- if [ -d ${S}/po/ ]; then
- cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/
- if [ ! -e ${S}/po/remove-potcdate.sed ]; then
- cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sed ${S}/po/
+ if [ -d ${S}/po ]; then
+ if [ -f ${S}/po/Makefile.in.in ]; then
+ # search for all Makefile.in.in files that are identical to ./po/Makefile.in.in, by md5sum
+ base_makefile_hash=`md5sum ${S}/po/Makefile.in.in | tr -s ' ' | cut -f1 -d' '`
+ makefiles_to_update=`find ${S} -name Makefile.in.in -exec md5sum {} \+ | grep $base_makefile_hash | tr -s ' ' | cut -d' ' -f2`
+ else
+ # if there is no po/Makefile.in.in, then just copy the latest there, without
+ # searching for others
+ makefiles_to_update="./po/Makefile.in.in"
fi
+ bbnote List of Makefile.in.ins to update: $makefiles_to_update
+ for makefile in ${makefiles_to_update}; do
+ makefile_dir=$(dirname $makefile)
+ bbnote Executing: cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${makefile_dir}/
+ cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${makefile_dir}/
+ if [ ! -e ${makefile_dir}/remove-potcdate.sed ]; then
+ cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sed ${makefile_dir}/
+ fi
+ done
+ for makevars in `find ${S} -name Makevars`; do
+ bbnote Concatenating Makevars: $makevars
+ cat ${STAGING_DATADIR_NATIVE}/gettext/po/Makevars.template.minimal ${makevars} >> ${makevars}.yocto_temp
+ mv ${makevars}.yocto_temp ${makevars}
+ done
fi
PRUNE_M4="$PRUNE_M4 gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4"
fi
similarity index 87%
rename from meta/recipes-core/gettext/gettext-minimal-native_0.23.1.bb
rename to meta/recipes-core/gettext/gettext-minimal-native_0.26.bb
@@ -24,7 +24,7 @@ python get_aclocal_files() {
with open(fpath) as f:
content = f.read()
for l in content.replace("\\\n","").split("\n"):
- if l.startswith("aclocal_DATA"):
+ if l.startswith("macros_DATA"):
aclocal_files = l.split("=")[1]
with open(oe.path.join(d.getVar("WORKDIR"),"aclocal-files"),'w') as outf:
outf.write(aclocal_files)
@@ -43,4 +43,6 @@ do_install () {
cp ${S}/build-aux/config.rpath ${D}${datadir}/gettext/
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
}
@@ -1,4 +1,3 @@
HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
-SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
- "
-SRC_URI[sha256sum] = "52a578960fe308742367d75cd1dff8552c5797bd0beba7639e12bdcda28c0e49"
+SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz"
+SRC_URI[sha256sum] = "39acf4b0371e9b110b60005562aace5b3631fed9b1bb9ecccfc7f56e58bb1d7f"
@@ -16,10 +16,10 @@ diff --git a/gettext-tools/tests/autopoint-3 b/gettext-tools/tests/autopoint-3
index af2e17f..46cf3f7 100755
--- a/gettext-tools/tests/autopoint-3
+++ b/gettext-tools/tests/autopoint-3
-@@ -137,6 +137,7 @@ ${CONFIG_SHELL} ./configure >/dev/null 2>autopoint.err
- test $? = 0 || { cat autopoint.err; Exit 1; }
-
- : ${MAKE=make}
+@@ -149,6 +149,7 @@
+ *) MAKE=make ;;
+ esac
+ fi
+unset MAKEFLAGS
${MAKE} >/dev/null 2>autopoint.err
test $? = 0 || { cat autopoint.err; Exit 1; }
@@ -18,23 +18,23 @@ diff --git a/configure.ac b/configure.ac
index 5106676..3114998 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -22,7 +22,7 @@ AC_INIT([gettext],
- [bug-gettext@gnu.org])
- AC_CONFIG_SRCDIR([gettext-tools/src/msgfmt.c])
- AC_CONFIG_AUX_DIR([build-aux])
+@@ -23,7 +23,7 @@ AC_CONFIG_AUX_DIR([build-aux])
+ VERSION_NUMBER=`cd $srcdir \
+ && build-aux/git-version-gen .tarball-version`
+ gl_INIT_PACKAGE_VERSION([$VERSION_NUMBER])
-AM_INIT_AUTOMAKE([1.13 silent-rules parallel-tests tar-ustar])
+AM_INIT_AUTOMAKE([1.13 silent-rules serial-tests tar-ustar])
- dnl Override automake's tar command used for creating distributions.
- am__tar='${AMTAR} chf - --format=ustar --owner=root --group=root "$$tardir"'
+ dnl Override automake's tar command used for creating distributions:
+ dnl - Sort the files by basename, not by dirname, to achieve higher compression
diff --git a/gettext-runtime/configure.ac b/gettext-runtime/configure.ac
index e128f5b..9f7447c 100644
--- a/gettext-runtime/configure.ac
+++ b/gettext-runtime/configure.ac
-@@ -22,7 +22,7 @@ AC_INIT([gettext-runtime],
- [bug-gettext@gnu.org])
- AC_CONFIG_SRCDIR([intl/dcigettext.c])
- AC_CONFIG_AUX_DIR([../build-aux])
+@@ -23,7 +23,7 @@ AC_CONFIG_AUX_DIR([../build-aux])
+ VERSION_NUMBER=`cd $srcdir/.. \
+ && build-aux/git-version-gen .tarball-version`
+ gl_INIT_PACKAGE_VERSION([$VERSION_NUMBER])
-AM_INIT_AUTOMAKE([1.11.1 silent-rules parallel-tests])
+AM_INIT_AUTOMAKE([1.11.1 silent-rules serial-tests])
AC_CONFIG_HEADERS([config.h])
@@ -44,10 +44,10 @@ diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac
index 3b1f461..14510a9 100644
--- a/gettext-tools/configure.ac
+++ b/gettext-tools/configure.ac
-@@ -22,7 +22,7 @@ AC_INIT([gettext-tools],
- [bug-gettext@gnu.org])
- AC_CONFIG_SRCDIR([src/msgfmt.c])
- AC_CONFIG_AUX_DIR([../build-aux])
+@@ -23,7 +23,7 @@ AC_CONFIG_AUX_DIR([../build-aux])
+ VERSION_NUMBER=`cd $srcdir/.. \
+ && build-aux/git-version-gen .tarball-version`
+ gl_INIT_PACKAGE_VERSION([$VERSION_NUMBER])
-AM_INIT_AUTOMAKE([1.11.1 silent-rules parallel-tests])
+AM_INIT_AUTOMAKE([1.11.1 silent-rules serial-tests])
AC_CONFIG_HEADERS([config.h])
similarity index 95%
rename from meta/recipes-core/gettext/gettext_0.23.1.bb
rename to meta/recipes-core/gettext/gettext_0.26.bb
@@ -89,7 +89,8 @@ FILES:${PN} += "${libdir}/${BPN}/"
# The its/Makefile.am has defined:
# itsdir = $(pkgdatadir)$(PACKAGE_SUFFIX)/its
# not itsdir = $(pkgdatadir), so use wildcard to match the version.
-FILES:${PN} += "${datadir}/${BPN}-*/*"
+FILES:${PN} += "${datadir}/${BPN}-*/* \
+ ${datadir}/${BPN}/m4/*"
FILES:gettext-runtime = "${bindir}/gettext \
${bindir}/ngettext \
@@ -170,11 +171,13 @@ do_install_ptest() {
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 \
${D}${PTEST_PATH}/tests/xgettext-vala-1 ${D}${PTEST_PATH}/tests/xgettext-po-2 ${D}${PTEST_PATH}/tests/xgettext-vala-6 \
- ${D}${PTEST_PATH}/tests/plural-3 ${D}${PTEST_PATH}/tests/plural-4 ${D}${PTEST_PATH}/tests/xgettext-java-8 ${D}${PTEST_PATH}/tests/xgettext-java-9
+ ${D}${PTEST_PATH}/tests/plural-3 ${D}${PTEST_PATH}/tests/plural-4 ${D}${PTEST_PATH}/tests/xgettext-java-8 ${D}${PTEST_PATH}/tests/xgettext-java-9 \
+ ${D}${PTEST_PATH}/tests/msgfmt-21 ${D}${PTEST_PATH}/tests/format-modula2-1 ${D}${PTEST_PATH}/tests/format-modula2-2 \
+ ${D}${PTEST_PATH}/tests/lang-go ${D}${PTEST_PATH}/tests/lang-ruby ${D}${PTEST_PATH}/tests/lang-modula2 ${D}${PTEST_PATH}/tests/lang-d
sed -i -e 's|${DEBUG_PREFIX_MAP}||g' ${D}${PTEST_PATH}/tests/init-env
}
-RDEPENDS:${PN}-ptest += "make xz bash gawk autoconf locale-base-de-de locale-base-fr-fr"
+RDEPENDS:${PN}-ptest += "make xz bash gawk autoconf locale-base-de-de locale-base-fr-fr coreutils"
RDEPENDS:${PN}-ptest:append:libc-glibc = "\
glibc-gconv-big5 \
glibc-charmap-big5 \