Patchwork [1/4] dpkg: drop the usage of create_wrapper

login
register
mail settings
Submitter Ross Burton
Date June 12, 2013, 4:49 p.m.
Message ID <9e66219b516879afe77ec253b0dc767fb39b7e2f.1371055550.git.ross.burton@intel.com>
Download mbox | patch
Permalink /patch/51609/
State Accepted
Commit c4f987239fe78783d732df673a5e592bb05a877d
Headers show

Comments

Ross Burton - June 12, 2013, 4:49 p.m.
create_wrapper was previously abused to invoke the Perl interpretter directly
instead of relying on #! parsing, which is read into a 128 byte buffer so breaks
with deep build directories.

However we already install a "nativeperl" binary into the native sysroot, so
use sed to change the #! line to /usr/bin/env nativeperl.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-devtools/dpkg/dpkg.inc |   10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

Patch

diff --git a/meta/recipes-devtools/dpkg/dpkg.inc b/meta/recipes-devtools/dpkg/dpkg.inc
index 28c4f89..b9d4da1 100644
--- a/meta/recipes-devtools/dpkg/dpkg.inc
+++ b/meta/recipes-devtools/dpkg/dpkg.inc
@@ -45,21 +45,13 @@  do_install_append () {
 	if [ "${PN}" = "dpkg-native" ]; then
 		# update-alternatives doesn't have an offline mode
 		rm ${D}${bindir}/update-alternatives
+		sed -i -e 's|^#!.*${bindir}/perl-native.*/perl|#!/usr/bin/env nativeperl|' ${D}${bindir}/dpkg-*
 	else
 		mv ${D}${bindir}/update-alternatives ${D}${sbindir}
 		sed -i -e 's|^#!.*${bindir}/perl-native.*/perl|#!/usr/bin/env perl|' ${D}${bindir}/dpkg-*
 	fi
 }
 
-# Create a wrapper for the perl script to avoid the "bad interpreter"
-# error when the tmpdir is longer than 150.
-do_install_append_class-native () {
-	tmp=`find ${D}${bindir} -type f -exec grep -m 1 -l '#!/.*/perl-native/perl' {} \;`
-	for i in $tmp; do
-		create_wrapper $i ${STAGING_BINDIR_NATIVE}/perl-native/perl
-	done
-}
-
 pkg_postinst_${PN} () {
 #!/bin/sh
 if [ "x$D" != "x" ] && [ -f $D/var/lib/dpkg/status ]; then