]> err.no Git - util-linux/commit
blkid: start to use ABI versioning
authorKarel Zak <kzak@redhat.com>
Tue, 10 Feb 2009 16:20:11 +0000 (17:20 +0100)
committerKarel Zak <kzak@redhat.com>
Fri, 13 Feb 2009 10:36:59 +0000 (11:36 +0100)
commita0487b1cb5beffb8f6783476664b01e8833e0ea8
treeadd0cb49636b67bcff8890004f85d28cf258d799
parentb446754d27314fde979ead61633d9d9bbca21379
blkid: start to use ABI versioning

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)

  (BLKID_VERSION = <maj>.<min>.<rel>)

Signed-off-by: Karel Zak <kzak@redhat.com>
configure.ac
libs/blkid/bin/blkid.c
libs/blkid/src/blkid.sym