It looks like there is the typo in service name of rc.d script name: From pkg-message: Add 'pyspf_milter_enable="YES"' to /etc/rc.conf service pyspf_milter status pyspf_milter does not exist in /etc/rc.d or the local startup directories (/usr/local/etc/rc.d), or is not executable ll /usr/local/etc/rc.d | grep spf -rwxr-xr-x 1 root wheel 1033 Aug 12 14:19 pyspf-milter* Should it be named pyspf_milter instead of pyspf-milter?
(In reply to andros.ua from comment #0) IIUC there is no clear convention between the filename of the startup script and the variable name that enables it. Actually I know some examples that the filename is different from the variable name. Do you know the document or something else that regulates the relation of them?
(In reply to Yasuhiro Kimura from comment #1) You are right, its a matter of extra steps to guess or find out the right "service " command. If a script named after the variable than you just go with it in service command. Examples are: samba_server (samba_server_enable) and opposite is mysql-server (mysql_enable). We are using both variants but first one makes life with FBSD a bit easier, imho.