From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Mikko Rapeli <mikko.rapeli@linaro.org>,
openembedded-core@lists.openembedded.org
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [OE-core] [PATCH 2/2] curl: disable ca-certificates.crt path setting for native build
Date: Thu, 04 Apr 2024 15:13:08 +0100 [thread overview]
Message-ID: <e9e514b8e6efd729c33c7dd99706397c745c8ad2.camel@linuxfoundation.org> (raw)
In-Reply-To: <20240404132902.68631-2-mikko.rapeli@linaro.org>
On Thu, 2024-04-04 at 16:29 +0300, Mikko Rapeli wrote:
> If linux-yocto-dev is compiled without specific SRCREV, it uses
> AUTOREV which tries to update to latest available commit. This is
> currently failing with these steps:
>
> $ rm -rf tmp*/work/*/linux-yocto-dev && \
> bitbake -c do_configure mc:machine:linux-yocto-dev ; \
> bitbake -c do_clean mc:machine:linux-yocto-dev
> [...]
> The variable dependency chain for the failure is: fetcher_hashes_dummyfunc[vardepvalue]
>
> ERROR: Parsing halted due to errors, see error messages above
>
> Summary: There were 6 WARNING messages.
> Summary: There were 2 ERROR messages, returning a non-zero exit code.
>
> This state is not recoverable with bitbake calls. All of them fail from now on.
> "rm -rf tmp/work/*/linux-yocto-dev" recovers the situation
> and bitbake commands work again.
>
> Root cause is curl-native, dependency of git-native, which
> has --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt
> which for native build target is wrong and points to curl-native build
> directory path
> /home/builder/src/base/build/tmp_poky/work/x86_64-linux/curl-native/8.6.0/recipe-sysroot-native/etc/ssl/certs/ca-certificates.crt
>
> Since git is a build time host package dependency listed in
> https://docs.yoctoproject.org/dev/singleindex.html#build-host-packages
> then its dependencies like curl and ca-certificates are too, it should
> be safe for curl-native to use the default host ca-certificates path
> instead of the one in recipe specific sysroots which would need to be set with complicated
> environment variables. Set non-default ca-certificates path only for
> target and nativesdk builds.
>
> Reported-by: Mathieu Poirier <mathieu.poirier@linaro.org>
> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> ---
> meta/recipes-support/curl/curl_8.6.0.bb | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-support/curl/curl_8.6.0.bb b/meta/recipes-support/curl/curl_8.6.0.bb
> index 49ba0cb4a7..da5571ca14 100644
> --- a/meta/recipes-support/curl/curl_8.6.0.bb
> +++ b/meta/recipes-support/curl/curl_8.6.0.bb
> @@ -73,11 +73,16 @@ PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd"
> EXTRA_OECONF = " \
> --disable-libcurl-option \
> --disable-ntlm-wb \
> - --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \
> --without-libpsl \
> --enable-optimize \
> ${@'--without-ssl' if (bb.utils.filter('PACKAGECONFIG', 'gnutls mbedtls openssl', d) == '') else ''} \
> "
> +EXTRA_OECONF:class-target = " \
> + --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \
> +"
> +EXTRA_OECONF:class-nativesdk = " \
> + --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \
> +"
>
> fix_absolute_paths () {
> # cleanup buildpaths from curl-config
This change is fraught with danger :(.
I have a feeling we've gone around in circles as in some cases you
don't have the ca-certs on the host, or they're in unusual paths so the
previous conclusion was we should always have them present in the
sysroot if curl-native is being used. Yes, that does mean we have to
set the environment correctly to relocate curl's paths appropriately.
Certainly at this point in the release cycle I'm very nervous about
changing this around.
Cheers,
Richard
next prev parent reply other threads:[~2024-04-04 14:13 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-04 13:29 [PATCH 1/2] linux-yocto-dev: remove duplicate DEPENDS Mikko Rapeli
2024-04-04 13:29 ` [PATCH 2/2] curl: disable ca-certificates.crt path setting for native build Mikko Rapeli
2024-04-04 13:57 ` [OE-core] " Jose Quaresma
2024-04-04 14:14 ` Mikko Rapeli
2024-04-04 14:13 ` Richard Purdie [this message]
2024-04-04 14:16 ` Mikko Rapeli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e9e514b8e6efd729c33c7dd99706397c745c8ad2.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=mathieu.poirier@linaro.org \
--cc=mikko.rapeli@linaro.org \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.