Subject: Re: BUILD_DEPENDS on autoconf
To: Alistair Crooks <agc@wasabisystems.com>
From: Greg A. Woods <woods@weird.com>
List: tech-pkg
Date: 05/31/2002 12:42:07
[ On Friday, May 31, 2002 at 09:04:56 (+0200), Alistair Crooks wrote: ]
> Subject: Re: BUILD_DEPENDS on autoconf
>
> I would tend to disagree. pkgsrc is out there, and is being used
> by a large number of people. These range from instances in large
> organisations, to those of us with one box and, perhaps, a modem,
> to people trying to install a machine for a trade show, to...

People trying to do the impossible should learn new and wonderful ways
to avoid encountering insurmountable limits, such as obtaining a CD-ROM
full of pre-built binary packages.  Pkgsrc isn't possible for everyone.
You should stop pretending that it is.

> Take the pkgsrc/security/sudo package, for example. You are honestly
> trying to tell us that EVERYONE should be forced to download Perl
> to the box on which it is being built, and to build Perl as a
> pre-requisite to applying patches to the sudo package?

If someone wants to build security/sudo from source on a wimpy box
incapable of supporting perl and/or on the end of a 2400bps modem link,
then they deserve perl!  ;-)

Conveniently you've chosen an example of a package already using
autoconf-2.5x.  Unless something like my proposal to update the auto*
tools, there's no choice but to hack the configure script directly.  It
cannot be processed with the autoconf-2.13 that's tightly encoded in
pkgsrc right now.

sudo's configure.in is a good example of an extremely atrocious use of
Autoconf.  The hacks done in pkgsrc to configure.in are a good example
of a rather horrible fix that would likely never be accepted by any
author who was using Autoconf properly.

Fix it right, i.e. portably, and convince the maintainer(s) to accept
the patch.  Once that's done the necessity to fix the bogosities from
within pkgsrc will be gone just so it can be safely configured and built
will be gone.  Your proposal to revert to never using the Auto* tools
perpetuates the maintenance of bad hacks in pkgsrc that will never ever
see the light of day anywhere else those packages are used.

> pkgsrc is about building from source, yes.  But it is also designed
> to make people's lives easier, rather than harder.

You still haven't quantified the costs you perceive of using GNU Auto*
tools in realistic and common environments.

Pkgsrc does make things easier for people to build packages from source,
and it does so even when it has to apply fixes to sources that are
"compiled" by the GNU Auto* tools -- more-so in fact since it keeps
track of all the tools and procedures for you!

>  If you want to
> regenerate configure scripts from configure.in or configure.ac,
> feel free - the source is there for you. But please don't force it
> upon everyone.

On the contrary.  If _YOU_ want to avoid using the GNU Auto* tools then
_YOU_ can far more easily just keep local patches for all the
regenerated files in _YOUR_ own tree.  A simple hack to fake out the
tools you don't want to use would mean you wouldn't even have to modify
the sources.

Don't force bad software practices and unnecessary maintenance headaches
on pkgsrc.  Isn't this supposed to be about doing things right in the
first place?

-- 
								Greg A. Woods

+1 416 218-0098;  <gwoods@acm.org>;  <g.a.woods@ieee.org>;  <woods@robohack.ca>
Planix, Inc. <woods@planix.com>; VE3TCP; Secrets of the Weird <woods@weird.com>