autogen-native: fix POSIX_SHELL and perl

The shebang's length is usually 128 as defined in /usr/include/linux/binfmts.h:
  #define BINPRM_BUF_SIZE 128

So there would be errors when /path/to/hosttools/perl is longer than 128.

This patch fixes the problem when POSIX_SHELL and perl are used as the interpreters.

(From OE-Core rev: 055838283349530e6f60f4169d9190aa5b59b190)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang 2017-04-06 03:05:55 -07:00 committed by Richard Purdie
parent 7daf525d37
commit 607bc59588
2 changed files with 35 additions and 0 deletions

View File

@ -13,6 +13,7 @@ SRC_URI = "${GNU_MIRROR}/autogen/rel${PV}/autogen-${PV}.tar.gz \
file://mk-tpl-config.sh-force-exit-value-to-be-0-in-subproc.patch \
file://fix-script-err-when-processing-libguile.patch \
file://0001-config-libopts.m4-regenerate-it-from-config-libopts..patch \
file://0002-autoopts-mk-tpl-config.sh-fix-perl-path.patch \
"
SRC_URI[md5sum] = "551d15ccbf5b5fc5658da375d5003389"
@ -30,6 +31,8 @@ inherit autotools texinfo native pkgconfig
export GUILE_LOAD_PATH = "${STAGING_DATADIR_NATIVE}/guile/2.0"
export GUILE_LOAD_COMPILED_PATH = "${STAGING_LIBDIR_NATIVE}/guile/2.0/ccache"
export POSIX_SHELL = "/usr/bin/env sh"
do_install_append () {
create_wrapper ${D}/${bindir}/autogen \
GUILE_LOAD_PATH=${STAGING_DATADIR_NATIVE}/guile/2.0 \

View File

@ -0,0 +1,32 @@
From 9f69f3f5ef22bf1bcffb0e651efc260889cfaa46 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Mon, 13 Mar 2017 20:33:30 -0700
Subject: [PATCH] autoopts/mk-tpl-config.sh: fix perl path
Use "which perl" as shebang doesn't work when it is longer than
BINPRM_BUF_SIZE which is 128 usually. So use "/usr/bin/env perl" to
instead of.
Upstream-Status: Pending
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
autoopts/mk-tpl-config.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/autoopts/mk-tpl-config.sh b/autoopts/mk-tpl-config.sh
index 093e808..8dfc6dd 100755
--- a/autoopts/mk-tpl-config.sh
+++ b/autoopts/mk-tpl-config.sh
@@ -98,7 +98,7 @@ fix_scripts() {
st=`sed 1q $f`
case "$st" in
- *perl ) echo '#!' `which perl`
+ *perl ) echo '#!/usr/bin/env perl'
sed 1d $f
;;
--
2.10.2