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

Re: Virtual packages for shared libraries?



Greetings, and thanks for your reply!  Please let me see if I
understand.

Right now, I have packages atlas2-{base,p3,athlon}[-dev] which have
'Provides: atlas2' in control.  The shlibs.local file has simply
'libatlas 2 atlas2', etc.  In addition, there is a package atlas-test
which has 'Depends: ${shlibs:Depends}' in control and is correctly
filled in with 'atlas2' on package build.  And any of the
{base,p3,athlon} packages are fulfilling this dependency of atlas-test
on my test installations.  Note that all version numbers have been
omitted, as, as you state and the policy manual mentions, versioned
dependencies are never fulfilled by virtual packages, and Provides can
never specify a version.

So my two questions more succinctly:

1) Is this setup OK?  I.e., can I just have atlas2 in shlibs.local?
   My plan is to change the soname whenever backward compatibility
   breaks, so I really don't need the source version -- the soname is
   in the virtual package name.

2) My real question pertains to search directories.  These packages
   also provide libblas.so.2 and liblapack.so.2, but no naming
   convention/-soname= compile option that I'm aware of will allow
   these libs to coexist with the versions supplied by blas and lapack
   together in the same /usr/lib directory.  As I wanted people to be
   able to switch the libs at runtime without recompiling, I stuck
   them in /usr/lib/atlas.  So these packages 'provide' blas and
   lapack ONLY when LD_LIBRARY_PATH is set at runtime.  Is it still OK
   to list these provides, and make a note in README.Debian?

(Not so succinct after all -- sorry!)

Please again cc me directly...

Thanks!

Wichert Akkerman <wichert@wiggy.net> writes:

> Previously Camm Maguire wrote:
> > Greetings!  If package A provides shared lib libfoo.so.2 in /usr/lib,
> > and package B provides an equivalent lib in /usr/lib/<subdir>, can
> > package B list 'Provides: foo' in its control, even though any
> > packages depending on libfoo.so.2 would only run when package B was
> > installed when LD_PRELOAD or LD_LIBRARY_PATH was set?
> 
> No. Provides doesn't deal with versioned dependencies currently
> anyway so it won't work.
> 
> Wichert.
> 
> -- 
>   _________________________________________________________________
>  /       Nothing is fool-proof to a sufficiently talented fool     \
> | wichert@wiggy.net                   http://www.liacs.nl/~wichert/ |
> | 1024D/2FA3BC2D 576E 100B 518D 2F16 36B0  2805 3CB8 9250 2FA3 BC2D |
> 
> 

-- 
Camm Maguire			     			camm@enhanced.com
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah



Reply to: