summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2012-04-16 17:15:58 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-04-16 22:53:00 +0100
commit59348455a797f97919acc018df4067e7e59b3a96 (patch)
treefa7fcb55e03ce4996b6562aecefc7a8d65e156d6
parentca14115a12f288be8bdac251b4412a593fb88fe1 (diff)
downloadpoky-59348455a797f97919acc018df4067e7e59b3a96.tar.gz
poky-59348455a797f97919acc018df4067e7e59b3a96.tar.bz2
poky-59348455a797f97919acc018df4067e7e59b3a96.zip
autoconf-nativesdk: fix builds on fedora 17
Generally distros keep perl at /usr/bin/perl Fedora 17 also has /bin/perl this causes autoconf-nativesdk build on such distros to put perl interpreter path in the perl scripts as /bin/perl But we set perl location for target as /usr/bin/perl This mismatch of perl path causes failure of rootfs image creation like this: | error: Failed dependencies: | /bin/perl is needed by autoconf-nativesdk-2.68-r6.x86_64.rpm NOTE: package meta-toolchain-gmae-1.0-r7: task do_populate_sdk: Failed The second sed command is for such a case: eval 'case $# in 0) exec /bin/perl -S "$0";; *) exec /bin/perl -S "$0" "$@";; esac' This line has two "/bin/perl" and we can't use a line number to tell sed which line it is since the line numbers in different files are defferent. [YOCTO #2304] (From OE-Core rev: 393908e53b243b16ab984da7f073be371e062946) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/autoconf/autoconf.inc16
-rw-r--r--meta/recipes-devtools/autoconf/autoconf_2.68.bb2
2 files changed, 16 insertions, 2 deletions
diff --git a/meta/recipes-devtools/autoconf/autoconf.inc b/meta/recipes-devtools/autoconf/autoconf.inc
index 80a5d92914..3ae98c8407 100644
--- a/meta/recipes-devtools/autoconf/autoconf.inc
+++ b/meta/recipes-devtools/autoconf/autoconf.inc
@@ -17,6 +17,20 @@ SRC_URI = "${GNU_MIRROR}/autoconf/autoconf-${PV}.tar.bz2 \
inherit autotools
+PERLPATH = "${bindir}/perl"
+PERLPATH_virtclass-native = "/usr/bin/perl"
+PERLPATH_virtclass-nativesdk = "/usr/bin/perl"
+
do_install_append() {
- rm -rf ${D}${datadir}/emacs
+ rm -rf ${D}${datadir}/emacs
+
+ # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
+ # for target as /usr/bin/perl, so fix it to /usr/bin/perl.
+ for i in autoheader autom4te autoreconf autoscan autoupdate ifnames; do
+ if [ -f ${D}${bindir}/$i ]; then
+ sed -i -e '1s,#!.*perl,#! ${PERLPATH},' \
+ -e 's,exec .*/bin/perl \(.*\) exec .*/bin/perl \(.*\),exec ${PERLPATH} \1 exec ${PERLPATH} \2,' \
+ ${D}${bindir}/$i
+ fi
+ done
}
diff --git a/meta/recipes-devtools/autoconf/autoconf_2.68.bb b/meta/recipes-devtools/autoconf/autoconf_2.68.bb
index f1b506a946..8d466e09f5 100644
--- a/meta/recipes-devtools/autoconf/autoconf_2.68.bb
+++ b/meta/recipes-devtools/autoconf/autoconf_2.68.bb
@@ -1,6 +1,6 @@
require autoconf.inc
-PR = "r6"
+PR = "r7"
PARALLEL_MAKE = ""