summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
authorLaurentiu Palcu <laurentiu.palcu@intel.com>2012-09-17 11:19:08 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-09-21 11:10:05 +0100
commit9e6a25e2e9a7f37c3baa0b2949a43ac4127868da (patch)
tree402a9fe56a74fa26f510decfc888b5cd37449169 /meta
parent3396545467df05421c3adeb4b5ec532fa95dcb06 (diff)
downloadopenembedded-core-9e6a25e2e9a7f37c3baa0b2949a43ac4127868da.tar.gz
openembedded-core-9e6a25e2e9a7f37c3baa0b2949a43ac4127868da.tar.bz2
openembedded-core-9e6a25e2e9a7f37c3baa0b2949a43ac4127868da.zip
SDK: fix installation into symlinked directories
The SDK installation scripts should not canonicalize symlinked directories because the entire relocation would be done to the directory to which the symlink points. Instead, if the installation is a symlink, use that path to relocate the binaries. For example, if we have the following symlink: /opt/sdk -> ~/my/test/sdk the binaries will be relocated to /opt/sdk not ~/my/test/sdk as it is done now. [YOCTO #3102] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/populate_sdk_base.bbclass8
-rwxr-xr-xmeta/recipes-devtools/installer/adt-installer/adt_installer6
-rwxr-xr-xmeta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal2
3 files changed, 12 insertions, 4 deletions
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index 2bff41f9e6..1b55e70e67 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -126,7 +126,11 @@ if [ "$target_sdk_dir" = "" ]; then
fi
eval target_sdk_dir=$target_sdk_dir
-target_sdk_dir=$(readlink -m $target_sdk_dir)
+if [ -d $target_sdk_dir ]; then
+ target_sdk_dir=$(cd $target_sdk_dir; pwd)
+else
+ target_sdk_dir=$(readlink -m $target_sdk_dir)
+fi
printf "You are about to install Poky SDK to \"$target_sdk_dir\". Proceed[Y/n]?"
read answer
@@ -154,7 +158,7 @@ echo "done"
printf "Setting it up..."
# fix environment paths
-env_setup_script=$(find $target_sdk_dir -name "environment-setup-${REAL_MULTIMACH_TARGET_SYS}")
+env_setup_script=$(find $target_sdk_dir/ -name "environment-setup-${REAL_MULTIMACH_TARGET_SYS}")
sed -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:g" -i $env_setup_script
# fix dynamic loader paths in all ELF SDK binaries
diff --git a/meta/recipes-devtools/installer/adt-installer/adt_installer b/meta/recipes-devtools/installer/adt-installer/adt_installer
index 2d252b72ad..0be5a1d607 100755
--- a/meta/recipes-devtools/installer/adt-installer/adt_installer
+++ b/meta/recipes-devtools/installer/adt-installer/adt_installer
@@ -340,7 +340,11 @@ if [ "$INSTALL_FOLDER" = "" ]; then
fi
eval INSTALL_FOLDER=$INSTALL_FOLDER
-export INSTALL_FOLDER=$(readlink -m $INSTALL_FOLDER)
+if [ -d $INSTALL_FOLDER ]; then
+ export INSTALL_FOLDER=$(cd $INSTALL_FOLDER; pwd)
+else
+ export INSTALL_FOLDER=$(readlink -m $INSTALL_FOLDER)
+fi
clear
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 f113aa4b80..76acaa7e8a 100755
--- a/meta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal
+++ b/meta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal
@@ -207,7 +207,7 @@ $SUDO scripts/relocate_sdk_tmp.py $INSTALL_FOLDER $dl_path $executable_files
check_result
# replace /opt/${DISTRO}/${SDK_VERSION} with the install folder in all configs
-env_setup_script=$(find $NATIVE_INSTALL_DIR -name "environment-setup-*")
+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|\