You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by Theo Van Dinter <fe...@apache.org> on 2005/11/07 21:15:39 UTC

Nightly runs still not working right

----- Forwarded message -----

[Updating /home/corpus/SA/spamassassin-corpora]
WARNING: MY_SERVERS_FOUND: renamed as T_MY_SERVERS_FOUND due to missing T_ prefix
WARNING: BOUNCE_MESSAGE: renamed as T_BOUNCE_MESSAGE due to missing T_ prefix
WARNING: CRBOUNCE_MESSAGE: renamed as T_CRBOUNCE_MESSAGE due to missing T_ prefix
WARNING: VBOUNCE_MESSAGE: renamed as T_VBOUNCE_MESSAGE due to missing T_ prefix
config: warning: score set for non-existent rule MPART_ALT_DIFF

ERROR: LINT FAILED, suppressing output: rules/70_sandbox.cf

rules/20_advance_fee.cf: WARNING: not listed in manifest file
rules/20_body_tests.cf: WARNING: not listed in manifest file
rules/20_compensate.cf: WARNING: not listed in manifest file
rules/20_drugs.cf: WARNING: not listed in manifest file
rules/20_fake_helo_tests.cf: WARNING: not listed in manifest file
rules/20_head_tests.cf: WARNING: not listed in manifest file
rules/20_meta_tests.cf: WARNING: not listed in manifest file
rules/20_phrases.cf: WARNING: not listed in manifest file
rules/20_porn.cf: WARNING: not listed in manifest file
rules/20_ratware.cf: WARNING: not listed in manifest file
rules/20_uri_tests.cf: WARNING: not listed in manifest file
rules/25_body_tests_es.cf: WARNING: not listed in manifest file
rules/25_body_tests_pl.cf: WARNING: not listed in manifest file
rules/25_replace.cf: WARNING: not listed in manifest file
rules/30_text_de.cf: WARNING: not listed in manifest file
rules/30_text_fr.cf: WARNING: not listed in manifest file
rules/30_text_it.cf: WARNING: not listed in manifest file
rules/30_text_nl.cf: WARNING: not listed in manifest file
rules/30_text_pl.cf: WARNING: not listed in manifest file
rules/30_text_pt_br.cf: WARNING: not listed in manifest file
rules/50_scores.cf: WARNING: not listed in manifest file
rules/60_whitelist_spf.cf: WARNING: not listed in manifest file
rules/70_sandbox.cf: WARNING: not listed in manifest file

----- End forwarded message -----

So basically there's a bunch of warnings which are being spit out for some
reason (we know they're not in the manifest mkrules, that's why you're copying
them,) and 70_sandbox.cf is not actually being created which is bad.  I'm not
sure why it thinks MPART_ALT_DIFF doesn't exist.

-- 
Randomly Generated Tagline:
Old Chinese Proverb: Beating head against wall imparts no knowledge to wall.

Re: Nightly runs still not working right

Posted by Theo Van Dinter <fe...@apache.org>.
On Mon, Nov 07, 2005 at 05:34:07PM -0800, Justin Mason wrote:
> that looks like it's fixed the prob I was talking about -- the "not in
> MANIFEST" errors.

True.  The new options to mkrules seem to have fixed that.  I'll modify
mkrules to auto-find the MANIFEST files as with the --src option and
rulesrc.  (r331672)

> >> The fix is to copy the rule def'n for MPART_ALT_DIFF to your sandbox
> >> file, as T_MPART_ALT_DIFF.  That way your sandbox is entirely
> >> independent of changes to the core ruleset, too.
> >
> >MPART_ALT_DIFF is only referenced in the rulesrc dirs by the "core"
> >files, so that's not quite going to work. :(
> 
> No, it would indeed work -- just cut and paste the line:
> 
>   body T_MPART_ALT_DIFF    eval:multipart_alternative_difference('99', '100')
> 
> it's the same eval call, but a different rule name, and in the
> sandbox file only.

I must be missing something.  No where in my sandbox do I reference
MPART_ALT_DIFF.  The only place I find it, according to grep, is in the
rulesrc/core directory:

$ pwd
/home/felicity/SA/spamassassin-head
$ rm -f rules/*
$ svn -q up rules
$ grep -r MPART_ALT_DIFF rulesrc rules | egrep -v '\.svn|\.txt'
rulesrc/lang/de/30_text_de.cf:lang de describe MPART_ALT_DIFF Nachrichtentext im Text- und HTML-Format unterscheiden sich
rulesrc/lang/nl/30_text_nl.cf:lang nl describe MPART_ALT_DIFF                  HTML en tekst delen zijn verschillend
rulesrc/core/20_body_tests.cf:body MPART_ALT_DIFF       eval:multipart_alternative_difference('99', '100')
rulesrc/core/20_body_tests.cf:describe MPART_ALT_DIFF   HTML and text parts are different
rulesrc/core/20_body_tests.cf:body MPART_ALT_DIFF_COUNT eval:multipart_alternative_difference_count('3', '1')
rulesrc/core/20_body_tests.cf:describe MPART_ALT_DIFF_COUNT     HTML and text parts are different
rulesrc/core/50_scores.cf:score MPART_ALT_DIFF 0.425 0.137 1.142 0
rulesrc/core/50_scores.cf:score MPART_ALT_DIFF_COUNT 1.649 0 1.607 0.708
$ perl Makefile.PL < /dev/null > /dev/null
$ make > /dev/null
WARNING: MY_SERVERS_FOUND: renamed as T_MY_SERVERS_FOUND due to missing T_ prefix
WARNING: BOUNCE_MESSAGE: renamed as T_BOUNCE_MESSAGE due to missing T_ prefix
WARNING: CRBOUNCE_MESSAGE: renamed as T_CRBOUNCE_MESSAGE due to missing T_ prefix
WARNING: VBOUNCE_MESSAGE: renamed as T_VBOUNCE_MESSAGE due to missing T_ prefix
config: warning: score set for non-existent rule MPART_ALT_DIFF

ERROR: LINT FAILED, suppressing output: rules/70_sandbox.cf


So there's nothing for me to copy/rename.

-- 
Randomly Generated Tagline:
A block away he wondered if he'd left behind a clue...

Re: Nightly runs still not working right

Posted by Theo Van Dinter <fe...@apache.org>.
On Mon, Nov 07, 2005 at 01:02:06PM -0800, Justin Mason wrote:
> are you using "make" or running mkrules yourself?  because "make"
> takes care of this by passing the name of the MANIFEST file.
> "make" is the better option. ;)

I'm running mkrules per the other discussions, however I have the same
problem if I use make:

$ rm -f rules/*
$ svn -q up
$ perl Makefile.PL < /dev/null > /dev/null
$ make > /dev/null
WARNING: MY_SERVERS_FOUND: renamed as T_MY_SERVERS_FOUND due to missing T_ prefix
WARNING: BOUNCE_MESSAGE: renamed as T_BOUNCE_MESSAGE due to missing T_ prefix
WARNING: CRBOUNCE_MESSAGE: renamed as T_CRBOUNCE_MESSAGE due to missing T_ prefix
WARNING: VBOUNCE_MESSAGE: renamed as T_VBOUNCE_MESSAGE due to missing T_ prefix
config: warning: score set for non-existent rule MPART_ALT_DIFF

ERROR: LINT FAILED, suppressing output: rules/70_sandbox.cf

$

> The fix is to copy the rule def'n for MPART_ALT_DIFF to your sandbox file,
> as T_MPART_ALT_DIFF.  That way your sandbox is entirely independent
> of changes to the core ruleset, too.

MPART_ALT_DIFF is only referenced in the rulesrc dirs by the "core" files, so
that's not quite going to work. :(

-- 
Randomly Generated Tagline:
"Please don't hit me! I'm brittle!"
  --Zoidberg

Re: Nightly runs still not working right

Posted by Theo Van Dinter <fe...@apache.org>.
Ok, so I did some debugging and fixed my ongoing issue (committed patch below):

-------------
config: warning: score set for non-existent rule MPART_ALT_DIFF

ERROR: LINT FAILED, suppressing output: rules/70_sandbox.cf
-------------


However, this now causes sandbox to still not be created because mkrules
doesn't like the config options that plugins provide:

-------------
config: failed to parse line, skipping: replace_rules T_FUZZY_REPLICA
config: failed to parse line, skipping: replace_rules T_FUZZY_SPRM
config: failed to parse line, skipping: urirhsbl  T_URIBL_XS_SURBL xs.surbl.org.    A

ERROR: LINT FAILED, suppressing output: rules/70_sandbox.cf

rules/70_sandbox.cf: no rules promoted
-------------

:(  I put in another commit which should fix this.  Basically, all of the
rules that need a plugin ought to be surrounded by ifplugin...endif lines.  My
commit allows conditionals to surround "unknown" lines, so things like
"replace_rules" and such are dealt with.  I also had to change the order that
things get output so that, in theory, the replace_rules lines happen after the
rule definitions.  I'm sure someone will yell at me if it's too klugy.


ie: instead of:

-------------
replace_rules T_FUZZY_REPLICA
replace_rules T_FUZZY_SPRM
ifplugin Mail::SpamAssassin::Plugin::ReplaceTags
body T_FUZZY_REPLICA    /<inter W1><post P2>(?!replica)<R><E><P><L><I><C><A>/i

endif
ifplugin Mail::SpamAssassin::Plugin::ReplaceTags
body T_FUZZY_SPRM       /<inter W1><post P2><S><P><U><R><M>/i

endif
-------------

we now get:

-------------
ifplugin Mail::SpamAssassin::Plugin::ReplaceTags
body T_FUZZY_REPLICA    /<inter W1><post P2>(?!replica)<R><E><P><L><I><C><A>/i

endif
ifplugin Mail::SpamAssassin::Plugin::ReplaceTags
body T_FUZZY_SPRM       /<inter W1><post P2><S><P><U><R><M>/i

endif
ifplugin Mail::SpamAssassin::Plugin::ReplaceTags
replace_rules T_FUZZY_REPLICA
replace_rules T_FUZZY_SPRM
endif
-------------


So now I actually get the appropriate 70_sandbox.cf and such created. :)


On Sat, Nov 12, 2005 at 09:40:39PM -0000, felicity@apache.org wrote:
> --- spamassassin/trunk/build/mkrules (original)
> +++ spamassassin/trunk/build/mkrules Sat Nov 12 13:40:37 2005
> @@ -108,7 +108,7 @@
>  
>  sub lint_output_files {
>    foreach my $file (keys %{$files_to_lint}) {
> -    my $text = $output_file_text->{file};
> +    my $text = $output_file_text->{$file};
>      if (lint_rule_text($text) != 0) {
>        warn "\nERROR: LINT FAILED, suppressing output: $file\n\n";
>        delete $output_file_text->{$file};
> 

-- 
Randomly Generated Tagline:
Always first decide the sentence, then the verdict.