[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: About FASTX-Toolkit and its possible redistribution in Debian.



Hi,

On Thu, Jul 02, 2009 at 07:12:22PM -0400, Assaf Gordon wrote:
> The version of the library is 0.4 (MAJOR:MINOR) simply because I've  
> released the (static) library 3 times, each time adding minor features.
>
> To this latest version (0.4), I add the dynamic library build.
> The library version stays 0.4, but the dynamic version  
> (CURRENT:REVISION:AGE) starts from 0:0:0.

OK.

> On the next release (with more features), the library version will 0.5,  
> and the dynamic version will be 1:0:1 ?

The dynamic version change depends on how your library interface
changes.  If there are no changes at all to the public header files, it
should be left at 0:0:0.  Again, see the libtool manual for what
interface changes imply what library version increments:

http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info

> Now, about the directory and file names:
> should they contain the version number (0.4) ?

That is not needed.

> I read somewhere online[1] a recommendation to have the version number  
> in the static library file name and the include directory, as so:
> /usr/lib/libgtextutils-0.4.a
> /usr/include/gtextutils-0.4/gtextutils/*.h

While the header directory is debateable (see below), versioning the
static library looks like overkill to me (and I don't think the page
you referenced recommends that but it is not very clear on this).

> Which will allow multiple versions of the library to co-exist peacefully  
> together (even if we disable the static library for debian, there's  
> still the issue of the include path).
>
> Should I keep this ?

Well, it really depends on how much your library fundamentally changes
over time.  For most libraries, it is safe to assume that developers
will install the version they want to develop against, i.e. usually the
current release.

Also note that even for important libraries like GTK, the
filename/include directory name only gets revved for a major API change
(from GTK-1.x to GTK-2.x), not for every new version.

In practise, unless a library is used by a large number of other
libraries or applications, parallel installability for developers is not
a big concern and so the vast majority of libraries do not do this.

> Also, should the '.pc' file be named 'gtextutils-0.4.pc' or  
> 'gtextutils.pc' ?

I recommend just gtextutils.pc.


cheers,

Michael


Reply to: