Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create extra symlinks for old SONAMES? #17

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Conversation

mdavidsaver
Copy link
Member

For ELF targets, currently only one qualified SONAME is installed libpvxs.so.0.1. This doesn't capture the third (maintenance) version of a build. So far I've been able to avoid removing/changing symbols, so code linked against older libpvxs can run against a newer release. But I have added some, so this scheme doesn't fail well if the opposite happens, newer code against older libpvxs.

I've wondering if a better way to handle this is to include the full version in the SONAME, and also create additional symlinks for older compatible releases?

eg. if I had done this so far, then a future 0.1.4 release would install

$ ll lib/linux-x86_64/libpvxs.so*
... lib/linux-x86_64/libpvxs.so -> libpvxs.so.0.1.4
... lib/linux-x86_64/libpvxs.so.0.1.0 -> libpvxs.so.0.1.4
... lib/linux-x86_64/libpvxs.so.0.1.1 -> libpvxs.so.0.1.4
... lib/linux-x86_64/libpvxs.so.0.1.2 -> libpvxs.so.0.1.4
... lib/linux-x86_64/libpvxs.so.0.1.3 -> libpvxs.so.0.1.4
... lib/linux-x86_64/libpvxs.so.0.1.4

(I think in Mach-O land this would be expressed as -current_version 0.1.4 -compatibility_version 0.1.0)

This PR an attempt to add some RULES to do this. eg. the preceding would be the result of:

COMPAT_VERSIONS = 0.1.0 0.1.1 0.1.2 0.1.3

@anjohnson Any thoughts on the ideas or method?

@mdavidsaver mdavidsaver added enhancement New feature or request question Further information is requested labels Apr 15, 2021
@mdavidsaver mdavidsaver self-assigned this Apr 15, 2021
@AppVeyorBot
Copy link

Build pvxs 1.0.453 completed (commit 534371c7b7 by @mdavidsaver)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants