I have SA 3.3.2 installed on FreeBSD 9. This was installed from "source" and not the package or port. I have some different requirements and so built it myself.
I run a bunch of FreeBSD jails on a given system, and have a new area I call /usr/public which gets mounted inside each jail. The software gets built and installed here, but I work to set things up so that it reads config files and uses local space in /usr/local for each system. I am having an issue with SA 3.3.2 on a new install (my old servers were running an old SA 3.x that was pre sa-update) where it claims the rules are not found. This includes spamassassin and spamd If I run spamassassin manually here is the debug output (first part): spamassassin --configpath=/usr/local/etc/mail/spamassassin/ -D < 1335330803.H270347P64367.mail.shire.net Apr 25 00:26:06.303 [64987] dbg: logger: adding facilities: all Apr 25 00:26:06.303 [64987] dbg: logger: logging level is DBG Apr 25 00:26:06.303 [64987] dbg: generic: SpamAssassin version 3.3.2 Apr 25 00:26:06.304 [64987] dbg: generic: Perl 5.012004, PREFIX=/usr/public, DEF_RULES_DIR=/usr/public/share/spamassassin, LOCAL_RULES_DIR=/usr/local/etc/mail/spamassassin, LOCAL_STATE_DIR=/usr/local/var/spamassassin Given this, where should I find the rules? I ran sa-update on the "base" jail that can write to /usr/public (most jails cannot write to that file system) and I found what appear to be the rules sets in either /usr/local/var/spamassassin or /usr/public/var/spamassassin (for various reasons /usr/local and /usr/public are the same on the base jail where software is built but not run, but on each individual jail they are not the same file system) base# ls -al /usr/public/var/spamassassin/ total 5 drwxr-xr-x 3 root wheel 3 Apr 24 22:23 . drwxr-xr-x 4 root wheel 4 Apr 24 22:23 .. drwxr-xr-x 3 root wheel 4 Apr 24 22:23 3.003002 base# base3# ls -al /usr/public/var/spamassassin/3.003002/ total 7 drwxr-xr-x 3 root wheel 4 Apr 24 22:23 . drwxr-xr-x 3 root wheel 3 Apr 24 22:23 .. drwxr-xr-x 2 root wheel 64 Apr 24 22:23 updates_spamassassin_org -rw-r--r-- 1 root wheel 2648 Apr 24 22:23 updates_spamassassin_org.cf base3# base3# ls -al /usr/public/var/spamassassin/3.003002/updates_spamassassin_org total 498 drwxr-xr-x 2 root wheel 64 Apr 24 22:23 . drwxr-xr-x 3 root wheel 4 Apr 24 22:23 .. -rw-r--r-- 1 root wheel 8701 Apr 24 22:23 10_default_prefs.cf -rw-r--r-- 1 root wheel 7622 Apr 24 22:23 20_advance_fee.cf -rw-r--r-- 1 root wheel 7899 Apr 24 22:23 20_aux_tlds.cf -rw-r--r-- 1 root wheel 7015 Apr 24 22:23 20_body_tests.cf -rw-r--r-- 1 root wheel 1904 Apr 24 22:23 20_compensate.cf -rw-r--r-- 1 root wheel 11352 Apr 24 22:23 20_dnsbl_tests.cf -rw-r--r-- 1 root wheel 15065 Apr 24 22:23 20_drugs.cf ... ... ... -rw-r--r-- 1 root wheel 4997 Apr 24 22:23 60_whitelist.cf -rw-r--r-- 1 root wheel 6161 Apr 24 22:23 60_whitelist_dkim.cf -rw-r--r-- 1 root wheel 3597 Apr 24 22:23 60_whitelist_spf.cf -rw-r--r-- 1 root wheel 1927 Apr 24 22:23 60_whitelist_subject.cf -rw-r--r-- 1 root wheel 223434 Apr 24 22:23 72_active.cf -rw-r--r-- 1 root wheel 10410 Apr 24 22:23 72_scores.cf -rw-r--r-- 1 root wheel 2174 Apr 24 22:23 73_sandbox_manual_scores.cf -rw-r--r-- 1 root wheel 225 Apr 24 22:23 MIRRORED.BY -rw-r--r-- 1 root wheel 1495 Apr 24 22:23 STATISTICS-set0-72_scores.cf.txt -rw-r--r-- 1 root wheel 1494 Apr 24 22:23 STATISTICS-set1-72_scores.cf.txt -rw-r--r-- 1 root wheel 0 Apr 24 22:23 STATISTICS-set2-72_scores.cf.txt -rw-r--r-- 1 root wheel 0 Apr 24 22:23 STATISTICS-set3-72_scores.cf.txt -rw-r--r-- 1 root wheel 101479 Apr 24 22:23 languages -rw-r--r-- 1 root wheel 2213 Apr 24 22:23 local.cf -rw-r--r-- 1 root wheel 2762 Apr 24 22:23 regression_tests.cf -rw-r--r-- 1 root wheel 4777 Apr 24 22:23 sa-update-pubkey.txt -rw-r--r-- 1 root wheel 1869 Apr 24 22:23 user_prefs.template I copied this to the individual jail at /usr/local/var/spamassassin (and it is still readable in /usr/public/var/spamassassin/ as well) Is this the right place? That is basically where sa-update put it. I am trying to figure out where it thinks the rules should be and where that is defined so I can make sure it is looking in the correct places. It is fine with me if it looks in the master /usr/public location or I can copy the rules to /usr/local on each jail. Here is the complete debug output of a sample run: spamassassin --configpath=/usr/local/etc/mail/spamassassin/ -D < 1335330803.H270347P64367.mail.shire.net Apr 25 00:26:06.303 [64987] dbg: logger: adding facilities: all Apr 25 00:26:06.303 [64987] dbg: logger: logging level is DBG Apr 25 00:26:06.303 [64987] dbg: generic: SpamAssassin version 3.3.2 Apr 25 00:26:06.304 [64987] dbg: generic: Perl 5.012004, PREFIX=/usr/public, DEF_RULES_DIR=/usr/public/share/spamassassin, LOCAL_RULES_DIR=/usr/local/etc/mail/spamassassin, LOCAL_STATE_DIR=/usr/local/var/spamassassin Apr 25 00:26:06.304 [64987] dbg: config: timing enabled Apr 25 00:26:06.304 [64987] dbg: config: score set 0 chosen. Apr 25 00:26:06.305 [64987] dbg: util: running in taint mode? yes Apr 25 00:26:06.305 [64987] dbg: util: taint mode: deleting unsafe environment variables, resetting PATH Apr 25 00:26:06.306 [64987] dbg: util: PATH included '/sbin', keeping Apr 25 00:26:06.306 [64987] dbg: util: PATH included '/bin', keeping Apr 25 00:26:06.306 [64987] dbg: util: PATH included '/usr/sbin', keeping Apr 25 00:26:06.306 [64987] dbg: util: PATH included '/usr/bin', keeping Apr 25 00:26:06.306 [64987] dbg: util: PATH included '/usr/games', keeping Apr 25 00:26:06.306 [64987] dbg: util: PATH included '/usr/local/sbin', which is unusable, dropping: No such file or directory Apr 25 00:26:06.306 [64987] dbg: util: PATH included '/usr/local/bin', which is unusable, dropping: No such file or directory Apr 25 00:26:06.306 [64987] dbg: util: PATH included '/usr/public/sbin', keeping Apr 25 00:26:06.307 [64987] dbg: util: PATH included '/usr/public/bin', keeping Apr 25 00:26:06.307 [64987] dbg: util: PATH included '/root/bin', which is unusable, dropping: No such file or directory Apr 25 00:26:06.307 [64987] dbg: util: final PATH set to: /sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/public/sbin:/usr/public/bin Apr 25 00:26:06.309 [64987] dbg: dns: no ipv6 Apr 25 00:26:06.309 [64987] dbg: dns: is Net::DNS::Resolver available? yes Apr 25 00:26:06.309 [64987] dbg: dns: Net::DNS version: 0.68 Apr 25 00:26:06.311 [64987] dbg: config: using "/usr/local/etc/mail/spamassassin" for site rules pre files Apr 25 00:26:06.312 [64987] dbg: config: read file /usr/local/etc/mail/spamassassin/init.pre Apr 25 00:26:06.312 [64987] dbg: config: read file /usr/local/etc/mail/spamassassin/v310.pre Apr 25 00:26:06.312 [64987] dbg: config: read file /usr/local/etc/mail/spamassassin/v312.pre Apr 25 00:26:06.312 [64987] dbg: config: read file /usr/local/etc/mail/spamassassin/v320.pre Apr 25 00:26:06.312 [64987] dbg: config: read file /usr/local/etc/mail/spamassassin/v330.pre Apr 25 00:26:06.312 [64987] dbg: config: using "/usr/local/etc/mail/spamassassin/" for sys rules pre files Apr 25 00:26:06.313 [64987] dbg: config: read file /usr/local/etc/mail/spamassassin//init.pre Apr 25 00:26:06.313 [64987] dbg: config: read file /usr/local/etc/mail/spamassassin//v310.pre Apr 25 00:26:06.313 [64987] dbg: config: read file /usr/local/etc/mail/spamassassin//v312.pre Apr 25 00:26:06.313 [64987] dbg: config: read file /usr/local/etc/mail/spamassassin//v320.pre Apr 25 00:26:06.313 [64987] dbg: config: read file /usr/local/etc/mail/spamassassin//v330.pre Apr 25 00:26:06.313 [64987] dbg: config: using "/usr/local/etc/mail/spamassassin/" for default rules dir Apr 25 00:26:06.313 [64987] dbg: config: read file /usr/local/etc/mail/spamassassin//local.cf Apr 25 00:26:06.314 [64987] dbg: config: using "/usr/local/etc/mail/spamassassin" for site rules dir Apr 25 00:26:06.314 [64987] dbg: config: read file /usr/local/etc/mail/spamassassin/local.cf Apr 25 00:26:06.314 [64987] dbg: config: using "/root/.spamassassin" for user state dir Apr 25 00:26:06.314 [64987] dbg: config: using "/root/.spamassassin/user_prefs" for user prefs file Apr 25 00:26:06.314 [64987] dbg: config: read file /root/.spamassassin/user_prefs Apr 25 00:26:06.316 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::URIDNSBL from @INC Apr 25 00:26:06.319 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::Hashcash from @INC Apr 25 00:26:06.324 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::SPF from @INC Apr 25 00:26:06.327 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::Pyzor from @INC Apr 25 00:26:06.329 [64987] dbg: pyzor: network tests on, attempting Pyzor Apr 25 00:26:06.329 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::Razor2 from @INC Apr 25 00:26:06.330 [64987] dbg: razor2: razor2 is not available Apr 25 00:26:06.331 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::SpamCop from @INC Apr 25 00:26:06.339 [64987] dbg: reporter: network tests on, attempting SpamCop Apr 25 00:26:06.339 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::AutoLearnThreshold from @INC Apr 25 00:26:06.340 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::WhiteListSubject from @INC Apr 25 00:26:06.340 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::MIMEHeader from @INC Apr 25 00:26:06.341 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::ReplaceTags from @INC Apr 25 00:26:06.342 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::DKIM from @INC Apr 25 00:26:06.346 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::Check from @INC Apr 25 00:26:06.350 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::HTTPSMismatch from @INC Apr 25 00:26:06.351 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::URIDetail from @INC Apr 25 00:26:06.352 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::Bayes from @INC Apr 25 00:26:06.358 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::BodyEval from @INC Apr 25 00:26:06.359 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::DNSEval from @INC Apr 25 00:26:06.361 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::HTMLEval from @INC Apr 25 00:26:06.362 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::HeaderEval from @INC Apr 25 00:26:06.366 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::MIMEEval from @INC Apr 25 00:26:06.369 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::RelayEval from @INC Apr 25 00:26:06.370 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::URIEval from @INC Apr 25 00:26:06.371 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::WLBLEval from @INC Apr 25 00:26:06.372 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::VBounce from @INC Apr 25 00:26:06.373 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::ImageInfo from @INC Apr 25 00:26:06.375 [64987] dbg: plugin: loading Mail::SpamAssassin::Plugin::FreeMail from @INC Apr 25 00:26:06.377 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::URIDNSBL, already registered Apr 25 00:26:06.377 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::Hashcash, already registered Apr 25 00:26:06.377 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::SPF, already registered Apr 25 00:26:06.378 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::Pyzor, already registered Apr 25 00:26:06.378 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::Razor2, already registered Apr 25 00:26:06.378 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::SpamCop, already registered Apr 25 00:26:06.378 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::AutoLearnThreshold, already registered Apr 25 00:26:06.378 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::WhiteListSubject, already registered Apr 25 00:26:06.378 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::MIMEHeader, already registered Apr 25 00:26:06.378 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::ReplaceTags, already registered Apr 25 00:26:06.379 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::DKIM, already registered Apr 25 00:26:06.379 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::Check, already registered Apr 25 00:26:06.379 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::HTTPSMismatch, already registered Apr 25 00:26:06.379 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::URIDetail, already registered Apr 25 00:26:06.379 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::Bayes, already registered Apr 25 00:26:06.379 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::BodyEval, already registered Apr 25 00:26:06.379 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::DNSEval, already registered Apr 25 00:26:06.379 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::HTMLEval, already registered Apr 25 00:26:06.380 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::HeaderEval, already registered Apr 25 00:26:06.380 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::MIMEEval, already registered Apr 25 00:26:06.380 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::RelayEval, already registered Apr 25 00:26:06.380 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::URIEval, already registered Apr 25 00:26:06.380 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::WLBLEval, already registered Apr 25 00:26:06.380 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::VBounce, already registered Apr 25 00:26:06.380 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::ImageInfo, already registered Apr 25 00:26:06.380 [64987] dbg: plugin: did not register Mail::SpamAssassin::Plugin::FreeMail, already registered Apr 25 00:26:06.390 [64987] dbg: config: finish parsing Apr 25 00:26:06.391 [64987] dbg: plugin: Mail::SpamAssassin::Plugin::ReplaceTags=HASH(0x8058ee4e0) implements 'finish_parsing_end', priority 0 Apr 25 00:26:06.391 [64987] dbg: plugin: Mail::SpamAssassin::Plugin::FreeMail=HASH(0x80642e0d8) implements 'finish_parsing_end', priority 0 Apr 25 00:26:06.391 [64987] dbg: replacetags: replacing tags Apr 25 00:26:06.391 [64987] dbg: replacetags: done replacing tags Apr 25 00:26:06.391 [64987] dbg: FreeMail: no freemail_domains entries defined, disabling plugin config: no rules were found! Do you need to run 'sa-update'? at /usr/public/bin/spamassassin line 403. -- Thanks Chad