#659 Koji tries to build i686-only packages on i386 (error: Architecture is not included: i386)
Closed: Dropped 2 years ago by tkopecek. Opened 6 years ago by ignatenkobrain.

I'm filing this from https://pagure.io/releng/issue/7104

In rust-packaging we have

BuildArch:      noarch
ExclusiveArch:  %{rust_arches} noarch

Where

[brain@ignatenko-w541 rust-packaging]$ rpm --eval %rust_arches
x86_64 i686 armv7hl aarch64 ppc64 ppc64le s390x

Somehow koji schedules build on machine which has i386 architecture: https://koji.fedoraproject.org/koji/taskinfo?taskID=22585560

It is definitely bug in koji because rust packages do not compile on i386/i486/i586 but they do on i686. And it works for non-noarch builds fine. And ExclusiveArch/ExcludeArch in RPM is designed for arch and not basearch.

As @ausil says, "It is not something that is configurablein koji and it is also how koji has been designed to work, 32 bit x86 noarch builds will always be i386"...


Koji doesn't operate on base arches. It uses RPM architectures. This is why, for example, Koji's understanding of our 32-bit x86 architecture refers to i686 and not i386.

@ngompa apparetnyl somehow it does and that's why I opened this bug.

ExclusiveArch/ExcludeArch were not originally designed for limiting where noarch builds are built at all. The feature that we were requested to add in PR #323 is an abuse of the field. So, we are off the rails from the start.

The Koji feature limits the buildArch tasks to appropriate hosts by setting that task arch to something else. Koji is looking at the basearch level (koji calls it canonical arch) when it does this because that is the level that makes sense here.

In your case, the canonical arches derived from your exclusivearch list are a superset of the canonical arches for the build tag are you using, so Koji creates your task as an actual noarch task.

You should really take @ausil's advice and use %{ix86}. There's no point in being pedantic when we don't actually have, say, i586 buildroots.

@mikem There is a point to the pendantry, since Mageia and openSUSE (both consumers and contributors to rust2rpm and rust-packaging) use i586 instead of i686.

Metadata Update from @tkopecek:
- Custom field Size adjusted to None
- Issue tagged with: scheduler

2 years ago

The %{rust_arches} macro has since been adapted to use %{ix86} instead of i686, so I think we can close this issue.

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

2 years ago

Login to comment on this ticket.

Metadata