Subject: "check-depends"
To: None <tech-pkg@netbsd.org>
From: Todd Vierling <tv@pobox.com>
List: tech-pkg
Date: 05/24/1999 21:20:03
Okay, so "what the hell is this?":

On Mon, 24 May 1999, Todd Vierling wrote:

: 	pkgsrc/mk: bsd.pkg.mk

: - Add a new target, "check-depends", which is called as part of "real-fetch".
:   This validates whether the dependencies of a pkg to be built are installed,
:   and if not, whether those dependencies will prospectively build (will
:   not set IGNORE directly or indirectly through the various disable options).
:   Recurses to "depends" with a DEPENDS_TARGET of "check-depends".
: 
: ...And now, it is no longer necessary to mark dependent pkgs as unusable
: when their dependencies are unusable thanks to an incorrect LICENSE,
: _FOR_PLATFORM setting, and so forth.  The check-depends step will validate
: everything before fetching a single file.

In much fewer words, this means that if you have package FOO that depends on
package BAR, and BAR has "NOT_FOR_PLATFORM=NetBSD-*-alpha", you don't have
to have the same NOT_FOR_PLATFORM in FOO's makefile; BAR will automatically
abort without fetching files.

For example, in prior bulk pkgsrc builds, Tim had to do a lot of adding
"NOT_FOR_ARCHS=alpha" to a bunch of pkgs that depended on gtk+ or gnome.  
That's now no longer necessary.

Note that "check-depends" can be skipped, to save time, by setting
NO_CHECK_DEPENDS in mk.conf or the commandline or environment.  Just make
sure all the dependencies of a pkg work before setting this.  :)

After all of this bsd.pkg.mk rototilling, I think my head is spinning.  I am
going to do more aesthetic cleanup of bsd.pkg.mk yet, without changing any
functionality until the proposals (to be merged, revamped, and reposted)
have more eyes looking at them.

-- 
-- Todd Vierling (Personal tv@pobox.com; Bus. todd_vierling@xn.xerox.com)