This was already discussed, see 
https://lists.openembedded.org/g/openembedded-core/message/226846
Feel free to send a revert.

Peter

> -----Original Message-----
> From: Robert Joslyn <[email protected]>
> Sent: Tuesday, December 2, 2025 4:27
> To: Marko, Peter (FT D EU SK BFS1) <[email protected]>;
> [email protected]
> Cc: Ross Burton <[email protected]>; Richard Purdie
> <[email protected]>
> Subject: Re: [OE-core][scarthgap][PATCH 3/9] lib/oe/go: document map_arch,
> and raise an error on unknown architecture
> 
> On 11/13/25 04:28, Peter Marko wrote:
> > From: Ross Burton <[email protected]>
> >
> > Add a comment explaining what this function does and where the values
> > come from.
> >
> > If the architecture isn't know, instead of returning an empty string
> > which could fail mysteriously, raise a KeyError so it fails quickly.
> >
> > (From OE-Core rev: 025414c16319b068df1cd757ad9a3c987a6b871d)
> >
> > Signed-off-by: Ross Burton <[email protected]>
> > Signed-off-by: Richard Purdie <[email protected]>
> > Signed-off-by: Peter Marko <[email protected]>
> > ---
> >   meta/lib/oe/go.py | 6 +++++-
> >   1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/meta/lib/oe/go.py b/meta/lib/oe/go.py
> > index dfd957d157a..4559dc63b28 100644
> > --- a/meta/lib/oe/go.py
> > +++ b/meta/lib/oe/go.py
> > @@ -7,6 +7,10 @@
> >   import re
> >
> >   def map_arch(a):
> > +    """
> > +    Map our architecture names to Go's GOARCH names.
> > +    See 
> > https://github.com/golang/go/blob/master/src/internal/syslist/syslist.go
> for the complete list.
> > +    """
> >       if re.match('i.86', a):
> >           return '386'
> >       elif a == 'x86_64':
> > @@ -31,4 +35,4 @@ def map_arch(a):
> >           return 'riscv64'
> >       elif a == 'loongarch64':
> >           return 'loong64'
> > -    return ''
> > +    raise KeyError(f"Cannot map architecture {a}")
> >
> >
> 
> This was recently merged to scarthgap and unfortunately it breaks
> SOURCE_MIRROR_FETCH on architectures not supported by Go.
> 
> This is easily reproduced:
> 
> git clone https://git.yoctoproject.org/poky
> cd poky
> . oe-init-build-env
> Set MACHINE to qemuppc and set SOURCE_MIRROR_FETCH = "1" in local.conf
> bitbake --runonly fetch core-image-minimal
> 
> WARNING:
> /home/robert/yocto/poky-scarthgap/meta/recipes-devtools/go/go-
> cross_1.22.12.bb:
> Exception during build_dependencies for GOARCH
> WARNING:
> /home/robert/yocto/poky-scarthgap/meta/recipes-devtools/go/go-
> cross_1.22.12.bb:
> Error during finalise of
> /home/robert/yocto/poky-scarthgap/meta/recipes-devtools/go/go-cross_1.22.12.bb
> ERROR: ExpansionError during parsing
> /home/robert/yocto/poky-scarthgap/meta/recipes-devtools/go/go-cross_1.22.12.bb
> bb.data_smart.ExpansionError: Failure expanding variable TARGET_GOARCH,
> expression was ${@go_map_arch(d.getVar('TARGET_ARCH'), d)} which
> triggered exception KeyError: 'Cannot map architecture powerpc'
> The variable dependency chain for the failure is: TARGET_GOARCH -> GOARCH
> ...
> 
> 
> Is there another way of using SOURCE_MIRROR_FETCH to avoid this? Or is
> reverting this reasonable? I realize we're probably one of the few
> remaining PowerPC users, but more generally it feels like parsing
> shouldn't be limited to whatever architectures Go happens to support.
> 
> Thanks,
> Robert
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#227180): 
https://lists.openembedded.org/g/openembedded-core/message/227180
Mute This Topic: https://lists.openembedded.org/mt/116273063/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to