aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorwxs <wxs@FreeBSD.org>2010-04-08 21:13:01 +0800
committerwxs <wxs@FreeBSD.org>2010-04-08 21:13:01 +0800
commit11d40e8ea0e9d46cf51947d19ea39a451f4a54c5 (patch)
tree8e545cda47e37848c60c765ed6f533bbc792357f /mail
parent888dc0600dd4e5f86ed6850d19760bb4ef1a4531 (diff)
downloadfreebsd-ports-gnome-11d40e8ea0e9d46cf51947d19ea39a451f4a54c5.tar.gz
freebsd-ports-gnome-11d40e8ea0e9d46cf51947d19ea39a451f4a54c5.tar.zst
freebsd-ports-gnome-11d40e8ea0e9d46cf51947d19ea39a451f4a54c5.zip
- Update to 3.3.1
- Re-work pkg-install to ask about installing rules if they do not exist. Rules are no longer distributed with the software and must be obtained by running sa-update before trying to start spamd. PR: ports/144911 Submitted by: Michael Scheidell <scheidell@secnap.net> (maintainer)
Diffstat (limited to 'mail')
-rw-r--r--mail/p5-Mail-SpamAssassin/Makefile12
-rw-r--r--mail/p5-Mail-SpamAssassin/distinfo6
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-BayesStore-DBM.pm13
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-Conf.pm24
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-DCC.pm21
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-DKIM.pm66
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-Message.pm11
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-Parser.pm13
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-SpamAssassin.pm51
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-bayes.pm12
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-spamd_spamd.raw52
-rw-r--r--mail/p5-Mail-SpamAssassin/pkg-install47
12 files changed, 92 insertions, 236 deletions
diff --git a/mail/p5-Mail-SpamAssassin/Makefile b/mail/p5-Mail-SpamAssassin/Makefile
index 012d171fe707..9c9fd9741488 100644
--- a/mail/p5-Mail-SpamAssassin/Makefile
+++ b/mail/p5-Mail-SpamAssassin/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= Mail-SpamAssassin
-PORTVERSION= 3.3.0
-PORTREVISION= 3
+PORTVERSION= 3.3.1
CATEGORIES= mail perl5
MASTER_SITES= ${MASTER_SITE_APACHE:S/$/:apache/} ${MASTER_SITE_PERL_CPAN:S/$/:cpan/}
MASTER_SITE_SUBDIR= spamassassin/source/:apache Mail/:cpan
@@ -30,7 +29,6 @@ BUILD_DEPENDS= p5-NetAddr-IP>=4.00.7:${PORTSDIR}/net-mgmt/p5-NetAddr-IP \
${SITE_PERL}/Mail/Internet.pm:${PORTSDIR}/mail/p5-Mail-Tools
RUN_DEPENDS= ${BUILD_DEPENDS} \
- ${SITE_PERL}/IO/Socket/INET6.pm:${PORTSDIR}/net/p5-IO-INET6 \
${SITE_PERL}/${PERL_ARCH}/Time/HiRes.pm:${PORTSDIR}/devel/p5-Time-HiRes
CONFLICTS= ja-p5-Mail-SpamAssassin-[0-9]*
@@ -75,6 +73,9 @@ WITHOUT_SSL=1
.if defined(WITH_SPF_QUERY)
BUILD_DEPENDS+= ${SITE_PERL}/Mail/SPF.pm:${PORTSDIR}/mail/p5-Mail-SPF
.endif
+.if !defined(WITHOUT_IPV6)
+RUN_DEPENDS+= ${SITE_PERL}/IO/Socket/INET6.pm:${PORTSDIR}/net/p5-IO-INET6
+.endif
.if !defined(WITHOUT_SSL)
.include "${PORTSDIR}/Mk/bsd.openssl.mk"
@@ -289,7 +290,10 @@ post-install:
@[ -f ${PREFIX}/etc/mail/spamassassin/v320.pre ] || \
${CP} ${PREFIX}/etc/mail/spamassassin/v320.pre.sample \
${PREFIX}/etc/mail/spamassassin/v320.pre
- @PKG_PREFIX=${PREFIX} BATCH=${BATCH} ${SH} ${PKGDIR}/pkg-install ${PKGNAME} POST-INSTALL
+ @PKG_PREFIX=${PREFIX} BATCH=${BATCH} SU_CMD="${SU_CMD}" ${SH} ${PKGDIR}/pkg-install ${PKGNAME} POST-INSTALL
+ @[ -f ${PREFIX}/etc/mail/spamassassin/v330.pre ] || \
+ ${CP} ${PREFIX}/etc/mail/spamassassin/v330.pre.sample \
+ ${PREFIX}/etc/mail/spamassassin/v330.pre
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR} ${DOCSDIR}/sql ${DOCSDIR}/ldap
diff --git a/mail/p5-Mail-SpamAssassin/distinfo b/mail/p5-Mail-SpamAssassin/distinfo
index 74e0a7956b68..bd2c539c1fc6 100644
--- a/mail/p5-Mail-SpamAssassin/distinfo
+++ b/mail/p5-Mail-SpamAssassin/distinfo
@@ -1,3 +1,3 @@
-MD5 (Mail-SpamAssassin-3.3.0.tar.gz) = 38078b07396c0ab92b46386bc70ef086
-SHA256 (Mail-SpamAssassin-3.3.0.tar.gz) = 51676f4c3af787e3b186aeb8c5ca556330f91a6e213c266480fda3518ed53564
-SIZE (Mail-SpamAssassin-3.3.0.tar.gz) = 1322429
+MD5 (Mail-SpamAssassin-3.3.1.tar.gz) = 5a93f81fda315411560ff5da099382d2
+SHA256 (Mail-SpamAssassin-3.3.1.tar.gz) = a11ca187150d5a8fc2904c4a50f29d3ff739294fa714aaab127ba692d65410ad
+SIZE (Mail-SpamAssassin-3.3.1.tar.gz) = 1196842
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-BayesStore-DBM.pm b/mail/p5-Mail-SpamAssassin/files/patch-BayesStore-DBM.pm
deleted file mode 100644
index f2b729981786..000000000000
--- a/mail/p5-Mail-SpamAssassin/files/patch-BayesStore-DBM.pm
+++ /dev/null
@@ -1,13 +0,0 @@
---- lib/Mail/SpamAssassin/BayesStore/DBM.pm (revision 903517)
-+++ lib/Mail/SpamAssassin/BayesStore/DBM.pm (working copy)
-@@ -1438,6 +1438,9 @@
- # bayes directory
- my $main = $self->{bayes}->{main};
- my $path = $main->sed_path($main->{conf}->{bayes_path});
-+
-+ # prevent dirname() from tainting the result, it assumes $1 is not tainted
-+ local($1,$2,$3); # Bug 6310
- my $dir = dirname($path);
-
- # make temporary copy since old dbm and new dbm may have same name
-
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-Conf.pm b/mail/p5-Mail-SpamAssassin/files/patch-Conf.pm
deleted file mode 100644
index 639361d032ab..000000000000
--- a/mail/p5-Mail-SpamAssassin/files/patch-Conf.pm
+++ /dev/null
@@ -1,24 +0,0 @@
---- lib/Mail/SpamAssassin/Conf.pm (revision 903394)
-+++ lib/Mail/SpamAssassin/Conf.pm (working copy)
-@@ -2156,8 +2156,8 @@
- =item header SYMBOLIC_TEST_NAME exists:name_of_header
-
- Define a header existence test. C<name_of_header> is the name of a
--header to test for existence. This is just a very simple version of
--the above header tests.
-+header field to test for existence. This is just a very simple version
-+of the above header tests.
-
- =item header SYMBOLIC_TEST_NAME eval:name_of_eval_method([arguments])
-
-@@ -2280,7 +2280,8 @@
- $self->{parser}->add_test ($name, $fn, $TYPE_HEAD_EVALS);
- }
- }
-- elsif ($value =~ /^(\S+)\s+exists:(.*)$/) {
-+ elsif ($value =~ /^(\S+)\s+exists:([!-9;-\176]+)$/) {
-+ # RFC 5322 section 3.6.8, ftext printable US-ASCII ch not including ":"
- $self->{parser}->add_test ($1, "defined($2)", $TYPE_HEAD_TESTS);
- $self->{descriptions}->{$1} = "Found a $2 header";
- }
-
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-DCC.pm b/mail/p5-Mail-SpamAssassin/files/patch-DCC.pm
deleted file mode 100644
index 54a1fe0bd8ba..000000000000
--- a/mail/p5-Mail-SpamAssassin/files/patch-DCC.pm
+++ /dev/null
@@ -1,21 +0,0 @@
---- lib/Mail/SpamAssassin/Plugin/DCC.pm (revision 905273)
-+++ lib/Mail/SpamAssassin/Plugin/DCC.pm (working copy)
-@@ -679,7 +679,7 @@
- my $left;
- my $right;
- my $timeout = $conf->{dcc_timeout};
-- my $opts = $conf->{dcc_options};
-+ my $opts = $conf->{dccifd_options};
- my @opts = !defined $opts ? () : split(' ',$opts);
-
- $permsgstatus->enter_helper_run_mode();
-@@ -906,7 +906,7 @@
- my $conf = $self->{main}->{conf};
- my $timeout = $conf->{dcc_timeout};
- # instead of header use whatever the report option is
-- my $opts = $conf->{dcc_options};
-+ my $opts = $conf->{dccifd_options};
- my @opts = !defined $opts ? () : split(' ',$opts);
-
- $options->{report}->enter_helper_run_mode();
-
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-DKIM.pm b/mail/p5-Mail-SpamAssassin/files/patch-DKIM.pm
new file mode 100644
index 000000000000..e209eeb6a5dc
--- /dev/null
+++ b/mail/p5-Mail-SpamAssassin/files/patch-DKIM.pm
@@ -0,0 +1,66 @@
+--- lib/Mail/SpamAssassin/Plugin/DKIM.pm (revision 925052)
++++ lib/Mail/SpamAssassin/Plugin/DKIM.pm (working copy)
+@@ -213,6 +213,19 @@
+ in the SpamAssassin distribution. The whitelist score is lower, because
+ these are often targets for abuse of public mailers which sign their mail.
+
++=item unwhitelist_from_dkim author@example.com
++
++Removes an email address from def_whitelist_from_dkim and whitelist_from_dkim
++tables, if it exists. Useful for removing undesired default entries from a
++distributed configuration file by a local.cf file or by a C<user_prefs>.
++Note that a parameter is a single email address - currently that address
++is removed regardless of a signing-domain which may have been specified in a
++whitelisting entry.
++
++The specified email address has to match exactly the address previously
++used in a whitelist_from_dkim or def_whitelist_from_dkim directive
++(with an exception that its domain name part is matched case-insensitively).
++
+ =item adsp_override domain [signing-practices]
+
+ Currently few domains publish their signing practices (RFC 5617 - ADSP),
+@@ -362,6 +375,7 @@
+ }
+ my $address = $1;
+ my $sdid = defined $2 ? $2 : ''; # empty implies author domain signature
++ $address =~ s/(\@[^@]*)\z/lc($1)/e; # lowercase the email address domain
+ $self->{parser}->add_to_addrlist_rcvd('whitelist_from_dkim',
+ $address, $sdid);
+ }
+@@ -381,12 +395,32 @@
+ }
+ my $address = $1;
+ my $sdid = defined $2 ? $2 : ''; # empty implies author domain signature
++ $address =~ s/(\@[^@]*)\z/lc($1)/e; # lowercase the email address domain
+ $self->{parser}->add_to_addrlist_rcvd('def_whitelist_from_dkim',
+ $address, $sdid);
+ }
+ });
+
+ push (@cmds, {
++ setting => 'unwhitelist_from_dkim',
++ type => $Mail::SpamAssassin::Conf::CONF_TYPE_ADDRLIST,
++ code => sub {
++ my ($self, $key, $value, $line) = @_;
++ unless (defined $value && $value !~ /^$/) {
++ return $Mail::SpamAssassin::Conf::MISSING_REQUIRED_VALUE;
++ }
++ unless ($value =~ /^\S+$/) {
++ return $Mail::SpamAssassin::Conf::INVALID_VALUE;
++ }
++ $value =~ s/(\@[^@]*)\z/lc($1)/e; # lowercase the email address domain
++ $self->{parser}->remove_from_addrlist_rcvd('whitelist_from_dkim',
++ $value);
++ $self->{parser}->remove_from_addrlist_rcvd('def_whitelist_from_dkim',
++ $value);
++ }
++ });
++
++ push (@cmds, {
+ setting => 'adsp_override',
+ type => $Mail::SpamAssassin::Conf::CONF_TYPE_HASH_KEY_VALUE,
+ code => sub {
+
+
+
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-Message.pm b/mail/p5-Mail-SpamAssassin/files/patch-Message.pm
deleted file mode 100644
index 216eb1cb1a27..000000000000
--- a/mail/p5-Mail-SpamAssassin/files/patch-Message.pm
+++ /dev/null
@@ -1,11 +0,0 @@
---- lib/Mail/SpamAssassin/Message.pm.orig 2010/01/29 15:48:09 904525
-+++ lib/Mail/SpamAssassin/Message.pm 2010/01/29 15:48:29 904526
-@@ -114,6 +114,7 @@
- $self->{pristine_body} = '';
- $self->{mime_boundary_state} = {};
- $self->{line_ending} = "\012";
-+ $self->{master_deadline} = $opts->{'master_deadline'};
- $self->{suppl_attrib} = $opts->{'suppl_attrib'};
-
- bless($self,$class);
-
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-Parser.pm b/mail/p5-Mail-SpamAssassin/files/patch-Parser.pm
deleted file mode 100644
index b6100dd785fe..000000000000
--- a/mail/p5-Mail-SpamAssassin/files/patch-Parser.pm
+++ /dev/null
@@ -1,13 +0,0 @@
---- lib/Mail/SpamAssassin/Conf/Parser.pm (revision 903394)
-+++ lib/Mail/SpamAssassin/Conf/Parser.pm (working copy)
-@@ -1127,7 +1127,8 @@
- }
- if ($type == $Mail::SpamAssassin::Conf::TYPE_HEAD_TESTS)
- {
-- if ($text =~ /^!?defined\([A-Za-z][A-Za-z0-9-]*\)$/) {
-+ # RFC 5322 section 3.6.8, ftext printable US-ASCII chars not including ":"
-+ if ($text =~ /^!?defined\([!-9;-\176]+\)$/) {
- # fine, implements 'exists:'
- } else {
- my ($pat) = ($text =~ /^\s*\S+\s*(?:\=|\!)\~\s*(\S.*?\S)\s*$/);
-
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-SpamAssassin.pm b/mail/p5-Mail-SpamAssassin/files/patch-SpamAssassin.pm
deleted file mode 100644
index 6c05a2e5127a..000000000000
--- a/mail/p5-Mail-SpamAssassin/files/patch-SpamAssassin.pm
+++ /dev/null
@@ -1,51 +0,0 @@
---- lib/Mail/SpamAssassin.pm.orig 2010/01/29 15:48:09 904525
-+++ lib/Mail/SpamAssassin.pm 2010/01/29 15:48:29 904526
-@@ -75,6 +75,7 @@
- use Mail::SpamAssassin::Message;
- use Mail::SpamAssassin::PluginHandler;
- use Mail::SpamAssassin::DnsResolver;
-+use Mail::SpamAssassin::Util qw(untaint_var);
- use Mail::SpamAssassin::Util::ScopedTimer;
-
- use Errno qw(ENOENT EACCES);
-@@ -490,20 +490,21 @@
- $self->init(1);
- my $timer = $self->time_method("parse");
-
-- my $msg = Mail::SpamAssassin::Message->new({
-- message=>$message, parsenow=>$parsenow,
-- normalize=>$self->{conf}->{normalize_charset},
-- suppl_attrib=>$suppl_attrib });
--
-+ my $master_deadline;
- if (ref $suppl_attrib && exists $suppl_attrib->{master_deadline}) {
-- $msg->{master_deadline} = $suppl_attrib->{master_deadline}; # may be undef
-+ $master_deadline = $suppl_attrib->{master_deadline}; # may be undef
- } elsif ($self->{conf}->{time_limit}) { # defined and nonzero
-- $msg->{master_deadline} = $start_time + $self->{conf}->{time_limit};
-+ $master_deadline = $start_time + $self->{conf}->{time_limit};
- }
-- if (defined $msg->{master_deadline}) {
-- dbg("config: time limit %.1f s", $msg->{master_deadline} - $start_time);
-+ if (defined $master_deadline) {
-+ dbg("config: time limit %.1f s", $master_deadline - $start_time);
- }
-
-+ my $msg = Mail::SpamAssassin::Message->new({
-+ message=>$message, parsenow=>$parsenow,
-+ normalize=>$self->{conf}->{normalize_charset},
-+ master_deadline=>$master_deadline, suppl_attrib=>$suppl_attrib });
-+
- # bug 5069: The goal here is to get rendering plugins to do things
- # like OCR, convert doc and pdf to text, etc, though it could be anything
-
-@@ -1935,7 +1936,7 @@
- close IN or die "error closing $defprefs: $!";
-
- if (($< == 0) && ($> == 0) && defined($user)) { # chown it
-- my ($uid,$gid) = (getpwnam($user))[2,3];
-+ my ($uid,$gid) = (getpwnam(untaint_var($user)))[2,3];
- unless (chown($uid, $gid, $fname)) {
- warn "config: couldn't chown $fname to $uid:$gid for $user: $!\n";
- }
-
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-bayes.pm b/mail/p5-Mail-SpamAssassin/files/patch-bayes.pm
deleted file mode 100644
index 2b99114541d1..000000000000
--- a/mail/p5-Mail-SpamAssassin/files/patch-bayes.pm
+++ /dev/null
@@ -1,12 +0,0 @@
---- lib/Mail/SpamAssassin/Plugin/Bayes.pm 2010/01/26 12:13:41 903191
-+++ lib/Mail/SpamAssassin/Plugin/Bayes.pm 2010/02/03 16:44:07 906120
-@@ -832,7 +832,7 @@
- });
-
- $permsgstatus->set_tag ('TOKENSUMMARY', sub {
-- if( defined $self->{tag_data}{BAYESTC} )
-+ if ( defined $permsgstatus->{tag_data}{BAYESTC} )
- {
- my $tcount_neutral = $permsgstatus->{tag_data}{BAYESTCLEARNED}
- - $permsgstatus->{tag_data}{BAYESTCSPAMMY}
-
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-spamd_spamd.raw b/mail/p5-Mail-SpamAssassin/files/patch-spamd_spamd.raw
deleted file mode 100644
index 23f6f8c36735..000000000000
--- a/mail/p5-Mail-SpamAssassin/files/patch-spamd_spamd.raw
+++ /dev/null
@@ -1,52 +0,0 @@
---- spamd/spamd.raw.orig 2008-04-24 09:50:46.000000000 +0200
-+++ spamd/spamd.raw 2008-04-24 09:52:55.000000000 +0200
-@@ -1381,8 +1381,9 @@
-
- # Now parse *only* the message headers; the MIME tree won't be generated
- # yet, it will be done on demand later on.
-- my $mail = $spamtest->parse(\@msglines, 0, !$timeout_child ? () :
-- { master_deadline => $start_time + $timeout_child } );
-+ my $mail = $spamtest->parse(\@msglines, 0,
-+ !$timeout_child || !$start_time ? ()
-+ : { master_deadline => $start_time + $timeout_child } );
-
- return ($mail, $actual_length);
- }
-@@ -1705,8 +1706,9 @@
- my $resp = "EX_OK";
-
- # generate mail object from input
-- my ($mail, $actual_length) = parse_body($client, $expected_length,
-- $compress_zlib);
-+ my($mail, $actual_length) =
-+ parse_body($client, $expected_length, $compress_zlib, $start_time);
-+
- return 0 unless defined($mail); # error
-
- if ($compress_zlib) {
-@@ -2276,8 +2276,14 @@
-
- sub handle_user_setuid_with_sql {
- my $username = shift;
-+
-+ # Bug 6313: interestingly, if $username is not tainted than $pwd, $gcos and
-+ # $etc end up tainted but other fields not; if $username _is_ tainted,
-+ # getpwnam does not complain, but all returned fields are tainted (which
-+ # makes sense, but is worth remembering)
-+ #
- my ($name, $pwd, $uid, $gid, $quota, $comment, $gcos, $dir, $etc) =
-- getpwnam($username);
-+ getpwnam(untaint_var($username));
-
- if (!$spamtest->{'paranoid'} && !defined($uid)) {
- # if we are given a username, but can't look it up, maybe name
-@@ -2300,7 +2306,7 @@
- }
-
- my $spam_conf_dir = $dir . '/.spamassassin'; # needed for Bayes, etc.
-- if (! -d $spam_conf_dir) {
-+ if ($opt{'user-config'} && ! -d $spam_conf_dir) {
- if (mkdir $spam_conf_dir, 0700) {
- info("spamd: created $spam_conf_dir for $username");
- }
-
diff --git a/mail/p5-Mail-SpamAssassin/pkg-install b/mail/p5-Mail-SpamAssassin/pkg-install
index cccf13f64d80..e38982ab4edd 100644
--- a/mail/p5-Mail-SpamAssassin/pkg-install
+++ b/mail/p5-Mail-SpamAssassin/pkg-install
@@ -32,31 +32,6 @@ yesno() {
echo "Please answer yes or no."
done
}
-
- if [ ! -e ${PKG_PREFIX}/etc/mail/spamassassin/v320.pre ]; then
- echo "***********************************************"
- echo "*__ ___ ____ _ _ ___ _ _ ____ *"
- echo "*\ \ / / \ | _ \| \ | |_ _| \ | |/ ___|*"
- echo "* \ \ /\ / / _ \ | |_) | \| || || \| | | _ *"
- echo "* \ V V / ___ \| _ <| |\ || || |\ | |_| |*"
- echo "* \_/\_/_/ \_\_| \_\_| \_|___|_| \_|\____|*"
- echo "* *"
- echo "*You must install rules before starting spamd!*"
- echo "***********************************************"
- if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then
- sleep 10;
- fi
- if yesno "Do you wish to run sa-update to fetch new rules" "N";then
- ${PKG_PREFIX}/bin/sa-update || true
- fi
- grep '^load.*Rule2XSBody' ${PKG_PREFIX}/etc/mail/spamassassin/v320.pre > /dev/null
- if [ $? -eq 0 ];then
- if yesno "Do you wish to compile rules with re2c (will take a long time)" "N";then
- ${PKG_PREFIX}/bin/sa-compile || true
- fi
- fi
- fi
-
if ! pw groupshow "${GROUP}" 2>/dev/null 1>&2; then
if pw groupadd ${GROUP} -g ${GID}; then
echo "Added group \"${GROUP}\"."
@@ -81,12 +56,9 @@ yesno() {
# Create pid directory
mkdir /var/run/spamd 2> /dev/null && chown ${USER}:${GROUP} /var/run/spamd
+ /usr/bin/su root -c "${PKG_PREFIX}/bin/spamassassin -x -L --lint"
- exit 0
-fi # post-install
-
-if [ "$2" = "PRE-INSTALL" ]; then
- if [ ! -e ${PKG_PREFIX}/etc/mail/spamassassin/v320.pre ]; then
+ if [ ${?} -eq 255 ];then
echo "***********************************************"
echo "*__ ___ ____ _ _ ___ _ _ ____ *"
echo "*\ \ / / \ | _ \| \ | |_ _| \ | |/ ___|*"
@@ -97,10 +69,21 @@ if [ "$2" = "PRE-INSTALL" ]; then
echo "*You must install rules before starting spamd!*"
echo "***********************************************"
if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then
- sleep 10;
+ if yesno "Do you wish to run sa-update to fetch new rules" "N";then
+ ${PKG_PREFIX}/bin/sa-update || true
+ else
+ echo ""
+ fi
+ /usr/bin/su root -c "${PKG_PREFIX}/bin/spamassassin -x -L --lint"
+ if [ ${?} -eq 0 ] && grep '^load.*Rule2XSBody' ${PKG_PREFIX}/etc/mail/spamassassin/v320.pre > /dev/null ;then
+ if yesno "Do you wish to compile rules with re2c (will take a long time)" "N";then
+ ${PKG_PREFIX}/bin/sa-compile || true
fi
fi
+ fi
+ fi
+
exit 0
-fi
+fi # post-install
exit 0