<div dir="ltr"><div dir="ltr">On Thu, 28 Nov 2019 at 16:19, akuster808 <<a href="mailto:akuster808@gmail.com" target="_blank">akuster808@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
On 11/27/19 8:39 AM, Alexander Kanavin wrote:<br>
> License-Update: URLs changed from http to https<br>
> Signed-off-by: Alexander Kanavin <<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>><br>
<br>
This failed on the AB<br>
<br>
<a href="https://errors.yoctoproject.org/Errors/Details/288797/" rel="noreferrer" target="_blank">https://errors.yoctoproject.org/Errors/Details/288797/</a><br></blockquote><div><br></div><div>Weird this didn't fail locally for my world builds, I queued a patch to fix this.<br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
an for meta-mingw bbappend.<br>
<br>
<a href="https://errors.yoctoproject.org/Errors/Details/284185/" rel="noreferrer" target="_blank">https://errors.yoctoproject.org/Errors/Details/284185/</a><br></blockquote><div><br></div><div>Patch sent.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> ---<br>
> .../gettext-0.19.8.1/fix-CVE-2018-18751.patch | 141 ----<br>
> .../gettext/gettext-0.19.8.1/parallel.patch | 23 -<br>
> .../gettext-0.19.8.1/use-pkgconfig.patch | 321 --------<br>
> .../add-with-bisonlocaledir.patch | 0<br>
> ...nt.c-timsort.h-fix-formatting-issues.patch | 30 +-<br>
> .../gettext/gettext-0.20.1/parallel.patch | 32 +<br>
> .../run-ptest | 0<br>
> .../serial-tests-config.patch | 26 +-<br>
> .../gettext-0.20.1/use-pkgconfig.patch | 713 ++++++++++++++++++<br>
> ...{<a href="http://gettext_0.19.8.1.bb" rel="noreferrer" target="_blank">gettext_0.19.8.1.bb</a> => <a href="http://gettext_0.20.1.bb" rel="noreferrer" target="_blank">gettext_0.20.1.bb</a>} | 23 +-<br>
> 10 files changed, 775 insertions(+), 534 deletions(-)<br>
> delete mode 100644 meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch<br>
> delete mode 100644 meta/recipes-core/gettext/gettext-0.19.8.1/parallel.patch<br>
> delete mode 100644 meta/recipes-core/gettext/gettext-0.19.8.1/use-pkgconfig.patch<br>
> rename meta/recipes-core/gettext/{gettext-0.19.8.1 => gettext-0.20.1}/add-with-bisonlocaledir.patch (100%)<br>
> rename meta/recipes-core/gettext/{gettext-0.19.8.1 => gettext-0.20.1}/cr-statement.c-timsort.h-fix-formatting-issues.patch (68%)<br>
> create mode 100644 meta/recipes-core/gettext/gettext-0.20.1/parallel.patch<br>
> rename meta/recipes-core/gettext/{gettext-0.19.8.1 => gettext-0.20.1}/run-ptest (100%)<br>
> rename meta/recipes-core/gettext/{gettext-0.19.8.1 => gettext-0.20.1}/serial-tests-config.patch (75%)<br>
> create mode 100644 meta/recipes-core/gettext/gettext-0.20.1/use-pkgconfig.patch<br>
> rename meta/recipes-core/gettext/{<a href="http://gettext_0.19.8.1.bb" rel="noreferrer" target="_blank">gettext_0.19.8.1.bb</a> => <a href="http://gettext_0.20.1.bb" rel="noreferrer" target="_blank">gettext_0.20.1.bb</a>} (94%)<br>
><br>
> diff --git a/meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch b/meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch<br>
> deleted file mode 100644<br>
> index 6dfe200d654..00000000000<br>
> --- a/meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch<br>
> +++ /dev/null<br>
> @@ -1,141 +0,0 @@<br>
> -Upstream-Status: Backport [<a href="https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commit;h=dce3a16" rel="noreferrer" target="_blank">https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commit;h=dce3a16</a>]<br>
> -CVE: CVE-2018-18751<br>
> -<br>
> -Signed-off-by: Kai Kang <<a href="mailto:kai.kang@windriver.com" target="_blank">kai.kang@windriver.com</a>><br>
> -<br>
> -From dce3a16e5e9368245735e29bf498dcd5e3e474a4 Mon Sep 17 00:00:00 2001<br>
> -From: Daiki Ueno <<a href="mailto:ueno@gnu.org" target="_blank">ueno@gnu.org</a>><br>
> -Date: Thu, 15 Sep 2016 13:57:24 +0200<br>
> -Subject: [PATCH] xgettext: Fix crash with *.po file input<br>
> -<br>
> -When xgettext was given two *.po files with the same msgid_plural, it<br>
> -crashed with double-free. Problem reported by Davlet Panech in:<br>
> -<a href="http://lists.gnu.org/archive/html/bug-gettext/2016-09/msg00001.html" rel="noreferrer" target="_blank">http://lists.gnu.org/archive/html/bug-gettext/2016-09/msg00001.html</a><br>
> -* gettext-tools/src/po-gram-gen.y: Don't free msgid_pluralform after<br>
> -calling do_callback_message, assuming that it takes ownership.<br>
> -* gettext-tools/src/read-catalog.c (default_add_message): Free<br>
> -msgid_plural after calling message_alloc.<br>
> -* gettext-tools/tests/xgettext-po-2: New file.<br>
> -* gettext-tools/tests/Makefile.am (TESTS): Add new test.<br>
> ----<br>
> - gettext-tools/src/po-gram-gen.y | 13 ++++-----<br>
> - gettext-tools/src/read-catalog.c | 2 ++<br>
> - gettext-tools/tests/Makefile.am | 2 +-<br>
> - gettext-tools/tests/xgettext-po-2 | 55 +++++++++++++++++++++++++++++++++++++++<br>
> - 4 files changed, 63 insertions(+), 9 deletions(-)<br>
> - create mode 100755 gettext-tools/tests/xgettext-po-2<br>
> -<br>
> -diff --git a/gettext-tools/src/po-gram-gen.y b/gettext-tools/src/po-gram-gen.y<br>
> -index becf5e6..4428e77 100644<br>
> ---- a/gettext-tools/src/po-gram-gen.y<br>
> -+++ b/gettext-tools/src/po-gram-gen.y<br>
> -@@ -221,14 +221,11 @@ message<br>
> - check_obsolete ($1, $3);<br>
> - check_obsolete ($1, $4);<br>
> - if (!$1.obsolete || pass_obsolete_entries)<br>
> -- {<br>
> -- do_callback_message ($1.ctxt, string2, &$1.pos, $3.string,<br>
> -- $4.rhs.msgstr, $4.rhs.msgstr_len, &$4.pos,<br>
> -- $1.prev_ctxt,<br>
> -- $1.prev_id, $1.prev_id_plural,<br>
> -- $1.obsolete);<br>
> -- free ($3.string);<br>
> -- }<br>
> -+ do_callback_message ($1.ctxt, string2, &$1.pos, $3.string,<br>
> -+ $4.rhs.msgstr, $4.rhs.msgstr_len, &$4.pos,<br>
> -+ $1.prev_ctxt,<br>
> -+ $1.prev_id, $1.prev_id_plural,<br>
> -+ $1.obsolete);<br>
> - else<br>
> - {<br>
> - free_message_intro ($1);<br>
> -diff --git a/gettext-tools/src/read-catalog.c b/gettext-tools/src/read-catalog.c<br>
> -index 571d18e..6af6d20 100644<br>
> ---- a/gettext-tools/src/read-catalog.c<br>
> -+++ b/gettext-tools/src/read-catalog.c<br>
> -@@ -397,6 +397,8 @@ default_add_message (default_catalog_reader_ty *this,<br>
> - appropriate. */<br>
> - mp = message_alloc (msgctxt, msgid, msgid_plural, msgstr, msgstr_len,<br>
> - msgstr_pos);<br>
> -+ if (msgid_plural != NULL)<br>
> -+ free (msgid_plural);<br>
> - mp->prev_msgctxt = prev_msgctxt;<br>
> - mp->prev_msgid = prev_msgid;<br>
> - mp->prev_msgid_plural = prev_msgid_plural;<br>
> -diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am<br>
> -index 23b09b1..0dfb4d8 100644<br>
> ---- a/gettext-tools/tests/Makefile.am<br>
> -+++ b/gettext-tools/tests/Makefile.am<br>
> -@@ -95,7 +95,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \<br>
> - xgettext-perl-1 xgettext-perl-2 xgettext-perl-3 xgettext-perl-4 \<br>
> - xgettext-perl-5 xgettext-perl-6 xgettext-perl-7 xgettext-perl-8 \<br>
> - xgettext-php-1 xgettext-php-2 xgettext-php-3 xgettext-php-4 \<br>
> -- xgettext-po-1 \<br>
> -+ xgettext-po-1 xgettext-po-2 \<br>
> - xgettext-properties-1 \<br>
> - xgettext-python-1 xgettext-python-2 xgettext-python-3 \<br>
> - xgettext-python-4 \<br>
> -diff --git a/gettext-tools/tests/xgettext-po-2 b/gettext-tools/tests/xgettext-po-2<br>
> -new file mode 100755<br>
> -index 0000000..c4bd9d0<br>
> ---- /dev/null<br>
> -+++ b/gettext-tools/tests/xgettext-po-2<br>
> -@@ -0,0 +1,55 @@<br>
> -+#! /bin/sh<br>
> -+. "${srcdir=.}/init.sh"; path_prepend_ . ../src<br>
> -+<br>
> -+# Test PO extractors with multiple input files.<br>
> -+<br>
> -+cat <<EOF > xg-po-2-1.po<br>
> -+msgid "first msgid"<br>
> -+msgid_plural "first msgid (plural)"<br>
> -+msgstr[0] ""<br>
> -+msgstr[1] ""<br>
> -+<br>
> -+msgid "second msgid"<br>
> -+msgid_plural "second msgid (plural)"<br>
> -+msgstr[0] ""<br>
> -+msgstr[1] ""<br>
> -+EOF<br>
> -+<br>
> -+cat <<EOF > xg-po-2-2.po<br>
> -+msgid "third msgid"<br>
> -+msgid_plural "third msgid (plural)"<br>
> -+msgstr[0] ""<br>
> -+msgstr[1] ""<br>
> -+<br>
> -+msgid "second msgid"<br>
> -+msgid_plural "second msgid (plural)"<br>
> -+msgstr[0] ""<br>
> -+msgstr[1] ""<br>
> -+EOF<br>
> -+<br>
> -+: ${XGETTEXT=xgettext}<br>
> -+${XGETTEXT} --omit-header xg-po-2-1.po xg-po-2-2.po -o xg-po-2.tmp.po || Exit 1<br>
> -+LC_ALL=C tr -d '\r' < xg-po-2.tmp.po > xg-po-2.po || Exit 1<br>
> -+<br>
> -+cat <<EOF > xg-po-2.ok<br>
> -+msgid "first msgid"<br>
> -+msgid_plural "first msgid (plural)"<br>
> -+msgstr[0] ""<br>
> -+msgstr[1] ""<br>
> -+<br>
> -+msgid "second msgid"<br>
> -+msgid_plural "second msgid (plural)"<br>
> -+msgstr[0] ""<br>
> -+msgstr[1] ""<br>
> -+<br>
> -+msgid "third msgid"<br>
> -+msgid_plural "third msgid (plural)"<br>
> -+msgstr[0] ""<br>
> -+msgstr[1] ""<br>
> -+EOF<br>
> -+<br>
> -+: ${DIFF=diff}<br>
> -+${DIFF} xg-po-2.ok xg-po-2.po<br>
> -+result=$?<br>
> -+<br>
> -+exit $result<br>
> --- <br>
> -1.9.1<br>
> -<br>
> diff --git a/meta/recipes-core/gettext/gettext-0.19.8.1/parallel.patch b/meta/recipes-core/gettext/gettext-0.19.8.1/parallel.patch<br>
> deleted file mode 100644<br>
> index c8e2c94af0e..00000000000<br>
> --- a/meta/recipes-core/gettext/gettext-0.19.8.1/parallel.patch<br>
> +++ /dev/null<br>
> @@ -1,23 +0,0 @@<br>
> -instal libgettextlib.a before removing it<br>
> -<br>
> -In a multiple job build, Makefile can simultaneously<br>
> -be installing and removing libgettextlib.a. We serialize<br>
> -the operations.<br>
> -<br>
> -Upstream-Status: Pending<br>
> -<br>
> -Signed-off-by: Joe Slater <<a href="mailto:jslater@windriver.com" target="_blank">jslater@windriver.com</a>><br>
> -<br>
> ---- a/gettext-tools/gnulib-lib/Makefile.am<br>
> -+++ b/gettext-tools/gnulib-lib/Makefile.am<br>
> -@@ -57,6 +57,10 @@ endif<br>
> - # Rules generated and collected by gnulib-tool.<br>
> - include Makefile.gnulib<br>
> - <br>
> -+# defined in Makefile.gnulib but missing this dependency<br>
> -+#<br>
> -+install-exec-clean: install-libLTLIBRARIES<br>
> -+<br>
> - # Which classes to export from the shared library.<br>
> - MOOPPFLAGS += --dllexport=styled_ostream<br>
> - <br>
> diff --git a/meta/recipes-core/gettext/gettext-0.19.8.1/use-pkgconfig.patch b/meta/recipes-core/gettext/gettext-0.19.8.1/use-pkgconfig.patch<br>
> deleted file mode 100644<br>
> index 6156a153f74..00000000000<br>
> --- a/meta/recipes-core/gettext/gettext-0.19.8.1/use-pkgconfig.patch<br>
> +++ /dev/null<br>
> @@ -1,321 +0,0 @@<br>
> -For reasons which I just can't fathom gnulib doesn't use the expected tools to<br>
> -find libraries but badly reinvents the wheel. This will trivially lead to host<br>
> -contamination (explicit searches of /usr/lib) or incorrect RPATHs (bad<br>
> -canonicalisation resulting in relative paths).<br>
> -<br>
> -Simply delete all the crazy, and replace with a single call to pkg-config.<br>
> -<br>
> -Upstream-Status: Inappropriate (upstream still refuse to consider pkg-config)<br>
> -Signed-off-by: Ross Burton <<a href="mailto:ross.burton@intel.com" target="_blank">ross.burton@intel.com</a>><br>
> -<br>
> -diff --git a/gnulib-local/m4/libcroco.m4 b/gnulib-local/m4/libcroco.m4<br>
> -index f79ea82f1..1f67274db 100644<br>
> ---- a/gettext-tools/gnulib-m4/libcroco.m4<br>
> -+++ b/gettext-tools/gnulib-m4/libcroco.m4<br>
> -@@ -8,6 +8,7 @@ dnl From Bruno Haible.<br>
> - <br>
> - AC_DEFUN([gl_LIBCROCO],<br>
> - [<br>
> -+ AC_REQUIRE([PKG_PROG_PKG_CONFIG])<br>
> - dnl libcroco depends on libglib.<br>
> - AC_REQUIRE([gl_LIBGLIB])<br>
> - <br>
> -@@ -23,65 +24,10 @@ AC_DEFUN([gl_LIBCROCO],<br>
> - LTLIBCROCO=<br>
> - INCCROCO=<br>
> - if test "$gl_cv_libcroco_use_included" != yes; then<br>
> -- dnl Figure out whether we can use a preinstalled libcroco-0.6, or have to<br>
> -- dnl use the included one.<br>
> -- AC_CACHE_VAL([gl_cv_libcroco], [<br>
> -- gl_cv_libcroco=no<br>
> -- gl_cv_LIBCROCO=<br>
> -- gl_cv_LTLIBCROCO=<br>
> -- gl_cv_INCCROCO=<br>
> -- gl_save_LIBS="$LIBS"<br>
> -- dnl Search for libcroco and define LIBCROCO_0_6, LTLIBCROCO_0_6 and<br>
> -- dnl INCCROCO_0_6 accordingly.<br>
> -- dnl Don't use croco-0.6-config nor pkg-config, since it doesn't work when<br>
> -- dnl cross-compiling or when the C compiler in use is different from the<br>
> -- dnl one that built the library.<br>
> -- AC_LIB_LINKFLAGS_BODY([croco-0.6], [glib-2.0])<br>
> -- LIBS="$gl_save_LIBS $LIBCROCO_0_6"<br>
> -- AC_TRY_LINK([#include <libcroco-config.h>],<br>
> -- [const char *version = LIBCROCO_VERSION; return !version;],<br>
> -- [gl_cv_libcroco=yes<br>
> -- gl_cv_LIBCROCO="$LIBCROCO_0_6"<br>
> -- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"<br>
> -- ])<br>
> -- if test "$gl_cv_libcroco" != yes; then<br>
> -- gl_save_CPPFLAGS="$CPPFLAGS"<br>
> -- CPPFLAGS="$CPPFLAGS $INCCROCO_0_6"<br>
> -- AC_TRY_LINK([#include <libcroco-config.h>],<br>
> -- [const char *version = LIBCROCO_VERSION; return !version;],<br>
> -- [gl_cv_libcroco=yes<br>
> -- gl_cv_LIBCROCO="$LIBCROCO_0_6"<br>
> -- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"<br>
> -- gl_cv_INCCROCO="$INCCROCO_0_6"<br>
> -- ])<br>
> -- if test "$gl_cv_libcroco" != yes; then<br>
> -- dnl Often the include files are installed in<br>
> -- dnl /usr/include/libcroco-0.6/libcroco.<br>
> -- AC_TRY_LINK([#include <libcroco-0.6/libcroco/libcroco-config.h>],<br>
> -- [const char *version = LIBCROCO_VERSION; return !version;],<br>
> -- [gl_ABSOLUTE_HEADER([libcroco-0.6/libcroco/libcroco-config.h])<br>
> -- libcroco_include_dir=`echo "$gl_cv_absolute_libcroco_0_6_libcroco_libcroco_config_h" | sed -e 's,.libcroco-config\.h$,,'`<br>
> -- if test -d "$libcroco_include_dir"; then<br>
> -- gl_cv_libcroco=yes<br>
> -- gl_cv_LIBCROCO="$LIBCROCO_0_6"<br>
> -- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"<br>
> -- gl_cv_INCCROCO="-I$libcroco_include_dir"<br>
> -- fi<br>
> -- ])<br>
> -- fi<br>
> -- CPPFLAGS="$gl_save_CPPFLAGS"<br>
> -- fi<br>
> -- LIBS="$gl_save_LIBS"<br>
> -- ])<br>
> -- AC_MSG_CHECKING([for libcroco])<br>
> -- AC_MSG_RESULT([$gl_cv_libcroco])<br>
> -- if test $gl_cv_libcroco = yes; then<br>
> -- LIBCROCO="$gl_cv_LIBCROCO"<br>
> -- LTLIBCROCO="$gl_cv_LTLIBCROCO"<br>
> -- INCCROCO="$gl_cv_INCCROCO"<br>
> -- else<br>
> -- gl_cv_libcroco_use_included=yes<br>
> -- fi<br>
> -+ PKG_CHECK_MODULES([CROCO], [libcroco-0.6])<br>
> -+ LIBCROCO=$CROCO_LIBS<br>
> -+ LTLIBCROCO=$CROCO_LIBS<br>
> -+ INCCROCO=$CROCO_CFLAGS<br>
> - fi<br>
> - AC_SUBST([LIBCROCO])<br>
> - AC_SUBST([LTLIBCROCO])<br>
> -diff --git a/gnulib-local/m4/libglib.m4 b/gnulib-local/m4/libglib.m4<br>
> -index 42e55e6fd..ab25a5b22 100644<br>
> ---- a/gettext-tools/gnulib-m4/libglib.m4<br>
> -+++ b/gettext-tools/gnulib-m4/libglib.m4<br>
> -@@ -8,6 +8,7 @@ dnl From Bruno Haible.<br>
> - <br>
> - AC_DEFUN([gl_LIBGLIB],<br>
> - [<br>
> -+ AC_REQUIRE([PKG_PROG_PKG_CONFIG])<br>
> - AC_MSG_CHECKING([whether included glib is requested])<br>
> - AC_ARG_WITH([included-glib],<br>
> - [ --with-included-glib use the glib2 included here],<br>
> -@@ -20,76 +21,10 @@ AC_DEFUN([gl_LIBGLIB],<br>
> - LTLIBGLIB=<br>
> - INCGLIB=<br>
> - if test "$gl_cv_libglib_use_included" != yes; then<br>
> -- dnl Figure out whether we can use a preinstalled libglib-2.0, or have to use<br>
> -- dnl the included one.<br>
> -- AC_CACHE_VAL([gl_cv_libglib], [<br>
> -- gl_cv_libglib=no<br>
> -- gl_cv_LIBGLIB=<br>
> -- gl_cv_LTLIBGLIB=<br>
> -- gl_cv_INCGLIB=<br>
> -- gl_save_LIBS="$LIBS"<br>
> -- dnl Search for libglib2 and define LIBGLIB_2_0, LTLIBGLIB_2_0 and<br>
> -- dnl INCGLIB_2_0 accordingly.<br>
> -- dnl Don't use glib-config nor pkg-config, since it doesn't work when<br>
> -- dnl cross-compiling or when the C compiler in use is different from the<br>
> -- dnl one that built the library.<br>
> -- AC_LIB_LINKFLAGS_BODY([glib-2.0])<br>
> -- LIBS="$gl_save_LIBS $LIBGLIB_2_0"<br>
> -- AC_TRY_LINK([#include <glib.h><br>
> --#ifndef G_BEGIN_DECLS<br>
> --error this glib.h includes a glibconfig.h from a glib version 1.x<br>
> --#endif<br>
> --],<br>
> -- [g_string_new ("foo");],<br>
> -- [gl_cv_libglib=yes<br>
> -- gl_cv_LIBGLIB="$LIBGLIB_2_0"<br>
> -- gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"<br>
> -- ])<br>
> -- if test "$gl_cv_libglib" != yes; then<br>
> -- gl_save_CPPFLAGS="$CPPFLAGS"<br>
> -- CPPFLAGS="$CPPFLAGS $INCGLIB_2_0"<br>
> -- AC_TRY_LINK([#include <glib.h><br>
> --#ifndef G_BEGIN_DECLS<br>
> --error this glib.h includes a glibconfig.h from a glib version 1.x<br>
> --#endif<br>
> --],<br>
> -- [g_string_new ("foo");],<br>
> -- [gl_cv_libglib=yes<br>
> -- gl_cv_LIBGLIB="$LIBGLIB_2_0"<br>
> -- gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"<br>
> -- gl_cv_INCGLIB="$INCGLIB_2_0"<br>
> -- ])<br>
> -- if test "$gl_cv_libglib" != yes; then<br>
> -- dnl Often the include files are installed in /usr/include/glib-2.0<br>
> -- dnl and /usr/lib/glib-2.0/include.<br>
> -- if test -n "$LIBGLIB_2_0_PREFIX"; then<br>
> -- CPPFLAGS="$gl_save_CPPFLAGS -I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include"<br>
> -- AC_TRY_LINK([#include <glib.h><br>
> --#ifndef G_BEGIN_DECLS<br>
> --error this glib.h includes a glibconfig.h from a glib version 1.x<br>
> --#endif<br>
> --],<br>
> -- [g_string_new ("foo");],<br>
> -- [gl_cv_libglib=yes<br>
> -- gl_cv_LIBGLIB="$LIBGLIB_2_0"<br>
> -- gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"<br>
> -- gl_cv_INCGLIB="-I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include"<br>
> -- ])<br>
> -- fi<br>
> -- fi<br>
> -- CPPFLAGS="$gl_save_CPPFLAGS"<br>
> -- fi<br>
> -- LIBS="$gl_save_LIBS"<br>
> -- ])<br>
> -- AC_MSG_CHECKING([for glib])<br>
> -- AC_MSG_RESULT([$gl_cv_libglib])<br>
> -- if test $gl_cv_libglib = yes; then<br>
> -- LIBGLIB="$gl_cv_LIBGLIB"<br>
> -- LTLIBGLIB="$gl_cv_LTLIBGLIB"<br>
> -- INCGLIB="$gl_cv_INCGLIB"<br>
> -- else<br>
> -- gl_cv_libglib_use_included=yes<br>
> -- fi<br>
> -+ PKG_CHECK_MODULES([GLIB], [glib-2.0])<br>
> -+ LIBGLIB="$GLIB_LIBS"<br>
> -+ LTLIBGLIB="$GLIB_LIBS"<br>
> -+ INCGLIB="$GLIB_CFLAGS"<br>
> - fi<br>
> - AC_SUBST([LIBGLIB])<br>
> - AC_SUBST([LTLIBGLIB])<br>
> -diff --git a/gnulib-local/m4/libxml.m4 b/gnulib-local/m4/libxml.m4<br>
> -index 480c700d2..cb39309d5 100644<br>
> ---- a/gettext-tools/gnulib-m4/libxml.m4<br>
> -+++ b/gettext-tools/gnulib-m4/libxml.m4<br>
> -@@ -8,6 +8,7 @@ dnl From Bruno Haible.<br>
> -<br>
> - AC_DEFUN([gl_LIBXML],<br>
> - [<br>
> -+ AC_REQUIRE([PKG_PROG_PKG_CONFIG])<br>
> - AC_REQUIRE([AM_ICONV_LINK])<br>
> -<br>
> - AC_MSG_CHECKING([whether included libxml is requested])<br>
> -@@ -22,100 +22,10 @@ AC_DEFUN([gl_LIBXML],<br>
> - LTLIBXML=<br>
> - INCXML=<br>
> - if test "$gl_cv_libxml_use_included" != yes; then<br>
> -- dnl Figure out whether we can use a preinstalled libxml2, or have to use<br>
> -- dnl the included one.<br>
> -- AC_CACHE_VAL([gl_cv_libxml], [<br>
> -- gl_cv_libxml=no<br>
> -- gl_cv_LIBXML=<br>
> -- gl_cv_LTLIBXML=<br>
> -- gl_cv_INCXML=<br>
> -- gl_save_LIBS="$LIBS"<br>
> -- LIBS="$LIBS $LIBICONV"<br>
> -- dnl Search for libxml2 and define LIBXML2, LTLIBXML2 and INCXML2<br>
> -- dnl accordingly.<br>
> -- dnl Don't use xml2-config nor pkg-config, since it doesn't work when<br>
> -- dnl cross-compiling or when the C compiler in use is different from the<br>
> -- dnl one that built the library.<br>
> -- dnl Use a test program that tries to invoke xmlFree. On Cygwin 1.7.x,<br>
> -- dnl libxml2 is built in such a way that uses of xmlFree work fine with<br>
> -- dnl -Wl,--enable-auto-import but lead to a link error with<br>
> -- dnl -Wl,--disable-auto-import.<br>
> -- AC_LIB_LINKFLAGS_BODY([xml2])<br>
> -- LIBS="$gl_save_LIBS $LIBXML2 $LIBICONV"<br>
> -- AC_TRY_LINK([#include <libxml/xmlversion.h><br>
> -- #include <libxml/xmlmemory.h><br>
> -- #include <libxml/xpath.h><br>
> -- ],<br>
> -- [xmlCheckVersion (0);<br>
> -- xmlFree ((void *) 0);<br>
> -- xmlXPathSetContextNode ((void *)0, (void *)0);<br>
> -- ],<br>
> -- [gl_cv_libxml=yes<br>
> -- gl_cv_LIBXML="$LIBXML2 $LIBICONV"<br>
> -- gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV"<br>
> -- ])<br>
> -- if test "$gl_cv_libxml" != yes; then<br>
> -- gl_save_CPPFLAGS="$CPPFLAGS"<br>
> -- CPPFLAGS="$CPPFLAGS $INCXML2"<br>
> -- AC_TRY_LINK([#include <libxml/xmlversion.h><br>
> -- #include <libxml/xmlmemory.h><br>
> -- #include <libxml/xpath.h><br>
> -- ],<br>
> -- [xmlCheckVersion (0);<br>
> -- xmlFree ((void *) 0);<br>
> -- xmlXPathSetContextNode ((void *)0, (void *)0);<br>
> -- ],<br>
> -- [gl_cv_libxml=yes<br>
> -- gl_cv_LIBXML="$LIBXML2 $LIBICONV"<br>
> -- gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV"<br>
> -- gl_cv_INCXML="$INCXML2"<br>
> -- ])<br>
> -- if test "$gl_cv_libxml" != yes; then<br>
> -- dnl Often the include files are installed in /usr/include/libxml2.<br>
> -- dnl In libxml2-2.5, <libxml/xmlversion.h> is self-contained.<br>
> -- dnl In libxml2-2.6, it includes <libxml/xmlexports.h> which is<br>
> -- dnl self-contained.<br>
> -- libxml2_include_dir=<br>
> -- AC_TRY_CPP([#include <libxml2/libxml/xmlexports.h>],<br>
> -- [gl_ABSOLUTE_HEADER([libxml2/libxml/xmlexports.h])<br>
> -- libxml2_include_dir=`echo "$gl_cv_absolute_libxml2_libxml_xmlexports_h" | sed -e 's,.libxml.xmlexports\.h$,,'`<br>
> -- ])<br>
> -- if test -z "$libxml2_include_dir"; then<br>
> -- AC_TRY_CPP([#include <libxml2/libxml/xmlversion.h>],<br>
> -- [gl_ABSOLUTE_HEADER([libxml2/libxml/xmlversion.h])<br>
> -- libxml2_include_dir=`echo "$gl_cv_absolute_libxml2_libxml_xmlversion_h" | sed -e 's,.libxml.xmlversion\.h$,,'`<br>
> -- ])<br>
> -- fi<br>
> -- if test -n "$libxml2_include_dir" && test -d "$libxml2_include_dir"; then<br>
> -- CPPFLAGS="$gl_save_CPPFLAGS -I$libxml2_include_dir"<br>
> -- AC_TRY_LINK([#include <libxml/xmlversion.h><br>
> -- #include <libxml/xmlmemory.h><br>
> -- #include <libxml/xpath.h><br>
> -- ],<br>
> -- [xmlCheckVersion (0);<br>
> -- xmlFree ((void *) 0);<br>
> -- xmlXPathSetContextNode ((void *)0, (void *)0);<br>
> -- ],<br>
> -- [gl_cv_libxml=yes<br>
> -- gl_cv_LIBXML="$LIBXML2 $LIBICONV"<br>
> -- gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV"<br>
> -- gl_cv_INCXML="-I$libxml2_include_dir"<br>
> -- ])<br>
> -- fi<br>
> -- fi<br>
> -- CPPFLAGS="$gl_save_CPPFLAGS"<br>
> -- fi<br>
> -- LIBS="$gl_save_LIBS"<br>
> -- ])<br>
> -- AC_MSG_CHECKING([for libxml])<br>
> -- AC_MSG_RESULT([$gl_cv_libxml])<br>
> -- if test $gl_cv_libxml = yes; then<br>
> -- LIBXML="$gl_cv_LIBXML"<br>
> -- LTLIBXML="$gl_cv_LTLIBXML"<br>
> -- INCXML="$gl_cv_INCXML"<br>
> -- else<br>
> -- gl_cv_libxml_use_included=yes<br>
> -- fi<br>
> -+ PKG_CHECK_MODULES([XML], [libxml-2.0])<br>
> -+ LIBXML=$XML_LIBS<br>
> -+ LTLIBXML=$XML_LIBS<br>
> -+ INCXML=$XML_CFLAGS<br>
> - fi<br>
> - AC_SUBST([LIBXML])<br>
> - AC_SUBST([LTLIBXML])<br>
> -diff --git a/gnulib-local/lib/term-styled-ostream.oo.c b/gnulib-local/lib/term-styled-ostream.oo.c<br>
> -index 81a407467..218565329 100644<br>
> ---- a/gettext-tools/gnulib-lib/term-styled-ostream.oo.c<br>
> -+++ b/gettext-tools/gnulib-lib/term-styled-ostream.oo.c<br>
> -@@ -25,4 +25,4 @@<br>
> --#include <cr-om-parser.h><br>
> --#include <cr-sel-eng.h><br>
> --#include <cr-style.h><br>
> --#include <cr-rgb.h><br>
> -+#include <libcroco/cr-om-parser.h><br>
> -+#include <libcroco/cr-sel-eng.h><br>
> -+#include <libcroco/cr-style.h><br>
> -+#include <libcroco/cr-rgb.h><br>
> -@@ -31 +31 @@<br>
> --# include <cr-fonts.h><br>
> -+# include <libcroco/cr-fonts.h><br>
> -@@ -33 +33 @@<br>
> --#include <cr-string.h><br>
> -+#include <libcroco/cr-string.h><br>
> diff --git a/meta/recipes-core/gettext/gettext-0.19.8.1/add-with-bisonlocaledir.patch b/meta/recipes-core/gettext/gettext-0.20.1/add-with-bisonlocaledir.patch<br>
> similarity index 100%<br>
> rename from meta/recipes-core/gettext/gettext-0.19.8.1/add-with-bisonlocaledir.patch<br>
> rename to meta/recipes-core/gettext/gettext-0.20.1/add-with-bisonlocaledir.patch<br>
> diff --git a/meta/recipes-core/gettext/gettext-0.19.8.1/cr-statement.c-timsort.h-fix-formatting-issues.patch b/meta/recipes-core/gettext/gettext-0.20.1/cr-statement.c-timsort.h-fix-formatting-issues.patch<br>
> similarity index 68%<br>
> rename from meta/recipes-core/gettext/gettext-0.19.8.1/cr-statement.c-timsort.h-fix-formatting-issues.patch<br>
> rename to meta/recipes-core/gettext/gettext-0.20.1/cr-statement.c-timsort.h-fix-formatting-issues.patch<br>
> index 6af16041987..0561ed7d32c 100644<br>
> --- a/meta/recipes-core/gettext/gettext-0.19.8.1/cr-statement.c-timsort.h-fix-formatting-issues.patch<br>
> +++ b/meta/recipes-core/gettext/gettext-0.20.1/cr-statement.c-timsort.h-fix-formatting-issues.patch<br>
> @@ -1,4 +1,4 @@<br>
> -From e546de65a333789e83f5485757967cee29ee3681 Mon Sep 17 00:00:00 2001<br>
> +From f6245ef5530fc37a6243e798df34162fbbeab6f0 Mon Sep 17 00:00:00 2001<br>
> From: Robert Yang <<a href="mailto:liezhi.yang@windriver.com" target="_blank">liezhi.yang@windriver.com</a>><br>
> Date: Sun, 19 Feb 2017 23:32:46 -0800<br>
> Subject: [PATCH] cr-statement.c/timsort.h: fix formatting issues<br>
> @@ -15,15 +15,15 @@ gettext-tools/gnulib-lib/libxml/timsort.h:326:80: warning: format '%lu' expects<br>
> Upstream-Status: Pending<br>
> <br>
> Signed-off-by: Robert Yang <<a href="mailto:liezhi.yang@windriver.com" target="_blank">liezhi.yang@windriver.com</a>><br>
> +<br>
> ---<br>
> - gettext-tools/gnulib-lib/libcroco/cr-statement.c | 10 +++++-----<br>
> - gettext-tools/gnulib-lib/libxml/timsort.h | 2 +-<br>
> - 2 files changed, 6 insertions(+), 6 deletions(-)<br>
> + libtextstyle/lib/libcroco/cr-statement.c | 10 +++++-----<br>
> + 1 file changed, 5 insertions(+), 5 deletions(-)<br>
> <br>
> -diff --git a/gettext-tools/gnulib-lib/libcroco/cr-statement.c b/gettext-tools/gnulib-lib/libcroco/cr-statement.c<br>
> +diff --git a/libtextstyle/lib/libcroco/cr-statement.c b/libtextstyle/lib/libcroco/cr-statement.c<br>
> index 617520f..100104b 100644<br>
> ---- a/gettext-tools/gnulib-lib/libcroco/cr-statement.c<br>
> -+++ b/gettext-tools/gnulib-lib/libcroco/cr-statement.c<br>
> +--- a/libtextstyle/lib/libcroco/cr-statement.c<br>
> ++++ b/libtextstyle/lib/libcroco/cr-statement.c<br>
> @@ -2607,7 +2607,7 @@ cr_statement_dump_ruleset (CRStatement * a_this, FILE * a_fp, glong a_indent)<br>
> g_return_if_fail (a_fp && a_this);<br>
> str = cr_statement_ruleset_to_string (a_this, a_indent);<br>
> @@ -69,19 +69,3 @@ index 617520f..100104b 100644<br>
> g_free (str) ;<br>
> str = NULL ;<br>
> }<br>
> -diff --git a/gettext-tools/gnulib-lib/libxml/timsort.h b/gettext-tools/gnulib-lib/libxml/timsort.h<br>
> -index 795f272..443918a 100644<br>
> ---- a/gettext-tools/gnulib-lib/libxml/timsort.h<br>
> -+++ b/gettext-tools/gnulib-lib/libxml/timsort.h<br>
> -@@ -323,7 +323,7 @@ static void TIM_SORT_RESIZE(TEMP_STORAGE_T *store, const size_t new_size)<br>
> - SORT_TYPE *tempstore = (SORT_TYPE *)realloc(store->storage, new_size * sizeof(SORT_TYPE));<br>
> - if (tempstore == NULL)<br>
> - {<br>
> -- fprintf(stderr, "Error allocating temporary storage for tim sort: need %lu bytes", sizeof(SORT_TYPE) * new_size);<br>
> -+ fprintf(stderr, "Error allocating temporary storage for tim sort: need %zu bytes", sizeof(SORT_TYPE) * new_size);<br>
> - exit(1);<br>
> - }<br>
> - store->storage = tempstore;<br>
> --- <br>
> -2.10.2<br>
> -<br>
> diff --git a/meta/recipes-core/gettext/gettext-0.20.1/parallel.patch b/meta/recipes-core/gettext/gettext-0.20.1/parallel.patch<br>
> new file mode 100644<br>
> index 00000000000..d96a376b7d1<br>
> --- /dev/null<br>
> +++ b/meta/recipes-core/gettext/gettext-0.20.1/parallel.patch<br>
> @@ -0,0 +1,32 @@<br>
> +From 4a2a0a93b469093b60ffd0bec55d33d1e03d4713 Mon Sep 17 00:00:00 2001<br>
> +From: Joe Slater <<a href="mailto:jslater@windriver.com" target="_blank">jslater@windriver.com</a>><br>
> +Date: Thu, 7 Jun 2012 16:37:01 -0700<br>
> +Subject: [PATCH] instal libgettextlib.a before removing it<br>
> +<br>
> +In a multiple job build, Makefile can simultaneously<br>
> +be installing and removing libgettextlib.a. We serialize<br>
> +the operations.<br>
> +<br>
> +Upstream-Status: Pending<br>
> +<br>
> +Signed-off-by: Joe Slater <<a href="mailto:jslater@windriver.com" target="_blank">jslater@windriver.com</a>><br>
> +<br>
> +---<br>
> + gettext-tools/gnulib-lib/Makefile.am | 4 ++++<br>
> + 1 file changed, 4 insertions(+)<br>
> +<br>
> +diff --git a/gettext-tools/gnulib-lib/Makefile.am b/gettext-tools/gnulib-lib/Makefile.am<br>
> +index 2126699..d2dd7e4 100644<br>
> +--- a/gettext-tools/gnulib-lib/Makefile.am<br>
> ++++ b/gettext-tools/gnulib-lib/Makefile.am<br>
> +@@ -58,6 +58,10 @@ endif<br>
> + # Rules generated and collected by gnulib-tool.<br>
> + include Makefile.gnulib<br>
> + <br>
> ++# defined in Makefile.gnulib but missing this dependency<br>
> ++#<br>
> ++install-exec-clean: install-libLTLIBRARIES<br>
> ++<br>
> + # OS/2 does not support a DLL name longer than 8 characters.<br>
> + if OS2<br>
> + libgettextlib_la_LDFLAGS += -os2dllname gtlib<br>
> diff --git a/meta/recipes-core/gettext/gettext-0.19.8.1/run-ptest b/meta/recipes-core/gettext/gettext-0.20.1/run-ptest<br>
> similarity index 100%<br>
> rename from meta/recipes-core/gettext/gettext-0.19.8.1/run-ptest<br>
> rename to meta/recipes-core/gettext/gettext-0.20.1/run-ptest<br>
> diff --git a/meta/recipes-core/gettext/gettext-0.19.8.1/serial-tests-config.patch b/meta/recipes-core/gettext/gettext-0.20.1/serial-tests-config.patch<br>
> similarity index 75%<br>
> rename from meta/recipes-core/gettext/gettext-0.19.8.1/serial-tests-config.patch<br>
> rename to meta/recipes-core/gettext/gettext-0.20.1/serial-tests-config.patch<br>
> index 31ff9138a91..93f7c03334a 100644<br>
> --- a/meta/recipes-core/gettext/gettext-0.19.8.1/serial-tests-config.patch<br>
> +++ b/meta/recipes-core/gettext/gettext-0.20.1/serial-tests-config.patch<br>
> @@ -1,4 +1,4 @@<br>
> -From c4b1f3a0c7b7c40b343be9b95deb84e0485643be Mon Sep 17 00:00:00 2001<br>
> +From ed64a5724ef7d6eb4e9a876f817ea266a536e195 Mon Sep 17 00:00:00 2001<br>
> From: "Hongjun.Yang" <<a href="mailto:hongjun.yang@windriver.com" target="_blank">hongjun.yang@windriver.com</a>><br>
> Date: Thu, 28 Jul 2016 12:36:15 +0800<br>
> Subject: [PATCH] fix for ptest<br>
> @@ -8,6 +8,7 @@ Add serial-tests support, ptest need it<br>
> Upstream-Status: Inappropriate [oe specific]<br>
> <br>
> Signed-off-by: Changqing Li <<a href="mailto:changqing.li@windriver.com" target="_blank">changqing.li@windriver.com</a>><br>
> +<br>
> ---<br>
> <a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> | 2 +-<br>
> gettext-runtime/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> | 2 +-<br>
> @@ -15,24 +16,24 @@ Signed-off-by: Changqing Li <<a href="mailto:changqing.li@windriver.com" target="_blank">changqing.li@windriver.com</a>><br>
> 3 files changed, 3 insertions(+), 3 deletions(-)<br>
> <br>
> diff --git a/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> b/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
> -index 5e996fa..880581f 100644<br>
> +index 38db6fd..f019ae0 100644<br>
> --- a/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
> +++ b/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
> -@@ -23,7 +23,7 @@ AC_INIT([gettext],<br>
> - [<a href="mailto:bug-gnu-gettext@gnu.org" target="_blank">bug-gnu-gettext@gnu.org</a>])<br>
> +@@ -22,7 +22,7 @@ AC_INIT([gettext],<br>
> + [<a href="mailto:bug-gettext@gnu.org" target="_blank">bug-gettext@gnu.org</a>])<br>
> AC_CONFIG_SRCDIR([gettext-tools/src/msgfmt.c])<br>
> AC_CONFIG_AUX_DIR([build-aux])<br>
> --AM_INIT_AUTOMAKE([1.13 silent-rules parallel-tests dist-xz dist-lzip])<br>
> -+AM_INIT_AUTOMAKE([1.13 silent-rules serial-tests dist-xz dist-lzip])<br>
> +-AM_INIT_AUTOMAKE([1.13 silent-rules parallel-tests tar-ustar])<br>
> ++AM_INIT_AUTOMAKE([1.13 silent-rules serial-tests tar-ustar])<br>
> <br>
> dnl Override automake's tar command used for creating distributions.<br>
> - am__tar='${AMTAR} chof - --owner=root --group=root "$$tardir"'<br>
> + am__tar='${AMTAR} chf - --format=ustar --owner=root --group=root "$$tardir"'<br>
> diff --git a/gettext-runtime/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> b/gettext-runtime/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
> -index e9299b6..d4f5528 100644<br>
> +index de203e7..138a07f 100644<br>
> --- a/gettext-runtime/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
> +++ b/gettext-runtime/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
> @@ -22,7 +22,7 @@ AC_INIT([gettext-runtime],<br>
> - [<a href="mailto:bug-gnu-gettext@gnu.org" target="_blank">bug-gnu-gettext@gnu.org</a>])<br>
> + [<a href="mailto:bug-gettext@gnu.org" target="_blank">bug-gettext@gnu.org</a>])<br>
> AC_CONFIG_SRCDIR([intl/dcigettext.c])<br>
> AC_CONFIG_AUX_DIR([../build-aux])<br>
> -AM_INIT_AUTOMAKE([1.11.1 silent-rules parallel-tests])<br>
> @@ -41,11 +42,11 @@ index e9299b6..d4f5528 100644<br>
> <br>
> dnl Installation directories.<br>
> diff --git a/gettext-tools/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> b/gettext-tools/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
> -index 920eeb6..c507434 100644<br>
> +index cf1dd73..b544d6d 100644<br>
> --- a/gettext-tools/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
> +++ b/gettext-tools/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
> @@ -22,7 +22,7 @@ AC_INIT([gettext-tools],<br>
> - [<a href="mailto:bug-gnu-gettext@gnu.org" target="_blank">bug-gnu-gettext@gnu.org</a>])<br>
> + [<a href="mailto:bug-gettext@gnu.org" target="_blank">bug-gettext@gnu.org</a>])<br>
> AC_CONFIG_SRCDIR([src/msgfmt.c])<br>
> AC_CONFIG_AUX_DIR([../build-aux])<br>
> -AM_INIT_AUTOMAKE([1.11.1 silent-rules parallel-tests])<br>
> @@ -53,6 +54,3 @@ index 920eeb6..c507434 100644<br>
> AC_CONFIG_HEADERS([config.h])<br>
> <br>
> dnl Installation directories.<br>
> --- <br>
> -2.1.4<br>
> -<br>
> diff --git a/meta/recipes-core/gettext/gettext-0.20.1/use-pkgconfig.patch b/meta/recipes-core/gettext/gettext-0.20.1/use-pkgconfig.patch<br>
> new file mode 100644<br>
> index 00000000000..d1b2603779b<br>
> --- /dev/null<br>
> +++ b/meta/recipes-core/gettext/gettext-0.20.1/use-pkgconfig.patch<br>
> @@ -0,0 +1,713 @@<br>
> +From ef414b06be80c6f605731abc9e674e396b80ec9e Mon Sep 17 00:00:00 2001<br>
> +From: Ross Burton <<a href="mailto:ross.burton@intel.com" target="_blank">ross.burton@intel.com</a>><br>
> +Date: Tue, 23 Jan 2018 00:54:13 +0000<br>
> +Subject: [PATCH] gettext: beat library detection into shape<br>
> +<br>
> +For reasons which I just can't fathom gnulib doesn't use the expected tools to<br>
> +find libraries but badly reinvents the wheel. This will trivially lead to host<br>
> +contamination (explicit searches of /usr/lib) or incorrect RPATHs (bad<br>
> +canonicalisation resulting in relative paths).<br>
> +<br>
> +Simply delete all the crazy, and replace with a single call to pkg-config.<br>
> +<br>
> +Upstream-Status: Inappropriate (upstream still refuse to consider pkg-config)<br>
> +Signed-off-by: Ross Burton <<a href="mailto:ross.burton@intel.com" target="_blank">ross.burton@intel.com</a>><br>
> +<br>
> +---<br>
> + gettext-tools/gnulib-m4/libxml.m4 | 99 +----------------<br>
> + .../gnulib-local/lib/term-styled-ostream.oo.c | 12 +-<br>
> + libtextstyle/gnulib-local/m4/libcroco.m4 | 99 +++--------------<br>
> + libtextstyle/gnulib-local/m4/libglib.m4 | 104 +++---------------<br>
> + libtextstyle/gnulib-m4/libcroco.m4 | 99 +++--------------<br>
> + libtextstyle/gnulib-m4/libglib.m4 | 104 +++---------------<br>
> + libtextstyle/lib/term-styled-ostream.c | 12 +-<br>
> + libtextstyle/lib/term-styled-ostream.oo.c | 12 +-<br>
> + 8 files changed, 87 insertions(+), 454 deletions(-)<br>
> +<br>
> +diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.m4<br>
> +index 05b9550..031ee65 100644<br>
> +--- a/gettext-tools/gnulib-m4/libxml.m4<br>
> ++++ b/gettext-tools/gnulib-m4/libxml.m4<br>
> +@@ -13,6 +13,7 @@ dnl gl_LIBXML(FORCE-INCLUDED)<br>
> + dnl forces the use of the included or an external libxml.<br>
> + AC_DEFUN([gl_LIBXML],<br>
> + [<br>
> ++ AC_REQUIRE([PKG_PROG_PKG_CONFIG])<br>
> + AC_REQUIRE([AM_ICONV_LINK])<br>
> + <br>
> + ifelse([$1], , [<br>
> +@@ -30,100 +31,10 @@ AC_DEFUN([gl_LIBXML],<br>
> + INCXML=<br>
> + ifelse([$1], [yes], , [<br>
> + if test "$gl_cv_libxml_use_included" != yes; then<br>
> +- dnl Figure out whether we can use a preinstalled libxml2, or have to use<br>
> +- dnl the included one.<br>
> +- AC_CACHE_VAL([gl_cv_libxml], [<br>
> +- gl_cv_libxml=no<br>
> +- gl_cv_LIBXML=<br>
> +- gl_cv_LTLIBXML=<br>
> +- gl_cv_INCXML=<br>
> +- gl_save_LIBS="$LIBS"<br>
> +- LIBS="$LIBS $LIBICONV"<br>
> +- dnl Search for libxml2 and define LIBXML2, LTLIBXML2 and INCXML2<br>
> +- dnl accordingly.<br>
> +- dnl Don't use xml2-config nor pkg-config, since it doesn't work when<br>
> +- dnl cross-compiling or when the C compiler in use is different from the<br>
> +- dnl one that built the library.<br>
> +- dnl Use a test program that tries to invoke xmlFree. On Cygwin 1.7.x,<br>
> +- dnl libxml2 is built in such a way that uses of xmlFree work fine with<br>
> +- dnl -Wl,--enable-auto-import but lead to a link error with<br>
> +- dnl -Wl,--disable-auto-import.<br>
> +- AC_LIB_LINKFLAGS_BODY([xml2])<br>
> +- LIBS="$gl_save_LIBS $LIBXML2 $LIBICONV"<br>
> +- AC_TRY_LINK([#include <libxml/xmlversion.h><br>
> +- #include <libxml/xmlmemory.h><br>
> +- #include <libxml/xpath.h><br>
> +- ],<br>
> +- [xmlCheckVersion (0);<br>
> +- xmlFree ((void *) 0);<br>
> +- xmlXPathSetContextNode ((void *)0, (void *)0);<br>
> +- ],<br>
> +- [gl_cv_libxml=yes<br>
> +- gl_cv_LIBXML="$LIBXML2 $LIBICONV"<br>
> +- gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV"<br>
> +- ])<br>
> +- if test "$gl_cv_libxml" != yes; then<br>
> +- gl_save_CPPFLAGS="$CPPFLAGS"<br>
> +- CPPFLAGS="$CPPFLAGS $INCXML2"<br>
> +- AC_TRY_LINK([#include <libxml/xmlversion.h><br>
> +- #include <libxml/xmlmemory.h><br>
> +- #include <libxml/xpath.h><br>
> +- ],<br>
> +- [xmlCheckVersion (0);<br>
> +- xmlFree ((void *) 0);<br>
> +- xmlXPathSetContextNode ((void *)0, (void *)0);<br>
> +- ],<br>
> +- [gl_cv_libxml=yes<br>
> +- gl_cv_LIBXML="$LIBXML2 $LIBICONV"<br>
> +- gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV"<br>
> +- gl_cv_INCXML="$INCXML2"<br>
> +- ])<br>
> +- if test "$gl_cv_libxml" != yes; then<br>
> +- dnl Often the include files are installed in /usr/include/libxml2.<br>
> +- dnl In libxml2-2.5, <libxml/xmlversion.h> is self-contained.<br>
> +- dnl In libxml2-2.6, it includes <libxml/xmlexports.h> which is<br>
> +- dnl self-contained.<br>
> +- libxml2_include_dir=<br>
> +- AC_TRY_CPP([#include <libxml2/libxml/xmlexports.h>],<br>
> +- [gl_ABSOLUTE_HEADER([libxml2/libxml/xmlexports.h])<br>
> +- libxml2_include_dir=`echo "$gl_cv_absolute_libxml2_libxml_xmlexports_h" | sed -e 's,.libxml.xmlexports\.h$,,'`<br>
> +- ])<br>
> +- if test -z "$libxml2_include_dir"; then<br>
> +- AC_TRY_CPP([#include <libxml2/libxml/xmlversion.h>],<br>
> +- [gl_ABSOLUTE_HEADER([libxml2/libxml/xmlversion.h])<br>
> +- libxml2_include_dir=`echo "$gl_cv_absolute_libxml2_libxml_xmlversion_h" | sed -e 's,.libxml.xmlversion\.h$,,'`<br>
> +- ])<br>
> +- fi<br>
> +- if test -n "$libxml2_include_dir" && test -d "$libxml2_include_dir"; then<br>
> +- CPPFLAGS="$gl_save_CPPFLAGS -I$libxml2_include_dir"<br>
> +- AC_TRY_LINK([#include <libxml/xmlversion.h><br>
> +- #include <libxml/xmlmemory.h><br>
> +- #include <libxml/xpath.h><br>
> +- ],<br>
> +- [xmlCheckVersion (0);<br>
> +- xmlFree ((void *) 0);<br>
> +- xmlXPathSetContextNode ((void *)0, (void *)0);<br>
> +- ],<br>
> +- [gl_cv_libxml=yes<br>
> +- gl_cv_LIBXML="$LIBXML2 $LIBICONV"<br>
> +- gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV"<br>
> +- gl_cv_INCXML="-I$libxml2_include_dir"<br>
> +- ])<br>
> +- fi<br>
> +- fi<br>
> +- CPPFLAGS="$gl_save_CPPFLAGS"<br>
> +- fi<br>
> +- LIBS="$gl_save_LIBS"<br>
> +- ])<br>
> +- AC_MSG_CHECKING([for libxml])<br>
> +- AC_MSG_RESULT([$gl_cv_libxml])<br>
> +- if test $gl_cv_libxml = yes; then<br>
> +- LIBXML="$gl_cv_LIBXML"<br>
> +- LTLIBXML="$gl_cv_LTLIBXML"<br>
> +- INCXML="$gl_cv_INCXML"<br>
> +- else<br>
> +- gl_cv_libxml_use_included=yes<br>
> +- fi<br>
> ++ PKG_CHECK_MODULES([XML], [libxml-2.0])<br>
> ++ LIBXML=$XML_LIBS<br>
> ++ LTLIBXML=$XML_LIBS<br>
> ++ INCXML=$XML_CFLAGS<br>
> + fi<br>
> + ])<br>
> + AC_SUBST([LIBXML])<br>
> +diff --git a/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c b/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c<br>
> +index 2cfd4a8..d42c8b4 100644<br>
> +--- a/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c<br>
> ++++ b/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c<br>
> +@@ -22,15 +22,15 @@<br>
> + <br>
> + #include <stdlib.h><br>
> + <br>
> +-#include <cr-om-parser.h><br>
> +-#include <cr-sel-eng.h><br>
> +-#include <cr-style.h><br>
> +-#include <cr-rgb.h><br>
> ++#include <libcroco/cr-om-parser.h><br>
> ++#include <libcroco/cr-sel-eng.h><br>
> ++#include <libcroco/cr-style.h><br>
> ++#include <libcroco/cr-rgb.h><br>
> + /* <cr-fonts.h> has a broken double-inclusion guard in libcroco-0.6.1. */<br>
> + #ifndef __CR_FONTS_H__<br>
> +-# include <cr-fonts.h><br>
> ++# include <libcroco/cr-fonts.h><br>
> + #endif<br>
> +-#include <cr-string.h><br>
> ++#include <libcroco/cr-string.h><br>
> + <br>
> + #include "term-ostream.h"<br>
> + #include "hash.h"<br>
> +diff --git a/libtextstyle/gnulib-local/m4/libcroco.m4 b/libtextstyle/gnulib-local/m4/libcroco.m4<br>
> +index bc53cc6..10b2455 100644<br>
> +--- a/libtextstyle/gnulib-local/m4/libcroco.m4<br>
> ++++ b/libtextstyle/gnulib-local/m4/libcroco.m4<br>
> +@@ -1,99 +1,34 @@<br>
> +-# libcroco.m4 serial 3<br>
> +-dnl Copyright (C) 2006-2007, 2019 Free Software Foundation, Inc.<br>
> ++# libcroco.m4 serial 2 (gettext-0.17)<br>
> ++dnl Copyright (C) 2006, 2015-2016 Free Software Foundation, Inc.<br>
> + dnl This file is free software; the Free Software Foundation<br>
> + dnl gives unlimited permission to copy and/or distribute it,<br>
> + dnl with or without modifications, as long as this notice is preserved.<br>
> + <br>
> + dnl From Bruno Haible.<br>
> + <br>
> +-dnl gl_LIBCROCO<br>
> +-dnl gives the user the option to decide whether to use the included or<br>
> +-dnl an external libcroco.<br>
> +-dnl gl_LIBCROCO(FORCE-INCLUDED)<br>
> +-dnl forces the use of the included or an external libcroco.<br>
> + AC_DEFUN([gl_LIBCROCO],<br>
> + [<br>
> +- ifelse([$1], [yes], , [<br>
> +- dnl libcroco depends on libglib.<br>
> +- AC_REQUIRE([gl_LIBGLIB])<br>
> +- ])<br>
> ++ AC_REQUIRE([PKG_PROG_PKG_CONFIG])<br>
> ++ dnl libcroco depends on libglib.<br>
> ++ AC_REQUIRE([gl_LIBGLIB])<br>
> + <br>
> +- ifelse([$1], , [<br>
> +- AC_MSG_CHECKING([whether included libcroco is requested])<br>
> +- AC_ARG_WITH([included-libcroco],<br>
> +- [ --with-included-libcroco use the libcroco included here],<br>
> +- [gl_cv_libcroco_force_included=$withval],<br>
> +- [gl_cv_libcroco_force_included=no])<br>
> +- AC_MSG_RESULT([$gl_cv_libcroco_force_included])<br>
> +- ], [gl_cv_libcroco_force_included=$1])<br>
> ++ AC_MSG_CHECKING([whether included libcroco is requested])<br>
> ++ AC_ARG_WITH([included-libcroco],<br>
> ++ [ --with-included-libcroco use the libcroco included here],<br>
> ++ [gl_cv_libcroco_force_included=$withval],<br>
> ++ [gl_cv_libcroco_force_included=no])<br>
> ++ AC_MSG_RESULT([$gl_cv_libcroco_force_included])<br>
> + <br>
> + gl_cv_libcroco_use_included="$gl_cv_libcroco_force_included"<br>
> + LIBCROCO=<br>
> + LTLIBCROCO=<br>
> + INCCROCO=<br>
> +- ifelse([$1], [yes], , [<br>
> +- if test "$gl_cv_libcroco_use_included" != yes; then<br>
> +- dnl Figure out whether we can use a preinstalled libcroco-0.6, or have to<br>
> +- dnl use the included one.<br>
> +- AC_CACHE_VAL([gl_cv_libcroco], [<br>
> +- gl_cv_libcroco=no<br>
> +- gl_cv_LIBCROCO=<br>
> +- gl_cv_LTLIBCROCO=<br>
> +- gl_cv_INCCROCO=<br>
> +- gl_save_LIBS="$LIBS"<br>
> +- dnl Search for libcroco and define LIBCROCO_0_6, LTLIBCROCO_0_6 and<br>
> +- dnl INCCROCO_0_6 accordingly.<br>
> +- dnl Don't use croco-0.6-config nor pkg-config, since it doesn't work when<br>
> +- dnl cross-compiling or when the C compiler in use is different from the<br>
> +- dnl one that built the library.<br>
> +- AC_LIB_LINKFLAGS_BODY([croco-0.6], [glib-2.0])<br>
> +- LIBS="$gl_save_LIBS $LIBCROCO_0_6"<br>
> +- AC_TRY_LINK([#include <libcroco-config.h>],<br>
> +- [const char *version = LIBCROCO_VERSION; return !version;],<br>
> +- [gl_cv_libcroco=yes<br>
> +- gl_cv_LIBCROCO="$LIBCROCO_0_6"<br>
> +- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"<br>
> +- ])<br>
> +- if test "$gl_cv_libcroco" != yes; then<br>
> +- gl_save_CPPFLAGS="$CPPFLAGS"<br>
> +- CPPFLAGS="$CPPFLAGS $INCCROCO_0_6"<br>
> +- AC_TRY_LINK([#include <libcroco-config.h>],<br>
> +- [const char *version = LIBCROCO_VERSION; return !version;],<br>
> +- [gl_cv_libcroco=yes<br>
> +- gl_cv_LIBCROCO="$LIBCROCO_0_6"<br>
> +- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"<br>
> +- gl_cv_INCCROCO="$INCCROCO_0_6"<br>
> +- ])<br>
> +- if test "$gl_cv_libcroco" != yes; then<br>
> +- dnl Often the include files are installed in<br>
> +- dnl /usr/include/libcroco-0.6/libcroco.<br>
> +- AC_TRY_LINK([#include <libcroco-0.6/libcroco/libcroco-config.h>],<br>
> +- [const char *version = LIBCROCO_VERSION; return !version;],<br>
> +- [gl_ABSOLUTE_HEADER([libcroco-0.6/libcroco/libcroco-config.h])<br>
> +- libcroco_include_dir=`echo "$gl_cv_absolute_libcroco_0_6_libcroco_libcroco_config_h" | sed -e 's,.libcroco-config\.h$,,'`<br>
> +- if test -d "$libcroco_include_dir"; then<br>
> +- gl_cv_libcroco=yes<br>
> +- gl_cv_LIBCROCO="$LIBCROCO_0_6"<br>
> +- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"<br>
> +- gl_cv_INCCROCO="-I$libcroco_include_dir"<br>
> +- fi<br>
> +- ])<br>
> +- fi<br>
> +- CPPFLAGS="$gl_save_CPPFLAGS"<br>
> +- fi<br>
> +- LIBS="$gl_save_LIBS"<br>
> +- ])<br>
> +- AC_MSG_CHECKING([for libcroco])<br>
> +- AC_MSG_RESULT([$gl_cv_libcroco])<br>
> +- if test $gl_cv_libcroco = yes; then<br>
> +- LIBCROCO="$gl_cv_LIBCROCO"<br>
> +- LTLIBCROCO="$gl_cv_LTLIBCROCO"<br>
> +- INCCROCO="$gl_cv_INCCROCO"<br>
> +- else<br>
> +- gl_cv_libcroco_use_included=yes<br>
> +- fi<br>
> +- fi<br>
> +- ])<br>
> ++ if test "$gl_cv_libcroco_use_included" != yes; then<br>
> ++ PKG_CHECK_MODULES([CROCO], [libcroco-0.6])<br>
> ++ LIBCROCO=$CROCO_LIBS<br>
> ++ LTLIBCROCO=$CROCO_LIBS<br>
> ++ INCCROCO=$CROCO_CFLAGS<br>
> ++ fi<br>
> + AC_SUBST([LIBCROCO])<br>
> + AC_SUBST([LTLIBCROCO])<br>
> + AC_SUBST([INCCROCO])<br>
> +diff --git a/libtextstyle/gnulib-local/m4/libglib.m4 b/libtextstyle/gnulib-local/m4/libglib.m4<br>
> +index bef6fa3..8841755 100644<br>
> +--- a/libtextstyle/gnulib-local/m4/libglib.m4<br>
> ++++ b/libtextstyle/gnulib-local/m4/libglib.m4<br>
> +@@ -1,105 +1,31 @@<br>
> +-# libglib.m4 serial 4<br>
> +-dnl Copyright (C) 2006-2007, 2019 Free Software Foundation, Inc.<br>
> ++# libglib.m4 serial 3 (gettext-0.17)<br>
> ++dnl Copyright (C) 2006-2007, 2015-2016 Free Software Foundation, Inc.<br>
> + dnl This file is free software; the Free Software Foundation<br>
> + dnl gives unlimited permission to copy and/or distribute it,<br>
> + dnl with or without modifications, as long as this notice is preserved.<br>
> + <br>
> + dnl From Bruno Haible.<br>
> + <br>
> +-dnl gl_LIBGLIB<br>
> +-dnl gives the user the option to decide whether to use the included or<br>
> +-dnl an external libglib.<br>
> +-dnl gl_LIBGLIB(FORCE-INCLUDED)<br>
> +-dnl forces the use of the included or an external libglib.<br>
> + AC_DEFUN([gl_LIBGLIB],<br>
> + [<br>
> +- ifelse([$1], , [<br>
> +- AC_MSG_CHECKING([whether included glib is requested])<br>
> +- AC_ARG_WITH([included-glib],<br>
> +- [ --with-included-glib use the glib2 included here],<br>
> +- [gl_cv_libglib_force_included=$withval],<br>
> +- [gl_cv_libglib_force_included=no])<br>
> +- AC_MSG_RESULT([$gl_cv_libglib_force_included])<br>
> +- ], [gl_cv_libglib_force_included=$1])<br>
> ++ AC_REQUIRE([PKG_PROG_PKG_CONFIG])<br>
> ++ AC_MSG_CHECKING([whether included glib is requested])<br>
> ++ AC_ARG_WITH([included-glib],<br>
> ++ [ --with-included-glib use the glib2 included here],<br>
> ++ [gl_cv_libglib_force_included=$withval],<br>
> ++ [gl_cv_libglib_force_included=no])<br>
> ++ AC_MSG_RESULT([$gl_cv_libglib_force_included])<br>
> + <br>
> + gl_cv_libglib_use_included="$gl_cv_libglib_force_included"<br>
> + LIBGLIB=<br>
> + LTLIBGLIB=<br>
> + INCGLIB=<br>
> +- ifelse([$1], [yes], , [<br>
> +- if test "$gl_cv_libglib_use_included" != yes; then<br>
> +- dnl Figure out whether we can use a preinstalled libglib-2.0, or have to use<br>
> +- dnl the included one.<br>
> +- AC_CACHE_VAL([gl_cv_libglib], [<br>
> +- gl_cv_libglib=no<br>
> +- gl_cv_LIBGLIB=<br>
> +- gl_cv_LTLIBGLIB=<br>
> +- gl_cv_INCGLIB=<br>
> +- gl_save_LIBS="$LIBS"<br>
> +- dnl Search for libglib2 and define LIBGLIB_2_0, LTLIBGLIB_2_0 and<br>
> +- dnl INCGLIB_2_0 accordingly.<br>
> +- dnl Don't use glib-config nor pkg-config, since it doesn't work when<br>
> +- dnl cross-compiling or when the C compiler in use is different from the<br>
> +- dnl one that built the library.<br>
> +- AC_LIB_LINKFLAGS_BODY([glib-2.0])<br>
> +- LIBS="$gl_save_LIBS $LIBGLIB_2_0"<br>
> +- AC_TRY_LINK([#include <glib.h><br>
> +-#ifndef G_BEGIN_DECLS<br>
> +-error this glib.h includes a glibconfig.h from a glib version 1.x<br>
> +-#endif<br>
> +-],<br>
> +- [g_string_new ("foo");],<br>
> +- [gl_cv_libglib=yes<br>
> +- gl_cv_LIBGLIB="$LIBGLIB_2_0"<br>
> +- gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"<br>
> +- ])<br>
> +- if test "$gl_cv_libglib" != yes; then<br>
> +- gl_save_CPPFLAGS="$CPPFLAGS"<br>
> +- CPPFLAGS="$CPPFLAGS $INCGLIB_2_0"<br>
> +- AC_TRY_LINK([#include <glib.h><br>
> +-#ifndef G_BEGIN_DECLS<br>
> +-error this glib.h includes a glibconfig.h from a glib version 1.x<br>
> +-#endif<br>
> +-],<br>
> +- [g_string_new ("foo");],<br>
> +- [gl_cv_libglib=yes<br>
> +- gl_cv_LIBGLIB="$LIBGLIB_2_0"<br>
> +- gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"<br>
> +- gl_cv_INCGLIB="$INCGLIB_2_0"<br>
> +- ])<br>
> +- if test "$gl_cv_libglib" != yes; then<br>
> +- dnl Often the include files are installed in /usr/include/glib-2.0<br>
> +- dnl and /usr/lib/glib-2.0/include.<br>
> +- if test -n "$LIBGLIB_2_0_PREFIX"; then<br>
> +- CPPFLAGS="$gl_save_CPPFLAGS -I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include"<br>
> +- AC_TRY_LINK([#include <glib.h><br>
> +-#ifndef G_BEGIN_DECLS<br>
> +-error this glib.h includes a glibconfig.h from a glib version 1.x<br>
> +-#endif<br>
> +-],<br>
> +- [g_string_new ("foo");],<br>
> +- [gl_cv_libglib=yes<br>
> +- gl_cv_LIBGLIB="$LIBGLIB_2_0"<br>
> +- gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"<br>
> +- gl_cv_INCGLIB="-I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include"<br>
> +- ])<br>
> +- fi<br>
> +- fi<br>
> +- CPPFLAGS="$gl_save_CPPFLAGS"<br>
> +- fi<br>
> +- LIBS="$gl_save_LIBS"<br>
> +- ])<br>
> +- AC_MSG_CHECKING([for glib])<br>
> +- AC_MSG_RESULT([$gl_cv_libglib])<br>
> +- if test $gl_cv_libglib = yes; then<br>
> +- LIBGLIB="$gl_cv_LIBGLIB"<br>
> +- LTLIBGLIB="$gl_cv_LTLIBGLIB"<br>
> +- INCGLIB="$gl_cv_INCGLIB"<br>
> +- else<br>
> +- gl_cv_libglib_use_included=yes<br>
> +- fi<br>
> +- fi<br>
> +- ])<br>
> ++ if test "$gl_cv_libglib_use_included" != yes; then<br>
> ++ PKG_CHECK_MODULES([GLIB], [glib-2.0])<br>
> ++ LIBGLIB="$GLIB_LIBS"<br>
> ++ LTLIBGLIB="$GLIB_LIBS"<br>
> ++ INCGLIB="$GLIB_CFLAGS"<br>
> ++ fi<br>
> + AC_SUBST([LIBGLIB])<br>
> + AC_SUBST([LTLIBGLIB])<br>
> + AC_SUBST([INCGLIB])<br>
> +diff --git a/libtextstyle/gnulib-m4/libcroco.m4 b/libtextstyle/gnulib-m4/libcroco.m4<br>
> +index bc53cc6..10b2455 100644<br>
> +--- a/libtextstyle/gnulib-m4/libcroco.m4<br>
> ++++ b/libtextstyle/gnulib-m4/libcroco.m4<br>
> +@@ -1,99 +1,34 @@<br>
> +-# libcroco.m4 serial 3<br>
> +-dnl Copyright (C) 2006-2007, 2019 Free Software Foundation, Inc.<br>
> ++# libcroco.m4 serial 2 (gettext-0.17)<br>
> ++dnl Copyright (C) 2006, 2015-2016 Free Software Foundation, Inc.<br>
> + dnl This file is free software; the Free Software Foundation<br>
> + dnl gives unlimited permission to copy and/or distribute it,<br>
> + dnl with or without modifications, as long as this notice is preserved.<br>
> + <br>
> + dnl From Bruno Haible.<br>
> + <br>
> +-dnl gl_LIBCROCO<br>
> +-dnl gives the user the option to decide whether to use the included or<br>
> +-dnl an external libcroco.<br>
> +-dnl gl_LIBCROCO(FORCE-INCLUDED)<br>
> +-dnl forces the use of the included or an external libcroco.<br>
> + AC_DEFUN([gl_LIBCROCO],<br>
> + [<br>
> +- ifelse([$1], [yes], , [<br>
> +- dnl libcroco depends on libglib.<br>
> +- AC_REQUIRE([gl_LIBGLIB])<br>
> +- ])<br>
> ++ AC_REQUIRE([PKG_PROG_PKG_CONFIG])<br>
> ++ dnl libcroco depends on libglib.<br>
> ++ AC_REQUIRE([gl_LIBGLIB])<br>
> + <br>
> +- ifelse([$1], , [<br>
> +- AC_MSG_CHECKING([whether included libcroco is requested])<br>
> +- AC_ARG_WITH([included-libcroco],<br>
> +- [ --with-included-libcroco use the libcroco included here],<br>
> +- [gl_cv_libcroco_force_included=$withval],<br>
> +- [gl_cv_libcroco_force_included=no])<br>
> +- AC_MSG_RESULT([$gl_cv_libcroco_force_included])<br>
> +- ], [gl_cv_libcroco_force_included=$1])<br>
> ++ AC_MSG_CHECKING([whether included libcroco is requested])<br>
> ++ AC_ARG_WITH([included-libcroco],<br>
> ++ [ --with-included-libcroco use the libcroco included here],<br>
> ++ [gl_cv_libcroco_force_included=$withval],<br>
> ++ [gl_cv_libcroco_force_included=no])<br>
> ++ AC_MSG_RESULT([$gl_cv_libcroco_force_included])<br>
> + <br>
> + gl_cv_libcroco_use_included="$gl_cv_libcroco_force_included"<br>
> + LIBCROCO=<br>
> + LTLIBCROCO=<br>
> + INCCROCO=<br>
> +- ifelse([$1], [yes], , [<br>
> +- if test "$gl_cv_libcroco_use_included" != yes; then<br>
> +- dnl Figure out whether we can use a preinstalled libcroco-0.6, or have to<br>
> +- dnl use the included one.<br>
> +- AC_CACHE_VAL([gl_cv_libcroco], [<br>
> +- gl_cv_libcroco=no<br>
> +- gl_cv_LIBCROCO=<br>
> +- gl_cv_LTLIBCROCO=<br>
> +- gl_cv_INCCROCO=<br>
> +- gl_save_LIBS="$LIBS"<br>
> +- dnl Search for libcroco and define LIBCROCO_0_6, LTLIBCROCO_0_6 and<br>
> +- dnl INCCROCO_0_6 accordingly.<br>
> +- dnl Don't use croco-0.6-config nor pkg-config, since it doesn't work when<br>
> +- dnl cross-compiling or when the C compiler in use is different from the<br>
> +- dnl one that built the library.<br>
> +- AC_LIB_LINKFLAGS_BODY([croco-0.6], [glib-2.0])<br>
> +- LIBS="$gl_save_LIBS $LIBCROCO_0_6"<br>
> +- AC_TRY_LINK([#include <libcroco-config.h>],<br>
> +- [const char *version = LIBCROCO_VERSION; return !version;],<br>
> +- [gl_cv_libcroco=yes<br>
> +- gl_cv_LIBCROCO="$LIBCROCO_0_6"<br>
> +- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"<br>
> +- ])<br>
> +- if test "$gl_cv_libcroco" != yes; then<br>
> +- gl_save_CPPFLAGS="$CPPFLAGS"<br>
> +- CPPFLAGS="$CPPFLAGS $INCCROCO_0_6"<br>
> +- AC_TRY_LINK([#include <libcroco-config.h>],<br>
> +- [const char *version = LIBCROCO_VERSION; return !version;],<br>
> +- [gl_cv_libcroco=yes<br>
> +- gl_cv_LIBCROCO="$LIBCROCO_0_6"<br>
> +- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"<br>
> +- gl_cv_INCCROCO="$INCCROCO_0_6"<br>
> +- ])<br>
> +- if test "$gl_cv_libcroco" != yes; then<br>
> +- dnl Often the include files are installed in<br>
> +- dnl /usr/include/libcroco-0.6/libcroco.<br>
> +- AC_TRY_LINK([#include <libcroco-0.6/libcroco/libcroco-config.h>],<br>
> +- [const char *version = LIBCROCO_VERSION; return !version;],<br>
> +- [gl_ABSOLUTE_HEADER([libcroco-0.6/libcroco/libcroco-config.h])<br>
> +- libcroco_include_dir=`echo "$gl_cv_absolute_libcroco_0_6_libcroco_libcroco_config_h" | sed -e 's,.libcroco-config\.h$,,'`<br>
> +- if test -d "$libcroco_include_dir"; then<br>
> +- gl_cv_libcroco=yes<br>
> +- gl_cv_LIBCROCO="$LIBCROCO_0_6"<br>
> +- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"<br>
> +- gl_cv_INCCROCO="-I$libcroco_include_dir"<br>
> +- fi<br>
> +- ])<br>
> +- fi<br>
> +- CPPFLAGS="$gl_save_CPPFLAGS"<br>
> +- fi<br>
> +- LIBS="$gl_save_LIBS"<br>
> +- ])<br>
> +- AC_MSG_CHECKING([for libcroco])<br>
> +- AC_MSG_RESULT([$gl_cv_libcroco])<br>
> +- if test $gl_cv_libcroco = yes; then<br>
> +- LIBCROCO="$gl_cv_LIBCROCO"<br>
> +- LTLIBCROCO="$gl_cv_LTLIBCROCO"<br>
> +- INCCROCO="$gl_cv_INCCROCO"<br>
> +- else<br>
> +- gl_cv_libcroco_use_included=yes<br>
> +- fi<br>
> +- fi<br>
> +- ])<br>
> ++ if test "$gl_cv_libcroco_use_included" != yes; then<br>
> ++ PKG_CHECK_MODULES([CROCO], [libcroco-0.6])<br>
> ++ LIBCROCO=$CROCO_LIBS<br>
> ++ LTLIBCROCO=$CROCO_LIBS<br>
> ++ INCCROCO=$CROCO_CFLAGS<br>
> ++ fi<br>
> + AC_SUBST([LIBCROCO])<br>
> + AC_SUBST([LTLIBCROCO])<br>
> + AC_SUBST([INCCROCO])<br>
> +diff --git a/libtextstyle/gnulib-m4/libglib.m4 b/libtextstyle/gnulib-m4/libglib.m4<br>
> +index bef6fa3..8841755 100644<br>
> +--- a/libtextstyle/gnulib-m4/libglib.m4<br>
> ++++ b/libtextstyle/gnulib-m4/libglib.m4<br>
> +@@ -1,105 +1,31 @@<br>
> +-# libglib.m4 serial 4<br>
> +-dnl Copyright (C) 2006-2007, 2019 Free Software Foundation, Inc.<br>
> ++# libglib.m4 serial 3 (gettext-0.17)<br>
> ++dnl Copyright (C) 2006-2007, 2015-2016 Free Software Foundation, Inc.<br>
> + dnl This file is free software; the Free Software Foundation<br>
> + dnl gives unlimited permission to copy and/or distribute it,<br>
> + dnl with or without modifications, as long as this notice is preserved.<br>
> + <br>
> + dnl From Bruno Haible.<br>
> + <br>
> +-dnl gl_LIBGLIB<br>
> +-dnl gives the user the option to decide whether to use the included or<br>
> +-dnl an external libglib.<br>
> +-dnl gl_LIBGLIB(FORCE-INCLUDED)<br>
> +-dnl forces the use of the included or an external libglib.<br>
> + AC_DEFUN([gl_LIBGLIB],<br>
> + [<br>
> +- ifelse([$1], , [<br>
> +- AC_MSG_CHECKING([whether included glib is requested])<br>
> +- AC_ARG_WITH([included-glib],<br>
> +- [ --with-included-glib use the glib2 included here],<br>
> +- [gl_cv_libglib_force_included=$withval],<br>
> +- [gl_cv_libglib_force_included=no])<br>
> +- AC_MSG_RESULT([$gl_cv_libglib_force_included])<br>
> +- ], [gl_cv_libglib_force_included=$1])<br>
> ++ AC_REQUIRE([PKG_PROG_PKG_CONFIG])<br>
> ++ AC_MSG_CHECKING([whether included glib is requested])<br>
> ++ AC_ARG_WITH([included-glib],<br>
> ++ [ --with-included-glib use the glib2 included here],<br>
> ++ [gl_cv_libglib_force_included=$withval],<br>
> ++ [gl_cv_libglib_force_included=no])<br>
> ++ AC_MSG_RESULT([$gl_cv_libglib_force_included])<br>
> + <br>
> + gl_cv_libglib_use_included="$gl_cv_libglib_force_included"<br>
> + LIBGLIB=<br>
> + LTLIBGLIB=<br>
> + INCGLIB=<br>
> +- ifelse([$1], [yes], , [<br>
> +- if test "$gl_cv_libglib_use_included" != yes; then<br>
> +- dnl Figure out whether we can use a preinstalled libglib-2.0, or have to use<br>
> +- dnl the included one.<br>
> +- AC_CACHE_VAL([gl_cv_libglib], [<br>
> +- gl_cv_libglib=no<br>
> +- gl_cv_LIBGLIB=<br>
> +- gl_cv_LTLIBGLIB=<br>
> +- gl_cv_INCGLIB=<br>
> +- gl_save_LIBS="$LIBS"<br>
> +- dnl Search for libglib2 and define LIBGLIB_2_0, LTLIBGLIB_2_0 and<br>
> +- dnl INCGLIB_2_0 accordingly.<br>
> +- dnl Don't use glib-config nor pkg-config, since it doesn't work when<br>
> +- dnl cross-compiling or when the C compiler in use is different from the<br>
> +- dnl one that built the library.<br>
> +- AC_LIB_LINKFLAGS_BODY([glib-2.0])<br>
> +- LIBS="$gl_save_LIBS $LIBGLIB_2_0"<br>
> +- AC_TRY_LINK([#include <glib.h><br>
> +-#ifndef G_BEGIN_DECLS<br>
> +-error this glib.h includes a glibconfig.h from a glib version 1.x<br>
> +-#endif<br>
> +-],<br>
> +- [g_string_new ("foo");],<br>
> +- [gl_cv_libglib=yes<br>
> +- gl_cv_LIBGLIB="$LIBGLIB_2_0"<br>
> +- gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"<br>
> +- ])<br>
> +- if test "$gl_cv_libglib" != yes; then<br>
> +- gl_save_CPPFLAGS="$CPPFLAGS"<br>
> +- CPPFLAGS="$CPPFLAGS $INCGLIB_2_0"<br>
> +- AC_TRY_LINK([#include <glib.h><br>
> +-#ifndef G_BEGIN_DECLS<br>
> +-error this glib.h includes a glibconfig.h from a glib version 1.x<br>
> +-#endif<br>
> +-],<br>
> +- [g_string_new ("foo");],<br>
> +- [gl_cv_libglib=yes<br>
> +- gl_cv_LIBGLIB="$LIBGLIB_2_0"<br>
> +- gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"<br>
> +- gl_cv_INCGLIB="$INCGLIB_2_0"<br>
> +- ])<br>
> +- if test "$gl_cv_libglib" != yes; then<br>
> +- dnl Often the include files are installed in /usr/include/glib-2.0<br>
> +- dnl and /usr/lib/glib-2.0/include.<br>
> +- if test -n "$LIBGLIB_2_0_PREFIX"; then<br>
> +- CPPFLAGS="$gl_save_CPPFLAGS -I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include"<br>
> +- AC_TRY_LINK([#include <glib.h><br>
> +-#ifndef G_BEGIN_DECLS<br>
> +-error this glib.h includes a glibconfig.h from a glib version 1.x<br>
> +-#endif<br>
> +-],<br>
> +- [g_string_new ("foo");],<br>
> +- [gl_cv_libglib=yes<br>
> +- gl_cv_LIBGLIB="$LIBGLIB_2_0"<br>
> +- gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"<br>
> +- gl_cv_INCGLIB="-I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include"<br>
> +- ])<br>
> +- fi<br>
> +- fi<br>
> +- CPPFLAGS="$gl_save_CPPFLAGS"<br>
> +- fi<br>
> +- LIBS="$gl_save_LIBS"<br>
> +- ])<br>
> +- AC_MSG_CHECKING([for glib])<br>
> +- AC_MSG_RESULT([$gl_cv_libglib])<br>
> +- if test $gl_cv_libglib = yes; then<br>
> +- LIBGLIB="$gl_cv_LIBGLIB"<br>
> +- LTLIBGLIB="$gl_cv_LTLIBGLIB"<br>
> +- INCGLIB="$gl_cv_INCGLIB"<br>
> +- else<br>
> +- gl_cv_libglib_use_included=yes<br>
> +- fi<br>
> +- fi<br>
> +- ])<br>
> ++ if test "$gl_cv_libglib_use_included" != yes; then<br>
> ++ PKG_CHECK_MODULES([GLIB], [glib-2.0])<br>
> ++ LIBGLIB="$GLIB_LIBS"<br>
> ++ LTLIBGLIB="$GLIB_LIBS"<br>
> ++ INCGLIB="$GLIB_CFLAGS"<br>
> ++ fi<br>
> + AC_SUBST([LIBGLIB])<br>
> + AC_SUBST([LTLIBGLIB])<br>
> + AC_SUBST([INCGLIB])<br>
> +diff --git a/libtextstyle/lib/term-styled-ostream.c b/libtextstyle/lib/term-styled-ostream.c<br>
> +index 3675b5f..811e546 100644<br>
> +--- a/libtextstyle/lib/term-styled-ostream.c<br>
> ++++ b/libtextstyle/lib/term-styled-ostream.c<br>
> +@@ -28,15 +28,15 @@<br>
> + <br>
> + #include <stdlib.h><br>
> + <br>
> +-#include <cr-om-parser.h><br>
> +-#include <cr-sel-eng.h><br>
> +-#include <cr-style.h><br>
> +-#include <cr-rgb.h><br>
> ++#include <libcroco/cr-om-parser.h><br>
> ++#include <libcroco/cr-sel-eng.h><br>
> ++#include <libcroco/cr-style.h><br>
> ++#include <libcroco/cr-rgb.h><br>
> + /* <cr-fonts.h> has a broken double-inclusion guard in libcroco-0.6.1. */<br>
> + #ifndef __CR_FONTS_H__<br>
> +-# include <cr-fonts.h><br>
> ++# include <libcroco/cr-fonts.h><br>
> + #endif<br>
> +-#include <cr-string.h><br>
> ++#include <libcroco/cr-string.h><br>
> + <br>
> + #include "term-ostream.h"<br>
> + #include "hash.h"<br>
> +diff --git a/libtextstyle/lib/term-styled-ostream.oo.c b/libtextstyle/lib/term-styled-ostream.oo.c<br>
> +index 2cfd4a8..d42c8b4 100644<br>
> +--- a/libtextstyle/lib/term-styled-ostream.oo.c<br>
> ++++ b/libtextstyle/lib/term-styled-ostream.oo.c<br>
> +@@ -22,15 +22,15 @@<br>
> + <br>
> + #include <stdlib.h><br>
> + <br>
> +-#include <cr-om-parser.h><br>
> +-#include <cr-sel-eng.h><br>
> +-#include <cr-style.h><br>
> +-#include <cr-rgb.h><br>
> ++#include <libcroco/cr-om-parser.h><br>
> ++#include <libcroco/cr-sel-eng.h><br>
> ++#include <libcroco/cr-style.h><br>
> ++#include <libcroco/cr-rgb.h><br>
> + /* <cr-fonts.h> has a broken double-inclusion guard in libcroco-0.6.1. */<br>
> + #ifndef __CR_FONTS_H__<br>
> +-# include <cr-fonts.h><br>
> ++# include <libcroco/cr-fonts.h><br>
> + #endif<br>
> +-#include <cr-string.h><br>
> ++#include <libcroco/cr-string.h><br>
> + <br>
> + #include "term-ostream.h"<br>
> + #include "hash.h"<br>
> diff --git a/meta/recipes-core/gettext/<a href="http://gettext_0.19.8.1.bb" rel="noreferrer" target="_blank">gettext_0.19.8.1.bb</a> b/meta/recipes-core/gettext/<a href="http://gettext_0.20.1.bb" rel="noreferrer" target="_blank">gettext_0.20.1.bb</a><br>
> similarity index 94%<br>
> rename from meta/recipes-core/gettext/<a href="http://gettext_0.19.8.1.bb" rel="noreferrer" target="_blank">gettext_0.19.8.1.bb</a><br>
> rename to meta/recipes-core/gettext/<a href="http://gettext_0.20.1.bb" rel="noreferrer" target="_blank">gettext_0.20.1.bb</a><br>
> index 30121ad23e1..fc05ef2e0a3 100644<br>
> --- a/meta/recipes-core/gettext/<a href="http://gettext_0.19.8.1.bb" rel="noreferrer" target="_blank">gettext_0.19.8.1.bb</a><br>
> +++ b/meta/recipes-core/gettext/<a href="http://gettext_0.20.1.bb" rel="noreferrer" target="_blank">gettext_0.20.1.bb</a><br>
> @@ -6,7 +6,7 @@ a few stand-alone programs to massage in various ways the sets of translatable a<br>
> HOMEPAGE = "<a href="http://www.gnu.org/software/gettext/gettext.html" rel="noreferrer" target="_blank">http://www.gnu.org/software/gettext/gettext.html</a>"<br>
> SECTION = "libs"<br>
> LICENSE = "GPLv3+ & LGPL-2.1+"<br>
> -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"<br>
> +LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e"<br>
> <br>
> # Because po-gram-gen.y has been modified by fix-CVE-2018-18751.patch,<br>
> # it requires yacc which provided by bison-native<br>
> @@ -17,17 +17,16 @@ PROVIDES = "virtual/libintl virtual/gettext"<br>
> PROVIDES_class-native = "virtual/gettext-native"<br>
> RCONFLICTS_${PN} = "proxy-libintl"<br>
> SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \<br>
> - file://parallel.patch \<br>
> - file://add-with-bisonlocaledir.patch \<br>
> - file://cr-statement.c-timsort.h-fix-formatting-issues.patch \<br>
> - file://use-pkgconfig.patch \<br>
> - file://fix-CVE-2018-18751.patch \<br>
> - file://run-ptest \<br>
> - file://serial-tests-config.patch \<br>
> -"<br>
> + file://parallel.patch \<br>
> + file://add-with-bisonlocaledir.patch \<br>
> + file://cr-statement.c-timsort.h-fix-formatting-issues.patch \<br>
> + file://use-pkgconfig.patch \<br>
> + file://run-ptest \<br>
> + file://serial-tests-config.patch \<br>
> + "<br>
> <br>
> -SRC_URI[md5sum] = "97e034cf8ce5ba73a28ff6c3c0638092"<br>
> -SRC_URI[sha256sum] = "ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43"<br>
> +SRC_URI[md5sum] = "bb5b0c0caa028105f3ca1905ddc306e2"<br>
> +SRC_URI[sha256sum] = "66415634c6e8c3fa8b71362879ec7575e27da43da562c798a8a2f223e6e47f5c"<br>
> <br>
> inherit autotools texinfo pkgconfig ptest<br>
> <br>
> @@ -127,7 +126,7 @@ do_install_append_class-native () {<br>
> rm ${D}${datadir}/gettext/po/remove-potcdate.sin<br>
> <br>
> create_wrapper ${D}${bindir}/msgfmt \<br>
> - GETTEXTDATADIR="${STAGING_DATADIR_NATIVE}/gettext-0.19.8/"<br>
> + GETTEXTDATADIR="${STAGING_DATADIR_NATIVE}/gettext-0.20/"<br>
> <br>
> }<br>
> <br>
<br>
</blockquote></div></div>