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//) --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 "/home/jm/sabuildtools/perl587/var/spamassassin/compiled/5.008/3.002 006" 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: /home/jm/sabuildtools/perl587/var/spamassassin/spamassassin/compiled/5.008/3.002006 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 . -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 AUTHORS The Apache SpamAssassin(tm) Project COPYRIGHT SpamAssassin is distributed under the Apache License, Version 2.0, as described in the file "LICENSE" included with the distribution.