]> code.ossystems Code Review - openembedded-core.git/commitdiff
Extensible SDK: allow for installation without preparing build system
authorQi.Chen@windriver.com <Qi.Chen@windriver.com>
Mon, 7 Sep 2015 12:42:25 +0000 (13:42 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 7 Sep 2015 15:10:59 +0000 (16:10 +0100)
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.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/populate_sdk_ext.bbclass
meta/files/toolchain-shar-extract.sh

index fc2d96f855e8a0046bd66947d410aff72912772e..0b012ebfc2be8ce3b288497d2df14fefd37ac653 100644 (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
 }
 
index 36249404305e8a4b78df85c054efc7f7054997fb..cd0a547f86d06db673c85f62c5a22953fb6b9ed0 100644 (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"