From: Laurentiu Palcu Date: Thu, 6 Dec 2012 13:16:32 +0000 (+0200) Subject: populate_sdk_base, adt_installer_internal: fix issue on older distributions X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~39241 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e7e23a1e5aae4028e21e37ec09e9d431a9adfbcb;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git populate_sdk_base, adt_installer_internal: fix issue on older distributions This patch addresses an SDK installer issue on older distributions if the installation takes place in another directory than the default one. In fact, is all about the 'file' utility version used for determining if a file is a text file. For example, for a perl script, newer 'file' versions return: "...script, ASCII text executable" while older versions return: "...script text executable" Hence the regex pattern didn't match the scripts. Also the patch contains two unrelated minor fixes: * return an exit code of 1 instead of -1 when installation machine is not supported. That because on an older distribution we also get this error message: "exit: 9: Illegal number: -1"; * remove unnecessary $SUDO_EXEC prefix to grep; [YOCTO #3538] Signed-off-by: Laurentiu Palcu Signed-off-by: Richard Purdie --- diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass index c15a4d46291..88bcb277573 100644 --- a/meta/classes/populate_sdk_base.bbclass +++ b/meta/classes/populate_sdk_base.bbclass @@ -123,7 +123,7 @@ SDK_ARCH=$(echo ${SDK_ARCH} | sed -e "s/i[5-6]86/ix86/") if [ "$INST_ARCH" != "$SDK_ARCH" ]; then echo "Error: Installation machine not supported!" - exit -1 + exit 1 fi DEFAULT_INSTALL_DIR="${SDKPATH}" @@ -233,7 +233,7 @@ if [ $? -ne 0 ]; then fi # replace ${SDKPATH} with the new prefix in all text files: configs/scripts/etc -$SUDO_EXEC find $native_sysroot -type f -exec file '{}' \;|$SUDO_EXEC grep ":.*ASCII.*text"|cut -d':' -f1|$SUDO_EXEC xargs sed -i -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:g" +$SUDO_EXEC find $native_sysroot -type f -exec file '{}' \;|grep ":.*\(ASCII\|script\).*text"|cut -d':' -f1|$SUDO_EXEC xargs sed -i -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:g" # change all symlinks pointing to ${SDKPATH} for l in $($SUDO_EXEC find $native_sysroot -type l); do 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 9a1357366b7..b80a7ed11d0 100755 --- a/meta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal +++ b/meta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal @@ -212,7 +212,7 @@ 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.*text"|cut -d':' -f1|\ +find $OECORE_NATIVE_SYSROOT -type f -exec file '{}' \;|grep ":.*\(ASCII\|script\).*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}