On Thu, 20 Feb 2003, John De Boskey wrote:

> ----- Julian Elischer's Original Message -----
> > 
> > I have just gone through the process of upgrading or installing several
> > hundred machines, and Thst includes altering or editing many config
> > files in /etc. I like the way that rc.conf
> > is handled, in that defaults/rc.comf can be updated and only the
> > local changes live in r.conf. I wish that more files had this
> > capability.
> 
> This is not exactly what you are asking for, but this is from
> a petty much a been-there/done-that many years ago. Typing in
> the logic from memory:
> 
> rcfiles="/etc/inetd.conf /etc/syslog.conf /etc/newsyslog.conf"
>  
> for rcf in $rcfiles; do
>    if [ -f ${rcf}.local ]; then
>       if [ ! -f ${rcf}.base ]; then
>          if diff ${rcf} ${rcf}.base > /dev/null; then
>             cp -p ${rcf} ${rcf}.base
>          fi
>       fi
>       cat ${rcf}.base ${rcf}.local > ${rcf}
>    fi
> done
> 
> I think you can get the idea.

yeah but we don't distribute our files like that..
you get a new syslogd.conf when you upgrade, not a syslogd.conf.base

(unfortunartly)

I considered this possibilty. especially as many daemons etc.
have an argument that they can take for a config file, and the argument
is often changeable from rc.conf.

e.g.
. /usr/local/concatfiles
syslogd_flags="-s -f/etc/syslogd.local"
[...]

where 
/usr/local/concatfiles does:

cat /etc/syslogd.conf /usr/local/etc/syslogd.conf >/etc/syslogd.local
or in some cases:
if ! grep -q "already patched" etc/login.conf.diff
patch </usr/local/etc/login.conf.diff 

Unfortunatly each case requires a seprate aproach.

julian


> 
> -John
> 
> > For example syslogd.conf or newsyslog.conf are updated between releases
> > but they are also prime candidates for local additions.
> > What would be really cool is if more config files could
> > do 'includes' so that you could have a syslogd.local.conf
> > wher eall your local entries could be. In addition you could make it
> > look in /usr/local/etc/syslogd.conf for loging requirments for
> > packages.
> > 
> > To do this for every config file would be a lot of work. I do wonder
> > however whether there couldn't be some "config-file reader" library
> > routine that could be used to pre-pass files and do inclusions..
> > 
> > if the interface was very similar to what is usually used 
> > (people tend to either use open/read/close or
> > fopen/fscanf (etc).
> > 
> > equivalent calls could be made that use a stream of data that is
> > pre-processed to do inclusions etc. That would making retrofitting
> > relatively easy.  Programs that use yacc/lex ar emore difficult,
> > but I haven't looked into it..
> > 
> > anyhow, that was just a thought.
> > 
> > 
> > To Unsubscribe: send mail to [EMAIL PROTECTED]
> > with "unsubscribe freebsd-current" in the body of the message
> 
> -- 
> --
> As said by Napolean Bonaparte:
> "Never ascribe to malice, that which is adequately explained by incompetence"
> 
> After being embraced by MS:
> 
> "When accused of malice, always hide behind incompetence".
> 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to