#1518 noarch subpackage with ExcludeArch is still shipped everywhere
Closed: Fixed 2 years ago by jistone. Opened 2 years ago by jistone.

In rust-1.53.0-2.fc35, I added ExcludeArch: s390x to the rust-std-static-wasm32-unknown-unknown subpackage, because it depends on lld which is shipped everywhere except on s390x. However, that subpackage still appears to be available on s390x anyway.


Please add link to a specific compose where you are seeing this.
It's impossible to find out what exactly happened without that.

Where do I look at composes? I only figured this out by looking at the repo mirrors to see what packages were in the s390x directory.

How about this one:
https://pdc.fedoraproject.org/compose/12362/rpms/Everything/s390x/?search=rust-std-static

I expect to have rust-std-static for native compilation, but rust-std-static-wasm32-unknown-unknown is the one I wanted to exclude.

Ok, I see now.

This approach is not going to work here. RPM stores the ExcludeArch/ExclusiveArch information only in SRPM. Pungi then looks at that even for individual subpackages. There is no way for different subpackages in the same build to have different values for Exclude/Exclusive arch (rhbz#1394853).

Looking at the srpm it seems there is a bug in the snippet that generates the ExcludeArch tag.

$ rpm -qp --queryformat '[%{ExcludeArch}\n]' rust-1.53.0-2.fc35.src.rpm
$ rpm -qp --queryformat '[%{ExclusiveArch}\n]' rust-1.53.0-2.fc35.src.rpm 
x86_64
i686
armv7hl
aarch64
ppc64
ppc64le
s390x
$

But if it was added, it would exclude all noarch subpackages from s390x. I believe that is not what you want.

To remove that one package from s390x a better approach would be to specify it in the configuration explicitly:
https://pagure.io/pungi-fedora/pull-request/1036

Thank you for the explanation! Assuming the pungi-fedora change works, I should be able to also chase that down in RHEL configs.

I can see in Fedora-Rawhide-20210719.n.0 that the package is gone from s390x, while still present for all other arches. That's what I wanted, thanks!
https://pdc.fedoraproject.org/compose/12445/rpms/Everything/s390x/?search=rust-std-static

Metadata Update from @jistone:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

2 years ago

I believe automake now depends on this bug not getting fixed, otherwise automake will vanish from the i386 buildroot.

Cc @fberat

Login to comment on this ticket.

Metadata
Related Pull Requests
  • #1036 Merged 2 years ago