From: Robert Yang Date: Thu, 28 Aug 2014 05:40:06 +0000 (-0700) Subject: cpan.bbclass: matches more lines X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~32584 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0d2e2ac137465885a1d55103010ccfdec579f1ce;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git cpan.bbclass: matches more lines Fixed: - There might be a space between "#!" and "/pat/to/usr/bin/perl", e.g.: "#! /usr/bin/perl", now also matches it. - There might be the lines like the following in the body: eval 'exec /path/to/usr/bin/perl-native/perl -S $0 ${1+"$@"}' Now we only check "#! */path/to/usr/bin/perl" to make sure it is a perl script, but match and fix the lines in both header and body. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- diff --git a/meta/classes/cpan.bbclass b/meta/classes/cpan.bbclass index 7088039fa01..e2bbd2f63ac 100644 --- a/meta/classes/cpan.bbclass +++ b/meta/classes/cpan.bbclass @@ -47,8 +47,8 @@ cpan_do_compile () { cpan_do_install () { oe_runmake DESTDIR="${D}" install_vendor - for PERLSCRIPT in `grep -rIEl '#!${bindir}/perl-native.*/perl' ${D}`; do - sed -i -e 's|^#!${bindir}/perl-native.*/perl|#!/usr/bin/env nativeperl|' $PERLSCRIPT + for PERLSCRIPT in `grep -rIEl '#! *${bindir}/perl-native.*/perl' ${D}`; do + sed -i -e 's|${bindir}/perl-native.*/perl|/usr/bin/env nativeperl|' $PERLSCRIPT done }