Learn more about these different git repos.
Other Git URLs
A while ago, there was a change in packaging guidelines:
https://pagure.io/packaging-committee/issue/751
And the ticket started with a claim:
A while back, Koji was fixed to actually pay attention to ExcludeArch: and ExclusiveArch: when choosing the host to build a noarch package.
I don't think that it works, testing with either this:
diff --git a/rubygem-mongo.spec b/rubygem-mongo.spec index 1d436d7..82a9e00 100644 --- a/rubygem-mongo.spec +++ b/rubygem-mongo.spec @@ -26,6 +26,9 @@ BuildRequires: %{_bindir}/mongod BuildRequires: rubygem(bson) >= 4.3.0 BuildRequires: rubygem(rspec) BuildArch: noarch +# MongoDB serverved does not support all architectures. Use x86_64 for build +# to be sure Koji build is always successful. +ExclusiveArch: x86_64 noarch %description A Ruby driver for MongoDB.
https://koji.fedoraproject.org/koji/taskinfo?taskID=28734500
or
diff --git a/rubygem-mongo.spec b/rubygem-mongo.spec index 1d436d7..82a9e00 100644 --- a/rubygem-mongo.spec +++ b/rubygem-mongo.spec @@ -26,6 +26,9 @@ BuildRequires: %{_bindir}/mongod BuildRequires: rubygem(bson) >= 4.3.0 BuildRequires: rubygem(rspec) BuildArch: noarch +# MongoDB serverved does not support all architectures. Use x86_64 for build +# to be sure Koji build is always successful. +ExclusiveArch: x86_64 %description A Ruby driver for MongoDB.
https://koji.fedoraproject.org/koji/taskinfo?taskID=28734626
Both builds were done on i686 builders while only x86_64 builders should be used.
The i686 builders are only x86_64 and those builders can be used for either arch and are configured as such so this is working at expected.
It's also my understanding that since mongodb moved from v8 to mozjs that it now supports all architectures
If i686 builds run on x86_64 builder is implementation detail IMO. I understand, that it might be the reason why ExclusiveArch does not work, but this hardly means that my expectations are wrong. Every time when some arch is specified somewhere in RPM, it really means that specific architecture. You could hardly justify that PPC is used where PPC64 is expected and vice versa.
https://bugzilla.redhat.com/show_bug.cgi?id=1549025#c4
@vondruch in the case of PPC a build (where it's still supported) would actually run on a ppc64 builder, there's maps for compatibility. See the hosts in koji:
PPC example: https://koji.fedoraproject.org/koji/hostinfo?hostID=229 x86 example: https://koji.fedoraproject.org/koji/hostinfo?hostID=229
But in the case of ARMv7 vs aarch64 the underlying hosts are not compatible so you won't get a armv7hl build land on an aarch64 host for example, see all hosts and the allows arches in the koji hosts list: https://koji.fedoraproject.org/koji/hosts?start=50&state=enabled&order=name
So how can I force my package to be built in x86_64 buildroot? If I understand it correctly, I can't ATM. Is there a chance to fix it?
Also this means that this guideline change is wrong:
https://fedoraproject.org/w/index.php?title=Packaging:Guidelines&diff=516423&oldid=511591
@vondruch Just looked at some of it, and I believe this is a koji bug, since koji uses the wrong arch bit of the build to determine which arch to build for (look further down on the taskinfo page, and it says "Arch: x86_64"). So I don't think the guideline is wrong, this is just a bug/edge-case.
Sorry, my last comment on how it's not there was me not reading the patches and not seeing that this was rubygem-mongo, sorry.
Is there any chance you could attach the full spec file you're building with?
https://src.fedoraproject.org/rpms/rubygem-mongo/blob/master/f/rubygem-mongo.spec
Unfortunately, the package is currently FTBFS (and that is why I am back to this issue actually) on all arches anyway.
I fixed the FTBFS, but the ExlusiveArch issues still persist:
https://koji.fedoraproject.org/koji/taskinfo?taskID=29631670
Metadata Update from @syeghiay: - Issue assigned to mohanboddu
Since Eclipse went to 64bit only I am constantly hitting this issue with Eclipse packages.
Noarch Eclipse plug-ins now have to have this in their spec:
# Upstream Eclipse no longer supports non-64bit arches ExcludeArch: s390 %{arm} %{ix86} BuildArch: noarch
And maybe 1 in 10 builds get erroneously done in a i686 buildroot, e.g: https://koji.fedoraproject.org/koji/taskinfo?taskID=35429122
This should be fixed upstream by:
https://pagure.io/koji/pull-request/1684
@kevin can you get koji deployed with this fix please? I'll do some changes in Rust packaging with this.
I'd like to, but we are in final freeze, so I would prefer to wait until we have a f31 GA done.
Once we are go and have tagged things, I'd be happy to try and get a freeze break to get this landed.
The upstream fix here was merged and was in a release and we are running it now.
Please let us know if you have any problems with it.
Metadata Update from @kevin: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
Thx for update :tada:
Just FTR, I am not sure about the current guidelines and how to properly use ExcludeArch therefore I have opened another upstream ticket asking for clarification:
ExcludeArch
https://pagure.io/koji/issue/2090
Login to comment on this ticket.