Subject: pkg/15539: make fetch-list doesn't do the right thing at all
To: None <>
From: Frederick Bruckman <>
List: netbsd-bugs
Date: 02/08/2002 10:21:03
>Number:         15539
>Category:       pkg
>Synopsis:       make fetch-list doesn't do the right thing at all
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Feb 08 08:22:01 PST 2002
>Originator:     Frederick Bruckman
>Release:        NetBSD 1.5.3_ALPHA
System: NetBSD 1.5.3_ALPHA NetBSD 1.5.3_ALPHA (TAUTOLOGY) #1: Sat Jan 19 22:47:45 CST 2002 i386
Architecture: i386
Machine: i386

Affects all platforms.

	Since consolidating the fetch and fetch-list targets, "make fetch-list"
	now defers all checking for the existence of the files to download to
	the generated script. This is very wrong. What fetch-list is supposed to
	do, is check for files on the host running "make", and only script the
	download of the *missing* files for the well-connected host.
	Run "make fetch-list" in a package that has a lot of dependencies, some
	of which are already installed and some of which aren't. Run the script
	on another host, and note that every single file gets fetched.
	What I'd like to do, is to consolidate the do-fetch and
	fetch-list-one-pkg targets into a single target that does all the
	preliminaries, including checking for the existence of each file
	in ${_ALLFILES}, then calls a script which does the actual fetching
	or, in the fetch-list-one-pkg-case, simply lists. This would avoid
	some of make's ".for" loop brain-damage (but not all), but it would
	also make it possible to produce much better looking output than
	the make macros can, especially for fetch-list, which calls "make
	fetch-list-one-pkg". I also intend to make fetch-list produce
	human readable output, with comments, including a header describing
	the build host and the time the file was generated.