summaryrefslogtreecommitdiff
path: root/mail/mailman/Makefile
diff options
context:
space:
mode:
authorxtraeme <xtraeme@pkgsrc.org>2003-12-23 11:02:13 +0000
committerxtraeme <xtraeme@pkgsrc.org>2003-12-23 11:02:13 +0000
commitba66919f950fc68d97a5f09a481dff6914bcb5dd (patch)
tree64c2b43d0b28d595cbc5d417653d6d96a71b6192 /mail/mailman/Makefile
parent839613806ef24d5545ec27bb10ff7b00bde026f7 (diff)
downloadpkgsrc-ba66919f950fc68d97a5f09a481dff6914bcb5dd.tar.gz
Update to 2.1.3 from pkgsrc-wip via Todd Vierling. This also closes
PR pkg/22820. Changes: - Closed a cross-site scripting exploit in the create cgi script. - Improvements in the performance of the bounce processor. Now, instead of processing each bounce immediately (which can cause severe lock contention), bounce events are queued. Every 15 minutes by default, the queued bounce events are processed en masse, on a list-per-list basis, so that each list only needs to be locked once. - When some or all of a message's recipients have temporary delivery failures, the message is moved to a "retry" queue. This queue wakes up occasionally and moves the file back to the outgoing queue for attempted redelivery. This should fix most observed OutgoingRunner 100% cpu consumption, especially for bounces to local recipients when using the Postfix MTA. - Optional support for fsync()'ing qfile data after writing. Under some catastrophic system failures (e.g. power lose), it would be possible to lose messages because the data wasn't sync'd to disk. By setting SYNC_AFTER_WRITE to True in Mailman/Queue/Switchboard.py, you can force Mailman to fsync() queue files after flushing them. The benefits are debatable for most operating environments, and you must ensure that your Python has the os.fsync() function defined before enabling this feature (it isn't, even on all Unix-like operating systems). And more... please review Changelog to see a complete list of changes.
Diffstat (limited to 'mail/mailman/Makefile')
-rw-r--r--mail/mailman/Makefile162
1 files changed, 63 insertions, 99 deletions
diff --git a/mail/mailman/Makefile b/mail/mailman/Makefile
index 2e69bb96184..9cd235bce76 100644
--- a/mail/mailman/Makefile
+++ b/mail/mailman/Makefile
@@ -1,8 +1,9 @@
-# $NetBSD: Makefile,v 1.7 2003/09/05 21:18:52 bouyer Exp $
+# $NetBSD: Makefile,v 1.8 2003/12/23 11:02:13 xtraeme Exp $
-DISTNAME= mailman-2.0.12
+DISTNAME= mailman-2.1.3
CATEGORIES= mail www
-MASTER_SITES= ${MASTER_SITE_GNU:=mailman/}
+MASTER_SITES= http://www.list.org/ \
+ ${MASTER_SITE_GNU:=mailman/}
EXTRACT_SUFX= .tgz
MAINTAINER= bouyer@NetBSD.org
@@ -16,6 +17,11 @@ PKG_SYSCONFSUBDIR?= httpd
MESSAGE_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR}
MESSAGE_SUBST+= DOCDIR=${DOCDIR}
+GNU_CONFIGURE= yes
+GNU_CONFIGURE_PREFIX= ${EXECDIR}
+
+MAKE_FLAGS+= DIRSETGID=${TRUE}
+
EXECDIR= ${PREFIX}/lib/mailman
MAILMAN_DATADIR?= /var/db/mailman
EGDIR= ${PREFIX}/share/examples/mailman
@@ -29,110 +35,68 @@ FILES_SUBST+= EXECDIR=${EXECDIR}
FILES_SUBST+= MAILMAN_USER=${MAILMAN_USER}
FILES_SUBST+= MAILMAN_GROUP=${MAILMAN_GROUP}
FILES_SUBST+= MAILMAN_DATADIR=${MAILMAN_DATADIR}
-
-PKG_GROUPS= ${MAILMAN_GROUP}
-PKG_USERS= ${MAILMAN_USER}:${MAILMAN_GROUP}::Mailman\\ user::${SH}
-
-# We have some extra steps to do at postinstall time
-INSTALL_EXTRA_TMPL= files/install.local
-
-OWN_DIRS_PERMS= ${EXECDIR} root ${MAILMAN_GROUP} 755
-
-OWN_DIRS_PERMS= ${MAILMAN_DATADIR} ${MAILMAN_USER} ${MAILMAN_GROUP} 775
-MAKE_DIRS_PERMS= ${MAILMAN_DATADIR}/logs ${MAILMAN_USER} ${MAILMAN_GROUP} 775
-MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/archives ${MAILMAN_USER} ${MAILMAN_GROUP} 775
-MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/lists ${MAILMAN_USER} ${MAILMAN_GROUP} 775
-MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/locks ${MAILMAN_USER} ${MAILMAN_GROUP} 775
-MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/qfiles ${MAILMAN_USER} ${MAILMAN_GROUP} 775
-MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/data ${MAILMAN_USER} ${MAILMAN_GROUP} 775
-MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/spam ${MAILMAN_USER} ${MAILMAN_GROUP} 775
-MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/filters ${MAILMAN_USER} ${MAILMAN_GROUP} 775
-MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/archives/public ${MAILMAN_USER} ${MAILMAN_GROUP} 775
-MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/archives/private ${MAILMAN_USER} ${MAILMAN_GROUP} 775
-
-CONF_FILES+= ${EGDIR}/mailman.conf ${PKG_SYSCONFDIR}/mailman.conf
-CONF_FILES+= ${EXECDIR}/Mailman/mm_cfg.py.dist ${EXECDIR}/Mailman/mm_cfg.py
-
-NO_BIN_ON_FTP= requires compiled-in hardcoded uid/gid
-NO_BIN_ON_CDROM= ${NO_BIN_ON_FTP}
-
-PYTHON_VERSIONS_ACCEPTED= 21 20
-PYTHON_PATCH_SCRIPTS= Mailman/Archiver/pipermail.py
-PYTHON_PATCH_SCRIPTS+= Mailman/pythonlib/cgi.py
-PYTHON_PATCH_SCRIPTS+= Mailman/pythonlib/smtplib.py
-PYTHON_PATCH_SCRIPTS+= admin/bin/Release.py
-PYTHON_PATCH_SCRIPTS+= admin/bin/faq2ht.py
-PYTHON_PATCH_SCRIPTS+= admin/bin/mm2do
-PYTHON_PATCH_SCRIPTS+= bin/add_members
-PYTHON_PATCH_SCRIPTS+= bin/arch
-PYTHON_PATCH_SCRIPTS+= bin/check_db
-PYTHON_PATCH_SCRIPTS+= bin/check_perms
-PYTHON_PATCH_SCRIPTS+= bin/clone_member
-PYTHON_PATCH_SCRIPTS+= bin/config_list
-PYTHON_PATCH_SCRIPTS+= bin/digest_arch
-PYTHON_PATCH_SCRIPTS+= bin/dumpdb
-PYTHON_PATCH_SCRIPTS+= bin/find_member
-PYTHON_PATCH_SCRIPTS+= bin/list_lists
-PYTHON_PATCH_SCRIPTS+= bin/list_members
-PYTHON_PATCH_SCRIPTS+= bin/mmsitepass
-PYTHON_PATCH_SCRIPTS+= bin/move_list
-PYTHON_PATCH_SCRIPTS+= bin/newlist
-PYTHON_PATCH_SCRIPTS+= bin/remove_members
-PYTHON_PATCH_SCRIPTS+= bin/rmlist
-PYTHON_PATCH_SCRIPTS+= bin/sync_members
-PYTHON_PATCH_SCRIPTS+= bin/update
-PYTHON_PATCH_SCRIPTS+= bin/version
-PYTHON_PATCH_SCRIPTS+= bin/withlist
-PYTHON_PATCH_SCRIPTS+= contrib/qmail-to-mailman.py
-PYTHON_PATCH_SCRIPTS+= contrib/rotatelogs.py
-PYTHON_PATCH_SCRIPTS+= contrib/securelinux_fix.py
-PYTHON_PATCH_SCRIPTS+= cron/bumpdigests
-PYTHON_PATCH_SCRIPTS+= cron/checkdbs
-PYTHON_PATCH_SCRIPTS+= cron/gate_news
-PYTHON_PATCH_SCRIPTS+= cron/mailpasswds
-PYTHON_PATCH_SCRIPTS+= cron/nightly_gzip
-PYTHON_PATCH_SCRIPTS+= cron/qrunner
-PYTHON_PATCH_SCRIPTS+= cron/senddigests
-PYTHON_PATCH_SCRIPTS+= filters/bowa-strip
-PYTHON_PATCH_SCRIPTS+= misc/Cookie.py
-PYTHON_PATCH_SCRIPTS+= scripts/answer_majordomo_mail
-PYTHON_PATCH_SCRIPTS+= scripts/mailcmd
-PYTHON_PATCH_SCRIPTS+= scripts/mailowner
-PYTHON_PATCH_SCRIPTS+= scripts/owner
-PYTHON_PATCH_SCRIPTS+= scripts/post
-PYTHON_PATCH_SCRIPTS+= scripts/request
-
-MAILMAN_CONFIGURE_ARGS= --with-python=${PYTHONBIN}
-MAILMAN_CONFIGURE_ARGS+= -prefix=${EXECDIR}
-MAILMAN_CONFIGURE_ARGS+= --with-var-prefix=${MAILMAN_DATADIR}
-MAILMAN_CONFIGURE_ARGS+= --with-username=${MAILMAN_USER}
-MAILMAN_CONFIGURE_ARGS+= --with-groupname=${MAILMAN_GROUP}
-MAILMAN_CONFIGURE_ARGS+= --with-mail-gid=${MAILMAN_MAILGROUP}
-
-# we can't do the configure things before install, because the user/group has
-# to exist and this is only done after build
-do-build: #nothing
-
-pre-install:
+PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX}
+
+PKG_GROUPS= ${MAILMAN_GROUP}
+PKG_USERS= ${MAILMAN_USER}:${MAILMAN_GROUP}::Mailman\\ user::${SH}
+
+OWN_DIRS_PERMS+= ${EXECDIR} root ${MAILMAN_GROUP} 755
+OWN_DIRS_PERMS+= ${MAILMAN_DATADIR} ${MAILMAN_USER} ${MAILMAN_GROUP} 755
+MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/archives ${MAILMAN_USER} ${MAILMAN_GROUP} 775
+MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/archives/public ${MAILMAN_USER} ${MAILMAN_GROUP} 775
+MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/archives/private ${MAILMAN_USER} ${MAILMAN_GROUP} 771
+MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/data ${MAILMAN_USER} ${MAILMAN_GROUP} 775
+MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/lists ${MAILMAN_USER} ${MAILMAN_GROUP} 775
+MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/locks ${MAILMAN_USER} ${MAILMAN_GROUP} 775
+MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/logs ${MAILMAN_USER} ${MAILMAN_GROUP} 775
+MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/qfiles ${MAILMAN_USER} ${MAILMAN_GROUP} 775
+MAKE_DIRS_PERMS+= ${MAILMAN_DATADIR}/spam ${MAILMAN_USER} ${MAILMAN_GROUP} 775
+
+CONF_FILES+= ${EGDIR}/mailman.conf ${PKG_SYSCONFDIR}/mailman.conf
+CONF_FILES+= ${EXECDIR}/Mailman/mm_cfg.py.dist ${EXECDIR}/Mailman/mm_cfg.py
+
+PYTHON_VERSIONS_ACCEPTED= 22 21
+PYTHON_PATCH_SCRIPTS+= Mailman/Archiver/pipermail.py
+PYTHON_PATCH_SCRIPTS+= Mailman/Post.py
+PYTHON_PATCH_SCRIPTS+= admin/bin/Release.py
+PYTHON_PATCH_SCRIPTS+= admin/bin/faq2ht.py
+PYTHON_PATCH_SCRIPTS+= admin/bin/mm2do
+PYTHON_PATCH_SCRIPTS+= bin/msgfmt.py
+
+APACHE_GROUP?= www
+
+CONFIGURE_ARGS+= --with-cgi-gid=${APACHE_GROUP}
+CONFIGURE_ARGS+= --with-cgi-ext=.cgi
+CONFIGURE_ARGS+= --with-groupname=${MAILMAN_GROUP}
+CONFIGURE_ARGS+= --with-mail-gid=${MAILMAN_MAILGROUP}
+CONFIGURE_ARGS+= --with-python=${PYTHONBIN}
+CONFIGURE_ARGS+= --with-username=${MAILMAN_USER}
+CONFIGURE_ARGS+= --with-var-prefix=${MAILMAN_DATADIR}
+CONFIGURE_ARGS+= --without-permcheck
+
+# Put in externally invalid defaults (MESSAGE directs how to fix it)
+CONFIGURE_ARGS+= --with-mailhost=localhost
+CONFIGURE_ARGS+= --with-urlhost=localhost
+
+post-patch:
@${SED} ${FILES_SUBST_SED} ${FILESDIR}/mailman.conf.dist \
- > ${WRKDIR}/mailman.conf.dist
+ >${WRKDIR}/mailman.conf.dist
+ ${RM} -f ${WRKSRC}/[A-Z]*.orig
-do-install:
+pre-install:
${INSTALL} -d -o ${MAILMAN_USER} -g ${MAILMAN_GROUP} -m775 ${EXECDIR}
${INSTALL_DATA_DIR} ${DOCDIR}
- cd ${WRKSRC}; \
- ./configure ${MAILMAN_CONFIGURE_ARGS}; \
- ${MAKE} install
- cd ${WRKSRC}; \
- for i in ACKNOWLEDGMENTS BUGS FAQ INSTALL NEWS README README.BSD \
- README.EXIM README.LINUX README.NETSCAPE README.QMAIL \
- README.SENDMAIL TODO UPGRADING; do \
+ ${INSTALL_DATA_DIR} ${EXECDIR}/support
+
+post-install:
+ cd ${WRKSRC} && for i in [A-IN-U]*; do \
${INSTALL_DATA} $$i ${DOCDIR}/; \
done
${INSTALL_DATA_DIR} ${EGDIR}
- cd ${WRKDIR}; ${INSTALL_DATA} mailman.conf.dist ${EGDIR}/mailman.conf
- ${CHOWN} -R root ${EXECDIR}
+ ${INSTALL_DATA} ${WRKDIR}/mailman.conf.dist ${EGDIR}/mailman.conf
+ ${CHOWN} -R root:${MAILMAN_GROUP} ${EXECDIR}
${CHMOD} -R g-w ${EXECDIR}
+ ${CHMOD} g+s ${EXECDIR}/cgi-bin/*
.include "../../lang/python/application.mk"
.include "../../mk/bsd.pkg.mk"