]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
perl-native: fixed bad interpreter error
authorRobert Yang <liezhi.yang@windriver.com>
Thu, 28 Aug 2014 05:40:05 +0000 (22:40 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 28 Aug 2014 14:11:10 +0000 (15:11 +0100)
We may get the error on some hosts when build in deeper dir:
/bin/sh: /path/to/tmp/sysroots/i686-linux/usr/bin/perl-native/pod2man: /path/to/tmp/sysroots/i686-li:
bad interpreter: No such file or directory

Note the "i686-li", it should be "i686-linux", but is truncated by the
host.

We can use "/usr/bin/env nativeperl" as we have done in cpan.bbclass for
other recipe's perl script to fix the problem.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/perl/perl-native_5.20.0.bb

index 4364d41b3556d0c223d409fb65c782f2ac1fcab7..069696ae0cd2580739cd3c8231f718187b4aa0e6 100644 (file)
@@ -105,6 +105,11 @@ do_install () {
 
        create_wrapper ${D}${bindir}/perl PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl/${PV}:${STAGING_LIBDIR}/perl/'
        create_wrapper ${D}${bindir}/perl${PV} PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl/${PV}:${STAGING_LIBDIR}/perl/'
+
+       # Use /usr/bin/env nativeperl for the perl script.
+       for f in `grep -Il '#! *${bindir}/perl' ${D}/${bindir}/*`; do
+               sed -i -e 's|${bindir}/perl|/usr/bin/env nativeperl|' $f
+       done
 }
 
 SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper"