]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
Extensible SDK: allow for installation without preparing build system
authorChen Qi <Qi.Chen@windriver.com>
Tue, 2 Jun 2015 09:08:39 +0000 (17:08 +0800)
committerChen Qi <Qi.Chen@windriver.com>
Thu, 20 Aug 2015 07:04:14 +0000 (15:04 +0800)
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>
meta/classes/populate_sdk_ext.bbclass
meta/files/toolchain-shar-extract.sh

index df87edb86ffcbb94cb640de3e2d59a51b3e5997d..d2ebcef8aacd02e6517c2fc0d5ae7565850d6eb1 100644 (file)
@@ -217,11 +217,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 3a5099103140a60511459bc10532ff1b391bec5a..23cb69ac9d9e2408e2c2d7168be285e76c31738c 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"
@@ -41,6 +41,9 @@ while getopts ":yd:DRS" OPT; do
        d)
                target_sdk_dir=$OPTARG
                ;;
+       n)
+               prepare_buildsystem="no"
+               ;;
        D)
                verbose=1
                ;;
@@ -55,6 +58,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"