Subject: Re: BUILD_CONFLICTS?
To: Hubert Feyrer <hubert.feyrer@informatik.fh-regensburg.de>
From: Greg A. Woods <woods@weird.com>
List: tech-pkg
Date: 01/02/2003 18:51:15
[ On Saturday, December 28, 2002 at 16:12:37 (+0100), Hubert Feyrer wrote: ]
> Subject: Re: BUILD_CONFLICTS?
>
> On Sat, 28 Dec 2002, Frank Cusack wrote:
> > Is anyone "warm" to the idea of a BUILD_CONFLICTS var?  I'm thinking
> > specifically of a case where a [pkg-] installed library causes a
> > package being built to link against it; but you don't want the runtime
> > dependency.  It may be easier to just have a BUILD_CONFLICTS than to
> > "fix" config scripts.
> >
> > Or if something like this already exists, let me know. :-)
> 
> The only situation where this would make sense (you want to make a binary
> pkg, but not really install/use the pkg) is during bulk builds, and they
> have other ways to fix that problem properly (by not having anything
> unneeded installed).

That's not quite true, at least not for all of today's pkgsrc, though
it's slowly getting closer to being true.

In fact the bulk builds, while being successful at making correct binary
packages, are not doing anything at all to make pkgsrc as a whole more
robust and usable -- possibly quite the opposite I'm afraid.

Generally speaking it should always be possible to make a proper and
complete binary package no matter what other packages are installed when
the package is built.

In some cases though there are only two truly correct ways to do this:
(1) dumb down the package's configuration script so that it doesn't go
looking for things that it's not supposed to find; or (2) use a new
invention like BUILD_CONFLICTS.  The latter is often _much_ easier.

The mechanism chosen by the bulk build scheme is not really correct, at
least not if you agree with my "generally speaking" claim above -- it's
just a "fail-safe" hack to make sure things work 100%.

(Also, if ever there's any official support for installing packages in
/usr then even more care must be taken because many configure scripts
will make different assumptions about how the package should be built.
For example mozilla and its derivatives will no longer build if openldap
is installed.  This is of course a bug in mozilla's configuration
mechanism, but it appears to be quite hard to fix "properly", at least
for someone like me who's not really very familiar with the details of
mozilla's configuration and build mechanisms.)

-- 
								Greg A. Woods

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