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

Re: package names for library modules (was: shlibs vs symbols)



On Tue, 2008-02-05 at 09:37 +0100, Raphael Hertzog wrote:
> Hi,
> 
> On Tue, 05 Feb 2008, Paul Wise wrote:
> > I was reviewing a library package RFS (libthai) and I noticed that the
> > shlibs pointed at version X and all the symbols in the symbols file
> > pointed at an earlier version. Here I assume that the shlibs should be
> > changed to point to the earlier version?

> > libqof-backend-qsf0: shlibs no version, symbols all 0.7.3, changelog goes way back
> > libqof1: shlibs no version, symbols all 0.7.2, changelog goes way back
> 
> Strange, stable has 0.7.1... and lack of version in shlibs is probably a
> bug, but one that can't be triggered except by building on etch with a
> dpkg-dev that doesn't support symbols files yet.

Looks like old data - 0.7.5 is current in unstable and has:
libqof-backend-qsf0 
shlibs:Depends: libglib2.0-0 (>= 2.6.0), libqof1 (= 0.7.5-1), libxml2
(>= 2.5.10)
libqof1
shlibs:Depends=libgda3-3, libc6 (>= 2.7-1), libglib2.0-0 (>= 2.12.0)

True, the symbols version differs but, TBH, libqof-backend-qsf0|sqlite0
are a bit of an anomaly at the moment. I'm waiting for the transition to
libqof2 at which point the backend modules will be renamed and
repackaged as private libraries. I've decided to wait until after Lenny
to make the transition - the upstream code will not be ready until after
the main Lenny freeze has begun.

Symbols were only implemented in 0.7.3 and I saw no point going back to
0.7.1, just show that the symbols in 0.7.3 were compatible with 0.7.2.

After the transition, the backend modules will no longer be shlibs so
there will be no symbols for those, just libqof2 which will start at
0.8.0 (a lot of symbols are being removed in the transition).

Actually, this reminds me of a question for debian-devel:

Is there a convention for the package name for *library modules* ?

GDA has modules that are loaded by a library and which are optional -
the user can choose from one of a few backend modules.

QOF has a very similar mechanism - the backends are modular (GModule)
and entirely optional (as long as at least one is available). After the
transition, these will be private libraries and I'm thinking of using
the names:

libqof2-backend-qsf
libqof2-backend-sqlite

This is similar to the new package names for the GDA backends:
libgda3-mysql, libgda3-postgres, libgda3-odbc, libgda3-sqlite,
libgda3-freetds - which were changed from the equivalent packages for
libgda2.

QOF also supports modular object libraries to support a variety of
frontends. These are shlibs and are currently named as:
libqofexpensesobjects0
libqofcashobjects0 ...
(with -dev, -dbg etc. as normal)

Applications then mix-and-match object libraries (and/or their own
objects) at compile time and call routines in libqof1|2 to dynamically
load the backend module as requested by the user.

The transition is the perfect time to change the names of the other
components.

Comments?

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/


Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: