From 5486e76cd8abb946b81cff78719d67cfb87cddc6 Mon Sep 17 00:00:00 2001 From: Brendan Le Foll Date: Mon, 7 Sep 2015 13:42:18 +0100 Subject: toolchain-shar-extract.sh: better default install path for extensible SDK Extensible SDK cannot be installed as root so by default offer to install it in user's home directory under distro/distro_version replacing the normal SDK version '+' char with a '_' as that's a restricted character for bitbake Signed-off-by: Brendan Le Foll Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/classes/populate_sdk_base.bbclass | 2 ++ meta/files/toolchain-shar-extract.sh | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass index a9e9bd71d2..b015bf062c 100644 --- a/meta/classes/populate_sdk_base.bbclass +++ b/meta/classes/populate_sdk_base.bbclass @@ -55,6 +55,7 @@ SDK_PRE_INSTALL_COMMAND ?= "" SDK_POST_INSTALL_COMMAND ?= "" SDK_RELOCATE_AFTER_INSTALL ?= "1" +SDKEXTPATH ?= "~/${@d.getVar('DISTRO', True)}_sdk" SDK_TITLE ?= "${@d.getVar('DISTRO_NAME', True) or d.getVar('DISTRO', True)} SDK" SDK_TARGET_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.target.manifest" @@ -154,6 +155,7 @@ EOF # substitute variables sed -i -e 's#@SDK_ARCH@#${SDK_ARCH}#g' \ -e 's#@SDKPATH@#${SDKPATH}#g' \ + -e 's#@SDKEXTPATH@#${SDKEXTPATH}#g' \ -e 's#@OLDEST_KERNEL@#${OLDEST_KERNEL}#g' \ -e 's#@REAL_MULTIMACH_TARGET_SYS@#${REAL_MULTIMACH_TARGET_SYS}#g' \ -e 's#@SDK_TITLE@#${SDK_TITLE}#g' \ diff --git a/meta/files/toolchain-shar-extract.sh b/meta/files/toolchain-shar-extract.sh index 85719fa4ab..27a16074b7 100644 --- a/meta/files/toolchain-shar-extract.sh +++ b/meta/files/toolchain-shar-extract.sh @@ -36,7 +36,6 @@ while getopts ":yd:DRS" OPT; do case $OPT in y) answer="Y" - [ "$target_sdk_dir" = "" ] && target_sdk_dir=$DEFAULT_INSTALL_DIR ;; d) target_sdk_dir=$OPTARG @@ -73,9 +72,18 @@ fi @SDK_PRE_INSTALL_COMMAND@ +# SDK_EXTENSIBLE is exposed from the SDK_PRE_INSTALL_COMMAND above +if [ "$SDK_EXTENSIBLE" = "1" ]; then + DEFAULT_INSTALL_DIR="@SDKEXTPATH@" +fi + if [ "$target_sdk_dir" = "" ]; then - read -e -p "Enter target directory for SDK (default: $DEFAULT_INSTALL_DIR): " target_sdk_dir - [ "$target_sdk_dir" = "" ] && target_sdk_dir=$DEFAULT_INSTALL_DIR + if [ "$answer" = "Y" ]; then + target_sdk_dir="$DEFAULT_INSTALL_DIR" + else + read -e -p "Enter target directory for SDK (default: $DEFAULT_INSTALL_DIR): " target_sdk_dir + [ "$target_sdk_dir" = "" ] && target_sdk_dir=$DEFAULT_INSTALL_DIR + fi fi eval target_sdk_dir=$(echo "$target_sdk_dir"|sed 's/ /\\ /g') @@ -155,7 +163,7 @@ echo "done" printf "Setting it up..." # fix environment paths for env_setup_script in `ls $target_sdk_dir/environment-setup-*`; do - $SUDO_EXEC sed -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:g" -i $env_setup_script + $SUDO_EXEC sed -e "s:@SDKPATH@:$target_sdk_dir:g" -i $env_setup_script done @SDK_POST_INSTALL_COMMAND@ -- cgit 1.2.3-korg