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.