Re: nonpublic shared libraries (repost; was: Re: dh_shlibdeps in = warnings; dh_shlibdeps out = cyclic dependency on self)
On Sun, Sep 11, 2005 at 06:12:02PM -0500, Peter Samuelson wrote:
> [Justin Pryzby]
> > In which case, should the shared libraries go into a separate package?
> I wouldn't bother unless there are multiple binary packages already
> which will require the library, and they don't already depend on each
> other. And this is probably a fairly rare case.
> Basically, if there's no reason for anyone to install the library
> package but *not* the binary package that requires it, then there's no
> reason the library package should be separate.
> > What should they be named (filenames and sonames)? Should they be in
> > /usr/lib/ or in /usr/lib/pkg/? If /u/l/pkg/, what is the recommended
> > way of linking them (LD_LIBRARY_PATH, maybe, but surely not rpath)?
> /usr/lib/pkg/, and I would use rpath. Why not? The problems with
> rpath do not apply to the case where libraries and binaries are tightly
> coupled, like they're built from the same source and are in the same
> binary package.
Well, rpath was an utter failure for me, in my shared library
endevours with IRAF, because it creates an ELF program "mkpkg" which I
wanted to be linked against the shared libraries. Using rpath would
make building immensely more complicated, probably requiring a
separate -libs package, on which a separate -rpath package depends AND
build-depends, and on which all other packages depend and
build-depend. Which means that I can no longer build the whole thing
(from scratch) with "debuild"; I'd have to build just the libs, and
then install them, and then build just mkpkg, and then install it, and
then build the rest. I don't know if this is an acceptible build
scenario, since the binary packages build-depend on other binary
packages built from the same source package. Even if it is acceptible
(maybe because of the initial upload of the -libs and -mkpkg binary
packages?), I think it sucks, possibly for different reasons than why
other people think so.