Subject: Re: BUILD_DEPENDS on autoconf
To: NetBSD Packages Technical Discussion List <tech-pkg@NetBSD.ORG>
From: Greg A. Woods <woods@weird.com>
List: tech-pkg
Date: 06/18/2002 23:53:14
[ On Tuesday, June 18, 2002 at 22:57:20 (+0100), Nick Hudson wrote: ]
> Subject: Re: BUILD_DEPENDS on autoconf
>
> On Tuesday 18 June 2002 9:35 pm, Greg A. Woods wrote:
> > Perl _IS_ needed whenever a package in pkgsrc requires modifications to
> > its GNU Auto* subsystem.
> 
> I guess packages distribute these autogenerated files for a reason...

Indeed they do distribute the product files generated by the GNU Auto*
tools for a very good reason -- the GNU Auto* tool authors and
maintainers do not expect the average end user who is manually building
the package to have to modify the sources for those autogenerated files,
and thus they do not expect every end user to be a developer and to
install all of the tools a developer might need to use in order to
successfully and properly modify the sources for those autogenerated
files.

However pkgsrc does not "manually build" such things -- it is a
framework that must take many things into account.  Often it is
necessary to modify/fix the sources to those autogenerated files in
order to make the package work properly within the pkgsrc framework.
The only sane way to make such modifications is to modify the sources
and to regenerate those autogenerated files using the appropriate tools.
Furthermore there are several factors, not the least of which is good
software hygiene, which make it highly desirable that the regeneration
be done at build time, not at the time a pkgsrc module is created (the
latter would require patching those autogenerated files, and doing that
is very bad software hygiene -- never modify a product file!).  In this
scenario the pkgsrc framework is acting as a developer (not an end user)
and thus it only makes sense for pkgsrc to use the same tools any other
developer would be required to use in order to make changes to the
sources of the package.

If you don't want to have anything to do with the GNU Auto* tools, other
than as an end user of their output products, then I humbly suggest that
you avoid using pkgsrc directly and that you either manually build and
install such software on your own (and hope you don't have to tweak the
Auto* sources too), or that you simply use the binary packages which can
be generated by pkgsrc and officially supplied on ftp.netbsd.org.

-- 
								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>