たけふ@大阪豊中です。 先日、SpamAssassin 3.1.7 -> 3.1.8 に上げたあと気が付かなかったのですが、 辞書学習させるコマンドの実行時に、下記の様なエラーメッセージ?がでていました。
>archive-iterator: invalid (undef) format in target list, 2 at >/usr/local/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/ArchiveIterator.pm line >724, line 1. 早速 Google 先生に尋ねると本家の Bugzilla に対策用のパッチもありました。 https://issues.apache.org/SpamAssassin/show_bug.cgi?id=5336 このパッチを当てることで解消されましたので、現状の ports-current に当てれるパッチを、 作ってみましたので、ご参考に。 #---- Makefile.diff --- mail/p5-Mail-SpamAssassin/Makefile.orig Thu Feb 22 14:38:35 2007 +++ mail/p5-Mail-SpamAssassin/Makefile Thu Feb 22 14:40:16 2007 @@ -7,6 +7,7 @@ PORTNAME= Mail-SpamAssassin PORTVERSION= 3.1.8 +PORTREVISION= 1 CATEGORIES= mail perl5 MASTER_SITES= ${MASTER_SITE_APACHE:S/$/:apache/} ${MASTER_SITE_PERL_CPAN:S/$/:cpan/} MASTER_SITE_SUBDIR= spamassassin/source/:apache Mail/:cpan #---- patch-sa-learn.raw echo x - mail/p5-Mail-SpamAssassin/files/patch-sa-learn.raw sed 's/^X//' >mail/p5-Mail-SpamAssassin/files/patch-sa-learn.raw << 'END-of-mail/p5-Mail-SpamAssassin/files/patch-sa-learn.raw' XIndex: sa-learn.raw X=================================================================== X--- sa-learn.raw (revision 507745) X+++ sa-learn.raw (working copy) X@@ -402,7 +402,10 @@ X X # make sure the target list is in the normal AI format X if ($targets[$elem] !~ /^[^:]*:[a-z]+:/) { X- $targets[$elem] = target($targets[$elem]); X+ my $item = splice @targets, $elem, 1; X+ $elem--; # go back to this element again X+ target($item); # add back to the list X+ next; X } X } X END-of-mail/p5-Mail-SpamAssassin/files/patch-sa-learn.raw exit