summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2016-07-19 12:04:12 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-20 10:28:01 +0100
commit9900000d404b09a701d5368d529eb515e054e3f0 (patch)
tree7dd467260ba7bf8c866abefe7a15cfc3d3629acd
parentbf88f089c3bb8ceef7338436a1688a44399efc57 (diff)
downloadopenembedded-core-contrib-9900000d404b09a701d5368d529eb515e054e3f0.tar.gz
openembedded-core-contrib-9900000d404b09a701d5368d529eb515e054e3f0.tar.bz2
openembedded-core-contrib-9900000d404b09a701d5368d529eb515e054e3f0.zip
intltool: remove broken XML::Parser detection
intltool.m4 has a chunk of code that runs during configure which probes for a perl binary and verifies that it has the XML::Parser module. However in builds using intltool-native the perl binary that it finds is likely to not be the one that the intltool scripts will be using as the scripts hardcode nativeperl yet the m4 fragment searches for "perl" in $PATH. If the host perl doesn't have XML::Parser the configure will fail, despite the fact that the scripts will work. Solve this by taking an old patch from the upstream bug system to simply remove the check in intltool.m4 as it's generally useless, and remove existing patches that almost but not quite solved this issue. Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/recipes-devtools/intltool/intltool/remove-perl-check.patch42
-rw-r--r--meta/recipes-devtools/intltool/intltool/remove-xml-check.patch33
-rw-r--r--meta/recipes-devtools/intltool/intltool/use-nativeperl.patch20
-rw-r--r--meta/recipes-devtools/intltool/intltool_0.51.0.bb21
4 files changed, 50 insertions, 66 deletions
diff --git a/meta/recipes-devtools/intltool/intltool/remove-perl-check.patch b/meta/recipes-devtools/intltool/intltool/remove-perl-check.patch
new file mode 100644
index 0000000000..bea0895748
--- /dev/null
+++ b/meta/recipes-devtools/intltool/intltool/remove-perl-check.patch
@@ -0,0 +1,42 @@
+Remove the perl checks in intltool.m4. This can find a different perl binary to
+the one that the intltool scripts will actually be using (as they hard-code a
+specific binary), for example in the intltool-native case they'll be using
+nativeperl yet this fragment can find and test the host perl.
+
+This can result in recipes failing in do_configure as intltool.m4 finds a host
+perl which doesn't have XML::Parser installed, despite the fact that intltool
+will work fine as nativeperl has XML::Parser.
+
+Upstream-Status: Submitted (https://bugs.launchpad.net/intltool/+bug/1197875)
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+--- a/intltool.m4.orig 2013-07-02 11:22:23.000000000 -0700
++++ b/intltool.m4 2013-07-02 11:22:32.000000000 -0700
+@@ -131,27 +131,6 @@ if test -z "$xgversion" -o -z "$mmversio
+ AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
+ fi
+
+-AC_PATH_PROG(INTLTOOL_PERL, perl)
+-if test -z "$INTLTOOL_PERL"; then
+- AC_MSG_ERROR([perl not found])
+-fi
+-AC_MSG_CHECKING([for perl >= 5.8.1])
+-$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1
+-if test $? -ne 0; then
+- AC_MSG_ERROR([perl 5.8.1 is required for intltool])
+-else
+- IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"`
+- AC_MSG_RESULT([$IT_PERL_VERSION])
+-fi
+-if test "x$2" != "xno-xml"; then
+- AC_MSG_CHECKING([for XML::Parser])
+- if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
+- AC_MSG_RESULT([ok])
+- else
+- AC_MSG_ERROR([XML::Parser perl module is required for intltool])
+- fi
+-fi
+-
+ # Substitute ALL_LINGUAS so we can use it in po/Makefile
+ AC_SUBST(ALL_LINGUAS)
+
diff --git a/meta/recipes-devtools/intltool/intltool/remove-xml-check.patch b/meta/recipes-devtools/intltool/intltool/remove-xml-check.patch
deleted file mode 100644
index fc69e37b45..0000000000
--- a/meta/recipes-devtools/intltool/intltool/remove-xml-check.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Signed-off-by: Florin Sarbu <florin.sarbu@windriver.com>
-
-Upstream-Status: Inappropriate [OE specific]
-
-Index: intltool-0.40.6/intltool.m4
-===================================================================
---- intltool-0.40.6.orig/intltool.m4 2009-02-14 14:12:28.000000000 -0800
-+++ intltool-0.40.6/intltool.m4 2011-11-23 15:39:34.689561872 -0800
-@@ -122,14 +122,16 @@
- IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`"
- AC_MSG_RESULT([$IT_PERL_VERSION])
- fi
--if test "x$2" != "xno-xml"; then
-- AC_MSG_CHECKING([for XML::Parser])
-- if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
-- AC_MSG_RESULT([ok])
-- else
-- AC_MSG_ERROR([XML::Parser perl module is required for intltool])
-- fi
--fi
-+
-+# Disable this check since we know XML::Parser is installed
-+#if test "x$2" != "xno-xml"; then
-+# AC_MSG_CHECKING([for XML::Parser])
-+# if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
-+# AC_MSG_RESULT([ok])
-+# else
-+# AC_MSG_ERROR([XML::Parser perl module is required for intltool])
-+# fi
-+#fi
-
- # Substitute ALL_LINGUAS so we can use it in po/Makefile
- AC_SUBST(ALL_LINGUAS)
diff --git a/meta/recipes-devtools/intltool/intltool/use-nativeperl.patch b/meta/recipes-devtools/intltool/intltool/use-nativeperl.patch
deleted file mode 100644
index 5f5fed3853..0000000000
--- a/meta/recipes-devtools/intltool/intltool/use-nativeperl.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-OE has perl binary as 'nativeperl' in native sysroot so we look for it
-in order to avoid intltool searching and finding perl from /usr/bin
-on build system which may not have all the modules that it needs.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [OE specific]
-Index: intltool-0.40.6/intltool.m4
-===================================================================
---- intltool-0.40.6.orig/intltool.m4 2009-02-14 14:12:28.000000000 -0800
-+++ intltool-0.40.6/intltool.m4 2011-08-09 08:07:16.427347846 -0700
-@@ -110,7 +110,7 @@
- AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
- fi
-
--AC_PATH_PROG(INTLTOOL_PERL, perl)
-+AC_PATH_PROG(INTLTOOL_PERL, nativeperl)
- if test -z "$INTLTOOL_PERL"; then
- AC_MSG_ERROR([perl not found])
- fi
diff --git a/meta/recipes-devtools/intltool/intltool_0.51.0.bb b/meta/recipes-devtools/intltool/intltool_0.51.0.bb
index 0a610a31f9..a7ea3b727d 100644
--- a/meta/recipes-devtools/intltool/intltool_0.51.0.bb
+++ b/meta/recipes-devtools/intltool/intltool_0.51.0.bb
@@ -6,23 +6,23 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = "http://launchpad.net/${BPN}/trunk/${PV}/+download/${BP}.tar.gz \
file://intltool-nowarn.patch \
file://perl-522-deprecations.patch \
- ${NATIVEPATCHES} \
+ file://remove-perl-check.patch \
+ file://noperlcheck.patch \
"
SRC_URI[md5sum] = "12e517cac2b57a0121cda351570f1e63"
SRC_URI[sha256sum] = "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd"
-# All of the intltool scripts have the correct paths to perl already
-# embedded into them and can find perl fine, so we add the remove xml-check
-# in the intltool.m4 via the remove-xml-check.patch
-NATIVEPATCHES = "file://noperlcheck.patch \
- file://remove-xml-check.patch"
-NATIVEPATCHES_class-native = "file://use-nativeperl.patch"
-
UPSTREAM_CHECK_URI = "https://launchpad.net/intltool/trunk/"
DEPENDS = "libxml-parser-perl-native"
RDEPENDS_${PN} = "gettext-dev libxml-parser-perl"
DEPENDS_class-native = "libxml-parser-perl-native"
+
+inherit autotools pkgconfig perlnative
+
+export PERL = "${bindir}/env perl"
+PERL_class-native = "/usr/bin/env nativeperl"
+
# gettext is assumed to exist on the host
RDEPENDS_${PN}_class-native = "libxml-parser-perl-native"
RRECOMMENDS_${PN} = "perl-modules"
@@ -33,9 +33,4 @@ FILES_${PN} += "${datadir}/aclocal"
INSANE_SKIP_${PN} += "dev-deps"
-inherit autotools pkgconfig perlnative
-
-export PERL = "${bindir}/env perl"
-PERL_class-native = "/usr/bin/env nativeperl"
-
BBCLASSEXTEND = "native"