third_party (ex-lib_3p) now ready for review.
jelmer at samba.org
Sat Jul 26 10:49:58 MDT 2014
On Sat, Jul 26, 2014 at 09:38:04AM -0700, Ira Cooper wrote:
> On Sat, Jul 26, 2014 at 8:26 AM, Jelmer Vernooij <jelmer at samba.org> wrote:
> > On Wed, Jul 23, 2014 at 10:02:23AM -0700, Ira Cooper wrote:
> > > On Wed, Jul 23, 2014 at 9:48 AM, Jelmer Vernooij <jelmer at samba.org>
> > wrote:
> > > > On 23 July 2014 17:20:31 BST, Ira Cooper <ira at samba.org> wrote:
> > > > >Checks for specific libraries don't belong under buildtools/wafsamba/,
> > > > >> which is our set of support libraries on top of waf. Please add
> > > > >> these checks in wscript or wscript_third_party or something
> > > > >> like that.
> > > >
> > > > >I wasn't a fan of it either... but adding the changes to wscript is
> > > > >just
> > > > >ugly and stops us from reusing them properly.
> > > > I doubt it would be that much code. Zlib is only used by samba itself.
> > For
> > > > the others, we can just use pkg gonfig. Also, we'll have to do this
> > > > eventually anyway when we split these libraries off from the main samba
> > > > repo.
> > > Any code duplication when it comes to maintaining that type of
> > information
> > > is asking for trouble, IMHO. I'd like other people's feedback on this
> > > issue before I make that type of change that I really tried to avoid.
> > >
> > > Also pkg-config is not the only way to detect libraries. I want to
> > > maintain the most compatibility we can with the current system, while
> > > making this change.
> > The only library for which this is relevant (because it's not just
> > used by Samba, but by ldb and tdb too) is popt. The detection code for
> > popt is a single line:
> > conf.CHECK_BUNDLED_SYSTEM('popt', checkfunctions='poptGetContext',
> > headers='popt.h')
> What happens when we want to change the detection logic?
What sort of change do you expect to this line of code?
Also, why does the logic need to be the same? tdb might need a newer version of popt
than ldb or samba. It might want to check for the presence of a function that was
recently added. We might want to blacklist a broken popt version in the future because
it triggers a bug in the way Samba (and Samba alone) uses popt.
There isn't just one single "system popt". There are multiple different
versions that can be installed. This check makes sure that there is a popt installed
that can be used by whatever (tdb, ldb, samba) is doing the check.
More information about the samba-technical