Re: Goals for 1.3?
On Mon, 23 Dec 1996, Bruce Perens wrote:
> A decade or so ago someone thought exactly this way. He decided that
> configuration files were not changed often, but they are parsed all of
> the time. Thus he set his first priority at making them fast to parse,
> and made ease of configuration a lower priority. The result was the
> sendmail configuration file language. When I met that programmer years
> later, he was _still_ apologizing for inflicting that disaster on us.
My impression of "sendmail.cf" is that it's much too big ...
"overfeatured". The language itself is not complicated:
# file containing names of hosts for which we receive email
Fw/etc/mail/sendmail.cw
If we would organize all parameters from shell-scripts into one big file
(the main database), we would end up like sendmail: with a monolithic
config file. Difficult to survey.
> There's also the problem of what to do during system configuration, when
> you may have a limited tool set.
That's the reason why I implemented "cfgdb" using "sed", "grep" and "expr"
only.
> Providing a consistent interface to configuring many variables means
> that it would be easy to create a shell-and-dialog tool that would edit
> them in limited space.
In limited space we need a limited tool. The modified version of "cfgdb"
is something like that:
(shell script) (plain file) (dialog)
#!/bin/bash FOODIR=/tmp/foo +--------------+
. /etc/defaults/foo <-A-> # this is the <-B-> | This is the |
# main dir for | main dir for |
foo ${FOODIR} # the foo-tool | the foo-tool |
| ENTER FOODIR |
+--------------+
| /tmp/foo____ |
+--------------+
Because it's an advantage to use "cfgdb" for "<-B->" does not necessarily
mean it is adequate fo "<-A->".
Via "<-A->" only reading (of statical data) is performed where we need
something to write, explain and check the data via "<-B->". The last
requirements rectify the use of a tool.
> The alternative will be a number of tools all of which perform the same
> job but have built-in knowledge about the particular variables they are
> setting - so say 20 shell-and-dialog programs rather than one.
No, that's not necessary. Look at the scheme above: not to use "cfgdb" for
"<-A->" is independent of keeping it in use for "<-B->".
-Winfried
--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-REQUEST@lists.debian.org . Trouble? e-mail to Bruce@Pixar.com
Reply to: