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