From: Christian Lindeberg <christian.lindeberg@axis.com>
To: Chen Qi <Qi.Chen@windriver.com>,
openembedded-core@lists.openembedded.org
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>,
Bruce Ashfield <bruce.ashfield@gmail.com>,
Randy Macleod <Randy.Macleod@windriver.com>,
Khem Raj <raj.khem@gmail.com>
Subject: Re: [OE-core] go-mod.bbclass and gomod:// do not have all sources codes available after do_unpack
Date: Wed, 4 Feb 2026 09:59:47 +0100 [thread overview]
Message-ID: <81baa6b7-9be3-4bbd-a492-c831e839a1cd@axis.com> (raw)
In-Reply-To: <264f0cef-de05-4515-bd33-71c136e01b46@windriver.com>
On Mon, Feb 2, 2026 at 10:36 AM, Chen Qi wrote:
> Hi All,
>
> When I was checking recent nerdctl issue about rm_work failure, I found
> that our gomod handling has some problem.
>
> In short, source codes are not available after do_unpack. They are only
> put in place during do_compile.
>
> I think that's why go-mod.bbclass has:
> """
> addtask do_compile before do_populate_lic
> """
Yes, there was a suggestion in the early reviewing to keep it simple and
delegate the unpacking of the dependencies to the go tool instead of
duplicating the logic.
>
> But this is quite a workaround. do_populate_lic is not the only one that
> need to have full source codes.
>
> For example, meta/classes/archiver.bbclass needs sources codes. There
> must be other classes that assume sources are there after do_unpack and
> modified sources are there after do_patch.
>
> Another big problem is patching. When source codes are only there at
> do_compile, this means we cannot patch it. But Yocto should have full
> control of the sources, we need to be able to patch any file we want.
I think the approach taken by Khem in for example the influxdb recipe by
patching the go.mod file with a module replace to a fork fits most cases as
you need the fork to do the PR anyway.
Then there is the alternative of doing the module replace with a local
directory if you want to keep the module cache untainted.
>
> In summary, from what I see, the current gomod mechanism does not meet
> Yocto's requirement of fully controlling the sources.
>
> I'm bringing this problem up to have more discussion.
I see two main alternatives. Either to continue letting the go tool
unpack the
dependencies but triggered earlier in unpack task instead of compile
task. Or
let the gomod and gomodgit fetchers unpack fully.
>
> Regards,
> Qi
>
>
Regards,
Christian
prev parent reply other threads:[~2026-02-04 8:59 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-02 9:35 go-mod.bbclass and gomod:// do not have all sources codes available after do_unpack ChenQi
2026-02-04 8:59 ` Christian Lindeberg [this message]
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=81baa6b7-9be3-4bbd-a492-c831e839a1cd@axis.com \
--to=christian.lindeberg@axis.com \
--cc=Qi.Chen@windriver.com \
--cc=Randy.Macleod@windriver.com \
--cc=bruce.ashfield@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=raj.khem@gmail.com \
--cc=richard.purdie@linuxfoundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox