[Rpm-maint] [rpm-software-management/rpm] RFE: arch-specific dependencies in noarch packages (Issue #3579)

Panu Matilainen notifications at github.com
Wed Feb 19 08:14:48 UTC 2025


pmatilai created an issue (rpm-software-management/rpm#3579)

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](ISA dependencies) 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](Rich dependencies) 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".

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/3579
You are receiving this because you are subscribed to this thread.

Message ID: <rpm-software-management/rpm/issues/3579 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20250219/4d8c3db6/attachment-0001.htm>


More information about the Rpm-maint mailing list