[Rpm-maint] [rpm-software-management/rpm] elfdeps: Add full multiarch deps support (#1038)

Bernhard Rosenkraenzer notifications at github.com
Wed Mar 11 15:14:36 UTC 2020


For the package overall, it may be best to just use the Provides/Requires mechanism with multiple things being generated, e.g.
Requires: cpu(arm)
Requires: cpu(neon)
Requires: cpu(thumb)

or
Requires: cpu(x86_64)
Requires: cpu(mmx)
Requires: cpu(sse)
Requires: cpu(sse2)

where cpu(*) features would be automatically Provide:d by rpm looking at the likes of /proc/cpuinfo, and could be manually provided by stuff like qemu-binfmt* packages.

Of course it gets a lot trickier when we're dealing with the per-file libc.so.6()(64bit) bits, not sure we want something huge like Provides: libc.so.6(x86_64)(mmx)(sse)(sse2)(ssse3)(sse4)(sse4_1)(sse4_2)(avx)(avx2) and obviously something requiring that wouldn't necessarily know that libc.so.6(x86_64) or libc.so.6(x86_64)(mmx) would be sufficient to fulfill the dependency.
But obviously the nice thing about it would be that tools like dnf could automatically pick between libc.so.6(x86_64)(mmx)(sse)(sse2)(ssse3)(sse4)(sse4_1)(sse4_2)(avx)(avx2), libc.so.6(x86_64)(mmx)(sse)(sse2) and libc.so.6(x86_64) if multiple options are provided.

Of course going down further that route, it may also be necessary to provide information about CPU timings to allow picking between e.g. an Intel optimized and an AMD optimized build even if both will work on either type (-march=generic -mtune=whatever).
But something like
libc.so.6(x86_64)(mmx)(sse)(sse2)(ssse3)(sse4)(sse4_1)(sse4_2)(avx)(avx2)(tune:amd)
can get pretty long...

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1038#issuecomment-597692182
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20200311/d5dee7ad/attachment.html>


More information about the Rpm-maint mailing list