Subject: Re: checkflist/mkflist again
To: Greywolf <greywolf@starwolf.com>
From: Greg A. Woods <woods@weird.com>
List: current-users
Date: 09/30/2003 13:32:12
[ On Monday, September 29, 2003 at 21:07:42 (-0700), Greywolf wrote: ]
> Subject: checkflist/mkflist again
>
> Something needs to happen, but I'm not quite sure what.  Among
> my many delusions are:
> 
> 1. flist should be generated a section at a time during "make build".

That's a high-level expression of what I've been trying to hint at for
some months now.

I've always found the sets lists to be rather inelegant since they
replicate information already in the build system and hide it off in a
corner with other information that should also be included in each
makefile.  The result is a mess that causes, it seems, at least one post
per week to current-users about those multiple copies of information
being out of sync with each other.  Those FAQs are a mere minor
annoyance compared to the real problem that prompted you to post, which
is of course that the sets lists have no way to dynamically adjust for
various compile-time options which result in different groups of product
files being installed, or not installed, as the case may be.

However until the mtree-like METALOG creation capability of "install"
came along I didn't have any better idea -- at least not one that could
maintain the current ability to break the distribution down into logical
install sets..

Now with the METALOG, and with the new '-T' option to "install", we have
the ability to build the sets lists directly from the METALOG file.  All
we need to do is migrate the additional information currently encoded in
the sets lists back into the makefiles which install all the product files.

We could also add mtree's "-E" and "-I" flags to pax (using suitable new
option letters), but that's only really an optimisation since mtree
itself, perhaps with the assistance of awk, can be used to parse the
METALOG feed a list of files to each pax instance used to create the
sets archives.

I very seriously considered implementing this scheme for myself (I have
no NIS/YP or HESIOD, no kerberos, no sendmail, no openssh, and no amd),
but it requires fairly invasive makefile changes which may make too
difficult for me to easily migrate my patches to the next release
branch, so for the time being I've simply hacked away at the sets lists
directly and left it as a blue-sky dream.

-- 
						Greg A. Woods

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