On 2023-02-17 20:14, John Reiser wrote:
On 2023-02-18 @ 03:03 UTC, Gordon Messmer wrote:
use libtool-style versions collected from library filenames to provide
versioned library requirements
How does this affect the output from "readelf --symbols --version-info
foo.o"
which displays symbols and symbol versions? How much more space is
required
in an ET_REL file?
This feature wouldn't change the contents of any ELF files, it just
improves the rpm dependencies, e.g "Provides: libnghttp2.so.14()(64bit)
= 14.24.1" and "Requires: libnghttp2.so.14()(64bit) >= 14.24.1"
Packages built on a system where the _elf_require_fallback_versions
macro was enabled would not be usable on a system that was built
without the _elf_provide_fallback_versions macro enabled.
Packages built on a system without the _elf_provide_fallback_versions
could not be used on Fedora as replacements or alternatives to Fedora
dependencies, after the _elf_require_fallback_versions macro was
enabled in Fedora.
That sounds to me like "not compatible in any way." That is, any
attempt at using
both old packages and new packages together, will fail. I don't like that.
That means that nobody can interact with Fedora packages unless they adopt
the proposed change; and that is very unfriendly.
It's not quite like that. Fedora packages will both provide and require
versioned libraries.
Old leaf packages and third-party leaf packages that don't adopt the new
feature would still be usable with their Fedora dependencies, since they
wouldn't have versioned Requirements that would create any conflict.
The point where compatibility becomes an issue is the use of old
packages or third-party packages that don't Provide versioned virtual
packages to fulfill the requirements of Fedora packages. Because Fedora
package dependencies must be fulfilled entirely by other Fedora packages
as a matter of policy, this potential incompatibility really only
affects packages that are intended to replace a Fedora package. Those
would need to be built with the improved ELF dependency generator in
order to satisfy the requirements of Fedora packages.
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue