Subject: pkg/15539: make fetch-list doesn't do the right thing at all
To: None <gnats-bugs@gnats.netbsd.org>
From: Frederick Bruckman <fredb@immanent.net>
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
>Closed-Date:
>Last-Modified:
>Originator:     Frederick Bruckman
>Release:        NetBSD 1.5.3_ALPHA
>Organization:
>Environment:
	
	
System: NetBSD tautology.immanent.net 1.5.3_ALPHA NetBSD 1.5.3_ALPHA (TAUTOLOGY) #1: Sat Jan 19 22:47:45 CST 2002 fredb@tautology.immanent.net:/s/src-release/sys/arch/i386/compile/TAUTOLOGY i386
Architecture: i386
Machine: i386

Affects all platforms.

>Description:
	
	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.
>How-To-Repeat:
	
	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.
>Fix:
	
	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.
>Release-Note:
>Audit-Trail:
>Unformatted: