yes, I already did this - it's because that go.bbclass is spangly using a
subdir called "src" and that will break the devtool check for upgrades
mechanism because it's not looking into a src subdir. So git will fail checkout
anything in the parent dir "reference is not a tree"
This simple change in the go.bbclass fix it - but I don't know if that
additional src dir is somehow necessary:
# src folder will break devtool upgrade
python go_do_unpack() {
src_uri = (d.getVar('SRC_URI') or "").split()
if len(src_uri) == 0:
return
fetcher = bb.fetch2.Fetch(src_uri, d)
for url in fetcher.urls:
if fetcher.ud[url].type == 'git':
if fetcher.ud[url].parm.get('destsuffix') is None:
s_dirname = os.path.basename(d.getVar('S'))
#cause problems fetcher.ud[url].parm['destsuffix'] =
os.path.join(s_dirname, 'src', d.getVar('GO_IMPORT')) + '/'
#FIX
fetcher.ud[url].parm['destsuffix'] = os.path.join(s_dirname,
'', d.getVar('GO_IMPORT')) + '/'
#FIX
fetcher.unpack(d.getVar('WORKDIR'))
}
# src folder will break devtool upgrade
go_do_configure() {
#cause problems ln -snf ${S}/src ${B}/
#FIX
ln -snf ${S} ${B}/
#FIX
}
________________________________
Von: Alexander Kanavin <[email protected]>
Gesendet: Donnerstag, 20. Oktober 2022 11:56:48
An: Roos, Thomas
Cc: [email protected]
Betreff: RE: [EXTERNAL][yocto] devtool upgrade for go recipes with git "broken"
CAUTION: This email originated from outside of the organization. Do not click
links or open attachments unless you can confirm the sender and know the
content is safe.
Thanks, I do not have a quick answer to this, but would appreciate if
you can dig deeper into the issue.
Alex
On Thu, 20 Oct 2022 at 11:50, Roos, Thomas <[email protected]> wrote:
>
> yes, easy
> - set the go-helloworld bb srcrev to an older rev - e.g:
> SRCREV = "ad95e7f791d8e1e7e7ec7f7cedfc2f6b29f6c9e2"
>
> "devtool upgrade go-helloworld"
>
> INFO: Extracting upgraded version source...
> Traceback (most recent call last):
> File "/home/ubuntu/yocto/poky/scripts/lib/devtool/upgrade.py", line 567, in
> upgrade
> rev2, md5, sha256, srcbranch, srcsubdir2 =
> _extract_new_source(args.version, srctree, args.no_patch,
> File "/home/ubuntu/yocto/poky/scripts/lib/devtool/upgrade.py", line 183, in
> _extract_new_source
> __run('git checkout %s' % rev)
> File "/home/ubuntu/yocto/poky/scripts/lib/devtool/upgrade.py", line 170, in
> __run
> return _run(cmd, srctree)
> File "/home/ubuntu/yocto/poky/scripts/lib/devtool/upgrade.py", line 31, in
> _run
> return bb.process.run('%s' % cmd, cwd=cwd)
> File "/home/ubuntu/yocto/poky/bitbake/lib/bb/process.py", line 189, in run
> raise ExecutionError(cmd, pipe.returncode, stdout, stderr)
> bb.process.ExecutionError: Execution of 'git checkout
> 2e68773dfca072cb81f219fc3b97ad34fe9d9f94' failed with exit code 128:
> fatal: reference is not a tree: 2e68773dfca072cb81f219fc3b97ad34fe9d9f94
>
>
> During handling of the above exception, another exception occurred:
>
> Traceback (most recent call last):
> File "/home/ubuntu/yocto/poky/scripts/devtool", line 338, in <module>
> ret = main()
> File "/home/ubuntu/yocto/poky/scripts/devtool", line 325, in main
> ret = args.func(args, config, basepath, workspace)
> File "/home/ubuntu/yocto/poky/scripts/lib/devtool/upgrade.py", line 575, in
> upgrade
> _upgrade_error(e, recipedir, srctree, args.keep_failure)
> File "/home/ubuntu/yocto/poky/scripts/lib/devtool/upgrade.py", line 134, in
> _upgrade_error
> _cleanup_on_error(rd, srctree)
> File "/home/ubuntu/yocto/poky/scripts/lib/devtool/upgrade.py", line 126, in
> _cleanup_on_error
> if not len(os.listdir(rdp)):
> FileNotFoundError: [Errno 2] No such file or directory:
> '/home/ubuntu/yocto/build/workspace/recipes'
>
>
>
>
>
> ________________________________
> Von: Alexander Kanavin <[email protected]>
> Gesendet: Donnerstag, 20. Oktober 2022 11:32:19
> An: Roos, Thomas
> Cc: [email protected]
> Betreff: RE: [EXTERNAL][yocto] devtool upgrade for go recipes with git
> "broken"
>
> CAUTION: This email originated from outside of the organization. Do not click
> links or open attachments unless you can confirm the sender and know the
> content is safe.
>
>
>
> It helps if you show the exact error, and a way to reproduce this
> using a minimal setup (ideally only poky).
>
> Alex
>
> On Thu, 20 Oct 2022 at 11:18, Thomas Roos via lists.yoctoproject.org
> <[email protected]> wrote:
> >
> > Hi,
> > when doing a "devtool upgrade" for a recipe which inherits "go" and using a
> > SRC_URI to a git repo this will fail. Complaining that the git revision is
> > "out of tree" - I found that the additional "src" folder inside the
> > checkout out sources is causing this problem and I wondering if this is
> > necessary. I'm not a go programmer, but when changing this the recipe seems
> > to produce the same result.
> > I did change our go recipe to don't use this additional src folder by
> > overwriting the go_do_upack and go_do_configure method. Here:
> > https://github.com/aws4embeddedlinux/meta-aws/blob/942651026c7a91b9703609d7658bd1649350acaf/recipes-support/amazon-ssm-agent/amazon-ssm-agent_3.1.1856.0.bb
> > Is this a bug or do anybody know why go use that additional src folder?
> >
> >
> > Cheers,
> > Thomas
> >
> >
> >
> >
> > Amazon Web Services EMEA SARL
> > 38 avenue John F. Kennedy, L-1855 Luxembourg
> > Sitz der Gesellschaft: L-1855 Luxemburg
> > eingetragen im Luxemburgischen Handelsregister unter R.C.S. B186284
> >
> > Amazon Web Services EMEA SARL, Niederlassung Deutschland
> > Marcel-Breuer-Str. 12, D-80807 Muenchen
> > Sitz der Zweigniederlassung: Muenchen
> > eingetragen im Handelsregister des Amtsgerichts Muenchen unter HRB 242240,
> > USt-ID DE317013094
> >
> >
> >
> >
> >
>
>
>
> Amazon Web Services EMEA SARL
> 38 avenue John F. Kennedy, L-1855 Luxembourg
> Sitz der Gesellschaft: L-1855 Luxemburg
> eingetragen im Luxemburgischen Handelsregister unter R.C.S. B186284
>
> Amazon Web Services EMEA SARL, Niederlassung Deutschland
> Marcel-Breuer-Str. 12, D-80807 Muenchen
> Sitz der Zweigniederlassung: Muenchen
> eingetragen im Handelsregister des Amtsgerichts Muenchen unter HRB 242240,
> USt-ID DE317013094
>
>
Amazon Web Services EMEA SARL
38 avenue John F. Kennedy, L-1855 Luxembourg
Sitz der Gesellschaft: L-1855 Luxemburg
eingetragen im Luxemburgischen Handelsregister unter R.C.S. B186284
Amazon Web Services EMEA SARL, Niederlassung Deutschland
Marcel-Breuer-Str. 12, D-80807 Muenchen
Sitz der Zweigniederlassung: Muenchen
eingetragen im Handelsregister des Amtsgerichts Muenchen unter HRB 242240,
USt-ID DE317013094
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#58376): https://lists.yoctoproject.org/g/yocto/message/58376
Mute This Topic: https://lists.yoctoproject.org/mt/94449982/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-