]> code.ossystems Code Review - openembedded-core.git/commitdiff
populate_sdk_base: tarball installer: SDK overwrite warning
authorLaurentiu Palcu <laurentiu.palcu@intel.com>
Mon, 26 Nov 2012 09:31:40 +0000 (11:31 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 3 Dec 2012 13:48:23 +0000 (13:48 +0000)
This patch contains two fixes:
  * if the user wants to install the SDK in a directory that already
    contains a SDK for the same architecture, a warning will be shown;
  * when the symbolic links are relocated use -n option. Otherwise,
    symbolic links to existing directories will be created in the
directory itself;

[YOCTO #3401]

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/populate_sdk_base.bbclass

index ac34c32b52de5b587f1ed84661a6b98051c22597..f1fcde6f4472559e3fae21110bf6a8e16bb953be 100644 (file)
@@ -143,11 +143,20 @@ else
        target_sdk_dir=$(readlink -m $target_sdk_dir)
 fi
 
-printf "You are about to install the SDK to \"$target_sdk_dir\". Proceed[Y/n]?"
+if [ -e "$target_sdk_dir/environment-setup-${REAL_MULTIMACH_TARGET_SYS}" ]; then
+       echo "The directory \"$target_sdk_dir\" already contains a SDK for this architecture."
+       printf "If you continue, existing files will be overwritten! Proceed[y/N]?"
+
+       default_answer="n"
+else
+       printf "You are about to install the SDK to \"$target_sdk_dir\". Proceed[Y/n]?"
+
+       default_answer="y"
+fi
 read answer
 
 if [ "$answer" = "" ]; then
-       answer="y"
+       answer="$default_answer"
 fi
 
 if [ "$answer" != "Y" -a "$answer" != "y" ]; then
@@ -188,7 +197,7 @@ find $native_sysroot -type f -exec file '{}' \;|grep ":.*ASCII.*text"|cut -d':'
 
 # change all symlinks pointing to ${SDKPATH}
 for l in $(find $native_sysroot -type l); do
-       ln -sf $(readlink $l|sed -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:") $l
+       ln -sfn $(readlink $l|sed -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:") $l
 done
 
 echo done