http://issues.apache.org/SpamAssassin/show_bug.cgi?id=5123

           Summary: simplify rulesrc implementation
           Product: Spamassassin
           Version: SVN Trunk (Latest Devel Version)
          Platform: Other
        OS/Version: other
            Status: NEW
          Severity: major
          Priority: P5
         Component: Rules
        AssignedTo: [email protected]
        ReportedBy: [EMAIL PROTECTED]


As discussed on the dev list last month, Theo believes that we need
to trim back some of the more baroque aspects of the rules project work.
I'm happy enough with that.  Here's what's suggested (pasted from
earlier mails on dev):

  Me: 'Hmm -- I think I'd need more details of how that'd work [..]'

  Theo: 'Keep 3.1 the way it currently is, semi-revert 3.2 to have a rules
  directory and we'll put a minimal set of 3.2 rules in there.
  External to the normal distro, we have code that generates updates based on
  the mass-check results (or whatever else we want to base them on).

  [on what files are distributed:] I think our current methodology of:

  - user downloads the engine, installs it, it comes with a core set of rules
  - user is encouraged to run sa-update, and then run it periodically as well
    to get the complete set of rules

  works well.  It doesn't require us to have everything in the engine
  distribution though.'



So in other words, the distributed tarball consists of:

  - engine
  - core rules in "rules/" directory

the SVN build would consist of:

  - engine
  - core rules in "rules/" directory
  - an SVN external for the "rulesrc/" directory
  - and the build/mkrules script to compile the latter

the "sa-update" distributed rules tarballs would have:

  - core rules in "rules/" directory
  - plus the 'active' rules in "rules/" directory (in other words, the compiled
    output from build/mkrules)


Another issue is version-dependent rulesets; these would move back
out of rulesrc, and back into the "rules/" directory, alongside
the engine whose code they depend on.

In terms of  implementation, it's pretty simple:

1. Move the core rules files from "rulesrc/core" back into "rules".

1a. (Maybe trim out the rules that are currently showing up as
unusable in the rule-QA app, since there's doubtless some rule rot
by now...)

2. change Makefile.PL to not run "build/mkrules" unless the "rulesrc"
directory is present; that will only be the case with an SVN
checkout rather than a "make dist" dir or tarball.



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Reply via email to