On Thu, Dec 22, 2022 at 7:39 PM Vyacheslav Yurkov <uvv.m...@gmail.com>
wrote:
On 22.12.2022 17:48, Bruce Ashfield wrote:
> On Thu, Dec 22, 2022 at 11:20 AM Richard Purdie
> <richard.pur...@linuxfoundation.org> wrote:
>> This patch is not in master and is not a backport therefore not
>> eligible for kirkstone/langdale.
My bad, the intention was to have it in all three branches: master,
kirkstone, and langdale.
> 'nor should it go to master.
>
> If someone wants to allow go to fetch sources during builds, it
needs
> to be done in their own layers.
>
> Bruce
Probably I misunderstood the outcome of the discussion in my first
link.
Bruce and Richard, you both suggested to have it in go-mod with the
warning. I agree that it breaks reproducibility, and is considered
a bad
practice in general (I'm aware of a few more build systems with
the same
shortcoming).
My point is, until a proper solution is in place, it should be at
least
documented somewhere that this should be done in own layer/recipe.
Any
suggestions where this can be documented if not in OE-Core?
Have you tried the changes submitted by Lukas/Stefan in:
https://lists.openembedded.org/g/openembedded-architecture/message/1539
?
It's not perfect, I was testing it on
https://github.com/influxdata/telegraf/blob/master/go.mod and I've
found some corner cases where it failed.
But it seems like very good start and we should work with Lukas/Stefan
to get it merged in master. Then all branches could consume recipes
created in master and only the exceptions would need to have network
access (instead of the bbclass enabling it for every go-mod user -
go-vendor inherits go-mod as well).
Lukas/Stefan: is there something we can do to help with v2 of your
patches?
I wanted to submit better review on submitted patches after more
debugging, but here it is:
1) to resolve 2 deps:
{'Path': 'gonum.org/v1/gonum <http://gonum.org/v1/gonum>', 'Version':
'v0.12.0'} due to 404 "ERROR: Error while fetching redirect page: HTTP
Error 404: Not Found"
{'Path': 'code.cloudfoundry.org/clock
<http://code.cloudfoundry.org/clock>', 'Version': 'v1.0.0',
'Indirect': True} due to this being redirect to github.com
<http://github.com> and failing with "ERROR: Error while fetching
redirect page: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]
certificate verify failed: Hostname mismatch, certificate is not valid
for 'code.cloudfoundry.org <http://code.cloudfoundry.org>'.
parse
2) some issues with LICENSEs:
INFO: Please add the following line for
'docs/LICENSE_OF_DEPENDENCIES.md' to a 'lib/recipetool/licenses.csv'
and replace `Unknown` with the license:
c4807c5b058a56c02f592207b4e056b1,Unknown
Traceback (most recent call last):
File "/OE/build/oe-core/openembedded-core/scripts/recipetool", line
111, in <module>
ret = main()
^^^^^^
File "/OE/build/oe-core/openembedded-core/scripts/recipetool", line
100, in main
ret = args.func(args)
^^^^^^^^^^^^^^^
File
"/OE/layers/openembedded-core/scripts/lib/recipetool/create.py", line
746, in create_recipe
handler.process(srctree_use, classes, lines_before, lines_after,
handled, extravalues)
File
"/OE/layers/openembedded-core/scripts/lib/recipetool/create_go.py",
line 349, in process
self._rewrite_lic_uri(lines_before)
File
"/OE/layers/openembedded-core/scripts/lib/recipetool/create_go.py",
line 380, in _rewrite_lic_uri
updated, newlines = bb.utils.edit_metadata(lines_before,
['LIC_FILES_CHKSUM'], varfunc)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/OE/build/oe-core/bitbake/lib/bb/utils.py", line 1382, in
edit_metadata
if handle_var_end():
^^^^^^^^^^^^^^^^
File "/OE/build/oe-core/bitbake/lib/bb/utils.py", line 1280, in
handle_var_end
(newvalue, newop, indent, minbreak) = varfunc(in_var, full_value,
op, newlines)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/OE/layers/openembedded-core/scripts/lib/recipetool/create_go.py",
line 372, in varfunc
uri, chksum = license.split(';', 1)
^^^^^^^^^^^
ValueError: not enough values to unpack (expected 2, got 1)
(the license was just '/')
3) some SRCREVs set to None leading to parsing failure:
File "/OE/layers/bitbake/lib/bb/fetch2/git.py", line 762, in
_latest_revision
raise bb.fetch2.FetchError("Unable to resolve '%s' in upstream git
repository in git ls-remote output for %s" % \
bb.data_smart.ExpansionError: Failure expanding variable SRCPV,
expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception
FetchError: Fetcher failure: Unable to resolve 'None' in upstream git
repository in git ls-remote output for
github.com/googleapis/google-cloud-go
<http://github.com/googleapis/google-cloud-go>
The variable dependency chain for the failure is: SRCPV -> PV -> BP ->
FILESPATH
ERROR: Parsing newly created recipe failed, moving recipe to