[sa-conf] патч для решения проблемы парсинга версии perl'а
Victor Ustugov
victor на corvax.kiev.ua
Вс Ноя 30 21:41:10 EET 2014
приветствую
в процессе работы spamassassin и sa-learn полезли тут ошибки такого плана:
Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 540)
line 1.
Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 1033)
line 1.
на сколько я понимаю, проблема возникает при парсинге конструкций типа
такой, каких появилось несколько в
/var/db/spamassassin/3.004000/updates_spamassassin_org/72_active.cf
(путь дан применительно к SpamAssassin'у, установленному из порта под
FreeBSD):
if perl_version >= 5.010000
наткнулся на упоминание об этом баге:
http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1285804.html
http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1285532.html
на
http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1285532.html
дали ссылку на https://issues.apache.org/SpamAssassin/show_bug.cgi?id=7107
в конце обсуждения бага на
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=7107 есть ссылка
на http://svn.apache.org/viewvc?view=revision&revision=1642207
там ссылки на патчи для правки двух файлов:
http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm?view=markup&pathrev=1642207
http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm?view=markup&pathrev=1642207
на основании этих патчей создан патч для применения в своих механизмах
сборки spamassassin:
http://mta.org.ua/spamassassin-3.4.0/patches/3.4.0-perl_version/patch-src__3.4.0-perl_version.patch
этот патч включен в новый механизм сборки SpamAssassin в виде порта FreeBSD:
http://mta.org.ua/spamassassin-3.4.0/packages/ports-freebsd/spamassassin-3.4.0_14/
если при сборке spamassassin-3.4.0_14 появятся сообщения об ошибках типа
таких:
===> Registering installation for spamassassin-3.4.0_14
pkg-static:
lstat(/usr/ports/mail/spamassassin/work/stage/usr/local/lib/perl5/site_perl/man/man3/Mail::SpamAssassin.3.gz):
No such file or directory
pkg-static:
lstat(/usr/ports/mail/spamassassin/work/stage/usr/local/lib/perl5/site_perl/man/man3/Mail::SpamAssassin::AICache.3.gz):
No such file or directory
, то не стоит пытаться откатиться на spamassassin-3.4.0_13 и применить к
нему патч patch-src__3.4.0-perl_version.patch
я пересобрал perl5-5.16.3, пути к man'ам в
/usr/local/etc/man.d/perl5.16.conf поменялись, после этого
spamassassin-3.4.0_14 установился без проблем.
старое содержимое /usr/local/etc/man.d/perl5.16.conf:
MANPATH /usr/local/lib/perl5/5.16/man
MANPATH /usr/local/lib/perl5/5.16/perl/man
новое содержимое /usr/local/etc/man.d/perl5.16.conf:
MANPATH /usr/local/lib/perl5/site_perl/man
MANPATH /usr/local/lib/perl5/5.16/perl/man
нужно еще пересобрать порты, man файлы которых лежат в
/usr/local/lib/perl5/5.16/man/man3
также патч включен в уже существующий механизм сборки SpamAssassin в
виде пакета для RedHat/CentOS/Fedora:
http://mta.org.ua/spamassassin-3.4.0/packages/rpms-redhat/spamassassin-3.4.0-12.fc22.corvax/
--
Best wishes Victor Ustugov mailto:victor на corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 371808614 JID: corvax_at_nb на jabber.corvax.kiev.ua
nic-handle: CRV-UANIC
Подробная информация о списке рассылки sa-conf