]> code.ossystems Code Review - openembedded-core.git/commitdiff
meson: improve SDK's wrapper to make Wraps work
authorLeif Middelschulte <leif.middelschulte@gmail.com>
Mon, 8 Nov 2021 14:04:29 +0000 (15:04 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 8 Nov 2021 22:01:53 +0000 (22:01 +0000)
Meson, as provided by the SDK, would fail to fetch Wraps' sources on bare
systems (i.e. systems, that only provide little more than the SDK).

This change modifies the wrapper script so that it sets an environment
variable (unless it is already set) that is used to determine valid
certificates for secured connections.

It does not affect bitbake's interaction with meson.

The SDK's SSL directory was not searched, so meson would fail when it tried
to fetch sources via https, that were specified in wrap files.
Specifically `urllib` would fail:
```
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)>
```

Caution: this patch depends on the underlying C library (i.e. openssl)
to consider this environment variable.

Signed-off-by: Leif Middelschulte <Leif.Middelschulte@klsmartin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/meson/meson/meson-wrapper

index d4b5187f8d25f430a3b8763d88fa2dfa77d8577a..8fafaad9754f70cb2d9ff27c2108ee9564b7d2cf 100755 (executable)
@@ -4,6 +4,10 @@ if [ -z "$OECORE_NATIVE_SYSROOT" ]; then
     echo "OECORE_NATIVE_SYSROOT not set; are you in a Yocto SDK environment?" >&2
 fi
 
+if [ -z "$SSL_CERT_DIR" ]; then
+    export SSL_CERT_DIR="${OECORE_NATIVE_SYSROOT}/etc/ssl/certs/"
+fi
+
 # If these are set to a cross-compile path, meson will get confused and try to
 # use them as native tools. Unset them to prevent this, as all the cross-compile
 # config is already in meson.cross.