On Tue, Sep 12, 2023 at 1:11 PM Lyes Saadi <lyessaadi@xxxxxxxxxxxxxxxxx> 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 <loganjerry@xxxxxxxxx> wrote: > > > >> On Tue, Sep 12, 2023 at 10:03 AM Lyes Saadi <lyessaadi@xxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx 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@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue