NAME


sa-compile - compile SpamAssassin ruleset into native code

SYNOPSIS


sa-compile [options]

Options:


  --list                        Output base string list to STDOUT
  --sudo                        Use sudo for privilege escalation
  --keep-tmps                   Keep temporary files instead of deleting
  -C path, --configpath=path, --config-file=path
                                Path to standard configuration dir
  -p prefs, --prefspath=file, --prefs-file=file
                                Set user preferences file
  --siteconfigpath=path         Path for site configs
                                (default: /etc/mail/spamassassin)
  --updatedir=path              Directory to place updates
                      (default: /var/lib/spamassassin/compiled/<perlversion>/<version>)
  --cf=config line            Additional line of configuration
  -D, --debug [area=n,...]      Print debugging messages
  -V, --version                 Print version
  -h, --help                    Print usage message

DESCRIPTION


sa-compile uses

re2c
to compile the site-wide parts of the SpamAssassin ruleset. No part of user_prefs or any files included from user_prefs can be built into the compiled set.

This compiled set is then used by the

Mail::SpamAssassin::Plugin::Rule2XSBody
plugin to speed up SpamAssassin’s operation, where possible, and when that plugin is loaded.

re2c
can match strings much faster than perl code, by constructing a DFA to match many simple strings in parallel, and compiling that to native object code. Not all SpamAssassin rules are amenable to this conversion, however.

This requires

re2c
(see
http://re2c.org/
), and the C compiler used to build Perl XS modules, be installed.

Note that running this, and creating a compiled ruleset, will have no effect on SpamAssassin scanning speeds unless you also edit your

v320.pre
file and ensure this line is uncommented:


  loadplugin Mail::SpamAssassin::Plugin::Rule2XSBody

OPTIONS


--list Output the extracted base strings to STDOUT, instead of generating the C extension code.
--sudo Use
sudo(8)
to run code as ’root’ when writing files to the compiled-rules storage area (which is
/var/lib/spamassassin/compiled/5.010/3.002005
by default).
--keep-tmps Keep temporary files after the script completes, instead of deleting them.
-C path, --configpath=path, --config-file=path Use the specified path for locating the distributed configuration files. Ignore the default directories (usually
/usr/share/spamassassin
or similar).
--siteconfigpath=path Use the specified path for locating site-specific configuration files. Ignore the default directories (usually
/etc/mail/spamassassin
or similar).
--updatedir By default,
sa-compile
will use the system-wide rules update directory:


        /var/lib/spamassassin/spamassassin/compiled/5.010/3.002005

If the updates should be stored in another location, specify it here.

Note that use of this option is not recommended; if sa-compile is placing the compiled rules the wrong directory, you probably need to rebuild SpamAssassin with different

Makefile.PL
arguments, instead of overriding sa-compile’s runtime behaviour.
--cf=’config line’ Add additional lines of configuration directly from the command-line, parsed after the configuration files are read. Multiple --cf arguments can be used, and each will be considered a separate line of configuration.
-p prefs, --prefspath=prefs, --prefs-file=prefs Read user score preferences from prefs (usually
$HOME/.spamassassin/user_prefs
) .
-D [area,...], --debug [area,...] Produce debugging output. If no areas are listed, all debugging information is printed. Diagnostic output can also be enabled for each area individually; area is the area of the code to instrument.

For more information about which areas (also known as channels) are available, please see the documentation at <http://wiki.apache.org/spamassassin/DebugChannels>.

-h, --help Print help message and exit.
-V, --version Print sa-compile version and exit.

SEE ALSO


Mail::SpamAssassin(3) spamassassin(1) spamd(1)

PREREQUESITES


Mail::SpamAssassin
re2c
Mail::SpamAssassin::Plugin::Rule2XSBody

BUGS


See <http://issues.apache.org/SpamAssassin/>

AUTHORS


The Apache SpamAssassin(tm) Project <http://spamassassin.apache.org/>

COPYRIGHT


SpamAssassin is distributed under the Apache License, Version 2.0, as described in the file

LICENSE
included with the distribution.

POD ERRORS


Hey! The above document had some coding errors, which are explained below:
Around line 664: =cut found outside a pod block. Skipping to next block.

openSUSE Logo

Contents