]> code.ossystems Code Review - openembedded-core.git/commitdiff
populate_sdk_ext.bbclass: Fix the derivate sdk build error from an published eSDK
authorManjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Thu, 21 Feb 2019 21:32:31 +0000 (13:32 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 25 Feb 2019 10:42:56 +0000 (10:42 +0000)
When you install the eSDK in publish mode and then try to build a
derivative sdk using devtool build-sdk, the following error happens

| NOTE: Generating sstate task list...
| NOTE: Generating sstate-cache...
| NOTE: Generating sstate-cache...
| DEBUG: Python function copy_buildsystem finished
| NOTE: Executing install_tools ...
| DEBUG: Executing shell function install_tools
| install: cannot stat /core/meta/files/ext-sdk-prepare.py':
No such file or directory

This patch will fix the error by installing ext-sdk-prepare.py in
publish mode, so that derivative sdk can be generated.

Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/populate_sdk_ext.bbclass

index 40b0375e0b9d056cdc321f384729502430ad1760..800e1175d751a323dfc8d33fafc5f38656f2f797 100644 (file)
@@ -589,11 +589,8 @@ sdk_ext_preinst() {
                exit 1
        fi
        SDK_EXTENSIBLE="1"
-       if [ "$publish" = "1" ] ; then
-               EXTRA_TAR_OPTIONS="$EXTRA_TAR_OPTIONS --exclude=ext-sdk-prepare.py"
-               if [ "${SDK_EXT_TYPE}" = "minimal" ] ; then
-                       EXTRA_TAR_OPTIONS="$EXTRA_TAR_OPTIONS --exclude=sstate-cache"
-               fi
+       if [ "$publish" = "1" ] && [ "${SDK_EXT_TYPE}" = "minimal" ] ; then
+               EXTRA_TAR_OPTIONS="$EXTRA_TAR_OPTIONS --exclude=sstate-cache"
        fi
 }
 SDK_PRE_INSTALL_COMMAND_task-populate-sdk-ext = "${sdk_ext_preinst}"
@@ -635,6 +632,8 @@ sdk_ext_postinst() {
                # sourcing a script. That is why this has to look so ugly.
                LOGFILE="$target_sdk_dir/preparing_build_system.log"
                sh -c ". buildtools/environment-setup* > $LOGFILE && 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 >> $LOGFILE && python $target_sdk_dir/ext-sdk-prepare.py $LOGFILE '${SDK_INSTALL_TARGETS}'" || { echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; }
+       fi
+       if [ -e $target_sdk_dir/ext-sdk-prepare.py ]; then
                rm $target_sdk_dir/ext-sdk-prepare.py
        fi
        echo done