Subject: Re: effective configuration from config(8) after "no foo"
To: Alan Barrett <>
From: Quentin Garnier <>
List: current-users
Date: 12/21/2007 10:02:23
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Dec 21, 2007 at 10:27:59AM +0200, Alan Barrett wrote:
> On Thu, 20 Dec 2007, Quentin Garnier wrote:
> > > When I write "no something" in my config file, I
> > > don't mean "I assert that there used to be a 'something', but I'd like
> > > to remove it now", I mean simply "I don't want a 'something'".
> >=20
> > That's different.  "no nonexistent" currently fails.
> Yes, I know it currently fails, but I'd like "no nonexistent" to
> silently do nothing.  "no impossible", on the other hand, should
> probably be an error, where "impossible" is something that doesn't have
> a "device" or "attach" or other relevant declaration.

Well, how is a device foo disappearing from conf/files any different
from defopt bar disappearing from the same file?

> > I do wish people would start doing whatever is necessary to use
> > config -L as a regression test suite builder, though, instead of feeling
> > the pain of maintaining ALL, which is i386-only.
> What do you suggest here?  Run "config -L std.${MACHINE} >LINT"
> periodically and check in the result?

That's one possibility.  I was contemplating a regression test that
would generate the config and build it.

The issues with config -L right now are multiple:

  1. defopt NO_FEATURE:  selecting it means *less* code is compiled
  2. set of options:  only one piece is compiled even though they might
     not conflict
  3. conflicting options:  e.g., FAST_IPSEC and IPSEC

I've kind of solved 2 and 3 introducing an #define that is only defined
under -L, but 1 still needs some work.

Also, we need to ditch/fix code that has never been compiled for years!

Quentin Garnier - -
"See the look on my face from staying too long in one place
[...] every time the morning breaks I know I'm closer to falling"
KT Tunstall, Saving My Face, Drastic Fantastic, 2007.

Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.4.6 (NetBSD)