Patch to remove zlib.

Andrew Bartlett abartlet at samba.org
Sun Jul 13 21:50:20 MDT 2014


On Mon, 2014-07-07 at 12:46 -0400, Ira Cooper wrote:
> Note: To apply it  unxz it then use git am --ignore-whitespace , otherwise
> you may have issues.  (xz was used to save the list a good bit of space...
> it's over 500k gzipped.)
> 
> As far as why: I listened to metze/vl.  I disagree with them.
> 
> I believe that third party (non Samba Team developed) libraries do not
> belong in the tree.  They are asking for trouble long term, IMHO.

> Consider this patch the first step down the path to cleaning up these
> libraries.

Ira,

Can we step back a moment and describe what problem you are trying to
solve?  In your initial mail, you said you did not want to carry it
around for others to "step in", and here you say "They are asking for
trouble long term, IMHO."  I can guess what you mean, but it would be
helpful if you could express this in more detail, because we need to
weigh that up against the reasons we included the libraries in the first
place.

We currently have a practice of bundling libraries that we need, where
they are helpful to have on systems we build Samba on, particularly
those beyond the world of packaged Linux.

We have this practice for a number of reasons:
 - the build farm is a very difficult environment to add additional
dependencies on
 - some consulting customers are particularly sensitive to installing
additional software
 - we have long prided ourselves on how portable Samba is, and that it
'just works' on a large number of systems.

However, the biggest reason we do this is to allow us to use external
software libraries in core parts of Samba without first having a
massive, unproductive argument on the list about the dis-merits of
needing yet another library, and so yet again re-writing that component
internally (because doing so is superficially easier). 

zlib and popt are both very stable, essentially unchanging elements of
code.  Both have not had releases for years, and consume a tiny fraction
of our tarball.  Having them always available does make our life easier.

The Reductio ad absurdum or straw man goes both ways:  Why don't we
bundle a the C library also, or why don't we get rid of everything,
including Heimdal, talloc and tdb.  The key here is getting the
balance. 

As already discussed, making it optional just moves the problem from
AIX/Solaris users to OpenChange deployments, probably involving just as
many users, so this isn't reasonable. 

If it wasn't for the build farm, then I would be in favour of making
zlib (but not pkg-config, or popt) a mandatory external dependency,
given it is so very widely available.

If this was accompanied by patches to our build farm scripts to fetch
and locally install zlib, then I could be persuaded to be in favour.

Finally, I'll note that at times like this it feels attractive to wonder
why we try and be 'one big project', but I will say this:  These small
pains are nothing compared with what we would endure trying to
coordinate everything we do and the positive changes we continue to make
as different projects. 

(I'll speak about some of the other proposals raised elsewhere in the
thread.  )

I hope this helps,

Andrew Bartlett

-- 
Andrew Bartlett
http://samba.org/~abartlet/
Authentication Developer, Samba Team  http://samba.org
Samba Developer, Catalyst IT          http://catalyst.net.nz/services/samba






More information about the samba-technical mailing list