[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: