From nobody@FreeBSD.org  Sat Mar 20 17:31:43 2010
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 89732106564A
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 20 Mar 2010 17:31:43 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 76F5E8FC1B
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 20 Mar 2010 17:31:43 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id o2KHVhqp079231
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 20 Mar 2010 17:31:43 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id o2KHVhEb079230;
	Sat, 20 Mar 2010 17:31:43 GMT
	(envelope-from nobody)
Message-Id: <201003201731.o2KHVhEb079230@www.freebsd.org>
Date: Sat, 20 Mar 2010 17:31:43 GMT
From: Michael Scheidell <scheidell@secnap.net>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [MAINTAINER-UPDATE] mail/p5-Mail-SpamAssassin update to 3.3.1
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         144911
>Category:       ports
>Synopsis:       [MAINTAINER-UPDATE] mail/p5-Mail-SpamAssassin update to 3.3.1
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    gabor
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Mar 20 17:40:01 UTC 2010
>Closed-Date:    Thu Apr 08 13:13:19 UTC 2010
>Last-Modified:  Thu Apr  8 13:20:02 UTC 2010
>Originator:     Michael Scheidell
>Release:        na
>Organization:
SECNAP Network Security
>Environment:
na
>Description:
SA 3.3.1 is mostly a non critical minor bugfix and update

This attached patch updates SA to 3.3.1, and also incorporates PR's 144190 and 144418 which will copy over the missing v330.pre and will not include the IPV perl module if IPV6 is not enabled.(thanks wks)

a big change to pkg-install was done to try to take into account that the sa rules are no longer distributed with SA.  This means that make install, port install, packages, non of these have sa rules distributed, and you either need to install them with sa-update, or get them from the internet some other way, get the PGP keys and use sa-update to locally install them (hint: use sa-update)

this new pkg-install will ask if you need to install rules, if they do not exist.
(using an rc of 255 with the spamassassin --lint command)

It appears to work with make install, portinstall, portupgrade, both binary and source (note: portinstall/upgrade -PP ignores --batch, so if you are scripting this, you must run sa-update and optionally sa-compile later)

thanks again to wks for trying to get this scripted right in plg-install

>How-To-Repeat:
na
>Fix:
apply attached patch, don't forget to run sa-update


Patch attached with submission follows:

diff -bBru /var/tmp/SA330/Makefile ./Makefile
--- /var/tmp/SA330/Makefile	2010-02-17 17:03:35.000000000 -0500
+++ ./Makefile	2010-03-20 11:47:02.000000000 -0400
@@ -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 @@
 		${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 @@
 .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 @@
 	@[ -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 -bBru /var/tmp/SA330/distinfo ./distinfo
--- /var/tmp/SA330/distinfo	2010-02-10 04:06:08.000000000 -0500
+++ ./distinfo	2010-03-20 13:01:22.000000000 -0400
@@ -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 -bBru /var/tmp/SA330/files/patch-BayesStore-DBM.pm ./files/patch-BayesStore-DBM.pm
--- /var/tmp/SA330/files/patch-BayesStore-DBM.pm	2010-02-10 04:06:08.000000000 -0500
+++ ./files/patch-BayesStore-DBM.pm	2010-03-20 00:18:51.000000000 -0400
@@ -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 -bBru /var/tmp/SA330/files/patch-Conf.pm ./files/patch-Conf.pm
--- /var/tmp/SA330/files/patch-Conf.pm	2010-02-10 04:06:08.000000000 -0500
+++ ./files/patch-Conf.pm	2010-03-20 00:19:14.000000000 -0400
@@ -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 -bBru /var/tmp/SA330/files/patch-DCC.pm ./files/patch-DCC.pm
--- /var/tmp/SA330/files/patch-DCC.pm	2010-02-10 04:06:08.000000000 -0500
+++ ./files/patch-DCC.pm	2010-03-20 00:19:32.000000000 -0400
@@ -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 -bBru /var/tmp/SA330/files/patch-DKIM.pm ./files/patch-DKIM.pm
--- /var/tmp/SA330/files/patch-DKIM.pm	2010-03-20 12:58:43.000000000 -0400
+++ ./files/patch-DKIM.pm	2010-03-19 14:27:04.000000000 -0400
@@ -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 -bBru /var/tmp/SA330/files/patch-Message.pm ./files/patch-Message.pm
--- /var/tmp/SA330/files/patch-Message.pm	2010-02-10 04:06:08.000000000 -0500
+++ ./files/patch-Message.pm	2010-03-20 00:19:52.000000000 -0400
@@ -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 -bBru /var/tmp/SA330/files/patch-Parser.pm ./files/patch-Parser.pm
--- /var/tmp/SA330/files/patch-Parser.pm	2010-02-11 11:41:35.000000000 -0500
+++ ./files/patch-Parser.pm	2010-03-20 00:20:15.000000000 -0400
@@ -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 -bBru /var/tmp/SA330/files/patch-SpamAssassin.pm ./files/patch-SpamAssassin.pm
--- /var/tmp/SA330/files/patch-SpamAssassin.pm	2010-02-10 04:06:08.000000000 -0500
+++ ./files/patch-SpamAssassin.pm	2010-03-20 00:20:34.000000000 -0400
@@ -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 -bBru /var/tmp/SA330/files/patch-bayes.pm ./files/patch-bayes.pm
--- /var/tmp/SA330/files/patch-bayes.pm	2010-02-10 04:06:08.000000000 -0500
+++ ./files/patch-bayes.pm	2010-03-20 00:20:52.000000000 -0400
@@ -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 -bBru /var/tmp/SA330/files/patch-spamd_spamd.raw ./files/patch-spamd_spamd.raw
--- /var/tmp/SA330/files/patch-spamd_spamd.raw	2010-02-10 04:06:08.000000000 -0500
+++ ./files/patch-spamd_spamd.raw	2010-03-20 00:21:08.000000000 -0400
@@ -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 -bBru /var/tmp/SA330/pkg-install ./pkg-install
--- /var/tmp/SA330/pkg-install	2010-02-17 17:03:35.000000000 -0500
+++ ./pkg-install	2010-03-20 13:02:25.000000000 -0400
@@ -32,31 +33,6 @@
                 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 +57,9 @@
     
     # 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 +70,21 @@
         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


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->gabor 
Responsible-Changed-By: edwin 
Responsible-Changed-When: Sat Mar 20 17:40:10 UTC 2010 
Responsible-Changed-Why:  
gabor@ wants his PRs (via the GNATS Auto Assign Tool) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=144911 

From: Martin Matuska <mm@FreeBSD.org>
To: bug-followup@FreeBSD.org, scheidell@secnap.net
Cc:  
Subject: Re: ports/144911: [MAINTAINER-UPDATE] mail/p5-Mail-SpamAssassin update
 to 3.3.1
Date: Wed, 07 Apr 2010 23:46:33 +0200

 What is the progress with this PR? I am interested :-)

From: "Michael Scheidell" <scheidell@secnap.net>
To: "Martin Matuska" <mm@FreeBSD.org>,
	<bug-followup@FreeBSD.org>,
	<scheidell@secnap.net>
Cc:  
Subject: RE: ports/144911: [MAINTAINER-UPDATE] mail/p5-Mail-SpamAssassin update to 3.3.1
Date: Wed, 7 Apr 2010 18:03:33 -0400

 I wish I knew.=20
 
 -----Original Message-----
 From: Martin Matuska <mm@FreeBSD.org>
 Sent: Wednesday, April 07, 2010 5:46 PM
 To: bug-followup@FreeBSD.org <bug-followup@FreeBSD.org>; =
 scheidell@secnap.net <scheidell@secnap.net>
 Subject: Re: ports/144911: [MAINTAINER-UPDATE] mail/p5-Mail-SpamAssassin =
 update to 3.3.1
 
 What is the progress with this PR? I am interested :-)
 ______________________________________________________________________
 This email has been scanned and certified safe by SpammerTrap(r). 
 For Information please see http://www.secnap.com/products/spammertrap/
 ______________________________________________________________________  

From: Wesley Shields <wxs@FreeBSD.org>
To: Michael Scheidell <scheidell@secnap.net>
Cc: bug-followup@FreeBSD.org, mm@FreeBSD.org, gabor@FreeBSD.org
Subject: Re: ports/144911: [MAINTAINER-UPDATE] mail/p5-Mail-SpamAssassin
 update to 3.3.1
Date: Wed, 7 Apr 2010 20:23:40 -0400

 On Wed, Apr 07, 2010 at 06:05:07PM -0400, Michael Scheidell wrote:
 > Can you check with someone on this?
 
 I'm ready to commit this tomorrow. Gabor, do you mind if I do that?
 
 -- WXS
State-Changed-From-To: open->closed 
State-Changed-By: wxs 
State-Changed-When: Thu Apr 8 13:13:17 UTC 2010 
State-Changed-Why:  
Committed. Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=144911 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/144911: commit references a PR
Date: Thu,  8 Apr 2010 13:13:15 +0000 (UTC)

 wxs         2010-04-08 13:13:01 UTC
 
   FreeBSD ports repository
 
   Modified files:
     mail/p5-Mail-SpamAssassin Makefile distinfo pkg-install 
   Added files:
     mail/p5-Mail-SpamAssassin/files patch-DKIM.pm 
   Removed files:
     mail/p5-Mail-SpamAssassin/files patch-BayesStore-DBM.pm 
                                     patch-Conf.pm patch-DCC.pm 
                                     patch-Message.pm 
                                     patch-Parser.pm 
                                     patch-SpamAssassin.pm 
                                     patch-bayes.pm 
                                     patch-spamd_spamd.raw 
   Log:
   - 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)
   
   Revision  Changes    Path
   1.132     +8 -4      ports/mail/p5-Mail-SpamAssassin/Makefile
   1.44      +3 -3      ports/mail/p5-Mail-SpamAssassin/distinfo
   1.2       +0 -13     ports/mail/p5-Mail-SpamAssassin/files/patch-BayesStore-DBM.pm (dead)
   1.2       +0 -24     ports/mail/p5-Mail-SpamAssassin/files/patch-Conf.pm (dead)
   1.2       +0 -21     ports/mail/p5-Mail-SpamAssassin/files/patch-DCC.pm (dead)
   1.1       +66 -0     ports/mail/p5-Mail-SpamAssassin/files/patch-DKIM.pm (new)
   1.2       +0 -11     ports/mail/p5-Mail-SpamAssassin/files/patch-Message.pm (dead)
   1.2       +0 -13     ports/mail/p5-Mail-SpamAssassin/files/patch-Parser.pm (dead)
   1.2       +0 -51     ports/mail/p5-Mail-SpamAssassin/files/patch-SpamAssassin.pm (dead)
   1.3       +0 -12     ports/mail/p5-Mail-SpamAssassin/files/patch-bayes.pm (dead)
   1.5       +0 -52     ports/mail/p5-Mail-SpamAssassin/files/patch-spamd_spamd.raw (dead)
   1.9       +15 -32    ports/mail/p5-Mail-SpamAssassin/pkg-install
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
>Unformatted:
