[csw-maintainers] Shared library placement proposal

Jonathan Craig jcraig at opencsw.org
Tue Feb 15 18:34:34 CET 2011


On Mon, Feb 14, 2011 at 10:10 PM, Ben Walton <bwalton at opencsw.org> wrote:
> Well, let's decide this issue then.  Before going to a vote, is anyone
> against the proposal[1] as currently written?  If there are no
> dissenters, we can simply make it policy and carry on with this
> matter.
>

The only section I felt was somewhat harry was the portion that spoke
about linking to an older library.  This portion pre-supposes a
solution to this problem when it hasn't really been discussed (at
least in the context of this policy).  I think the subject of how to
enable access to older libraries for end-user developers merits its
own discussion and/or policy.  The method described in the document
has some serious downfalls and I would prefer a method more like the
one used by ubuntu.  This places the include.h and the libfoo.so link
into a versioned package like libfoo2.0-dev.  This allows the end-user
to choose the default development version of the library to use with
builds by choosing the approriate -dev package.  The libfoo-rt package
then would only have the libfoo.so.1 file needed by executables.

Example:
appfoo1
  /opt/csw/bin/appfoo (depends on /opt/csw/libfoo.so.1)

libfoo1rt
  /opt/csw/lib/libfoo.so.1

libfoo1-dev
 /opt/csw/include/foo.h
 /opt/csw/lib/libfoo.so -> libfoo.so.1

appfoo2
 /opt/csw/bin/appfoo (depends on /opt/csw/libfoo.so.2)

libfoo2rt
 /opt/csw/lib/libfoo.so.2

libfoo2-dev
 /opt/csw/include/foo.h
 /opt/csw/lib/libfoo.so -> libfoo.so.2

Now libfoo1rt and libfoo2rt can coexist and the end-user can choose
which library they want to develop against by choosing the appropriate
-dev package.


More information about the maintainers mailing list