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/3...@github.com>
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
https://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to