Patchwork [1/3] adt_installer_internal: fix perl modules relocated failed on older distributions

mail settings
Submitter Hongxu Jia
Date June 26, 2013, 4:38 a.m.
Message ID <>
Download mbox | patch
Permalink /patch/52361/
State Accepted
Commit 7cfab2c895bf4daa7716fb7509e367bf74f016e4
Headers show


Hongxu Jia - June 26, 2013, 4:38 a.m.
The perl module for automake has an embedded path in it, this needs
to be relocated.

Older versions of 'file' do not return the "ASCII" text in the output for
a perl module file. Hence, the regex pattern didn't match perl module and
they were not getting relocated at all on older distributions.

1) On CentOS release 6.4, the version of file is 5.04
$ file /usr/lib/perl5/
$ /usr/lib/perl5/ Perl5 module source text

2) On Ubuntu 13.04, the version of file is 5.11
$ file /usr/lib/perl/5.14/
$ /usr/lib/perl/5.14/ C source, ASCII text, with very long lines

[YOCTO #4550]

Signed-off-by: Hongxu Jia <>
 .../installer/adt-installer/scripts/adt_installer_internal            | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


diff --git a/meta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal b/meta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal
index 4322964..25c955a 100755
--- a/meta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal
+++ b/meta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal
@@ -212,8 +212,8 @@  check_result
 env_setup_script=$(find $NATIVE_INSTALL_DIR/ -name "environment-setup-*")
 $SUDO sed -i -e "s:$DEFAULT_INSTALL_FOLDER:$NATIVE_INSTALL_DIR:g" $env_setup_script
-find $OECORE_NATIVE_SYSROOT -type f -exec file '{}' \;|grep ":.*\(ASCII\|script\).*text"|cut -d':' -f1|\
+find $OECORE_NATIVE_SYSROOT -type f -exec file '{}' \; | grep ":.*\(ASCII\|script\|source\).*text" | \
+    cut -d':' -f1 | xargs $SUDO sed -i -e "s:$DEFAULT_INSTALL_FOLDER:$NATIVE_INSTALL_DIR:g"
 # change all symlinks pointing to /opt/${DISTRO}/${SDK_VERSION}
 for l in $(find $NATIVE_INSTALL_DIR -type l); do