cpan.bbclass: matches more lines
authorRobert Yang <liezhi.yang@windriver.com>
Thu, 28 Aug 2014 05:40:06 +0000 (22:40 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 28 Aug 2014 14:12:43 +0000 (15:12 +0100)
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.

(From OE-Core rev: 0d2e2ac137465885a1d55103010ccfdec579f1ce)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/cpan.bbclass

index 7088039..e2bbd2f 100644 (file)
@@ -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
 }