code duplication in ccan (was: Re: snprintf on SunOS)

Andrew Bartlett abartlet at samba.org
Sat Jun 9 00:51:51 MDT 2012


On Sat, 2012-06-09 at 01:18 +0200, Jelmer Vernooij wrote:
> On Sat, Jun 09, 2012 at 08:40:51AM +1000, Andrew Bartlett wrote:
> > On Fri, 2012-06-08 at 18:23 +0200, Jelmer Vernooij wrote:
> > > On Thu, Jun 07, 2012 at 02:34:52PM +1000, Andrew Bartlett wrote:
> > > > On Wed, 2012-06-06 at 03:13 -0700, Mihai-Radu, Orza wrote:
> > > > > Thank you for the patch. I managed to go past the asn1 linkage problem, so it helped.
> > > > > 
> > > > > But now I get the following build error:
> > > > > [ 522/3534] Compiling lib/ccan/failtest/failtest.c
> > > > > ../lib/ccan/failtest/failtest.c:8:17: err.h: No such file or directory
> > > > > Waf: Leaving directory `/tmp/samba-4.0.0beta1/bin'
> > > > > Build failed:  -> task failed (err #1):
> > > > >         {task: cc failtest.c -> failtest_1.o}
> > > > > 
> > > > > The err.h C header does not come with SunOS so I guess the compiler should use the replacement functions defined in source4\heimdal_build\replace.c. Is there some config param I'm missing?
> > > > > 
> > > > > Thanks again and regards,
> > > > > Mihai
> > > > 
> > > > In the short term, it seems you should be able to
> > > > 
> > > > rm -rf lib/ccan/failtest
> > > > 
> > > > as this code is unused.  You may have noticed I've mailed the ccan
> > > > maintainer to understand what we are going to use the code for, and how
> > > > to best handle this in the future. 
> > > This is related to something I've been wondering about for a while.
> > > Ccan reinvents the wheel and is separate from lib/util (of which it
> > > duplicates a lot) and has its own test infrastructure. 
> > One problem is that tdb2/ntdb uses ccan (but it uses a lot of it for
> > only for failtest), and is an 'independent' (or at least able to be
> > built as independent) package.  
> > 
> > We could deprecate parts of libsamba-util for ccan of course.
> > Presumably the licences also set much the same course (ccan being LGPL
> > or less to build an LGPL tdb2/ntdb).
> We used to have a single library for portability (libreplace), and one
> for common convenience functions (libsamba-util).  ccan adds yet another
> library which overlaps with both of these.

I agree that for Samba's use, the portability aspects of ccan should go
into libreplace.  Indeed, perhaps just as a ccan subdir of libreplace
(if ccan is intended to be copied into projects, why not just copy it
into the right part of our project?).  

Andrew Bartlett

-- 
Andrew Bartlett                                http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org



More information about the samba-technical mailing list