Nogobble, nogobble

Peter Jeremy PeterJeremy at optushome.com.au
Fri Nov 4 12:59:06 PST 2005


On Fri, 2005-Nov-04 06:39:46 -0800, David Wolfskill wrote:
>So I'm wondering if, perhaps, it might help to consider the following
>variant of the current theme:
>
>* Decompose GENERIC into a set if "functional blocks" of config info.
>
>* Then make GENERIC itself merely a set of "include" directives, perhaps
>  with some commentary.

One downside is that you wind up in a maze of twisty little include
files, all similar, and working out the final configuration becomes
a nightmare.  Another problem is tracking changes - someone makes a
change to .../conf/GENERIC_foo and your kernel config stops working
because GENERIC_foo is included by GENERIC_bar which you are using.

I can see the purpose of having a DEFAULTS file - a small number of
"mandatory" options that cause problems when people delete them.

IMHO, before proceeding any further down this path, config(8) needs
to grow a "preprocess only" option to flatten the input into a
single file.  "options INCLUDE_CONFIG_FILE" and config.c should
contain this flattened input.  (For bonus points, include an option
to make "nofoo" disable "foo" so that the output only includes
active directives).

Someone mentioned CISCO IOS directives - the biggest problem with the
CISCO approach is that the configuration is defined as a set of
differences from a default configuration but (AFAIK) the default
configuration isn't formally documented (ie in IOS config format).
FreeBSD does document the defaults.

-- 
Peter Jeremy


More information about the freebsd-stable mailing list