From owner-freebsd-current Thu Feb 20 19: 4:59 2003 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 09D3937B401 for ; Thu, 20 Feb 2003 19:04:57 -0800 (PST) Received: from bsdone.bsdwins.com (www.bsdwins.com [192.58.184.33]) by mx1.FreeBSD.org (Postfix) with ESMTP id AEF6E43FA3 for ; Thu, 20 Feb 2003 19:04:55 -0800 (PST) (envelope-from jwd@bsdwins.com) Received: from bsdone.bsdwins.com (localhost [127.0.0.1]) by bsdone.bsdwins.com (8.12.5/8.12.5) with ESMTP id h1L34JW2089455; Thu, 20 Feb 2003 22:04:19 -0500 (EST) (envelope-from jwd@www.bsdwins.com) Received: (from jwd@localhost) by bsdone.bsdwins.com (8.12.5/8.12.5/Submit) id h1L34JZD089454; Thu, 20 Feb 2003 22:04:19 -0500 (EST) Date: Thu, 20 Feb 2003 22:04:19 -0500 From: John De Boskey To: Julian Elischer Cc: FreeBSD current users Subject: Re: config files and includes. Message-ID: <20030221030419.GA89373@BSDWins.Com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4i Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG ----- 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. -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 majordomo@FreeBSD.org > 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 majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message