1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-21 20:38:45 +00:00

- Update to 1.2.58

- Correct detection of sendmail port
- Don't delete config file if modified
- Use special user for setuid programs

PR:		ports/74158
Submitted by:	Dean Hollister <dean@odyssey.apana.org.au> (maintainer)
This commit is contained in:
Pav Lucistnik 2004-11-21 02:35:46 +00:00
parent 45d204660f
commit 7794504fc8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=122050
7 changed files with 165 additions and 9 deletions

View File

@ -6,7 +6,7 @@
#
PORTNAME= dcc-dccd
PORTVERSION= 1.2.48
PORTVERSION= 1.2.58
CATEGORIES= mail
MASTER_SITES= http://www.rhyolite.com/anti-spam/dcc/source/old/ \
http://www.wa.apana.org.au/~dean/sources/ \
@ -18,19 +18,80 @@ COMMENT= Distributed Checksum Clearinghouse procmail, sendmail support
USE_REINPLACE= yes
HAS_CONFIGURE= yes
CONFIGURE_ARGS= --homedir=${PREFIX}/dcc
MANCOMPRESSED= yes
MAN8= cdcc.8 dbclean.8 dblist.8 dcc.8 dccd.8 dccifd.8 dccm.8 \
dccproc.8 dccsight.8
.if exists(/usr/lib/libmilter.a) || exists(${LOCALBASE}/lib/libmilter.a)
PKGINSTALL= ${WRKDIR}/pkg-install
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
#
# User for dcc files and SUID binaries
#
DCCUSER?= dcc
DCCUID?= 112
DCCGROUP?= dcc
DCCGID?= 112
#
# You can choose the sendmail to be used by specifying
#
# WITH_SENDMAIL_BASE=yes
# or
# WITH_SENDMAIL_PORT=yes
#
# if no preference was set, check for an up to date base version
# but give an installed port preference over it.
HOMEDIR= ${PREFIX}/dcc
CONFIGURE_ARGS= --homedir=${HOMEDIR}
.include <bsd.port.pre.mk>
.if !defined(WITH_SENDMAIL_BASE) && !defined(WITH_SENDMAIL_PORT) && !exists(${LOCALBASE}/lib/libmilter.a)
WITH_SENDMAIL_BASE=yes
.endif
.if defined(WITH_SENDMAIL_BASE)
.if exists(/usr/lib/libmilter.a)
MILTERBASE= /usr
WITH_SENDMAIL= yes
.else
BROKEN= "Base system sendmail not found or too old, rebuild with WITH_SENDMAIL_PORT=yes"
.endif
.else
BUILD_DEPENDS+= ${LOCALBASE}/lib/libmilter.a:${PORTSDIR}/mail/sendmail
MILTERBASE?= ${LOCALBASE}
WITH_SENDMAIL= yes
.endif
.if !defined(WITHOUT_SENDMAIL) && defined(WITH_SENDMAIL)
MILTERINC= ${MILTERBASE}/include
MILTERLIB= ${MILTERBASE}/lib
CPPFLAGS+= -I${MILTERINC}
LDFLAGS+= -L${MILTERLIB}
CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
CONFIGURE_ARGS+= --with-sendmail=${MILTERBASE}
PLIST_SUB+= WITH_SENDMAIL=""
.else
CONFIGURE_ARGS+= --disable-dccm --disable-dccifd
CONFIGURE_ARGS+= --disable-dccm
PLIST_SUB+= WITH_SENDMAIL="@comment "
.endif
.include <bsd.port.pre.mk>
.if defined(WITHOUT_DCCIFD)
CONFIGURE_ARGS+= --disable-dccifd
PLIST_SUB+= WITH_DCCIFD="@comment "
.else
PLIST_SUB+= WITH_DCCIFD=""
.endif
CONFIGURE_ARGS+= --with-uid=${DCCUSER}
SED_SCRIPT= -e 's|%%PREFIX%%|${PREFIX}|g' \
-e 's|%%DCCUSER%%|${DCCUSER}|g' -e 's|%%DCCUID%%|${DCCUID}|g' \
-e 's|%%DCCGROUP%%|${DCCGROUP}|g' -e 's|%%DCCGID%%|${DCCGID}|g'
post-patch:
${FIND} ${WRKSRC} -type f -exec \
@ -39,4 +100,16 @@ post-patch:
${REINPLACE_CMD} -e 's,FreeBSD)\n\tPTHREAD_LDFLAGS,FreeBSD)\n\tDCC_CFLAGS="${PTHREAD_CFLAGS} $$DCC_CFLAGS"\n\tPTHREAD_LDFLAGS,g' ${WRKSRC}/configure
${REINPLACE_CMD} -e 's,PTHREAD_LIBS="$$PTHREAD_LIBS -lc_r,PTHREAD_LIBS=" ${PTHREAD_LIBS},g' ${WRKSRC}/configure
post-build:
@${SED} ${SED_SCRIPT} ${PKGDIR}/pkg-install >${PKGINSTALL}
@${SED} ${SED_SCRIPT} ${PKGDIR}/pkg-deinstall >${PKGDEINSTALL}
pre-install:
@${SETENV} PKG_PREFIX=${PREFIX} \
${SH} ${PKGINSTALL} ${PREFIX} PRE-INSTALL
post-install:
@[ -s ${HOMEDIR}/dcc_conf ] || \
${CP} ${HOMEDIR}/dcc_conf.dist ${HOMEDIR}/dcc_conf
.include <bsd.port.post.mk>

View File

@ -1,2 +1,2 @@
MD5 (dcc-dccd-1.2.48.tar.Z) = 5f15ceaddfca99bc131898ced6c1b9bc
SIZE (dcc-dccd-1.2.48.tar.Z) = 1169098
MD5 (dcc-dccd-1.2.58.tar.Z) = 29263b15bdfe1c619bad6e926121118f
SIZE (dcc-dccd-1.2.48.tar.Z) = 1180194

View File

@ -0,0 +1,18 @@
--- configure.orig Mon May 17 21:32:49 2004
+++ configure Tue May 25 18:19:48 2004
@@ -2244,6 +2244,15 @@
SENDMAIL_EVAL="$SENDMAIL"
with_sendmail=yes
fi
+#
+if test -n "$SENDMAIL" -a "$SENDMAIL" != "no"; then
+ if test -f $SENDMAIL/include/libmilter/mfapi.h -a -f $SENDMAIL/lib/libmilter.a; then
+ SENDMAIL_OBJ=$SENDMAIL/lib
+ SENDMAIL_OBJ_EVAL=$SENDMAIL_OBJ
+ SENDMAIL_LIB=$SENDMAIL_OBJ/libmilter.a
+ fi
+fi
+#
if test -z "$SENDMAIL"; then
# prefer a parallel ../sendmail directory
DEPTH=.

View File

@ -0,0 +1,15 @@
--- homedir/Makefile.in Tue May 25 20:37:04 2004
+++ homedir/Makefile.in Tue May 25 20:38:04 2004
@@ -28,11 +28,7 @@
install:
for nm in $(INST_HOMEDIR) $(INST_HOMEDIR)/log; do \
$(HINSTALL) -m 755 -d $$nm; done
- if test -s $(INST_HOMEDIR)/dcc_conf; then \
- sh make-dcc_conf -h $(INST_HOMEDIR); \
- else \
- $(HINSTALL) -m 644 dcc_conf $(INST_HOMEDIR)/dcc_conf; \
- fi
+ $(HINSTALL) -m 644 dcc_conf $(INST_HOMEDIR)/dcc_conf.dist
for nm in flod grey_flod whitelist grey_whitelist \
whiteclnt whitecommon; do \
if test ! -f $(INST_HOMEDIR)/$$nm; then \

View File

@ -0,0 +1,13 @@
#!/bin/sh
# $FreeBSD$
if [ "$2" != "POST-DEINSTALL" ]; then
exit 0
fi
DCCUSER=%%DCCUSER%%
if pw usershow "${DCCUSER}" 2>/dev/null 1>&2; then
echo "To delete ${DCCUSER} user permanently, use 'pw userdel \"${DCCUSER}\"'"
fi
exit 0

36
mail/dcc-dccd/pkg-install Normal file
View File

@ -0,0 +1,36 @@
#!/bin/sh
# $FreeBSD$
PREFIX=${PKG_PREFIX:-%%PREFIX%%}
DCCUSER=%%DCCUSER%%
DCCUID=%%DCCUID%%
DCCGROUP=%%DCCGROUP%%
DCCGID=%%DCCGID%%
if [ "$2" = "PRE-INSTALL" ]; then
if ! pw groupshow "$DCCGROUP" 2>/dev/null 1>&2; then
if pw groupadd $DCCGROUP -g $DCCGID; then
echo "=> Added group \"$DCCGROUP\"."
else
echo "=> Adding group \"$DCCGROUP\" failed..."
exit 1
fi
fi
if ! pw usershow "$DCCUSER" 2>/dev/null 1>&2; then
if pw useradd $DCCUSER -u $DCCUID -g $DCCGROUP -h - \
-s "/sbin/nologin" -d "/nonexistent" \
-c "Distributed Checksum Clearinghouse"; \
then
echo "=> Added user \"$DCCUSER\"."
else
echo "=> Adding user \"$DCCUSER\" failed..."
exit 1
fi
fi
fi
exit 0

View File

@ -8,13 +8,14 @@ dcc/cgi-bin/http2https
dcc/cgi-bin/list-log
dcc/cgi-bin/list-msg
dcc/cgi-bin/webuser-notify
dcc/dcc_conf
@unexec if cmp -s %D/dcc/dcc_conf %D/dcc/dcc_conf.dist; then rm -f %D/dcc/dcc_conf; fi
dcc/dcc_conf.dist
dcc/flod
dcc/grey_flod
dcc/grey_whitelist
dcc/ids
dcc/libexec/cron-dccd
%%WITH_SENDMAIL%%dcc/libexec/dccifd
%%WITH_DCCIFD%%dcc/libexec/dccifd
%%WITH_SENDMAIL%%dcc/libexec/dccm
dcc/libexec/dbclean
dcc/libexec/dblist