pkgsrc/mail/mailman/Makefile

133 lines
4.5 KiB
Makefile
Raw Normal View History

Changes 2.1.12: * Fix compatibility with Python 2.6. * Fixed a bug in admin.py which would result in chunked pages of the membership list for members whose address begins with a non-alphanumeric character to not be visible or retrievable. * Changed ListAdmin.py to make rejected post messages From: the -owner address instead of the -bounces address. * With MTA = 'Postfix', if the STANZA END for a list being removed is missing or munged, the remainder of the aliases and/or virtual-mailman file is lost. Fixed. * Since Mailman 2.1.1, 2.0.x outstanding subscription and held message requests have not been migrated properly. This is fixed. * Changed cron/gate_news to continue processing the remaining lists on certain errors that can be caused by configuration of a particular list. * Fixed a bug in AvoidDuplicates.py that caused it to fail if the address in the To: or Cc: header differed in case from the case-preserved member address. * Fixed a problem in SecurityManager that caused it to not find the cookie when CheckCookie was not given a user and the user in the cookie had a %xx encoded character. * Fixed a minor fromusenet reporting issue in the contributed mmdsr script. * Fixed a minor issue in cron/gate_news that could cause a list's watermark to not be completely updated. * Fixed an issue that prevented editing the options.html template from the web admin interface. * Fixed a problem in Decorate which could throw a TypeError on conversion to unicode of a header/footer that was already unicode because of interpolating a unicode value. * Fixed an issue where list creation would report bad owner email instead of bad listname when the list name had non-ascii characters. * Updated Dutch, Catalan and Polish translations.
2009-06-03 08:55:07 +02:00
# $NetBSD: Makefile,v 1.58 2009/06/03 06:55:07 adam Exp $
Changes 2.1.12: * Fix compatibility with Python 2.6. * Fixed a bug in admin.py which would result in chunked pages of the membership list for members whose address begins with a non-alphanumeric character to not be visible or retrievable. * Changed ListAdmin.py to make rejected post messages From: the -owner address instead of the -bounces address. * With MTA = 'Postfix', if the STANZA END for a list being removed is missing or munged, the remainder of the aliases and/or virtual-mailman file is lost. Fixed. * Since Mailman 2.1.1, 2.0.x outstanding subscription and held message requests have not been migrated properly. This is fixed. * Changed cron/gate_news to continue processing the remaining lists on certain errors that can be caused by configuration of a particular list. * Fixed a bug in AvoidDuplicates.py that caused it to fail if the address in the To: or Cc: header differed in case from the case-preserved member address. * Fixed a problem in SecurityManager that caused it to not find the cookie when CheckCookie was not given a user and the user in the cookie had a %xx encoded character. * Fixed a minor fromusenet reporting issue in the contributed mmdsr script. * Fixed a minor issue in cron/gate_news that could cause a list's watermark to not be completely updated. * Fixed an issue that prevented editing the options.html template from the web admin interface. * Fixed a problem in Decorate which could throw a TypeError on conversion to unicode of a header/footer that was already unicode because of interpolating a unicode value. * Fixed an issue where list creation would report bad owner email instead of bad listname when the list name had non-ascii characters. * Updated Dutch, Catalan and Polish translations.
2009-06-03 08:55:07 +02:00
DISTNAME= mailman-2.1.12
CATEGORIES= mail www
Upgrade to 2.1.7nb1. Local change (which is why we have PKGREVISION=1) Fix http://secunia.com/advisories/18449/ (CVE-2005-4153) based on debian patches. Changes between 2.1.6 and 2.1.7: Security - The fix for CAN-2005-0202 has been enhanced to issue an appropriate message instead of just quietly dropping ./ and ../ from URLs. - A note on CVE-2005-3573: Although the RFC2231 bug example in the CVE has been solved in Mailman 2.1.6, there may be more cases where ToDigest.send_digests() can block regular delivery. We put the send_digests() calling part in a try/except clause and leave a message in the error log if something happened in send_digests(). Daily call of cron/senddigests will provide more detail to the site administrator. - List administrators can no longer change the user's option/subscription globally. Site admin can change these only if mm_cfg.ALLOW_SITE_ADMIN_COOKIES is set to Yes. - <script> tags are HTML-escaped in the edithtml CGI script. - Since the probe message for disabled users may reach unintended recipients, the password is excluded from sendProbe() and probe.txt. Note that the default value of VERP_PROBE has been set to `No' from 2.1.6., thus this change doesn't affect the default behavior. New Features - Always remove DomainKey (and similar) headers from messages sent to the list. (1287546) - List owners can control the content filter behavior when collapsing multipart/alternative parts to its first subpart. This allows the option of letting the HTML part pass through after other content filtering is done. Internationalization - New language: Interlingua. Bug fixes and other patches - Defaults.py.in: SCRUBBER_DONT_USE_ATTACHMENT_FILENAME is set to True for safer operation. - Fixed the bug where Scrubber.py munges quoted-printable by introducing the 'X-Mailman-Scrubbed' header which marks that the payload is scrubber-munged. The flag is referenced in ToDigest.py, ToArchive.py, Decorate.py and Archiver. A similar problem in ToDigest.py where the plain digest is generated is also fixed. - Fixed Syslog.py to write quopri encoded messages when it fail to write 8-bit characters. - Fixed MTA/Postfix.py to check aliases group permission in check_perms and fixed mailman-install document on this matter (1378270). - Fixed private.py to go to the original URL after authorization (1080943). - Fixed bounce log score messages to be more consistent. - Fixed bin/remove_members to accept no arguments when both --fromall and --file= options are specified. - Changed cgi-bin and mail wrapper "group not found" error message to be more descriptive of the actual problem. - The list's ban_list now applies to address changes, admin mass subscribes and invites, and to confirmations/approvals of address changes, subscriptions and invitations. - quoted-printable and base64 encoded parts are decoded before passing to HTML_TO_PLAIN_TEXT_COMMAND (1367783). - Approve: header is removed from posts, and treated the same as the Approved: header. (1355707) - Fixed the removal of the line following Approve[d]: line in body of post. (1318883) - The Approve[d]: <password> header is removed from all text/* parts in addition the initial text/plain part. It must still be the first non-blank line in the first text/plain part or it won't be found or removed at all. (1181161) - Posts are now logged in post log file with the true sender, not listname-bounces. (1287921) - Correctly initialize and remember the list's default_member_moderation attribute in the web list creation page. (1263213) - PEP263 charset is added to the config_list output. (1343100) - Fixed header_filter_rules getting lost if accessed directly and authentication was needed by login page. (1230865) - Obscure email when the poster doesn't set full name in 'From:' header. - Preambles and epilogues are taken into account when calculating message sizes for holding purposes. (Mark Sapiro) - Logging/Logger.py unicode transform option. (1235567) - bin/update crashes with bogus files. (949117) - Bugs and patches: 1212066/1301983 (Date header in create/remove notice)
2006-01-21 17:14:24 +01:00
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=mailman/}
EXTRACT_SUFX= .tgz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.list.org/
COMMENT= The GNU Mailing List Manager
.include "../../mk/bsd.prefs.mk"
PKG_SYSCONFSUBDIR?= httpd
MESSAGE_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR}
MESSAGE_SUBST+= DOCDIR=${DOCDIR}
GNU_CONFIGURE= yes
GNU_CONFIGURE_PREFIX= ${EXECDIR}
MAKE_FLAGS+= DIRSETGID=${TRUE:Q}
EXECDIR= ${PREFIX}/lib/mailman
2004-10-30 03:01:09 +02:00
MAILMAN_DATADIR?= ${VARBASE}/db/mailman
Changes 2.1.12: * Fix compatibility with Python 2.6. * Fixed a bug in admin.py which would result in chunked pages of the membership list for members whose address begins with a non-alphanumeric character to not be visible or retrievable. * Changed ListAdmin.py to make rejected post messages From: the -owner address instead of the -bounces address. * With MTA = 'Postfix', if the STANZA END for a list being removed is missing or munged, the remainder of the aliases and/or virtual-mailman file is lost. Fixed. * Since Mailman 2.1.1, 2.0.x outstanding subscription and held message requests have not been migrated properly. This is fixed. * Changed cron/gate_news to continue processing the remaining lists on certain errors that can be caused by configuration of a particular list. * Fixed a bug in AvoidDuplicates.py that caused it to fail if the address in the To: or Cc: header differed in case from the case-preserved member address. * Fixed a problem in SecurityManager that caused it to not find the cookie when CheckCookie was not given a user and the user in the cookie had a %xx encoded character. * Fixed a minor fromusenet reporting issue in the contributed mmdsr script. * Fixed a minor issue in cron/gate_news that could cause a list's watermark to not be completely updated. * Fixed an issue that prevented editing the options.html template from the web admin interface. * Fixed a problem in Decorate which could throw a TypeError on conversion to unicode of a header/footer that was already unicode because of interpolating a unicode value. * Fixed an issue where list creation would report bad owner email instead of bad listname when the list name had non-ascii characters. * Updated Dutch, Catalan and Polish translations.
2009-06-03 08:55:07 +02:00
EGDIR= ${PREFIX}/share/examples/mailman
DOCDIR= ${PREFIX}/share/doc/mailman
MAILMAN_USER?= mailman
MAILMAN_GROUP?= mailman
MAILMAN_CGIGROUP?= ${APACHE_GROUP}
MAILMAN_MAILGROUP?= daemon # group sendmail runs under;
# use 'nobody' for postfix
MAILMAN_CGIEXT?= .cgi
MESSAGE_SUBST+= EXECDIR=${EXECDIR}
MESSAGE_SUBST+= MAILMAN_USER=${MAILMAN_USER}
PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX:Q}
2004-01-11 18:28:30 +01:00
PLIST_SUBST+= MAILMAN_CGIEXT=${MAILMAN_CGIEXT:S/none//}
PKG_GROUPS_VARS+= MAILMAN_GROUP MAILMAN_CGIGROUP MAILMAN_MAILGROUP
PKG_USERS_VARS+= MAILMAN_USER
PKG_GROUPS= ${MAILMAN_GROUP}
PKG_USERS= ${MAILMAN_USER}:${MAILMAN_GROUP}
PKG_GECOS.${MAILMAN_USER}= Mailman user
PKG_SHELL.${MAILMAN_USER}= ${SH}
REQD_DIRS_PERMS+= ${EXECDIR} root ${MAILMAN_GROUP} 775
OWN_DIRS_PERMS+= ${MAILMAN_DATADIR} ${MAILMAN_USER} ${MAILMAN_GROUP} 775
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
RCD_SCRIPTS= mailman
INSTALL_TEMPLATES+= ${FILESDIR}/INSTALL
DEINSTALL_TEMPLATES+= ${FILESDIR}/DEINSTALL
PYTHON_PATCH_SCRIPTS+= Mailman/Archiver/pipermail.py
PYTHON_PATCH_SCRIPTS+= Mailman/Post.py
PYTHON_PATCH_SCRIPTS+= bin/msgfmt.py
CONFIGURE_ARGS+= --with-cgi-gid=${MAILMAN_CGIGROUP:Q}
.if ${MAILMAN_CGIEXT} != "none"
CONFIGURE_ARGS+= --with-cgi-ext=${MAILMAN_CGIEXT:Q}
.endif
CONFIGURE_ARGS+= --with-groupname=${MAILMAN_GROUP:Q}
CONFIGURE_ARGS+= --with-mail-gid=${MAILMAN_MAILGROUP:Q}
CONFIGURE_ARGS+= --with-python=${PYTHONBIN:Q}
CONFIGURE_ARGS+= --with-username=${MAILMAN_USER:Q}
CONFIGURE_ARGS+= --with-var-prefix=${MAILMAN_DATADIR:Q}
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
# dont create egg-info files in pythonlib
INSTALL_ENV+= PKGSRC_PYTHON_NO_EGG=defined
BUILD_DEFS+= MAILMAN_DATADIR
BUILD_DEFS+= MAILMAN_CGIEXT
SUBST_CLASSES+= paths
SUBST_FILES.paths= ${WRKDIR}/mailman.conf.dist
SUBST_SED.paths+= -e 's,@EXECDIR@,${EXECDIR},g'
SUBST_SED.paths+= -e 's,@MAILMAN_DATADIR@,${MAILMAN_DATADIR},g'
SUBST_STAGE.paths= post-patch
PYCOMPILEALL= ${BUILDLINK_PREFIX.${PYPACKAGE}}/${PYLIB}/compileall.py
# mailman depends a lot on it and will bitch if changed.
CHECK_PERMS= no
REPLACE_PYTHON+= cron/senddigests
post-extract:
${CP} ${FILESDIR}/mailman.conf.dist ${WRKDIR}/mailman.conf.dist
post-patch:
${RM} -f ${WRKSRC}/[A-Z]*.orig
pre-install:
${INSTALL} -d -o ${MAILMAN_USER} -g ${MAILMAN_GROUP} -m 775 ${EXECDIR}
${INSTALL_DATA_DIR} ${DOCDIR}
${INSTALL_DATA_DIR} ${EXECDIR}/support
post-install:
cd ${WRKSRC} && for i in [A-IN-U]*; do \
${INSTALL_DATA} $$i ${DOCDIR}/; \
done
cd ${WRKSRC}/doc && for i in \
Upgrade mailman to 2.1.8rc1, fix a cross-site scripting issue. pkgsrc changes: - install the admin/www/mailman-*.{pdf,ps,txt} documentation file, and change MESSAGES to point to mailman-install.txt changes between 2.1.7 and 2.1.8rc1: - A cross-site scripting hole in the private archive script of 2.1.7 has been closed. Thanks to Moritz Naumann for its discovery. - Bouncers support added: 'unknown user', Microsoft SMTPSVC, Prodigy.net and several others. - Updated email library to 2.5.7 which will encode payload into qp/base64 upon setting. This enabled backing out the scrubber related patches including 'X-Mailman-Scrubbed' header in 2.1.7. - Fix SpamDetect.py potential hold/reject loop problem. - A warning message from email package to the stderr can cause error in Logging because stderr may be detached from the process during the qrunner run. We chose not to output errors to stderr but to the logs/error if the process is running under mailmanctl subprocess. - DKIM header cleansing was separated from Cleanse.py and added to -owner messages too. - Fixes: Lose Topics when go directly to topics URL (1194419). UnicodeError running bin/arch (1395683). edithtml.py missing import (1400128). Bad escape in cleanarch. Wrong timezone in list archive index pages (1433673). bin/arch fails with TypeError (1430236). Subscription fails with some Language combinations (1435722). Postfix delayed notification not recognized (863989). 2.1.7 (VERP) mistakes delay notice for bounce (1421285). show_qfiles: 'str' object has no attribute 'as_string' (1444447). Utils.get_domain() wrong if VIRTUAL_HOST_OVERVIEW off (1275856).
2006-04-10 22:33:12 +02:00
mailman-*.ps mailman-*.pdf mailman-*.txt; do \
${INSTALL_DATA} $$i ${DOCDIR}/; \
done
${INSTALL_DATA_DIR} ${EGDIR}
${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/*
${PYTHONBIN} ${PYCOMPILEALL} ${PREFIX}/lib/mailman/bin ${PREFIX}/lib/mailman/cron ${PREFIX}/lib/mailman/scripts
.include "../../lang/python/application.mk"
.include "../../mk/bsd.pkg.mk"