ccan dependencies seems to break external projects
Rusty Russell
rusty at ozlabs.org
Thu Feb 23 22:27:59 MST 2012
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.
Thanks,
Rusty.
More information about the samba-technical
mailing list