Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFE: arch-specific dependencies in noarch packages #3579

Open
pmatilai opened this issue Feb 19, 2025 · 0 comments
Open

RFE: arch-specific dependencies in noarch packages #3579

pmatilai opened this issue Feb 19, 2025 · 0 comments
Labels
handsfree Packaging automation and convenience RFE

Comments

@pmatilai
Copy link
Member

pmatilai commented Feb 19, 2025

A long-standing issue with rpm (and AFAIK dpkg too) is expressing arch-specific dependencies in noarch packages. A classic example is an interpreted language like Python or Ruby dlopen()'ing a specific ELF DSO: on a multiarch (biarch is just a specific case of that) system you can't depend on the package name alone because that could pull in a package of an arbitrary architecture, that may or may not work with your interpreter. Rpm has https://rpm-software-management.github.io/rpm/manual/arch_dependencies.html for this, BUT that doesn't help if your package is noarch because those do not have an ISA by definition. https://rpm-software-management.github.io/rpm/manual/boolean_dependencies.html offer a way of leaving some dependency decisions to runtime which is a necessary pre-requisite for this, and make it possible to approximate this, but going beyond rpm's existing biarch system would get ugly/impossible:
https://src.fedoraproject.org/rpms/rubygem-ruby-vips/blob/137e3adee00c987c5c0b9f2d746ffb8b415f930b/f/rubygem-ruby-vips.spec#_24-25

Anything can be solved by adding another layer of indirection, so clearly that's what we need here 😆
It seems to me we'd need a way to make dependency decisions based on another packages ISA (ie not the exact architecture but base architecture/ABI). So a Python extension could say "give me package X which matches the ISA/ABI of the python package, whatever that is".

@pmatilai pmatilai added handsfree Packaging automation and convenience RFE labels Feb 19, 2025
@pmatilai pmatilai added this to RPM Feb 19, 2025
@github-project-automation github-project-automation bot moved this to Backlog in RPM Feb 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
handsfree Packaging automation and convenience RFE
Projects
Status: Backlog
Development

No branches or pull requests

1 participant