The library ABI and API is backwardly compatible, so it does not
make sense to change the library SONAME. This patch adds a symbol
versioning, naming paradigm is:
BLKID_<maj>.<min>
The original libblkid from e2fsprogs uses "1.0" as a .so version and
"libblkid.1" as a SONAME for all time (at least according to stuff in
/lib/libblkid*)
And the original library is without symbols versioning. It means that
many private functions are exported to applications ;-(
Note that the original blkid_get_library_version() returns
E2FSPROGS_VERSION. The version in util-linux-ng returns BLKID_VERSION
which is <maj>.<min>.<rel>. The <maj>.<min> is the same version as we
use for ABI. This concept seems less confusing than mix a library
version and package version.
Summary:
OLD (e2fsprogs):
ABI versioning: -none-
SONAME: libblkid.1
.so version: libblkid.so.1.0
blkid_get_library_version(): @E2FSPROGS_VERSION@ (e.g. 1.41.1)
NEW (util-linux-ng):
ABI versioning: BLKID_<maj>.<min>
SONAME: libblkid.1
.so version: libblkid.so.<maj.<min> (e.g. 1.41)
blkid_get_library_version(): @BLKID_VERSION@ (e.g. 1.41.1)