Extensible SDK: allow for installation without preparing build system

When publishing SDK, what we want is basically its metadata and sstate
cache objects. We don't want the SDK to be prepared with running bitbake
as it takes time which reproduces meaningless output for the published SDK.

So this patch adds an option to allow for SDK to be extracted without
preparing the build system.

(From OE-Core rev: 7511862faad1c28804e2410ff42747c8706c5207)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Qi.Chen@windriver.com 2015-09-07 13:42:25 +01:00 committed by Richard Purdie
parent 9f670d18ba
commit ad959638c0
2 changed files with 13 additions and 6 deletions

View File

@ -228,11 +228,13 @@ sdk_ext_postinst() {
# For now this is where uninative.bbclass expects the tarball
mv *-nativesdk-libc.tar.* $target_sdk_dir/`dirname ${oe_init_build_env_path}`
printf "Preparing build system...\n"
# dash which is /bin/sh on Ubuntu will not preserve the
# current working directory when first ran, nor will it set $1 when
# sourcing a script. That is why this has to look so ugly.
sh -c ". buildtools/environment-setup* > preparing_build_system.log && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> preparing_build_system.log && bitbake ${SDK_TARGETS} >> preparing_build_system.log" || { echo "SDK preparation failed: see `pwd`/preparing_build_system.log" ; exit 1 ; }
if [ "$prepare_buildsystem" != "no" ]; then
printf "Preparing build system...\n"
# dash which is /bin/sh on Ubuntu will not preserve the
# current working directory when first ran, nor will it set $1 when
# sourcing a script. That is why this has to look so ugly.
sh -c ". buildtools/environment-setup* > preparing_build_system.log && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> preparing_build_system.log && bitbake ${SDK_TARGETS} >> preparing_build_system.log" || { echo "SDK preparation failed: see `pwd`/preparing_build_system.log" ; exit 1 ; }
fi
echo done
}

View File

@ -32,7 +32,7 @@ answer=""
relocate=1
savescripts=0
verbose=0
while getopts ":yd:DRS" OPT; do
while getopts ":yd:nDRS" OPT; do
case $OPT in
y)
answer="Y"
@ -40,6 +40,9 @@ while getopts ":yd:DRS" OPT; do
d)
target_sdk_dir=$OPTARG
;;
n)
prepare_buildsystem="no"
;;
D)
verbose=1
;;
@ -54,6 +57,8 @@ while getopts ":yd:DRS" OPT; do
echo "Usage: $(basename $0) [-y] [-d <dir>]"
echo " -y Automatic yes to all prompts"
echo " -d <dir> Install the SDK to <dir>"
echo "======== Extensible SDK only options ============"
echo " -n Do not prepare the build system"
echo "======== Advanced DEBUGGING ONLY OPTIONS ========"
echo " -S Save relocation scripts"
echo " -R Do not relocate executables"