[4.0] aarch64 repo publishes noarch sub-packages from ExclusiveArch: x86_64 SRPMs (uninstallable: syslinux-nonlinux, rocm-rpm-macros-modules, python3-tensile-devel)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- linux
- Ambito
- build-system, infrastructure, release
Direzione di ricerca
Start with the referenced specs/s/syslinux/syslinux.spec, specs/r/rocm-rpm-macros/rocm-rpm-macros.spec, and specs/p/python-tensile/python-tensile.spec; reproduce the issue with dnf repoclosure against the aarch64 repository. Then trace the external publishing pipeline's handling of noarch RPMs and SRPM ExclusiveArch/ExcludeArch metadata. Done means the affected packages are absent from ineligible architecture repositories and repoclosure passes.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Environment
- Azure Linux version and/or image name:
4.0preview repo —https://packages.microsoft.com/azurelinux/4/preview/base/aarch64 - Kernel version: n/a (repository metadata issue)
- Architecture: aarch64
- Affected package(s) and version(s), if applicable:
syslinux-nonlinux-6.04-0.34.azl4,syslinux-extlinux-nonlinux-6.04-0.34.azl4,rocm-rpm-macros-modules-6.4.2-4.azl4,python3-tensile-devel-6.4.4-4.azl4(allnoarch) - Custom image or package modifications, if applicable: none
Deployment / platform
- Other (please describe): published package repository, checked with
dnf repoclosure
Describe the bug
The aarch64 base repo publishes noarch sub-packages whose SRPM is ExclusiveArch: x86_64. Their dependencies only exist on x86_64, so they cannot be installed on aarch64.
The specs are correct — they mark these sub-packages BuildArch: noarch + ExclusiveArch: x86_64 (e.g. specs/s/syslinux/syslinux.spec, specs/r/rocm-rpm-macros/rocm-rpm-macros.spec, specs/p/python-tensile/python-tensile.spec), and the published SRPMs carry the ExclusiveArch tag. But rpm does not store ExclusiveArch in binary headers (the published noarch RPMs have it empty), so a compose step that copies noarch RPMs into every arch repo without consulting the SRPM ignores the restriction. Fedora's pungi uses the SRPM's ExclusiveArch/ExcludeArch for exactly this; the Azure Linux publishing pipeline appears not to.
Steps to reproduce
- Create
azl.repo:[azl-base] name=azl-base baseurl=https://packages.microsoft.com/azurelinux/4/preview/base/aarch64 gpgcheck=0 dnf repoclosure --setopt=reposdir=. --repo azl-base --forcearch aarch64 --arch aarch64 --arch noarch --newest
Expected behavior
noarch packages built from an ExclusiveArch: x86_64 SRPM are published only to the x86_64 repo, as in Fedora.
Actual behavior
package: python3-tensile-devel-6.4.4-4.azl4.noarch from azl-base
unresolved deps (2):
hipcc
rocminfo
package: rocm-rpm-macros-modules-6.4.2-4.azl4.noarch from azl-base
unresolved deps (1):
rocm-llvm-filesystem
package: syslinux-extlinux-nonlinux-6.04-0.34.azl4.noarch from azl-base
unresolved deps (1):
syslinux
package: syslinux-nonlinux-6.04-0.34.azl4.noarch from azl-base
unresolved deps (1):
syslinux
SRPM vs binary headers from the same repo:
$ rpm -qp --qf '[%{EXCLUSIVEARCH} ]' syslinux-6.04-0.34.azl4.src.rpm
i386 i486 i586 i686 pentium3 pentium4 athlon geode x86_64 ...
$ rpm -qp --qf '[%{EXCLUSIVEARCH} ]' rocm-rpm-macros-6.4.2-4.azl4.src.rpm
x86_64
$ rpm -qp --qf '[%{EXCLUSIVEARCH} ]' python-tensile-6.4.4-4.azl4.src.rpm
x86_64
$ rpm -qp --qf '[%{EXCLUSIVEARCH} ]|%{ARCH}' syslinux-nonlinux-6.04-0.34.azl4.noarch.rpm
|noarch
Additional context
- The same scan on the aarch64 and x86_64 repos also reports
dpkg-perlandrpmlint(deps published only to sdk) — fixed separately in #18984 — andrubygem-rdoc-doc(inherited from Fedora 43). - The publishing pipeline is not in this repository, so I couldn't propose a fix as a PR. A generic fix is to drop, per arch, any
noarchRPM whose source SRPM has anExclusiveArchthat excludes that arch (or anExcludeArchthat includes it).
- Lingua principale
- Python
- Stelle
- 5.3k
- Fork
- 708
- Merge medio
- 3g 11h
- PR unite (30g)
- 208
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/azurelinux
-
4.0 bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
microsoft/azurelinux#19093 ·
I maintainer di solito rispondono entro 1 giorno
-
4.0 bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
microsoft/azurelinux#19092 ·
I maintainer di solito rispondono entro 1 giorno
-
[4.0] Offline installer does not handle HTTP URLs in inst.ks kernel parameterForse già presa @sonarbhavarth l’ha presa 94 giorni fa. Aperta4.0 enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
microsoft/azurelinux#17915 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[4.0] Live installer initrd missing NFS dracut module preventing NFS based PXE deploymentForse già presa @IzanVil l’ha presa 42 giorni fa. Aperta4.0 enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
microsoft/azurelinux#17913 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[ACL] NAP SupportApertaACL Roadmap
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
microsoft/azurelinux#18961 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di microsoft/azurelinux
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
MystenLabs/MemWal#1163 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
infertopics leaves new nodes without a topic when untopiced neighbours outnumber topiced onesForse già presa @moneebullah25 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
FinanceFlash/unvibecode#218 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
NVIDIA/earth2studio#1241 ·
I maintainer di solito rispondono entro 3 giorni