From 7d3281be18567207de8ce2cabce03957bf2cbca8 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Wed, 4 Jul 2012 18:15:54 +0800 Subject: dpkg 1.15.8.7: bad interpreter when long tmpdir When use PACKAGE_CLASSES = "package_deb", and the length of tmpdir is longer than 177, the error occurs during the image generation: /very/long/path/totmp/sysroots/x86_64-linux/usr/bin/dpkg-scanpackages: bad interpreter: No such file or directory The interpreter is perl, and it does exist, this is because the first line: #!/very/long/path/to/perl in the script can't be very long. Create a wrapper for it would fix the problem. [YOCTO #2640] Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-devtools/dpkg/dpkg.inc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'meta/recipes-devtools/dpkg/dpkg.inc') diff --git a/meta/recipes-devtools/dpkg/dpkg.inc b/meta/recipes-devtools/dpkg/dpkg.inc index 09bfbbcd09..7f4f620783 100644 --- a/meta/recipes-devtools/dpkg/dpkg.inc +++ b/meta/recipes-devtools/dpkg/dpkg.inc @@ -2,7 +2,7 @@ DESCRIPTION = "Package maintenance system for Debian." LICENSE = "GPLv2.0+" SECTION = "base" -INC_PR = "r16" +INC_PR = "r17" SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.bz2 \ file://ignore_extra_fields.patch" @@ -56,6 +56,15 @@ do_install_append () { fi } +# Create a wrapper for the perl script to avoid the "bad interpreter" +# error when the tmpdir is longer than 150. +do_install_append_virtclass-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 +} + PROV = "virtual/update-alternatives" PROV_virtclass-native = "" -- cgit 1.2.3-korg