Traditional rpm dependencies have only supported biarch style installations between 64bit and "something else", traditionally of course 32bit. This has been denoted with (64bit) markers at the end of ELF dependency tokens for some 64bit architectures and for others not, and lets a dependency token of a completely different architecture satisfy that of another. This is inconsistent and limiting at best.
Add a new multiarch mode for elfdeps where each ELF dependency token carries an ABI identifier consisting of the base architecture, it's bitness and endiananess, optionally followed by arch-specific flags. v4 packages continue to use the traditional biarch dependencies, for v6 packages we use the new multiarch style. It's possible to generate both for transition-period compatibility though. The last patch is the where the real interest is, the earlier ones are just preliminaries to make this all nicer by converting it to use C++ facilities. There are no docs and the exact format is subject to change, but posting a draft PR to allow experimenting and hopefully inviting a wider community discussion on this. Fixes: #2197 You can view, comment on, or merge this pull request online at: https://github.com/rpm-software-management/rpm/pull/3578 -- Commit Summary -- * Natively allocate elfdeps main structure * Isolate dependency additions elfdeps behind addDep() * Convert elfdeps dependency storage to STL containers * Handle dependency tokens as STL strings inside add*Dep() * Use a C++ string for skipSoname() convenience * Use an STL string for temporary soname storages * Convert other elfdeps data structure strings to STL strings * Rename elfdeps biarch marker to better reflect the function * Add support for multiarch dependency generation in v6 packages -- File Changes -- M fileattrs/elf.attr (5) M tests/rpmbuild.at (103) M tools/elfdeps.cc (235) -- Patch Links -- https://github.com/rpm-software-management/rpm/pull/3578.patch https://github.com/rpm-software-management/rpm/pull/3578.diff -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/3578 You are receiving this because you are subscribed to this thread. Message ID: <rpm-software-management/rpm/pull/3...@github.com>
_______________________________________________ Rpm-maint mailing list Rpm-maint@lists.rpm.org https://lists.rpm.org/mailman/listinfo/rpm-maint