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

Re: libtool and sonames



hi,

	and thank you all for your comments, but...

Scavenging the mail folder uncovered Marcelo E. Magallon's letter:
> >> Federico Di Gregorio <fog@mixadlive.com> writes:
> 
>  > 	i am packaging a libtoolized library and i am havin some
>  > problems on how to name the resulting package. the program
>  > (elastiC) is in early beta and the libelastic API changes quite a
>  > lot.
> 
> Then don't make a shared library of it, just a static one (read
> libtool.info).  I searched on FM and Google and nothing came up, so I
> guess this library is not being intensively used, is it?  Just provide
> a libelastic-dev, and when the API stabilizes start providing shared
> versions.

yes, that's an option but i don't want to do something inferior (static
linking) when providing a shared library is just as easy...

>  > i would very much prefer to version the library 0.14, 0.15 (or
>  > 0.0.14, 0.0.15) and so on, switching to 1.x.x when backward
>  > incompatibilities are added (plain old debian way.)
> 
> nonsense.  Please avoid the RH way of doing things.
> 
> a) You are not the author of the library, I guess.  If upstream says
>    the interface is changing, I guess he knows why.

sure.

> b) If some other people provide packages for some other distro, then
>    the packages compiled on Debian boxes won't run on non-Debian
>    boxes.  That's bad.

that's right.

> c) As Debian maintainer of the library, the only problem you have is
>    the increasing amount of packages you would be maintaining (i.e.,
>    libelastic14, libelastic15, ...)  If you really want to avoid that,
>    just don't provide a shared library.  It be neat if you could
>    provide libelastic14-dev et al, but that's not really necessary.

right. but the packages are more like libelastic14, libelastic22, ...,
libelastic123 (go, read configure.in and see what's the default way
of generating  library versioning info...)

at now, the author does not use --version-info, it uses -release instead.
i can simply provide elastic0.0.15, elastic0.0.16 and so on (with libs
packages libelastic0.0.15, etc...) but i have to produce a **new** 
package everytime the upstream author does a release. and that is *bad*.

now, in debian we have to put major version as soname. this is required by
policy. so the question is: what version number do i put in the library?
(note that programs compiled on other dists won't run anyway...) 

ciao,
federico

-- 
Federico Di Gregorio
MIXAD LIVE System Programmer                           fog@mixadlive.com
Debian GNU/Linux Developer & Italian Press Contact        fog@debian.org
  Qu'est ce que la folie? Juste un sentiment de liberté si
   fort qu'on en oublie ce qui nous rattache au monde... -- J. de Loctra



Reply to: