Subject: Re: hidden dependencies, Act II
To: Frederick Bruckman <fb@enteract.com>
From: Johnny C. Lam <lamj@stat.cmu.edu>
List: tech-pkg
Date: 06/13/2001 16:24:43
Frederick Bruckman <fb@enteract.com> writes:
> 
> On Wed, 13 Jun 2001, Johnny C. Lam wrote:
> > I was envisioning that
> > we commit the pkgautoconf stuff, then just go through the packages
> > one-by-one to convert them as the need arises.  Not all packages that
> > use GNU configure need to be run through pkgautoconf, so that
> > simplifies things for us initially.
> 
> I do have some lingering doubts about your plan as I see it. If you're
> going to go through the packages one-by-one anyway, why not just fix
> the system-wide m4 macros to conform to your view? First of all,
> there's nothing seriously broken in pkgsrc right now -- we have tools
> to help with the missing dependencies problem (bulk builds,
> check-shlibs), and from a support point of view, if one slips by, the
> work around is simple and obvious. Secondly, there are lots of little
> hacks to "configure" and "configure.in" duplicated throughout pkgsrc,
> as the same problems are solved over and over. I think it would be
> great to collect those in /usr/pkg/share/autoconf, even if it makes us
> use autoconf more, in the hopes that one day autoconf will take up the
> changes. I think /usr/pkg/share/autoconf would be the place to reverse
> the defaults.

It's not _missing_ dependencies that are the problem; it's the
inadvertant linking against installed libraries just because they
happen to exist at build time that cause "hidden" dependencies that's
the problem.  This is the stuff that can't be picked up by bulk
builds as packages are built using a minimal pkg tree.

Regarding patches to system-wide m4 files, that's exactly what the
pkgautoconf package is: patches to two of the m4 files installed by
autoconf, but installed into a new location
(/usr/pkg/share/pkgautoconf), so that it doesn't conflict with the
autoconf package and so that users expecting certain behaviour from
autoconf get it unless they explicitly use pkgautoconf.

	Cheers,

     -- Johnny C. Lam <lamj@stat.cmu.edu>
        Department of Statistics, Carnegie Mellon University
        http://www.stat.cmu.edu/~lamj/