O argumento “perl_version” não é numérico em ge numérico (=) em (eval 534) linha 1

4

Desde a última atualização do pacote, todos os meus servidores Ubuntu 14.04.1 estão me enviando e-mails com um aviso Cron - assunto é

  

Teste de Cron -e / usr / sbin / amavisd-novo-cronjob & amp; & amp;   / usr / sbin / amavisd-novo-cronjob sa-sync

com conteúdo corporal

Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 530) line 1.
Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 1023) line 1.
Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 532) line 1.
Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 1025) line 1.

Preciso me preocupar com isso & amp; como posso resolver isso? Ou posso apenas esperar pela atualização do Amavis?

Obrigado.

    
por Xdg 29.11.2014 / 09:41

3 respostas

4

Nos comentários da resposta do @cgross, parece que não sou o único, que não ajudou a atualizar o SpamAssassin para o 3.4.0

Então, vou criar minha própria resposta a partir do que fiz.

Faça o download dos patches com

wget "http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm?r1=1642207&r2=1642206&pathrev=1642207&view=patch" -O parser.pm.patch
wget "http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm?r1=1642207&r2=1642206&pathrev=1642207&view=patch" -O conf.pm.patch

Mude para a raiz e corrija os arquivos

su
patch /usr/share/perl5/Mail/SpamAssassin/Conf/Parser.pm < parser.pm.patch
patch /usr/share/perl5/Mail/SpamAssassin/Conf.pm < conf.pm.patch
    
por Germar 29.11.2014 / 21:56
2

Para aqueles que usam sa-learn : alterne para uma versão mais recente do Mail-SpamAssassin (por exemplo, 3.4.0). Se você instalou o Mail :: SpamAssassin usando o CPAN, você pode atualizá-lo assim:

cpan upgrade Mail::SpamAssassin

Para todos os outros, examine seus scripts e tente incorporar a solução alternativa usada no Mail-SpamAssassin:

# Store the version for later use
my $mm_version = $ExtUtils::MakeMaker::VERSION;

# avoid stupid 'Argument "6.30_01" isn't numeric in numeric ge (>=)' warnings;
# strip off the beta subversion noise that causes the trouble.
$mm_version =~ s/_\S+$//;      # "6.30_01" => "6.30"

if ($mm_version+0 < 5.45) {
  die "SpamAssassin Makefile.PL requires at least ExtUtils::MakeMaker v5.45";
}
    
por cgross 29.11.2014 / 10:50
1

Este é um aviso, não um erro fatal. Pode ser ignorado com segurança. É devido a uma atualização de regra recente usando uma condicional de SA que foi adicionada ao tronco, mas ainda não foi liberada.

A resposta de Germar corrigirá o problema, mas pode não ser aceitável para aqueles que querem ficar com código de distro puro.

Não sei com que rapidez as distros incorporarão as alterações de SA: link

A regra em questão foi desabilitada na sandbox da regra, ela será (esperançosamente) exibida em atualizações até hoje à noite (2014-11-30) e esse aviso deverá ser interrompido.

    
por John Hardin 30.11.2014 / 20:40

Tags