View | Details | Raw Unified | Return to bug 56658
Collapse All | Expand All

(-)Makefile (-5 / +39 lines)
Lines 7-12 Link Here
7
7
8
PORTNAME=	amavisd
8
PORTNAME=	amavisd
9
PORTVERSION=	0.1
9
PORTVERSION=	0.1
10
PORTREVISION=	1
10
PORTEPOCH=	1
11
PORTEPOCH=	1
11
CATEGORIES=	security
12
CATEGORIES=	security
12
MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
13
MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
Lines 39-44 Link Here
39
40
40
AMAVISGROUP?=	vscan
41
AMAVISGROUP?=	vscan
41
AMAVISUSER?=	vscan
42
AMAVISUSER?=	vscan
43
MILTER_SCRIPT=
44
MILTER=		"@comment -- no milter script --"
45
SBIN_AMAVIS=	amavis
42
SMTPPORT?=	10025
46
SMTPPORT?=	10025
43
STARTSCRIPT=	amavisd.sh
47
STARTSCRIPT=	amavisd.sh
44
WARNADMIN?=	yes
48
WARNADMIN?=	yes
Lines 65-86 Link Here
65
.elif defined(WITH_MILTER)
69
.elif defined(WITH_MILTER)
66
CONFIGURE_ARGS+=	--enable-milter
70
CONFIGURE_ARGS+=	--enable-milter
67
MTA?=		milter
71
MTA?=		milter
68
PLIST=		${PKGDIR}/pkg-plist.milter
72
MILTER_SCRIPT=	amavisd-milter
69
STARTSCRIPT=	amavisd-milter.sh
73
MILTER=
74
SBIN_AMAVIS=	amavis-milter
70
.else
75
.else
71
CONFIGURE_ARGS+=	--enable-sendmail
76
CONFIGURE_ARGS+=	--enable-sendmail
72
MTA?=		sendmail
77
MTA?=		sendmail
73
.endif
78
.endif
74
79
80
.include <bsd.port.pre.mk>
81
82
.if ${OSVERSION} >= 500038
83
RC_SUBR?=       ${DESTDIR}/etc/rc.subr
84
RC_DIR=         ${DESTDIR}/etc/rc.d
85
RC_SUFX=
86
.else
87
USE_RC_SUBR=    yes
88
RC_DIR=         ${PREFIX}/etc/rc.d
89
RC_SUFX=        .sh
90
.endif
91
92
CONFIGURE_ENV+=	PTHREAD_LIBS=${PTHREAD_LIBS} \
93
		PTHREAD_CFLAGS=${PTHREAD_CFLAGS}
94
95
RC_SCRIPTS_SUB=	AMAVISUSER=${AMAVISUSER} \
96
		PREFIX=${PREFIX} \
97
		PERL=${PERL} \
98
		RC_SUBR=${RC_SUBR}
99
100
PLIST_SUB+=	SBIN_AMAVIS=${SBIN_AMAVIS} \
101
		MILTER=${MILTER} \
102
		RC_SUFX=${RC_SUFX} \
103
		RC_DIR=${RC_DIR}
104
75
post-patch:
105
post-patch:
76
	@${SED} 's,%%AMAVISUSER%%,${AMAVISUSER},g' ${FILESDIR}/${STARTSCRIPT} > ${WRKSRC}/${STARTSCRIPT}
106
.for script in amavisd ${MILTER_SCRIPT}
107
	@${SED} ${RC_SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} ${FILESDIR}/${script}.sh > ${WRKSRC}/${script}.sh
108
.endfor
77
	@${PERL} -pi.orig -e 's|/etc/amavisd.conf|${PREFIX}/etc/amavisd.conf|g' ${WRKSRC}/configure ${WRKSRC}/amavis/amavisd.in ${WRKSRC}/amavis/Makefile.in
109
	@${PERL} -pi.orig -e 's|/etc/amavisd.conf|${PREFIX}/etc/amavisd.conf|g' ${WRKSRC}/configure ${WRKSRC}/amavis/amavisd.in ${WRKSRC}/amavis/Makefile.in
78
110
79
pre-install:
111
pre-install:
80
	@${SETENV} ${SCRIPTS_ENV} PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${AMAVISUSER} ${AMAVISGROUP}
112
	@${SETENV} ${SCRIPTS_ENV} PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${AMAVISUSER} ${AMAVISGROUP}
81
113
82
post-install:
114
post-install:
83
	${INSTALL_SCRIPT} ${WRKSRC}/${STARTSCRIPT} ${PREFIX}/etc/rc.d
115
.for script in amavisd ${MILTER_SCRIPT}
116
	${INSTALL_SCRIPT} ${WRKSRC}/${script}.sh ${RC_DIR}/${script}${RC_SUFX}
117
.endfor
84
.if !defined(NOPORTDOCS)
118
.if !defined(NOPORTDOCS)
85
	@${MKDIR} ${DOCSDIR}
119
	@${MKDIR} ${DOCSDIR}
86
.for FILE in FAQ INSTALL README README.exim README.milter README.postfix README.qmail README.scanners README.sendmail doc/amavis.html doc/amavis.m4 doc/amavis.png doc/amavis.txt
120
.for FILE in FAQ INSTALL README README.exim README.milter README.postfix README.qmail README.scanners README.sendmail doc/amavis.html doc/amavis.m4 doc/amavis.png doc/amavis.txt
Lines 91-94 Link Here
91
	@${ECHO} "==============================================================================="
125
	@${ECHO} "==============================================================================="
92
.endif
126
.endif
93
127
94
.include <bsd.port.mk>
128
.include <bsd.port.post.mk>
(-)pkg-plist (-2 / +4 lines)
Lines 13-18 Link Here
13
%%PORTDOCS%%%%DOCSDIR%%/amavis.txt
13
%%PORTDOCS%%%%DOCSDIR%%/amavis.txt
14
%%PORTDOCS%%@dirrm %%DOCSDIR%%
14
%%PORTDOCS%%@dirrm %%DOCSDIR%%
15
etc/amavisd.conf
15
etc/amavisd.conf
16
etc/rc.d/amavisd.sh
16
sbin/%%SBIN_AMAVIS%%
17
sbin/amavis
18
sbin/amavisd
17
sbin/amavisd
18
@cwd %%RC_DIR%%
19
%%MILTER%%amavisd-milter%%RC_SUFX%%
20
amavisd%%RC_SUFX%%
(-)files/amavisd-milter.sh (-28 / +54 lines)
Lines 1-31 Link Here
1
#!/bin/sh
1
#!/bin/sh
2
#
3
# $FreeBSD$
4
#
2
5
3
if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
6
# PROVIDE: amavisd-milter
4
	echo "$0: Cannot determine the PREFIX" >&2
7
# BEFORE: amavisd mail
5
	exit 1
8
# KEYWORD: FreeBSD shutdown
6
fi
7
8
case "$1" in
9
start)
10
	( [ -x ${PREFIX}/sbin/amavisd ] || [ -x ${PREFIX}/sbin/amavis-milter ] ) || exit 1
11
	AMAVISD=$(/bin/ps -xU %%AMAVISUSER%% | grep amavisd | awk '{ print $1 }')
12
	AMAVIS_MILTER=$(/bin/ps -xU %%AMAVISUSER%% | grep amavis-milter | awk '{ print $1 }')
13
	( /bin/test "$AMAVISD" || /bin/test "$AMAVIS_MILTER" ) && \
14
	su - %%AMAVISUSER%% -c "/bin/kill $AMAVISD $AMAVIS_MILTER" > /dev/null
15
	rm -rf /var/amavis/amavis*.sock
16
	su - %%AMAVISUSER%% -c "${PREFIX}/sbin/amavis-milter -D -p /var/amavis/amavis-milter.sock" > /dev/null
17
	su - %%AMAVISUSER%% -c ${PREFIX}/sbin/amavisd > /dev/null 2>&1 && echo -n ' amavisd-milter'
18
	;;
19
stop)
20
	( [ -x ${PREFIX}/sbin/amavisd ] || [ -x ${PREFIX}/sbin/amavis-milter ] ) || exit 1
21
	AMAVISD=$(/bin/ps -xU %%AMAVISUSER%% | grep amavisd | awk '{ print $1 }')
22
	AMAVIS_MILTER=$(/bin/ps -xU %%AMAVISUSER%% | grep amavis-milter | awk '{ print $1 }')
23
	( /bin/test "$AMAVISD" || /bin/test "$AMAVIS_MILTER" ) && \
24
	su - %%AMAVISUSER%% -c "/bin/kill $AMAVISD $AMAVIS_MILTER" > /dev/null && echo -n ' amavisd-milter'
25
	;;
26
*)
27
	echo "Usage: `basename $0` {start|stop}" >&2
28
	;;
29
esac
30
9
31
exit 0
10
prefix=%%PREFIX%%
11
12
# Define these amavisd_milter_* variables in one of these files:
13
#	/etc/rc.conf
14
#	/etc/rc.conf.local
15
#
16
# DO NOT CHANGE THESE DEFAULT VALUES HERE
17
amavisd_milter_enable=no
18
amavisd_milter_flags="-D"
19
amavisd_milter_user=%%AMAVISUSER%%
20
#amavisd_milter_socket="inet:9999@127.0.0.1"
21
amavisd_milter_socket="local:/var/amavis/amavis-milter.sock"
22
23
. %%RC_SUBR%%
24
25
name="amavisd_milter"
26
rcvar=`set_rcvar`
27
start_precmd="amavisd_precmd"
28
stop_postcmd="remove_socket"
29
command=${prefix}/sbin/amavis-milter
30
31
# Remove the AMaViSd Milter Socket
32
remove_socket()
33
{
34
	case ${amavisd_milter_socket} in
35
		unix:*|local:*)
36
			socket=`echo ${amavisd_milter_socket} | /usr/bin/cut -d: -f2`
37
			if [ -S ${socket} ]; then
38
				rm -f ${socket}
39
			fi
40
			;;
41
		/*)
42
			if [ -S ${amavisd_milter_socket} ]; then
43
				rm -f ${amavisd_milter_socket}
44
			fi
45
			;;
46
	esac
47
}
48
49
amavisd_precmd()
50
{
51
	rc_flags="${rc_flags} -p ${amavisd_milter_socket}"
52
53
	remove_socket
54
}
55
56
load_rc_config $name
57
run_rc_command "$1"
(-)files/amavisd.sh (-25 / +38 lines)
Lines 1-28 Link Here
1
#!/bin/sh
1
#!/bin/sh
2
#
3
# $FreeBSD$
4
#
5
 
6
# PROVIDE: amavisd
7
# BEFORE: mail
8
# KEYWORD: FreeBSD shutdown
2
9
3
if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
10
prefix=%%PREFIX%%
4
	echo "$0: Cannot determine the PREFIX" >&2
5
	exit 1
6
fi
7
8
case "$1" in
9
start)
10
	( [ -x ${PREFIX}/sbin/amavisd ] || [ -x ${PREFIX}/sbin/amavis-milter ] ) || exit 1
11
	AMAVISD=$(/bin/ps -xU %%AMAVISUSER%% | grep amavisd | awk '{ print $1 }')
12
	( /bin/test "$AMAVISD" ) && \
13
	su - %%AMAVISUSER%% -c "/bin/kill $AMAVISD" > /dev/null
14
	rm -rf /var/amavis/amavis*.sock
15
	su - %%AMAVISUSER%% -c ${PREFIX}/sbin/amavisd > /dev/null 2>&1 && echo -n ' amavisd'
16
	;;
17
stop)
18
	( [ -x ${PREFIX}/sbin/amavisd ] || [ -x ${PREFIX}/sbin/amavis-milter ] ) || exit 1
19
	AMAVISD=$(/bin/ps -xU %%AMAVISUSER%% | grep amavisd | awk '{ print $1 }')
20
	( /bin/test "$AMAVISD") && \
21
	su - %%AMAVISUSER%% -c "/bin/kill $AMAVISD" > /dev/null && echo -n ' amavisd'
22
	;;
23
*)
24
	echo "Usage: `basename $0` {start|stop}" >&2
25
	;;
26
esac
27
11
28
exit 0
12
# Define these amavisd_milter_* variables in one of these files:
13
#       /etc/rc.conf
14
#       /etc/rc.conf.local
15
#
16
# DO NOT CHANGE THESE DEFAULT VALUES HERE
17
amavisd_enable=no
18
amavisd_flags=""
19
amavisd_user=%%AMAVISUSER%%
20
21
. %%RC_SUBR%%
22
23
name="amavisd"
24
rcvar=`set_rcvar`
25
start_precmd="remove_socket"
26
stop_postcmd="remove_socket"
27
command=${prefix}/sbin/amavisd
28
command_arg="> /dev/null 2>&1"
29
command_interpreter="%%PERL%%"
30
pidfile="/var/amavis/amavisd.pid"
31
32
# Remove the AMaViSd Socket
33
remove_socket()
34
{
35
	if [ -S /var/amavis/amavisd.sock ]; then
36
		rm -f /var/amavis/amavisd.sock
37
	fi
38
}
39
40
load_rc_config $name
41
run_rc_command "$1"

Return to bug 56658