You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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".
The text was updated successfully, but these errors were encountered:
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".
The text was updated successfully, but these errors were encountered: