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

Re: How package a binary library with unversioned soname?



On Sun, Sep 30, 2007 at 11:08:22PM -0700, Russ Allbery wrote:
> Nikolaus Schulz <microschulz@web.de> writes:
> 
> > I am packaging printer drivers from Canon, see [1] for the ITP and some
> > notes about that very peculiar, awkward beast.  These drivers are only
> > partly free software, they come with non-free, binary-only libraries.
> > While this is bad enough, unfortunately the libraries have unversioned
> > sonames, and I see zero chance to have upstream (Canon) fix this.
> 
> > So, one cannot produce valid shlibs files for these libraries.  But
> > these are required by policy.  That is, as Steve Langasek has pointed
> > out in [2], the policy de-facto requires libraries to have versioned
> > sonames.
> 
> Policy doesn't require valid SONAMEs for private shared libraries specific
> to a particular application.  The SONAME requirement is to allow
> reasonable handling of library changes and upgrades of packages that built
> against the libraries, which only applies if the libraries are in a
> separate package from the programs that use them.  If you have a program
> that contains some binaries linked with private libraries, Policy doesn't
> really care what those libraries are like provided that they're
> self-contained within that package and are installed in a subdirectory of
> /usr/lib.
[snipped policy section]
> It sounds like you should try to treat these upstream shared libraries
> under this exception as private libraries for the binaries built by this
> package rather than trying to use them as first-class shared libraries.

Upstream has provided about half a dozen, separate utility packages, and at
least two link against the said libraries.  One could argue if these packages
*should* be separate, but they are.  So I guess the libraries aren't private
package-wise, and this isn't possible, right?  

Also, it would be nice to package the libraries separately, since this allows
to have as much of the GPL licenced code[1] go into contrib, and only the libs
themselves go into non-free.  But this runs into the shlibs problem...  

I suspect there is no clean solution here; but I wonder what's best.
What do you think? 

Nikolaus

[1] There is no legal conflict here, since the licence includes an
    exception allowing to link against the binary libraries.

Attachment: signature.asc
Description: Digital signature


Reply to: