From 949d2b3d72a7ffc8e968b8d2719a1c4790d38ecb Mon Sep 17 00:00:00 2001 From: Chris Rees Date: Thu, 11 Aug 2011 07:50:30 +0000 Subject: [PATCH] - Update to 3.3.2 - Use USERS PR: ports/158530 Submitted by: Takefu --- japanese/p5-Mail-SpamAssassin/Makefile | 34 +-- japanese/p5-Mail-SpamAssassin/distinfo | 12 +- .../p5-Mail-SpamAssassin/files/patch-DKIM.pm | 66 ----- .../p5-Mail-SpamAssassin/files/patch-bug6392 | 225 ------------------ .../p5-Mail-SpamAssassin/files/patch-bug6396 | 13 - japanese/p5-Mail-SpamAssassin/pkg-install | 37 +-- japanese/p5-Mail-SpamAssassin/pkg-plist | 5 +- 7 files changed, 35 insertions(+), 357 deletions(-) delete mode 100644 japanese/p5-Mail-SpamAssassin/files/patch-DKIM.pm delete mode 100644 japanese/p5-Mail-SpamAssassin/files/patch-bug6392 delete mode 100644 japanese/p5-Mail-SpamAssassin/files/patch-bug6396 diff --git a/japanese/p5-Mail-SpamAssassin/Makefile b/japanese/p5-Mail-SpamAssassin/Makefile index b685685507f2..9e3899740c4a 100644 --- a/japanese/p5-Mail-SpamAssassin/Makefile +++ b/japanese/p5-Mail-SpamAssassin/Makefile @@ -6,8 +6,8 @@ # PORTNAME= Mail-SpamAssassin -PORTVERSION= 3.3.1 -PORTREVISION= 3 +PORTVERSION= 3.3.2 +PORTREVISION= 1 CATEGORIES= japanese mail perl5 MASTER_SITES= ${MASTER_SITE_APACHE:S/$/:apache/} ${MASTER_SITE_PERL_CPAN:S/$/:cpan/} \ ${PATCH_SITES} @@ -23,19 +23,22 @@ PATCHFILES= spamassassin-${PORTVERSION}-ja-${PATCHLEVEL}.patch:JA PATCHLEVEL= 1 PATCH_DIST_STRIP= -p1 -RUN_DEPENDS+= MAINTAINER= fmysh@iijmio-mail.jp COMMENT= SpamAssassin with Japanese tokenizer RUN_DEPENDS= p5-NetAddr-IP>=4.00.7:${PORTSDIR}/net-mgmt/p5-NetAddr-IP \ p5-Net-DNS>=0.63:${PORTSDIR}/dns/p5-Net-DNS \ - p5-HTML-Parser>=3.43:${PORTSDIR}/www/p5-HTML-Parser \ + p5-HTML-Parser>=3.46:${PORTSDIR}/www/p5-HTML-Parser \ p5-libwww>=0:${PORTSDIR}/www/p5-libwww \ - ${SITE_PERL}/${PERL_ARCH}/Encode/Detect.pm:${PORTSDIR}/converters/p5-Encode-Detect \ - ${SITE_PERL}/Mail/Internet.pm:${PORTSDIR}/mail/p5-Mail-Tools -RUN_DEPENDS+= ja-p5-MeCab>=0.98:${PORTSDIR}/japanese/p5-MeCab - -BUILD_DEPENDS= ${RUN_DEPENDS} + p5-Encode-Detect>=0:${PORTSDIR}/converters/p5-Encode-Detect \ + p5-Mail-Tools>=0:${PORTSDIR}/mail/p5-Mail-Tools \ + ja-p5-MeCab>=0.98:${PORTSDIR}/japanese/p5-MeCab +BUILD_DEPENDS= p5-NetAddr-IP>=4.00.7:${PORTSDIR}/net-mgmt/p5-NetAddr-IP \ + p5-Net-DNS>=0.63:${PORTSDIR}/dns/p5-Net-DNS \ + p5-HTML-Parser>=3.46:${PORTSDIR}/www/p5-HTML-Parser \ + p5-libwww>=0:${PORTSDIR}/www/p5-libwww \ + p5-Encode-Detect>=0:${PORTSDIR}/converters/p5-Encode-Detect \ + p5-Mail-Tools>=0:${PORTSDIR}/mail/p5-Mail-Tools CONFLICTS= p5-Mail-SpamAssassin-[0-9]* @@ -46,6 +49,9 @@ CONFIGURE_ARGS= SYSCONFDIR="${PREFIX}/etc" \ CONTACT_ADDRESS="${CONTACT_ADDRESS}" \ LOCALSTATEDIR="/var/db/spamassassin" +USERS= spamd +GROUPS= spamd + # You can override it if you like CONTACT_ADDRESS?= The administrator of that system @@ -133,7 +139,7 @@ RUN_DEPENDS+= ${SITE_PERL}/IO/Socket/SSL.pm:${PORTSDIR}/security/p5-IO-Socket-SS RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/Digest/SHA.pm:${PORTSDIR}/security/p5-Digest-SHA . endif RUN_DEPENDS+= p5-Mail-DKIM>=0.37:${PORTSDIR}/mail/p5-Mail-DKIM -RUN_DEPENDS+= p5-Crypt-OpenSSL-RSA>=0.24:${PORTSDIR}/security/p5-Crypt-OpenSSL-RSA +RUN_DEPENDS+= p5-Crypt-OpenSSL-RSA>=0.26_1:${PORTSDIR}/security/p5-Crypt-OpenSSL-RSA .endif .if defined(WITH_SACOMPILE) @@ -220,7 +226,7 @@ MAN3= Mail::SpamAssassin.3 \ spamassassin-run.3 MAN1= spamd.1 spamassassin.1 spamc.1 sa-learn.1 sa-update.1 \ - spamassassin-run.1 sa-compile.1 + spamassassin-run.1 sa-compile.1 sa-awl.1 DOCSDIR= ${PREFIX}/share/doc/${PKGNAMEPREFIX}${PORTNAME} DATADIR= ${PREFIX}/share/spamassassin @@ -239,7 +245,7 @@ SUB_LIST+= SQL_FLAG="-Q" SUB_LIST+= SQL_FLAG="" .endif .if !defined(WITH_AS_ROOT) -SUB_LIST+= RUN_AS_USER="-u spamd -H /var/spool/spamd" +SUB_LIST+= RUN_AS_USER="-u ${USERS} -H /var/spool/spamd" .else SUB_LIST+= RUN_AS_USER="" .endif @@ -289,7 +295,7 @@ post-build: .endif pre-su-install: - @${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL + @USER=${USERS} GROUP=${GROUPS} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL @${INSTALL_PROGRAM} ${WRKSRC}/spamc/libspamc.so ${PREFIX}/lib/libspamc.so.0 @${LN} -sf libspamc.so.0 ${PREFIX}/lib/libspamc.so .if !defined(WITHOUT_SSL) @@ -314,7 +320,7 @@ 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} SU_CMD="${SU_CMD}" ${SH} ${PKGDIR}/pkg-install ${PKGNAME} POST-INSTALL + @PKG_PREFIX=${PREFIX} BATCH=${BATCH} SU_CMD="${SU_CMD}" USER=${USERS} GROUP=${GROUPS} ${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 diff --git a/japanese/p5-Mail-SpamAssassin/distinfo b/japanese/p5-Mail-SpamAssassin/distinfo index 03179cb83036..b9842b70795a 100644 --- a/japanese/p5-Mail-SpamAssassin/distinfo +++ b/japanese/p5-Mail-SpamAssassin/distinfo @@ -1,8 +1,8 @@ -SHA256 (ja-spamassassin/Mail-SpamAssassin-3.3.1.tar.gz) = a11ca187150d5a8fc2904c4a50f29d3ff739294fa714aaab127ba692d65410ad -SIZE (ja-spamassassin/Mail-SpamAssassin-3.3.1.tar.gz) = 1196842 +SHA256 (ja-spamassassin/Mail-SpamAssassin-3.3.2.tar.gz) = 5323038939a0ef9fc97d5264defce3ae1d95e98b3a94c4c3b583341c927f32df +SIZE (ja-spamassassin/Mail-SpamAssassin-3.3.2.tar.gz) = 1208182 SHA256 (ja-spamassassin/tokenizer.pre) = 9f8e30a8449fd13d571427ea30a252b4b275f153bde5345c50427a7aee3c90e0 SIZE (ja-spamassassin/tokenizer.pre) = 163 -SHA256 (ja-spamassassin/spamassassin-3.3.1-ja-1.txt) = 8342ed8b783f0eae867df9749b8c2ef35d7d5bee00bc240624bab57cc5a03070 -SIZE (ja-spamassassin/spamassassin-3.3.1-ja-1.txt) = 7163 -SHA256 (ja-spamassassin/spamassassin-3.3.1-ja-1.patch) = 39dd21525076b86134b421a99cbbe151feba66da7381003d4743044c852ee2d5 -SIZE (ja-spamassassin/spamassassin-3.3.1-ja-1.patch) = 33740 +SHA256 (ja-spamassassin/spamassassin-3.3.2-ja-1.txt) = 6d818b246d2655abb260de83b4735c4f433808de7c19c4f905474c78c1ccbebd +SIZE (ja-spamassassin/spamassassin-3.3.2-ja-1.txt) = 7246 +SHA256 (ja-spamassassin/spamassassin-3.3.2-ja-1.patch) = 073e9eaebf0dc2bf9e90f894c171a7654dad8444ed269528045e547302b7136a +SIZE (ja-spamassassin/spamassassin-3.3.2-ja-1.patch) = 33740 diff --git a/japanese/p5-Mail-SpamAssassin/files/patch-DKIM.pm b/japanese/p5-Mail-SpamAssassin/files/patch-DKIM.pm deleted file mode 100644 index e209eeb6a5dc..000000000000 --- a/japanese/p5-Mail-SpamAssassin/files/patch-DKIM.pm +++ /dev/null @@ -1,66 +0,0 @@ ---- 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. -+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/japanese/p5-Mail-SpamAssassin/files/patch-bug6392 b/japanese/p5-Mail-SpamAssassin/files/patch-bug6392 deleted file mode 100644 index 6125c497e8da..000000000000 --- a/japanese/p5-Mail-SpamAssassin/files/patch-bug6392 +++ /dev/null @@ -1,225 +0,0 @@ -Index: lib/Mail/SpamAssassin/HTML.pm -=================================================================== ---- lib/Mail/SpamAssassin/HTML.pm (revision 943932) -+++ lib/Mail/SpamAssassin/HTML.pm (revision 943933) -@@ -191,7 +191,7 @@ - my $self = shift; - my %options = @_; - -- return join('', @{ $self->{text} }) unless keys %options; -+ return join('', @{ $self->{text} }) unless %options; - - my $mask; - while (my ($k, $v) = each %options) { -Index: lib/Mail/SpamAssassin/Dns.pm -=================================================================== ---- lib/Mail/SpamAssassin/Dns.pm (revision 943932) -+++ lib/Mail/SpamAssassin/Dns.pm (revision 943933) -@@ -754,7 +754,7 @@ - dbg("dns: entering helper-app run mode"); - $self->{old_slash} = $/; # Razor pollutes this - %{$self->{old_env}} = (); -- if ( defined %ENV ) { -+ if ( %ENV ) { - # undefined values in %ENV can result due to autovivification elsewhere, - # this prevents later possible warnings when we restore %ENV - while (my ($key, $value) = each %ENV) { -Index: lib/Mail/SpamAssassin/Plugin/Check.pm -=================================================================== ---- lib/Mail/SpamAssassin/Plugin/Check.pm (revision 943932) -+++ lib/Mail/SpamAssassin/Plugin/Check.pm (revision 943933) -@@ -307,64 +307,51 @@ - my $package_name = __PACKAGE__; - my $methodname = $package_name."::_".$ruletype."_tests_".$clean_priority; - -- if (defined &{$methodname} && !$doing_user_rules) { --run_compiled_method: -- # dbg("rules: run_generic_tests - calling %s", $methodname); -- my $t = Mail::SpamAssassin::Timeout->new({ deadline => $master_deadline }); -- my $err = $t->run(sub { -- no strict "refs"; -- $methodname->($pms, @{$opts{args}}); -- }); -- if ($t->timed_out() && $master_deadline && time > $master_deadline) { -- info("check: exceeded time limit in $methodname, skipping further tests"); -- $pms->{deadline_exceeded} = 1; -- } -- return; -- } -+ if (!defined &{$methodname} || $doing_user_rules) { - -- # use %nopts for named parameter-passing; it's more friendly to future-proof -- # subclassing, since new parameters can be added without breaking third-party -- # subclassed implementations of this plugin. -- my %nopts = ( -- ruletype => $ruletype, -- doing_user_rules => $doing_user_rules, -- priority => $priority, -- clean_priority => $clean_priority -- ); -+ # use %nopts for named parameter-passing; it's more friendly -+ # to future-proof subclassing, since new parameters can be added without -+ # breaking third-party subclassed implementations of this plugin. -+ my %nopts = ( -+ ruletype => $ruletype, -+ doing_user_rules => $doing_user_rules, -+ priority => $priority, -+ clean_priority => $clean_priority -+ ); - -- # build up the eval string... -- $self->{evalstr_methodname} = $methodname; -- $self->{evalstr_chunk_current_methodname} = undef; -- $self->{evalstr_chunk_methodnames} = []; -- $self->{evalstr_chunk_prefix} = []; # stack (array) of source code sections -- $self->{evalstr} = ''; $self->{evalstr_l} = 0; -- $self->{evalstr2} = ''; -- $self->begin_evalstr_chunk($pms); -+ # build up the eval string... -+ $self->{evalstr_methodname} = $methodname; -+ $self->{evalstr_chunk_current_methodname} = undef; -+ $self->{evalstr_chunk_methodnames} = []; -+ $self->{evalstr_chunk_prefix} = []; # stack (array) of source code sections -+ $self->{evalstr} = ''; $self->{evalstr_l} = 0; -+ $self->{evalstr2} = ''; -+ $self->begin_evalstr_chunk($pms); - -- $self->push_evalstr_prefix($pms, ' -- # start_rules_plugin_code '.$ruletype.' '.$priority.' -- my $scoresptr = $self->{conf}->{scores}; -- '); -- if (defined $opts{pre_loop_body}) { -- $opts{pre_loop_body}->($self, $pms, $conf, %nopts); -- } -- $self->add_evalstr($pms, -- $self->start_rules_plugin_code($ruletype, $priority) ); -- while (my($rulename, $test) = each %{$opts{testhash}->{$priority}}) { -- $opts{loop_body}->($self, $pms, $conf, $rulename, $test, %nopts); -- } -- if (defined $opts{post_loop_body}) { -- $opts{post_loop_body}->($self, $pms, $conf, %nopts); -- } -+ $self->push_evalstr_prefix($pms, ' -+ # start_rules_plugin_code '.$ruletype.' '.$priority.' -+ my $scoresptr = $self->{conf}->{scores}; -+ '); -+ if (defined $opts{pre_loop_body}) { -+ $opts{pre_loop_body}->($self, $pms, $conf, %nopts); -+ } -+ $self->add_evalstr($pms, -+ $self->start_rules_plugin_code($ruletype, $priority) ); -+ while (my($rulename, $test) = each %{$opts{testhash}->{$priority}}) { -+ $opts{loop_body}->($self, $pms, $conf, $rulename, $test, %nopts); -+ } -+ if (defined $opts{post_loop_body}) { -+ $opts{post_loop_body}->($self, $pms, $conf, %nopts); -+ } - -- $self->flush_evalstr($pms, 'run_generic_tests'); -- $self->free_ruleset_source($pms, $ruletype, $priority); -+ $self->flush_evalstr($pms, 'run_generic_tests'); -+ $self->free_ruleset_source($pms, $ruletype, $priority); - -- # clear out a previous version of this method -- undef &{$methodname}; -+ # clear out a previous version of this method -+ undef &{$methodname}; - -- # generate the loop that goes through each line... -- my $evalstr = <<"EOT"; -+ # generate the loop that goes through each line... -+ my $evalstr = <<"EOT"; - { - package $package_name; - -@@ -373,41 +360,52 @@ - sub $methodname { - EOT - -- for my $chunk_methodname (@{$self->{evalstr_chunk_methodnames}}) { -- $evalstr .= " $chunk_methodname(\@_);\n"; -- } -+ for my $chunk_methodname (@{$self->{evalstr_chunk_methodnames}}) { -+ $evalstr .= " $chunk_methodname(\@_);\n"; -+ } - -- $evalstr .= <<"EOT"; -+ $evalstr .= <<"EOT"; - } - - 1; - } - EOT - -- delete $self->{evalstr}; # free up some RAM before we eval() -- delete $self->{evalstr2}; -- delete $self->{evalstr_methodname}; -- delete $self->{evalstr_chunk_current_methodname}; -- delete $self->{evalstr_chunk_methodnames}; -- delete $self->{evalstr_chunk_prefix}; -+ delete $self->{evalstr}; # free up some RAM before we eval() -+ delete $self->{evalstr2}; -+ delete $self->{evalstr_methodname}; -+ delete $self->{evalstr_chunk_current_methodname}; -+ delete $self->{evalstr_chunk_methodnames}; -+ delete $self->{evalstr_chunk_prefix}; - -- dbg("rules: run_generic_tests - compiling eval code: %s, priority %s", -- $ruletype, $priority); --# dbg("rules: eval code to compile: $evalstr"); -- my $eval_result; -- { my $timer = $self->{main}->time_method('compile_gen'); -- $eval_result = eval($evalstr); -- } -- if (!$eval_result) { -- my $eval_stat = $@ ne '' ? $@ : "errno=$!"; chomp $eval_stat; -- warn "rules: failed to compile $ruletype tests, skipping:\n". -- "\t($eval_stat)\n"; -- $pms->{rule_errors}++; -- } -- else { -+ dbg("rules: run_generic_tests - compiling eval code: %s, priority %s", -+ $ruletype, $priority); -+ # dbg("rules: eval code to compile: $evalstr"); -+ my $eval_result; -+ { my $timer = $self->{main}->time_method('compile_gen'); -+ $eval_result = eval($evalstr); -+ } -+ if (!$eval_result) { -+ my $eval_stat = $@ ne '' ? $@ : "errno=$!"; chomp $eval_stat; -+ warn "rules: failed to compile $ruletype tests, skipping:\n". -+ "\t($eval_stat)\n"; -+ $pms->{rule_errors}++; -+ return; -+ } - dbg("rules: compiled $ruletype tests"); -- goto run_compiled_method; - } -+ -+#run_compiled_method: -+# dbg("rules: run_generic_tests - calling %s", $methodname); -+ my $t = Mail::SpamAssassin::Timeout->new({ deadline => $master_deadline }); -+ my $err = $t->run(sub { -+ no strict "refs"; -+ $methodname->($pms, @{$opts{args}}); -+ }); -+ if ($t->timed_out() && $master_deadline && time > $master_deadline) { -+ info("check: exceeded time limit in $methodname, skipping further tests"); -+ $pms->{deadline_exceeded} = 1; -+ } - } - - sub begin_evalstr_chunk { -Index: lib/Mail/SpamAssassin/Plugin/BodyEval.pm -=================================================================== ---- lib/Mail/SpamAssassin/Plugin/BodyEval.pm (revision 943932) -+++ lib/Mail/SpamAssassin/Plugin/BodyEval.pm (revision 943933) -@@ -119,7 +119,7 @@ - } - - # If there are no words, mark if there's at least 1 image ... -- if (keys %html == 0 && exists $pms->{html}{inside}{img}) { -+ if (!%html && exists $pms->{html}{inside}{img}) { - # Use "\n" as the mark since it can't ever occur normally - $html{"\n"}=1; - } diff --git a/japanese/p5-Mail-SpamAssassin/files/patch-bug6396 b/japanese/p5-Mail-SpamAssassin/files/patch-bug6396 deleted file mode 100644 index cfd9f3bd1926..000000000000 --- a/japanese/p5-Mail-SpamAssassin/files/patch-bug6396 +++ /dev/null @@ -1,13 +0,0 @@ -Index: lib/Mail/SpamAssassin/Plugin/MIMEEval.pm -=================================================================== ---- lib/Mail/SpamAssassin/Plugin/MIMEEval.pm (revision 929342) -+++ lib/Mail/SpamAssassin/Plugin/MIMEEval.pm (revision 929343) -@@ -498,7 +498,7 @@ - # perhaps just limit to test, and image? - next if ($ctype eq 'application/ics'); - -- my $cte = lc $p->get_header('content-transfer-encoding') || ''; -+ my $cte = lc($p->get_header('content-transfer-encoding') || ''); - next if ($cte !~ /^base64$/); - foreach my $l ( @{$p->raw()} ) { - my $len = length $l; diff --git a/japanese/p5-Mail-SpamAssassin/pkg-install b/japanese/p5-Mail-SpamAssassin/pkg-install index e38982ab4edd..568dc5e832e4 100644 --- a/japanese/p5-Mail-SpamAssassin/pkg-install +++ b/japanese/p5-Mail-SpamAssassin/pkg-install @@ -1,9 +1,7 @@ #!/bin/sh PKG_PREFIX=${PKG_PREFIX:-/usr/local} -USER=spamd -GROUP=${USER} -UID=58 -GID=${UID} +USER=${USER:-spamd} +GROUP=${GROUP:-spamd} HOME=/var/spool/${USER} if [ "$2" = "POST-INSTALL" ];then @@ -32,33 +30,12 @@ yesno() { echo "Please answer yes or no." done } - if ! pw groupshow "${GROUP}" 2>/dev/null 1>&2; then - if pw groupadd ${GROUP} -g ${GID}; then - echo "Added group \"${GROUP}\"." - else - echo "Adding group \"${GROUP}\" failed..." - exit 1 - fi - fi - - if ! pw usershow "${USER}" 2>/dev/null 1>&2; then - if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \ - -s "/sbin/nologin" -d "${HOME}" \ - -c "SpamAssassin user"; \ - then - echo "Added user \"${USER}\"." - mkdir ${HOME} && chown ${USER}:${GROUP} ${HOME} - else - echo "Adding user \"${USER}\" failed..." - exit 1 - fi - fi - + # Create pid directory - mkdir /var/run/spamd 2> /dev/null && chown ${USER}:${GROUP} /var/run/spamd + install -d -o ${USER} -g ${GROUP} /var/run/spamd /usr/bin/su root -c "${PKG_PREFIX}/bin/spamassassin -x -L --lint" - - if [ ${?} -eq 255 ];then + + if [ ${?} -eq 9 ];then echo "***********************************************" echo "*__ ___ ____ _ _ ___ _ _ ____ *" echo "*\ \ / / \ | _ \| \ | |_ _| \ | |/ ___|*" @@ -82,7 +59,7 @@ yesno() { fi fi fi - + exit 0 fi # post-install diff --git a/japanese/p5-Mail-SpamAssassin/pkg-plist b/japanese/p5-Mail-SpamAssassin/pkg-plist index 3d8c3e2ce7c7..43dae0435ff3 100644 --- a/japanese/p5-Mail-SpamAssassin/pkg-plist +++ b/japanese/p5-Mail-SpamAssassin/pkg-plist @@ -1,5 +1,4 @@ -@unexec %D/etc/rc.d/sa-spamd.sh stop > /dev/null 2>&1 || true -@unexec %D/etc/rc.d/sa-spamd stop > /dev/null 2>&1 || true +@stopdaemon sa-spamd bin/sa-awl bin/sa-check_spamd bin/sa-compile @@ -159,4 +158,4 @@ lib/libspamc.so.0 @dirrmtry %%SITE_PERL%%/Mail @dirrmtry etc/mail/spamassassin @dirrmtry etc/mail -@dirrmtry /var/run/spamd +@unexec rm -rf /var/run/spamd || true