RC keywords question

Ion-Mihai Tetcu itetcu at people.tecnik93.com
Mon Dec 5 04:58:27 PST 2005


Hi,


I'm converting my ports to work with the new HEAD RC style and while at
it I also thought to check the keywords to make sure they're OK. Read
rcorder(8) and rc(8).

Let's take mail/dspam as an example. Obviously it PROVIDE: dspam

When run in --daemon mode dspam receives messages via LMTP and deliver
them via SMTP. So it REQUIRE: NETWORK; it also uses syslogd (which
starts BEFORE: SERVERS).

Now things start getting interesting.

Since it's a content filter, it should start before the SMTP server.

If SMTP server = sendmail|courier it's easy: BEFORE: mail

If it's postfix it's:
- if it's started via /etc/rc.d/sendmail (sendmail_enable="YES" and
postfix in /etc/mail/mailer.conf) BEFORE: mail should be enough (but see
below); 
- if sendmail_enable="NO" and /usr/local/sbin/postfix is linked in rc.d
as sendmail.sh then BEFORE: mail should be OK too since that's before
rc.d/localpkg (right ?)

How to interact with various ways to start qmail I have yet to discover.

So until here I would have:
PROVIDE: dspam
REQUIRE: NETWORK syslogd
BEFORE: mail
and since mail REQUIRE: LOGIN this is actually:
REQUIRE: NETWORK syslogd LOGIN

Q: should I write all the REQUIRE keywords or just the last one (LOGIN) ?


OK, now dspam could also use mysql or pgsql; if the dependency is set
at compile time, it's easy to have the right REQUIRE; but dspam can
also use either or none, as instructed in dspam.conf so this is also
settable at run-time. How can I write the REQUIRE: line in this case ?


Thanks,

-- 
IOnut - Unregistered ;) FreeBSD "user"
  "Intellectual Property" is   nowhere near as valuable   as "Intellect"

BOFH excuse #344:
Network failure - call NBC




More information about the freebsd-ports mailing list