toolchain-shar-extract: Add post-relocate scripts

Recipes can now install post-relocation scripts which will be run when
the SDK is installed.

(From OE-Core rev: 93ec145f421a45077b40ae99ee6a96bc11f91f18)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joshua Watt
2018-02-12 10:52:07 -06:00
committed by Richard Purdie
parent f51f28b7b9
commit cf85c5a490
3 changed files with 25 additions and 0 deletions

View File

@@ -116,6 +116,21 @@ fi
EOF EOF
} }
toolchain_create_post_relocate_script() {
script=$1
rm -f $script
touch $script
cat >> $script <<EOF
if [ -d "${SDKPATHNATIVE}/post-relocate-setup.d/" ]; then
for s in ${SDKPATHNATIVE}/post-relocate-setup.d/*.sh; do
\$s "\$1"
done
rm -rf "${SDKPATHNATIVE}/post-relocate-setup.d"
fi
EOF
}
#we get the cached site config in the runtime #we get the cached site config in the runtime
TOOLCHAIN_CONFIGSITE_NOCACHE = "${@siteinfo_get_files(d)}" TOOLCHAIN_CONFIGSITE_NOCACHE = "${@siteinfo_get_files(d)}"
TOOLCHAIN_CONFIGSITE_SYSROOTCACHE = "${STAGING_DIR}/${MLPREFIX}${MACHINE}/${target_datadir}/${TARGET_SYS}_config_site.d" TOOLCHAIN_CONFIGSITE_SYSROOTCACHE = "${STAGING_DIR}/${MLPREFIX}${MACHINE}/${target_datadir}/${TARGET_SYS}_config_site.d"

View File

@@ -259,6 +259,14 @@ if [ $savescripts = 0 ] ; then
$SUDO_EXEC rm -f ${env_setup_script%/*}/relocate_sdk.py ${env_setup_script%/*}/relocate_sdk.sh $SUDO_EXEC rm -f ${env_setup_script%/*}/relocate_sdk.py ${env_setup_script%/*}/relocate_sdk.sh
fi fi
# Execute post-relocation script
post_relocate="$target_sdk_dir/post-relocate-setup.sh"
if [ -e "$post_relocate" ]; then
$SUDO_EXEC sed -e "s:@SDKPATH@:$target_sdk_dir:g" -i $post_relocate
$SUDO_EXEC /bin/sh $post_relocate "$target_sdk_dir" "@SDKPATH@"
$SUDO_EXEC rm -f $post_relocate
fi
echo "SDK has been successfully set up and is ready to be used." echo "SDK has been successfully set up and is ready to be used."
echo "Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g." echo "Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g."
for env_setup_script in `ls $target_sdk_dir/environment-setup-*`; do for env_setup_script in `ls $target_sdk_dir/environment-setup-*`; do

View File

@@ -55,6 +55,8 @@ create_sdk_files() {
# Add version information # Add version information
toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${REAL_MULTIMACH_TARGET_SYS} toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${REAL_MULTIMACH_TARGET_SYS}
toolchain_create_post_relocate_script ${SDK_OUTPUT}/${SDKPATH}/post-relocate-setup.sh
} }
do_install() { do_install() {