]> code.ossystems Code Review - openembedded-core.git/commitdiff
buildtools: Handle generic environment setup injection
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 6 Aug 2020 15:44:35 +0000 (16:44 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 8 Aug 2020 08:17:35 +0000 (09:17 +0100)
Currently buildtools has its own hacked environment setup. We added
capability for generic script fragements but this code was never updated
to use it even if several components it contains needs it.

Remove a hardcoded variable in favour of the generic scripts to
avoid bugs in this area in future. The others should probably be
migrated to environment files in future too but there isn't such
a file for those at present.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/meta/buildtools-tarball.bb

index d0f8dd7d7cb2dc58180c5ff195bb3beb5fb34951..3785941c2cf9630530169c9647b92a264aad959d 100644 (file)
@@ -66,16 +66,19 @@ create_sdk_files_append () {
        script=${1:-${SDK_OUTPUT}/${SDKPATH}/environment-setup-${SDK_SYS}}
        touch $script
        echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:$PATH' >> $script
-       # In order for the self-extraction script to correctly extract and set up things,
-       # we need a 'OECORE_NATIVE_SYSROOT=xxx' line in environment setup script.
-       # However, buildtools-tarball is inherently a tool set instead of a fully functional SDK,
-       # so instead of exporting the variable, we use a comment here.
-       echo '#OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script
-       toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${SDK_SYS}
-
+       echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script
        echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script
        echo 'export SSL_CERT_FILE="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script
-       echo 'export OPENSSL_CONF="${SDKPATHNATIVE}${sysconfdir}/ssl/openssl.cnf"' >>$script
+
+       toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${SDK_SYS}
+
+       cat >> $script <<EOF
+if [ -d "\$OECORE_NATIVE_SYSROOT/environment-setup.d" ]; then
+       for envfile in \$OECORE_NATIVE_SYSROOT/environment-setup.d/*.sh; do
+               . \$envfile
+       done
+fi
+EOF
 
        if [ "${SDKMACHINE}" = "i686" ]; then
                echo 'export NO32LIBS="0"' >>$script