On 9/2/22 5:07 AM, Fabio Valentini wrote: > On Fri, Sep 2, 2022 at 1:43 PM Richard Shaw <hobbes1069@xxxxxxxxx> wrote: >> >>> If looking at a single package in isolation it may look wasteful, but from >>> the POV of the distro as a whole packages with potential mingw sub-RPMs >>> are a small subset of what goes through koji every day. >> >> >> Perhaps, but the engineer in me finds this very distasteful :) >> >> It would probably be too much work but it would be useful to have a pseudo-arch "mingw" which would just build on the first available "noarch" builder. > > Building noarch subpackages on multiple architectures actually > provides some benefits, even if some - or all - of the output is > thrown away: > > - architecture-specific bugs that result in generation of different > "noarch" subpackages get caught (which they wouldn't be if the > "noarch" subpackage were only ever built once) > - you can run tests for the functionality that's provided by the > "noarch" subpackages on different architectures > - etc. > > For example, all Rust library packages build only "noarch" > subpackages, but the packages themselves are built on *all* > architectures, because we want to know whether the shipped code > actually *compiles* and tests *succeed* on all supported > architectures. If we didn't do that, catching architecture-specific > bugs would be much harder, and would only result in random problems, > or build failures in leaf *application* packages instead of in the > package that actually has the problem. Well since you mention Rust, I'll also counterpoint that I do have the toolchain configured to only use x86_64 to build wasm/mingw noarch subpackages of the standard library. The reason is that they include a crate "disambiguator" hash which does end up capturing host differences as well, so each host arch would end up with different hashes in the target libs. But that doesn't actually matter when other host toolchains just *use* those libs in cross-compilation, so it's fine to ship that noarch everywhere. But the standard library is a little special in that regard, at least until the dynamic -Zbuild-std option may be stabilized. As you say, for most Rust libraries we only ship noarch sources, and it totally makes sense to still build and test those on each host individually. _______________________________________________ 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