Skip to content

Commit

Permalink
Revert soname change
Browse files Browse the repository at this point in the history
The soname is equal to major version minus age.
In version 2.31.0 the major version is 2 and the age is is set to 0.
In versuin 2.31.1 the major version is 2 and the age is is set to 1.
This means the soname goes backwards from 2 to 1.
The full library version changes from 2.0.31 to 1.1.31

The soname should not go backwards, so this soname change looks like a
mistake that should be reverted.

The major, minor, age for a library should change in one of three ways:

1) increase major by one, reset minor and age to 0.
2) increase major by one, reset minor to 0 and increase age by 1.
3) increase minor by 1, retain the values of major and age.

1) is for non-backward compatible changes to the library (changes or
removals to the old ABI). Soname changes and applications using the
library must be recompiled.

2) is for when there are ABI additions to the library, but no ABI
changes or removals. Application compiled against the old version of
the library don't need to be recompiled, and the soname (major version
minus age) does not change.

3) is for minor updates with no ABI additions, changes or removals.

The major, manor, patch version of the software project should not be
used as major, minor, age for the library. Especially true for using
the patch version as age, because that means the soname goes backwards
for patch releases as happened here.
  • Loading branch information
ellert committed Jan 7, 2025
1 parent 28305ad commit 7c3e92b
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ include mem/Makefile.am
# LIB version info not necessarily the same as package version
LIBISAL_CURRENT=2
LIBISAL_REVISION=31
LIBISAL_AGE=1
LIBISAL_AGE=0

lib_LTLIBRARIES = libisal.la
pkginclude_HEADERS += $(sort ${extern_hdrs})
Expand Down

0 comments on commit 7c3e92b

Please sign in to comment.