* [PATCH] autotools.bbclass: Fix gettext macro versions issues
@ 2012-10-11 10:02 Richard Purdie
0 siblings, 0 replies; 2+ messages in thread
From: Richard Purdie @ 2012-10-11 10:02 UTC (permalink / raw)
To: openembedded-core
gettext m4 macros don't use the usual versioning/serial mechanism used by
aclocal. It therefore won't update them over and above any local version of
the macro. Equally, we don't run gettextize due to it doing slightly crazy
things to the build.
When we put the aclocal directory as a -I option to aclocal, if this was
found first compared to any recipe provided macros, the correct version
of the gettext macro would still "win". With the switch so correctly override
the system directory, older recipe provided macros may get used.
This patch manually removes the problematic m4 macros in the case we're using
gettext and need to use the correct m4 macros.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index 23058be..3935db2 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -179,9 +179,14 @@ autotools_do_configure() {
else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
# We'd call gettextize here if it wasn't so broken...
cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
- if [ -d ${S}/po/ -a ! -e ${S}/po/Makefile.in.in ]; then
+ if [ -d ${S}/po/ ]; then
cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/
fi
+ for i in gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4; do
+ for j in `find ${S} -name $i | grep -v aclocal-copy`; do
+ rm $j
+ done
+ done
fi
fi
fi
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH] autotools.bbclass: Fix gettext macro versions issues
@ 2012-10-17 14:21 Richard Purdie
0 siblings, 0 replies; 2+ messages in thread
From: Richard Purdie @ 2012-10-17 14:21 UTC (permalink / raw)
To: openembedded-core
gettext m4 macros don't use the usual versioning/serial mechanism used by
aclocal. It therefore won't update them over and above any local version of
the macro. Equally, we don't run gettextize due to it doing slightly crazy
things to the build.
When we put the aclocal directory as a -I option to aclocal, if this was
found first compared to any recipe provided macros, the correct version
of the gettext macro would still "win". With the switch so correctly override
the system directory, older recipe provided macros may get used.
This patch manually removes the problematic m4 macros in the case we're using
gettext and need to use the correct m4 macros.
This patch also always ensures the gettext manipulations happen, even in the
-native case since missing or stale gettext files could cause build failures.
(From OE-Core rev: e9645d2bbeabaa5251d49edd659ab320fd66d0ee)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index 7c99bbd..59c5bae 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -166,21 +166,24 @@ autotools_do_configure() {
else
CONFIGURE_AC=configure.ac
fi
- if ! echo ${EXTRA_OECONF} | grep -q "\-\-disable-nls"; then
- if grep "^[[:space:]]*AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
- if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then
- : do nothing -- we still have an old unmodified configure.ac
- else
- bbnote Executing glib-gettextize --force --copy
- echo "no" | glib-gettextize --force --copy
- fi
- else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
- # We'd call gettextize here if it wasn't so broken...
- cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
- if [ -d ${S}/po/ -a ! -e ${S}/po/Makefile.in.in ]; then
- cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/
- fi
+ if grep "^[[:space:]]*AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
+ if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then
+ : do nothing -- we still have an old unmodified configure.ac
+ else
+ bbnote Executing glib-gettextize --force --copy
+ echo "no" | glib-gettextize --force --copy
+ fi
+ else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
+ # We'd call gettextize here if it wasn't so broken...
+ cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
+ if [ -d ${S}/po/ ]; then
+ cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/
fi
+ for i in gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4; do
+ for j in `find ${S} -name $i | grep -v aclocal-copy`; do
+ rm $j
+ done
+ done
fi
fi
mkdir -p m4
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-10-17 14:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-11 10:02 [PATCH] autotools.bbclass: Fix gettext macro versions issues Richard Purdie
-- strict thread matches above, loose matches on Subject: below --
2012-10-17 14:21 Richard Purdie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox