Greetings, List!
I just upgraded from sa 3.1.3 to sa 3.1.6 and am having some weird
problems with sa-update that I've never seen before. It would seem that
my sys rules/default rules directory (/usr/share/spamassassin) is not
being loaded by sa-update's internal lint test, but that my site rules
directory (/etc/mail/spamassassin) is. And because by site rules
directory has references to things in my sys rules directory, sa-update
refuses to run because it thinks my rules are borked. Really, it's just
not reading what's there.
Testing my rule set with spamassassin --lint and/or spamd -p 1234 -D
shows no errors, and aside from sa-update being broken, the upgrade has
gone quite smoothly.
When running sa-update in debug mode, I noticed this, which is where I
think things must be going awry:
[20368] dbg: config: using "/etc/mail/spamassassin" for site rules pre files
[20368] dbg: config: read file /etc/mail/spamassassin/init.pre
[20368] dbg: config: using "/usr/share/spamassassin/doesnotexist" for
sys rules pre files
[20368] dbg: config: using "/usr/share/spamassassin/doesnotexist" for
default rules dir
[20368] dbg: config: using "/etc/mail/spamassassin" for site rules dir
/usr/share/spamassassin/doesnotexist? WTF? Silly sa-update, that's where
all my goodies are.
I found the string 'doesnotexist' hard coded in /usr/bin/sa-update, twice:
sub lint_check_dir {
my $dir = shift;
# due to the Logger module's globalness (all M::SA objects share the same
# Logger setup), we can't change the debug level here to only include
# "config" or otherwise be more terse. :(
my $spamtest = new Mail::SpamAssassin( {
rules_filename => $dir,
userprefs_filename => File::Spec->catfile($dir, "doesnotexist"),
So, as you might guess, I'm confused. sa-update was, to my knowledge,
working in 3.1.3, but with 3.1.6 it seems that it's having a tough time
finding my sys rules directory.
I apologize if I'm being thick about this, but any pointers and/or
enlightenment would be greatly appreciated. I'm guessing I'm going to
start digging into some changelogs to see what I've been missing out on
since July. :-)