Add SMF manifest and method.diff -r1.34 -r1.35 pkgsrc/mail/spamass-milter/Makefile
(hans)
@@ -1,25 +1,27 @@ | @@ -1,25 +1,27 @@ | |||
1 | # $NetBSD: Makefile,v 1.34 2016/12/07 00:36:24 wiedi Exp $ | 1 | # $NetBSD: Makefile,v 1.35 2016/12/16 15:56:05 hans Exp $ | |
2 | # | 2 | # | |
3 | 3 | |||
4 | DISTNAME= spamass-milter-0.4.0 | 4 | DISTNAME= spamass-milter-0.4.0 | |
5 | PKGREVISION= 1 | |||
5 | CATEGORIES= mail | 6 | CATEGORIES= mail | |
6 | MASTER_SITES= http://savannah.nongnu.org/download/spamass-milt/ | 7 | MASTER_SITES= http://savannah.nongnu.org/download/spamass-milt/ | |
7 | 8 | |||
8 | MAINTAINER= gdt@NetBSD.org | 9 | MAINTAINER= gdt@NetBSD.org | |
9 | HOMEPAGE= http://savannah.nongnu.org/projects/spamass-milt/ | 10 | HOMEPAGE= http://savannah.nongnu.org/projects/spamass-milt/ | |
10 | COMMENT= Milter interface to Spamassassin | 11 | COMMENT= Milter interface to Spamassassin | |
11 | 12 | |||
12 | LICENSE= original-bsd | 13 | LICENSE= original-bsd | |
13 | 14 | |||
14 | DEPENDS+= spamassassin>=2.44:../../mail/spamassassin | 15 | DEPENDS+= spamassassin>=2.44:../../mail/spamassassin | |
15 | 16 | |||
16 | GNU_CONFIGURE= YES | 17 | GNU_CONFIGURE= YES | |
17 | USE_LANGUAGES= c c++ | 18 | USE_LANGUAGES= c c++ | |
18 | 19 | |||
19 | CPPFLAGS.SunOS+= -Du_int8_t=uint8_t | 20 | CPPFLAGS.SunOS+= -Du_int8_t=uint8_t | |
20 | 21 | |||
21 | RCD_SCRIPTS= spamass-milter | 22 | RCD_SCRIPTS= spamass-milter | |
23 | SMF_METHODS= spamass-milter | |||
22 | 24 | |||
23 | .include "../../mail/libmilter/buildlink3.mk" | 25 | .include "../../mail/libmilter/buildlink3.mk" | |
24 | .include "../../mk/pthread.buildlink3.mk" | 26 | .include "../../mk/pthread.buildlink3.mk" | |
25 | .include "../../mk/bsd.pkg.mk" | 27 | .include "../../mk/bsd.pkg.mk" |
<?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>
<dependency name='spamassassin' grouping='require_any' restart_on='error' type='service'>
<service_fmri value='svc:/@SMF_PREFIX@/spamassassin' />
</dependency>
<instance name='default' enabled='false'>
<exec_method type='method' name='start' exec='@PREFIX@/@SMF_METHOD_FILE.spamass-milter@ %m %i' timeout_seconds='60' />
<exec_method type='method' name='stop' exec=':kill' timeout_seconds='60' />
<!-- Default property settings for spamass-milter(1) instance. -->
<property_group name='options' type='application'>
<!-- socket-path: pathname for milter socket -->
<propval name='socket-path' type='astring' value='/var/run/spamass-milter.sock' />
<!-- reject-code: SMTP reject code for rejected spam -->
<propval name='reject-code' type='astring' value='' />
<!-- reject-text: message text for rejected spam -->
<propval name='reject-text' type='astring' value='' />
<!-- reject-threshold: minimum spam score for rejecting spam -->
<propval name='reject-threshold' type='integer' value='' />
<!-- ignore-nets: comma-separated list of IP nets that can send mail unchecked-->
<propval name='ignore-nets' type='astring' value='' />
<!-- ignore-auth: don't scan mail from authenticated users -->
<propval name='ignore-auth' type='boolean' value='true' />
<!-- default-user: fallback user, and alway pass receipient user name to spamc -->
<propval name='default-user' type='astring' value='' />
<!-- lookup-users: call sendmail to translate receipient to user -->
<propval name='lookup-users' type='boolean' value='false' />
<!-- spamc-flags: flags passed verbatim to spamc -->
<propval name='spamc-flags' type='astring' value='' />
</property_group>
</instance>
<stability value='Unstable' />
<template>
<common_name>
<loctext xml:lang='C'>Spamassassin Milter</loctext>
</common_name>
<documentation>
<manpage title='spamass-milter' section='8' manpath='@PREFIX@/@PKGMANDIR@' />
</documentation>
</template>
</service>
</service_bundle>
#!@SMF_METHOD_SHELL@
#
# $NetBSD: spamass-milter.sh,v 1.1 2016/12/16 15:56:05 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 spamass-milter
. /lib/svc/share/smf_include.sh
get_config ()
{
cmdopts=""
# spamc-flags must be last
properties="socket-path reject-code reject-text reject-threshold ignore-nets ignore-auth default-user lookup-users spamc-flags"
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
'socket-path')
cmdopts="${cmdopts} -p ${value}"
;;
'reject-code')
cmdopts="${cmdopts} -C ${value}"
;;
'reject-text')
cmdopts="${cmdopts} -R ${value}"
;;
'reject-threshold')
if [ ${value} != "0" ]; then
cmdopts="${cmdopts} -r ${value}"
fi
;;
'ignore-nets')
cmdopts="${cmdopts} -i ${value}"
;;
'ignore-auth')
if [ ${value} = "true" ]; then
cmdopts="${cmdopts} -a"
fi
;;
'default-user')
cmdopts="${cmdopts} -u ${value}"
;;
'lookup-users')
if [ ${value} = "true" ]; then
cmdopts="${cmdopts} -x"
fi
;;
'spamc-flags')
value=`echo ${value} | sed -e 's/\\\\//g'`
cmdopts="${cmdopts} -- ${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@/sbin/spamass-milter -f ${cmdopts}
exit $?