On Tue, Sep 12, 2023 at 1:11 PM Lyes Saadi <lyessa...@fedoraproject.org> wrote:
>
> Oh woops, answered to Jerry James privately instead to the whole devel
> mailing list. It's indeed about blueprint-compiler.
>
> Le 12/09/2023 à 19:03, Dan Horák a écrit :
> > On Tue, 12 Sep 2023 10:08:57 -0600
> > Jerry James <loganje...@gmail.com> wrote:
> >
> >> On Tue, Sep 12, 2023 at 10:03 AM Lyes Saadi <lyessa...@fedoraproject.org> 
> >> wrote:
> >>> I have a noarch package which faces an issue with one of its arches
> >>> (s390x), and which happens to have multiple noarch packages depending on
> >>> it, and they won't build either if they were built on that same arch
> >>> (but, they will still work normally when installed on that arch). And
> >>> so, I plan on adding an ExcludeArch, as per
> >>> https://docs.fedoraproject.org/en-US/packaging-guidelines/#_arch_specific_runtime_and_build_time_dependencies.
> >>>
> >>> But, I don't know if I need to also ask maintainers of every dependency
> >>> to add ExcludeArch themselves. Indeed, the guideline says :
> >>>   > You can limit both the architectures used to build a noarch package,
> >>> *and the repositories to which the built noarch package will be added*
> >>>
> >>> So, am I correct in assuming that if my noarch package uses ExcludeArch,
> >>> every other dependent package, when building, will not build on that
> >>> Arch as well ?
> >> You will indeed have to ask the maintainers of consuming packages to
> >> add that ExcludeArch too.  What package is it and what is the nature
> >> of the problem on s390x?  Maybe it can be fixed.
> > I believe it's about blueprint-compiler, which has some big endian
> > issues, please see https://bugzilla.redhat.com/show_bug.cgi?id=2169892

The classic way to do this is to request a macro like
`%{blueprint_arches}` which can be passed to any package requiring the
blueprint compiler. We have several interpreted languages that do
this, if the interpreter isn't available on all arches.


```
$ rpm --showrc|grep _arches
-13: GNAT_arches %{GPRbuild_arches} ia64 ppc alpha %{arm} riscv64
-13: GPRbuild_arches %{ix86} x86_64 %{power64} s390x aarch64
-13: fpc_arches %{ix86} %{arm} x86_64 ppc64le aarch64
-13: gap_arches aarch64 ppc64le s390x x86_64
-13: gccgo_arches mips mipsel mipsr6 mipsr6el mips64 mips64el mips64r6
mips64r6el
-13: ghc_arches %{ix86} x86_64 armv7hl ppc64le aarch64 s390x
-13: go_arches %{golang_arches} %{gccgo_arches}
-13: golang_arches i386 i486 i586 i686 pentium3 pentium4 athlon geode
x86_64 armv3l armv4b armv4l armv4tl armv5tl armv5tel armv5tejl armv6l
armv6hl armv7l armv7hl armv7hnl armv8l armv8hl armv8hnl armv8hcnl
aarch64 ppc64le s390x
-13: golang_arches_future x86_64 armv3l armv4b armv4l armv4tl armv5tl
armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl armv8l
armv8hl armv8hnl armv8hcnl aarch64 ppc64le s390x
  exclusive_arches = "%{golang_arches}"
  exclusive_arches = "%{golang_arches_future}"
print(rpm.expand("ExclusiveArch: " .. exclusive_arches .. "\n"))
-13: java_arches aarch64 ppc64le s390x x86_64
-13: kernel_arches x86_64 s390x ppc64le aarch64 %{arm}
-13: ldc_arches %{ix86} x86_64 %{arm} aarch64
-13: mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} aarch64
alpha s390x ppc ppc64 ppc64le
-13: nodejs_arches %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
-13: openblas_arches x86_64 %{ix86} armv7hl %{power64} aarch64 s390x
-13: qt5_qtwebengine_arches %{ix86} x86_64 %{arm} aarch64 mips mipsel mips64el
-13: rust_arches x86_64 %{ix86} armv7hl aarch64 ppc64 ppc64le riscv64 s390x
-13: valgrind_arches %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
```

When relying on e.g. Node.js, one is expected to do:
ExclusiveArch: %{nodejs_arches}
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to