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

Add detailed instructions for making both patch and major/minor release #1471

Merged

Conversation

cary-ilm
Copy link
Member

This documents the way I've been doing it, I'm certainly open to improvements. Certainly a lot of this could conceivably be automated.

The key element for a patch release is the SO version and ABI compatibility, and our SO numbering scheme still needs simplification.

This documents the way I've been doing it, I'm certainly open to
improvements. Certainly a lot of this could conceivably be automated.

The key element for a patch release is the SO version and ABI
compatibility, and our SO numbering scheme still needs simplification.

Signed-off-by: Cary Phillips <cary@ilm.com>
Copy link
Contributor

@meshula meshula left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is thorough and precise, thanks for putting in the effort to write it up! I didn't spot any issues.

@kmilos
Copy link

kmilos commented Jun 30, 2023

As pointed out elsewhere, it would seem your patch/minor/major update policy w.r.t. SO versioning has, in fact, nothing to do w/ libtool's policy, and is more akin to semantic versioning, no?

In that case, may I suggest eliminating libtool's "current", "revision", and "age" terminology everywhere (and references to libtool) to help avoid potential confusion in the future?

@cary-ilm
Copy link
Member Author

cary-ilm commented Aug 1, 2023

I've updated these instructions based on #1498. which retires any attempt at libtool versioning, and any mention of libtool in the documentation. We now simply append the major.minor.patch semantic release version to the SONAME, so the real file name of the shared library will take the form libOpenEXR.so.31.3.2.0, where 31 is the ABI's SO version, and 3.2.0 is the release version. This has the advantage that no SO versioning info needs to be altered on patch releases.

@cary-ilm cary-ilm merged commit 8f8be50 into AcademySoftwareFoundation:main Aug 1, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants