Subject: Re: rc.d, etcupdate and etc...
To: Martti Kuparinen <martti.kuparinen@iki.fi>
From: mouss <usebsd@free.fr>
List: tech-userlevel
Date: 12/25/2004 22:02:37
Martti Kuparinen wrote:

> What's wrong with this setup:
>
> - set postfix=YES in /etc/rc.conf
> - keep the original /etc/rc.d/postfix
> - modify /etc/mailer.conf to use the /usr/pkg/sbin/sendmail
> - use this /etc/rc.conf.d/postfix
>
> required_files='/usr/pkg/etc/postfix/main.cf'
> start_cmd='/usr/pkg/sbin/postfix start'
> stop_cmd='/usr/pkg/sbin/postfix stop'
> reload_cmd='/usr/pkg/sbin/postfix reload'
>
> Works perfectly for me...

That's ok except if you run the /usr/pkg/etc/rc.d/    scripts, where the 
postfix package would install an rc script. Both scripts use the same 
variable in rc.conf (postfix), so you can't disable one by editing 
rc.conf. The following methods seem unsatisfactory in my opinion:
- one can use a different rc.conf for packages, so that you can put 
postfix=no in /etc/rc.conf, but postfix=yes in /usr/pkg/etc/rc.conf.
This may be the simplest way, no?
- one can remove the postfix files that come with the system and only 
keep those that come with the package. This is what I did, because this 
makes it easy to "postfix reload" (and other commands) without caring of 
the path and of version diffs.
...

I'd however prefer a cleaner way to remove say postfix and sendmail from 
the base system. for instance, if they are not built, one should be able 
to remove them (otherwise, you keep an old version of sendmail and new 
config files!!). Would an option to etcupdate be the right way?

cheers,
mouss