ccan dependencies seems to break external projects

Stephen Gallagher sgallagh at redhat.com
Sun Feb 26 17:47:38 MST 2012


On Fri, 2012-02-24 at 15:57 +1030, Rusty Russell wrote:
> On Thu, 23 Feb 2012 09:22:11 -0500, Stephen Gallagher <sgallagh at redhat.com> wrote:
> Non-text part: multipart/signed
> > On Thu, 2012-02-23 at 17:03 +1030, Rusty Russell wrote:
> > > Versioning is a very blunt instrument: it forces all users to update in
> > > lockstep.  It only realy makes sense for some limited modules which
> > > really do have stable APIs, such as ccan/hash.  For that, we would save
> > > some footprint by only having one copy.
> > 
> > Just to make the discussion less ambiguous, can you please list the CCAN
> > modules that samba uses, along with which ones you feel have "stable"
> > vs. "unstable" APIs?
> 
> Well, SAMBA uses everything in lib/ccan/*, which is growing, but
> currently consists of:
> 
> These are simply headers, so no ABI to speak of, so we'll ignore them:
>         array_size
>         asearch
>         build_assert
>         cast
>         compiler
>         endian
>         strset
>         typesafe_cb
>         likely (unless CCAN_LIKELY_DEBUG is defined)
> 
> These have actual source behind them, thus might be a concern:
>         hash
>         htable
>         ilog
>         str
>         tally
> 
> Of those, TDB2 uses (directly or indirectly):
>         hash
>         ilog
>         tally
> 
> > I'd like to see if at least the stable ones could simply be packaged as
> > individual shared libraries.
> 
> hash and ilog are pretty sane, and easy to 'bless' as API-stable.  But
> tally is a hack, and I'd really need to do some work on it to take that
> step (it's used to draw ASCII graphs for tdb_summary with the
> TDB_SUMMARY_HISTOGRAMS options, which is actually really useful).
> 
> We could remove that option from TDB2 for the moment. 


Instead of removing it from TDB, can we just make it a configure option?
Then we can build a version of TDB that contains only the "stable" API
libraries (which could be installed as shared system libs) and distros
could just choose to not carry the histogram feature  until we get
around to stabilizing the API sufficiently to package it.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20120226/8576c844/attachment.pgp>


More information about the samba-technical mailing list