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]
(From OE-Core rev:
7d3281be18567207de8ce2cabce03957bf2cbca8)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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"
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 = ""