Subject: Re: Extreme lethargy when dependencies are missing (part 2)
To: Charles M. Hannum <abuse@spamalicious.com>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-pkg
Date: 10/07/2001 15:30:41
On Sun, 7 Oct 2001, Charles M. Hannum wrote:

> So I looked at the CVS logs, and I see the following commit.
>
> While I appreciate Todd's intent here, there *has* to be a way to do
> this without making pkgsrc ungodly slow.

Probably the worst part is that it has to fully resolve gnome-libs and
friends, for every package that depends on gnome-libs. I.e., it's
doing the exact same thing over and over and over.

All the targets that recurse into DEPENDS are ad hoc and different,
and "clean-depends" doesn't even work. (It fails to get them all.)

What might be nice would be one target or macro to expand out all the
depends, taking care not expand any package that's already been seen.
You could do this easily with an awk array, using the name of the
package as a key into the array. [You just say
'some_array[package_name] = 1', and then when you expand 'for
(a_package in some_array) {do_something}', there are no duplicates.]
The problem is there's no obvious way to get the result of "make -V
DEPENDS" back into the awk script. What you'd need to implement this
is a separate file listing all the packages and their direct
dependencies, that could be easily slurped into another array.


Frederick