[OpenAFS-devel] Re: [OpenAFS] jafs et al

Derrick J Brashear shadow@dementia.org
Fri, 16 Mar 2007 09:14:54 -0400 (EDT)


On Fri, 16 Mar 2007, Russ Allbery wrote:

>    -lbos
>    -lvolser
>    -lvldb
>    -lafsrpc
>    -lafsauthent
>    -lcmd
>    -lusd
>    -laudit
>    -lutil
>    -lutil -lafsrpc -lutil
>    -lutil -lafsauthent -lutil

realistically, libadmin is supposed to be for this purpose, but it's 
probably not "right" yet either.

> I would like to be able to build the AFS Perl module against shared
> libraries.  I have not formed an opinion about what shared libraries that
> additional code belong in.

> I expect symbol versioning to do what symbol versioning does, namely to
> provide a mechanism for maintaining a stable ABI even when introducing new
> function signatures so that the library ABI doesn't have to be changed
> unnecessarily and so that the SONAME can remain fairly stable.  A stable
> SONAME is important for packaging to avoid unnecessary shared library
> transitions and backward compatibility issues when building related
> programs.  There are lots of web pages out there about what symbol
> versioning is used for; I want it for all of the standard reasons.

The soname should be what it always is: a name. When you add stuff, bump 
the minor so version. When you change stuff, bump the major version. Of 
course, the tools don't actually necessarily work right when you do this, 
but there's no excuse for that. It dates to SunOS 4. Of course, we have to 
live in the world we've got, not the one we should have.