Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Nov 2005 07:55:00 +1100
From:      Peter Jeremy <PeterJeremy@optushome.com.au>
To:        David Wolfskill <david@bunrab.catwhisker.org>, stable@freebsd.org
Subject:   Re: Nogobble, nogobble
Message-ID:  <20051104205459.GO39882@cirb503493.alcatel.com.au>
In-Reply-To: <20051104143946.GO69015@bunrab.catwhisker.org>
References:  <200511040039.RAA21926@lariat.net> <20051104023446.GA12859@xor.obsecurity.org> <6.2.5.6.2.20051103213504.09118d30@lariat.org> <20051104050118.GA46635@xor.obsecurity.org> <20051104143946.GO69015@bunrab.catwhisker.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051104205459.GO39882>