diff options
| author | Robert Yang <liezhi.yang@windriver.com> | 2012-07-04 18:15:54 +0800 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-07-05 16:01:32 +0100 |
| commit | 39b5d509a3f77ce26818140be0db7292dda39204 (patch) | |
| tree | 225374b3843ae9a98a91b0b569be795aac425eab | |
| parent | 52c6977f8247bad2026dac459cfdc93b7ab5143e (diff) | |
| download | poky-39b5d509a3f77ce26818140be0db7292dda39204.tar.gz | |
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]
(From OE-Core rev: 7d3281be18567207de8ce2cabce03957bf2cbca8)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/recipes-devtools/dpkg/dpkg.inc | 11 |
1 files changed, 10 insertions, 1 deletions
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." | |||
| 2 | LICENSE = "GPLv2.0+" | 2 | LICENSE = "GPLv2.0+" |
| 3 | SECTION = "base" | 3 | SECTION = "base" |
| 4 | 4 | ||
| 5 | INC_PR = "r16" | 5 | INC_PR = "r17" |
| 6 | 6 | ||
| 7 | SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.bz2 \ | 7 | SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.bz2 \ |
| 8 | file://ignore_extra_fields.patch" | 8 | file://ignore_extra_fields.patch" |
| @@ -56,6 +56,15 @@ do_install_append () { | |||
| 56 | fi | 56 | fi |
| 57 | } | 57 | } |
| 58 | 58 | ||
| 59 | # Create a wrapper for the perl script to avoid the "bad interpreter" | ||
| 60 | # error when the tmpdir is longer than 150. | ||
| 61 | do_install_append_virtclass-native () { | ||
| 62 | tmp=`find ${D}${bindir} -type f -exec grep -m 1 -l '#!/.*/perl-native/perl' {} \;` | ||
| 63 | for i in $tmp; do | ||
| 64 | create_wrapper $i ${STAGING_BINDIR_NATIVE}/perl-native/perl | ||
| 65 | done | ||
| 66 | } | ||
| 67 | |||
| 59 | PROV = "virtual/update-alternatives" | 68 | PROV = "virtual/update-alternatives" |
| 60 | PROV_virtclass-native = "" | 69 | PROV_virtclass-native = "" |
| 61 | 70 | ||
