ports/160282: [Maintainer-Update] ports/p5-Mail-SpamAssassin. fix sa-update, allow cascading port

Michael Scheidell scheidell at secnap.net
Mon Aug 29 15:10:11 UTC 2011


>Number:         160282
>Category:       ports
>Synopsis:       [Maintainer-Update] ports/p5-Mail-SpamAssassin. fix sa-update, allow cascading port
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Mon Aug 29 15:10:10 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Michael Scheidell
>Release:        lots of them
>Organization:
SECNAP Network Security
>Environment:
na
>Description:
#1:  sed for AWL is NOT needed anymore (SA group has deprecated use of AWL, for lots of reasons)

thanks Jason Helfman <jhelfman at experts-exchange.com>
committers: please close bug 159365, replaced by this PR

#2, change PKGNAMEPREFIX = p5 to ? to allow slave ports. (like maybe ja-..)

#3, we found/are tracking down a bug in sa-update where it will continue to try to pull sa-updates from mirrors, even if the TMPDIR is not writable, and/or fsys full.  this is SpamAssassin bug 6655:

<https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6655>

>How-To-Repeat:
rmdir /tmpdir
setenv TMPDIR /tmpdir
sa-update -D

(will try to pull from all three mirrors, over and over)

setenv TMPDIR /tmp

dd if=/dev/zefo of=/tmp/fill bs=1024k (till full)

sa-update -D



>Fix:
add the attached patch


Patch attached with submission follows:

diff -bBru sa.orig/Makefile sa.new/Makefile
--- sa.orig/Makefile	2011-08-01 21:06:48.000000000 +0000
+++ sa.new/Makefile	2011-08-29 14:18:12.000000000 +0000
@@ -7,11 +7,11 @@
 
 PORTNAME=	Mail-SpamAssassin
 PORTVERSION=	3.3.2
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	mail perl5
 MASTER_SITES=	${MASTER_SITE_APACHE:S/$/:apache/} ${MASTER_SITE_PERL_CPAN:S/$/:cpan/}
 MASTER_SITE_SUBDIR=	spamassassin/source/:apache Mail/:cpan
-PKGNAMEPREFIX=	p5-
+PKGNAMEPREFIX?=	p5-
 DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:apache,cpan
 
 MAINTAINER=	scheidell at secnap.net
@@ -266,9 +266,6 @@
 .if defined(WITH_DCC)
 	${REINPLACE_CMD} -e '/DCC/s/^#loadplugin/loadplugin/' ${WRKSRC}/rules/v310.pre
 .endif
-.if !defined(WITH_AWL)
-	${REINPLACE_CMD} -e '/AWL/s/^loadplugin/#loadplugin/' ${WRKSRC}/rules/v310.pre
-.endif
 .if defined(WITH_SACOMPILE)
 	${REINPLACE_CMD} -e '/Rule2XSBody/s/^# loadplugin/loadplugin/' ${WRKSRC}/rules/v320.pre
 .endif
diff -bBru sa.orig/files/patch-bug6655 sa.new/files/patch-bug6655
--- sa.orig/files/patch-bug6655	2011-08-29 14:41:56.000000000 +0000
+++ sa.new/files/patch-bug6655	2011-08-29 14:29:11.000000000 +0000
@@ -0,0 +1,47 @@
+--- lib/Mail/SpamAssassin/Util.pm	2011-06-06 19:59:17.000000000 -0400
++++ lib/Mail/SpamAssassin/Util.pm	2011-08-26 17:12:19.000000000 -0400
+@@ -1025,6 +1024,8 @@
+     return;
+   }
+ 
++  opendir(my $dh, $tmpdir) || die "Could not open $tmpdir: $!";
++  closedir $dh;
+   my ($reportfile, $tmpfile);
+   my $umask = umask 077;
+ 
+@@ -1052,7 +1053,10 @@
+ 
+     # ensure the file handle is not semi-open in some way
+     if ($tmpfile) {
+-      close $tmpfile  or info("error closing $reportfile: $!");
++      if (! close $tmpfile) {
++       info("error closing $reportfile: $!");
++       $tmpfile=undef;
++      }
+     }
+   }
+
+--- sa-update.raw    2011-06-24 13:38:50.000000000 -0400
++++ sa-update.raw    2011-08-29 09:38:50.000000000 -0400
+@@ -677,9 +677,9 @@
+ 
+   # Write the content out to a temp file for GPG/Archive::Tar interaction
+   dbg("channel: populating temp content file");
+-  open(TMP, ">$content_file") || die "fatal: can't write to content temp file $content_file: $!\n";
++  open(TMP, ">$content_file") || die "fatal: couldn't create content temp file $content_file: $!\n";
+   binmode TMP;
+-  print TMP $content;
++  print TMP $content || die "fatal: can't write to content temp file $content_file: $!\n";
+   close(TMP);
+ 
+   # to sign  : gpg -bas file
+@@ -695,7 +695,7 @@
+       die "fatal: couldn't create temp file for GPG signature: $!\n";
+     }
+     binmode $tfh;
+-    print $tfh $GPG;
++    print $tfh $GPG || die "fatal: can't write temp file for GPG signature: $!\n";
+     close($tfh);
+ 
+     dbg("gpg: calling gpg");
+


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list