]> 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)
committerSteve Sakoman <steve@sakoman.com>
Wed, 30 Sep 2020 14:35:15 +0000 (04:35 -1000)
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>
(cherry picked from commit eb210cee4bd71614dd108027e6d5aa8f8d451b27)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
meta/recipes-core/meta/buildtools-tarball.bb

index 77e1fa23cb672c5278dc1b34cced26bdb009402e..44d658687d57332f8465938b2beba11b9273097e 100644 (file)
@@ -67,16 +67,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
 
        mkdir -p ${SDK_OUTPUT}/${SDKPATHNATIVE}${sysconfdir}/
        echo '${SDKPATHNATIVE}${libdir}