LoginSignup
3
1

More than 5 years have passed since last update.

FreeBSDのportsのspamassassinの日本語化

Last updated at Posted at 2019-02-15

FreeBSDのportsには、オリジナルのmail/spamassassinと、日本語patchがあたったjapanese/spamassassinがありました。
しかし、japansese/spamassassinは2018-12-31で削除されてしまったようです。(FreshPorts)
昨日の迷惑メール報告の記事を書いた後で、sa-learn が失敗していることで気がつきました。

patchの開発状況を確認すると、もともとspamassassin-3.4.0と3.4.1用のパッチがあったようですが、3.4.2には同じパッチが当たらなかったようで、その辺もportsが削除された原因かも知れません。
参考: SpamAssassinの日本語対応状況 - インフラエンジニアway - Powered by HEARTBEATS

日本語パッチがあたっていないと、日本語のベイズフィルタの学習がうまくできないのと、そもそも tokenizer.preで指定したプラグインのロードに失敗します。

本来であれば、新しい japansese/spamassassin portsを作成すべきなのでしょうが、メンテナになるほどの根性もないので、既存の mail/spamassassin の portsをちょこっといじってお茶を濁すことにします。

まずは、Makefileに以下を追加します。

/usr/ports/mail/spamassassin/Makefile
PATCHFILES=spamassassin-3.4.2-japanese-tokenizer.patch
PATCH_SITES=https://raw.githubusercontent.com/heartbeatsjp/spamassassin_ja/maste
r/patches/
PATCH_DIST_STRIP=-p1

githubのファイルにリンクを貼る方法がわからなかったのでPATCH_SITESを上記のようにしたのですが、正しいやり方ってあるんですかね?

これだけだと、makeしても以下のエラーで止まってしまいます。

# make
===>  License APACHE20 accepted by the user
===>   spamassassin-3.4.2_3 depends on file: /usr/local/sbin/pkg - found
=> spamassassin-3.4.2-japanese-tokenizer.patch is not in /usr/ports/mail/spamassassin/distinfo.
=> Either /usr/ports/mail/spamassassin/distinfo is out of date, or
=> spamassassin-3.4.2-japanese-tokenizer.patch is spelled incorrectly.
*** Error code 1

そこで、実際にこのファイルを fetch コマンドで持ってきて、ls と sha256 コマンドでファイルのサイズと sha256 を求め、distinfoに追加します。

/usr/ports/mail/spamassassin/distinfo
SHA256 (spamassassin-3.4.2-japanese-tokenizer.patch) = 4179a177e8b03afff0738ba482e43cb8bda5266d9e04f3d7fe6741b054f305a5
SIZE (spamassassin-3.4.2-japanese-tokenizer.patch) = 20109

これだけだと、stageから実際の場所に追加のファイルがインストールされないので、pkg-plistにも追加します。

/usr/ports/mail/spamassassin/pkg-plist
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Tokenizer.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Tokenizer/MeCab.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Tokenizer/SimpleJA.pm

後は、再インストールすればOK

# service sa-spamd stop
# make
# make deinstall
# make reinstall
# service sa-spamd start

spamassassinはもう流行らないんですかねえ。何か代わりのものがあるのかなあ。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1