SA Bugzilla – Bug 7007
plugin testing with minimal set of plugins and maximal should pass
Last modified: 2015-03-06 11:04:57 UTC
if spamassassin only have check plugin enabled it should still lint if all plugins is enabled it should still lint
asked on maillist
My workaround. For now I have deactivated the entry in v340.pre.
(In reply to Benny Pedersen from comment #0) > if spamassassin only have check plugin enabled it should still lint > > if all plugins is enabled it should still lint I've had upgraded of version 3.4.0 and now I'm getting that errors from cron --snip test -e /usr/sbin/amavisd-new-cronjob && /usr/sbin/amavisd-new-cronjob sa-clean plugin: failed to parse plugin (from @INC): "decode_dns_question_entry" is not exported by the Mail::SpamAssassin::Util module Can't continue after import errors at /usr/local/share/perl/5.14.2/Mail/SpamAssassin/Plugin/AskDNS.pm line 192 BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/Mail/SpamAssassin/Plugin/AskDNS.pm line 192. Compilation failed in require at (eval 90) line 1 --snap Util.pm ans AskDNS.pm both are available. What must I do? Any ideas or solution greatly appreciated. Thanks.
> test -e /usr/sbin/amavisd-new-cronjob && /usr/sbin/amavisd-new-cronjob > sa-clean It would be nicer for us to just tell that what it does is a: /usr/bin/sa-learn --sync --force-expire > plugin: failed to parse plugin (from @INC): "decode_dns_question_entry" is > not exported by the Mail::SpamAssassin::Util module > Can't continue after import errors at > /usr/local/share/perl/5.14.2/Mail/SpamAssassin/Plugin/AskDNS.pm line 192 > BEGIN failed--compilation aborted at > /usr/local/share/perl/5.14.2/Mail/SpamAssassin/Plugin/AskDNS.pm line 192. > Compilation failed in require at (eval 90) line 1 > Util.pm ans AskDNS.pm both are available. What must > I do? Any ideas or solution greatly appreciated. Thanks. >> Try fully installing the 3.4.0 before running a test. > I have installing that over CPAN. So you now have both the 3.3.2 and a 3.4.0 installed on the system, but in different directories, and Util.pm of the old version is used with new .pre files and new plugins. That won't work, you need to remove the old installation, or install the new version in the same location as Debian considers appropriate. You probably have the old version in: /usr/share/perl5/Mail/SpamAssassin* and the new in: /usr/local/share/perl/5.14.2/Mail/SpamAssassin*
Yes and thank you. The classic mistake. ;) I've purge the old installation. the new is now in: /usr/local/share/perl/5.14.2/Mail/SpamAssassin* And /usr/local/bin/sa-learn --sync --force-expire makes no errors. The only error I show as user amavis (for example): $ sa-learn --dump magic config: path "/etc/mail/spamassassin" is inaccessible: Keine Berechtigung config: path "/etc/mail/spamassassin" is inaccessible: Keine Berechtigung 0.000 0 3 0 non-token data: bayes db version 0.000 0 9094 0 non-token data: nspam 0.000 0 251367 0 non-token data: nham 0.000 0 134422 0 non-token data: ntokens 0.000 0 1392163468 0 non-token data: oldest atime 0.000 0 1392213887 0 non-token data: newest atime 0.000 0 0 0 non-token data: last journal sync atime 0.000 0 1392211403 0 non-token data: last expiry atime 0.000 0 43200 0 non-token data: last expire atime delta 0.000 0 6600 0 non-token data: last expire reduction count
(In reply to Jim Knuth from comment #5) > Yes and thank you. The classic mistake. ;) > I've purge the old installation. > the new is now in: > /usr/local/share/perl/5.14.2/Mail/SpamAssassin* > > And /usr/local/bin/sa-learn --sync --force-expire > makes no errors. Thanks for confirming. > The only error I show as user amavis (for example): > > $ sa-learn --dump magic > config: path "/etc/mail/spamassassin" is inaccessible: Keine Berechtigung > config: path "/etc/mail/spamassassin" is inaccessible: Keine Berechtigung Adjust ownership and/or permissions as needed. Closing - user installation error.
I have a pure Debian, without any other apt sources and I had this problem too, but I think I found the problem and I have a workaround for myself. Since I've applied the updates and a new version of SpamAssassin has come sa-clean failed with the same error. As the amavis user I am able to run sa-learn and sa-update, but the amavisd-new-cronjob didn't work. And I found that somehow I have two sa-learn script. One in /usr/bin and one in /usr/local/bin. Since the amavisd-new-cronjob contains full path it has used /usr/bin/sa-learn. I've renamed it and I've copied /usr/local/bin/sa-learn to /usr/bin and the error has gone. In case if you need the diff: XXXX:~# diff /usr/bin/sa-learn /usr/bin/sa-learn-old 37,39c37,39 < my $PREFIX = '/usr/local'; # substituted at 'make' time < my $DEF_RULES_DIR = '/usr/local/share/spamassassin'; # substituted at 'make' time < my $LOCAL_RULES_DIR = '/etc/mail/spamassassin'; # substituted at 'make' time --- > my $PREFIX = '/usr'; # substituted at 'make' time > my $DEF_RULES_DIR = '/usr/share/spamassassin'; # substituted at 'make' time > my $LOCAL_RULES_DIR = '/etc/spamassassin'; # substituted at 'make' time 41c41 < use lib '/usr/local/share/perl/5.14.2'; # substituted at 'make' time --- > use lib '/usr/share/perl5'; # substituted at 'make' time 49c49 < || !-e '/usr/local/share/perl/5.14.2/Mail/SpamAssassin.pm' ) --- > || !-e '/usr/share/perl5/Mail/SpamAssassin.pm' ) 117d116 < 'max-size=i' => \$opt{'max-size'}, 461,463c460 < # skip messages larger than max-size bytes, < # 0 for no limit, undef defaults to 256 KiB < 'opt_max_size' => $opt{'max-size'}, --- > 'opt_all' => 0, # skip messages over 250k 465d461 < 'opt_from_regex' => $spamtest->{conf}->{mbox_format_from_regex}, 478c474 < my $run_ok = eval { $exit_status ||= ! $iter->run(@targets); 1 }; --- > eval { $exit_status ||= ! $iter->run(@targets); }; 492c488 < if (!$run_ok && $@ !~ /HITLIMIT/) { die $@ } --- > if ($@) { die $@ unless ( $@ =~ /HITLIMIT/ ); } 634,635d629 < --max-size <b> Skip messages larger than b bytes; < defaults to 256 KiB, 0 implies no limit 654c648 < (default: /etc/mail/spamassassin) --- > (default: /etc/spamassassin) 811c805 < the default directories (usually C</etc/mail/spamassassin> or similar). --- > the default directories (usually C</etc/spamassassin> or similar).