From: "Roos, Thomas" <throos@amazon.de>
To: Alexander Kanavin <alex.kanavin@gmail.com>
Cc: "yocto@lists.yoctoproject.org" <yocto@lists.yoctoproject.org>
Subject: AW: [yocto] devtool upgrade for go recipes with git "broken"
Date: Thu, 20 Oct 2022 10:05:21 +0000 [thread overview]
Message-ID: <a79184da26314c388bc4733b516e47a5@amazon.de> (raw)
In-Reply-To: <CANNYZj_GgqzaS22upMbw38sje5_gYT-w7giwSyZxLCfHdZ074A@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 7291 bytes --]
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 <alex.kanavin@gmail.com>
Gesendet: Donnerstag, 20. Oktober 2022 11:56:48
An: Roos, Thomas
Cc: yocto@lists.yoctoproject.org
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 <throos@amazon.de> 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 <alex.kanavin@gmail.com>
> Gesendet: Donnerstag, 20. Oktober 2022 11:32:19
> An: Roos, Thomas
> Cc: yocto@lists.yoctoproject.org
> 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
> <throos=amazon.de@lists.yoctoproject.org> 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
> >
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#58372): https://lists.yoctoproject.org/g/yocto/message/58372
> > Mute This Topic: https://lists.yoctoproject.org/mt/94449982/1686489
> > Group Owner: yocto+owner@lists.yoctoproject.org
> > Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [alex.kanavin@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>
>
>
> 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
[-- Attachment #2: Type: text/html, Size: 10755 bytes --]
next prev parent reply other threads:[~2022-10-20 10:05 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-20 9:18 devtool upgrade for go recipes with git "broken" Roos, Thomas
2022-10-20 9:32 ` [yocto] " Alexander Kanavin
2022-10-20 9:50 ` AW: " Roos, Thomas
2022-10-20 9:56 ` Alexander Kanavin
2022-10-20 10:05 ` Roos, Thomas [this message]
2022-10-20 10:09 ` Alexander Kanavin
2022-10-20 10:22 ` AW: " Roos, Thomas
2022-10-20 10:40 ` Alexander Kanavin
2022-10-20 10:45 ` Monsees, Steven C (US)
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=a79184da26314c388bc4733b516e47a5@amazon.de \
--to=throos@amazon.de \
--cc=alex.kanavin@gmail.com \
--cc=yocto@lists.yoctoproject.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