Add SMF manifest and method.diff -r1.127 -r1.128 pkgsrc/mail/spamassassin/Makefile
(hans)
@@ -1,33 +1,35 @@ | @@ -1,33 +1,35 @@ | |||
1 | # $NetBSD: Makefile,v 1.127 2016/11/10 20:25:50 roy Exp $ | 1 | # $NetBSD: Makefile,v 1.128 2016/12/16 15:52:52 hans Exp $ | |
2 | 2 | |||
3 | DISTNAME= Mail-SpamAssassin-3.4.1 | 3 | DISTNAME= Mail-SpamAssassin-3.4.1 | |
4 | PKGNAME= spamassassin-3.4.1 | 4 | PKGNAME= spamassassin-3.4.1 | |
5 | PKGREVISION= 5 | 5 | PKGREVISION= 6 | |
6 | CATEGORIES= mail perl5 | 6 | CATEGORIES= mail perl5 | |
7 | MASTER_SITES= ${MASTER_SITE_APACHE:=spamassassin/source/} | 7 | MASTER_SITES= ${MASTER_SITE_APACHE:=spamassassin/source/} | |
8 | DISTFILES= ${DISTNAME}${EXTRACT_SUFX} | 8 | DISTFILES= ${DISTNAME}${EXTRACT_SUFX} | |
9 | DISTFILES+= ${RULESARCHIVE} | 9 | DISTFILES+= ${RULESARCHIVE} | |
10 | #DISTFILES+= ${RULESARCHIVEASC} | 10 | #DISTFILES+= ${RULESARCHIVEASC} | |
11 | #DISTFILES+= ${RULESARCHIVESHA} | 11 | #DISTFILES+= ${RULESARCHIVESHA} | |
12 | EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} | 12 | EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} | |
13 | 13 | |||
14 | MAINTAINER= pkgsrc-users@NetBSD.org | 14 | MAINTAINER= pkgsrc-users@NetBSD.org | |
15 | HOMEPAGE= http://spamassassin.apache.org/ | 15 | HOMEPAGE= http://spamassassin.apache.org/ | |
16 | COMMENT= Mail filter to identify spam | 16 | COMMENT= Mail filter to identify spam | |
17 | LICENSE= apache-2.0 | 17 | LICENSE= apache-2.0 | |
18 | 18 | |||
19 | .include "../../mk/bsd.prefs.mk" | 19 | .include "../../mk/bsd.prefs.mk" | |
20 | 20 | |||
21 | SMF_METHODS= spamassassin | |||
22 | ||||
21 | RULESARCHIVE= Mail-SpamAssassin-rules-3.4.1.r1675274.tgz | 23 | RULESARCHIVE= Mail-SpamAssassin-rules-3.4.1.r1675274.tgz | |
22 | #RULESARCHIVEASC=${RULESARCHIVE}.asc | 24 | #RULESARCHIVEASC=${RULESARCHIVE}.asc | |
23 | #RULESARCHIVESHA=${RULESARCHIVE}.sha1 | 25 | #RULESARCHIVESHA=${RULESARCHIVE}.sha1 | |
24 | FILES_SUBST+= RULESARCHIVE=${RULESDIR}/${RULESARCHIVE} | 26 | FILES_SUBST+= RULESARCHIVE=${RULESDIR}/${RULESARCHIVE} | |
25 | PLIST_SUBST+= RULESARCHIVE=${RULESARCHIVE:Q} | 27 | PLIST_SUBST+= RULESARCHIVE=${RULESARCHIVE:Q} | |
26 | #PLIST_SUBST+= RULESARCHIVEASC=${RULESARCHIVEASC:Q} | 28 | #PLIST_SUBST+= RULESARCHIVEASC=${RULESARCHIVEASC:Q} | |
27 | #PLIST_SUBST+= RULESARCHIVESHA=${RULESARCHIVESHA:Q} | 29 | #PLIST_SUBST+= RULESARCHIVESHA=${RULESARCHIVESHA:Q} | |
28 | 30 | |||
29 | #DEPENDS+= {perl>=5.9.3,p5-Archive-Tar>=1.23}:../../archivers/p5-Archive-Tar | 31 | #DEPENDS+= {perl>=5.9.3,p5-Archive-Tar>=1.23}:../../archivers/p5-Archive-Tar | |
30 | #DEPENDS+= {perl>=5,p5-DB_File-[0-9]*}:../../databases/p5-DB_File | 32 | #DEPENDS+= {perl>=5,p5-DB_File-[0-9]*}:../../databases/p5-DB_File | |
31 | DEPENDS+= p5-Digest-SHA1-[0-9]*:../../security/p5-Digest-SHA1 | 33 | DEPENDS+= p5-Digest-SHA1-[0-9]*:../../security/p5-Digest-SHA1 | |
32 | DEPENDS+= p5-HTML-Parser>=3.43:../../www/p5-HTML-Parser | 34 | DEPENDS+= p5-HTML-Parser>=3.43:../../www/p5-HTML-Parser | |
33 | #DEPENDS+= {perl>=5.9.3,p5-IO-Compress-[0-9]*}:../../devel/p5-IO-Compress # Compress::Zlib>=0 | 35 | #DEPENDS+= {perl>=5.9.3,p5-IO-Compress-[0-9]*}:../../devel/p5-IO-Compress # Compress::Zlib>=0 |
<?xml version="1.0"?>
<!--
This file and its contents are supplied under the terms of the
Common Development and Distribution License ("CDDL"), version 1.0.
You may only use this file in accordance with the terms of version
1.0 of the CDDL.
A full copy of the text of the CDDL should have accompanied this
source. A copy of the CDDL is also available via the Internet at
http://www.illumos.org/license/CDDL.
-->
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--
Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
-->
<service_bundle type='manifest' name='@SMF_NAME@'>
<service name='@SMF_PREFIX@/@SMF_NAME@' type='service' version='1'>
<dependency name='filesystem_minimal' grouping='require_all' restart_on='none' type='service'>
<service_fmri value='svc:/system/filesystem/local' />
</dependency>
<dependency name='loopback' grouping='require_any' restart_on='error' type='service'>
<service_fmri value='svc:/network/loopback' />
</dependency>
<dependency name='network' grouping='optional_all' restart_on='error' type='service'>
<service_fmri value='svc:/milestone/network' />
</dependency>
<instance name='default' enabled='false'>
<exec_method type='method' name='start' exec='@PREFIX@/@SMF_METHOD_FILE.spamassassin@ %m %i' timeout_seconds='60' />
<exec_method type='method' name='stop' exec=':kill' timeout_seconds='60' />
<!-- Default property settings for spamd(1) instance. -->
<property_group name='options' type='application'>
<!-- allow-tell: Allow learning/reporting -->
<propval name='allow-tell' type='boolean' value='false' />
<!-- listen-on: Listen on IP addr and port -->
<propval name='listen-on' type='astring' value='' />
<!-- allowed-ips: Restrict to IP addresses which can connect -->
<propval name='allowed-ips' type='astring' value='' />
<!-- max-children: maximum number of children -->
<propval name='max-children' type='integer' value='' />
<!-- user: Run as username -->
<propval name='user' type='astring' value='' />
<!-- local-only: Perform only local tests on all mail -->
<propval name='local-only' type='boolean' value='false' />
<!-- log-facility: syslog facility used for logging -->
<propval name='log-facility' type='astring' value='' />
</property_group>
</instance>
<stability value='Unstable' />
<template>
<common_name>
<loctext xml:lang='C'>Spamassassin</loctext>
</common_name>
<documentation>
<manpage title='spamd' section='1' manpath='@PREFIX@/@PKGMANDIR@' />
</documentation>
</template>
</service>
</service_bundle>
#!@SMF_METHOD_SHELL@
#
# $NetBSD: spamassassin.sh,v 1.1 2016/12/16 15:52:52 hans Exp $
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source. A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#
# Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
#
# smf_method(5) start/stop script required for spamassassin spamd
. /lib/svc/share/smf_include.sh
get_config ()
{
cmdopts=""
properties="allow-tell listen-on allowed-ips max-children user local-only
log-facility"
for prop in $properties
do
value=`/usr/bin/svcprop -p options/${prop} ${SMF_FMRI}`
if [ -z "${value}" -o "${value}" = '""' ]; then
continue;
fi
case $prop in
'allow-tell')
if [ ${value} = "true" ]; then
cmdopts="${cmdopts} --allow-tell"
fi
;;
'listen-on')
cmdopts="${cmdopts} --listen=${value}"
;;
'allowed-ips')
cmdopts="${cmdopts} --allowed-ips=${value}"
;;
'max-children')
if [ ${value} -gt 0 ]; then
cmdopts="${cmdopts} --max-children=${value}"
fi
;;
'user')
cmdopts="${cmdopts} --user=${value}"
;;
'local-only')
if [ ${value} = "true" ]; then
cmdopts="${cmdopts} --local"
fi
;;
'log-facility')
cmdopts="${cmdopts} --syslog=${value}"
;;
esac
done
}
result=${SMF_EXIT_OK}
# Set defaults; SMF_FMRI should have been set, but just in case.
if [ -z "$SMF_FMRI" ]; then
SMF_FMRI="svc:/@SMF_PREFIX@/@SMF_NAME@:${instance}"
fi
get_config
# Execute spamd with relevant command line options.
ppriv -s A-all -s A+basic,net_privaddr,file_dac_read,file_dac_search,sys_resource,proc_setid -e @PREFIX@/bin/spamd -d --syslog-socket=native ${cmdopts}
exit $?