pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/mail/mailman Update to 2.1.3 from pkgsrc-wip via Todd ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/202cd68a66d1
branches:  trunk
changeset: 465180:202cd68a66d1
user:      xtraeme <xtraeme%pkgsrc.org@localhost>
date:      Tue Dec 23 11:02:13 2003 +0000

description:
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:

 mail/mailman/MESSAGE             |    20 +-
 mail/mailman/Makefile            |   150 +--
 mail/mailman/PLIST               |  1680 ++++++++++++++++++++++++++++++++-----
 mail/mailman/distinfo            |    19 +-
 mail/mailman/files/install.local |    20 -
 mail/mailman/patches/patch-aa    |    81 +-
 mail/mailman/patches/patch-ab    |    35 +-
 mail/mailman/patches/patch-ac    |    20 +-
 mail/mailman/patches/patch-ad    |    25 +-
 mail/mailman/patches/patch-ae    |    14 +-
 mail/mailman/patches/patch-af    |    16 +-
 mail/mailman/patches/patch-ag    |    21 +
 12 files changed, 1597 insertions(+), 504 deletions(-)

diffs (truncated from 2277 to 300 lines):

diff -r 272542e381a5 -r 202cd68a66d1 mail/mailman/MESSAGE
--- a/mail/mailman/MESSAGE      Tue Dec 23 10:37:56 2003 +0000
+++ b/mail/mailman/MESSAGE      Tue Dec 23 11:02:13 2003 +0000
@@ -1,21 +1,27 @@
 ===========================================================================
-$NetBSD: MESSAGE,v 1.2 2002/09/24 12:30:15 wiz Exp $
+$NetBSD: MESSAGE,v 1.3 2003/12/23 11:02:13 xtraeme Exp $
+
+Mailman needs to know your mail domain and Web server hostname.  Edit
+${PREFIX}/lib/mailman/Mailman/mm_cfg.py and insert your hostname
+in place of "localhost" in DEFAULT_EMAIL_HOST and DEFAULT_URL_HOST.
 
 You will need to make mailman accessible through your HTTP server.
 If you are running Apache, then you may add the following line to httpd.conf:
 
        Include ${PKG_SYSCONFDIR}/mailman.conf
 
-to make mailman accessible through:
-       
+to make mailman and its archive accessible through, respectively,
+
        http://www.domain.com/mailman/
-
-and the archive accessible though
        http://www.domain.com/pipermail/
 
 You will also need to add some crontab entries for the user ${MAILMAN_USER}.
 You can use ${EXECDIR}/cron/crontab.in as template.
-See the files in ${DOCDIR} for how to use mailman, especially
-${DOCDIR}/INSTALL starting at section 5 for post-install configurations.
+
+See the files in ${DOCDIR} for how to use mailman,
+especially the sections:
+
+       4, starting with 'Create a "site-wide" mailing list'.
+       5, 'Customizing Mailman'
 
 ===========================================================================
diff -r 272542e381a5 -r 202cd68a66d1 mail/mailman/Makefile
--- a/mail/mailman/Makefile     Tue Dec 23 10:37:56 2003 +0000
+++ b/mail/mailman/Makefile     Tue Dec 23 11:02:13 2003 +0000
@@ -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@localhost
@@ -16,6 +17,11 @@
 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+=          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}
+PLIST_SUBST+=          PYVERSSUFFIX=${PYVERSSUFFIX}
 
-# We have some extra steps to do at postinstall time
-INSTALL_EXTRA_TMPL= files/install.local
-
-OWN_DIRS_PERMS= ${EXECDIR} root ${MAILMAN_GROUP} 755
+PKG_GROUPS=            ${MAILMAN_GROUP}
+PKG_USERS=             ${MAILMAN_USER}:${MAILMAN_GROUP}::Mailman\\ user::${SH}
 
-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
+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
-
-NO_BIN_ON_FTP=          requires compiled-in hardcoded uid/gid
-NO_BIN_ON_CDROM=        ${NO_BIN_ON_FTP}
+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=   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
+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
 
-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}
+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
 
-# 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
+# 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
+       ${RM} -f ${WRKSRC}/[A-Z]*.orig
 
 pre-install:
-       @${SED} ${FILES_SUBST_SED} ${FILESDIR}/mailman.conf.dist \
-           >  ${WRKDIR}/mailman.conf.dist
-
-do-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"
diff -r 272542e381a5 -r 202cd68a66d1 mail/mailman/PLIST
--- a/mail/mailman/PLIST        Tue Dec 23 10:37:56 2003 +0000
+++ b/mail/mailman/PLIST        Tue Dec 23 11:02:13 2003 +0000
@@ -1,290 +1,1462 @@
-@comment $NetBSD: PLIST,v 1.1.1.1 2002/08/23 15:28:17 bouyer Exp $
-
-share/examples/mailman/mailman.conf
-share/doc/mailman/ACKNOWLEDGMENTS
-share/doc/mailman/BUGS
-share/doc/mailman/FAQ
-share/doc/mailman/INSTALL
-share/doc/mailman/NEWS
-share/doc/mailman/README
-share/doc/mailman/README.BSD
-share/doc/mailman/README.EXIM
-share/doc/mailman/README.LINUX
-share/doc/mailman/README.NETSCAPE
-share/doc/mailman/README.QMAIL
-share/doc/mailman/README.SENDMAIL
-share/doc/mailman/TODO
-share/doc/mailman/UPGRADING
-lib/mailman/bin/digest_arch
-lib/mailman/bin/mmsitepass
-lib/mailman/bin/newlist
-lib/mailman/bin/rmlist
-lib/mailman/bin/add_members
-lib/mailman/bin/list_members
-lib/mailman/bin/remove_members
-lib/mailman/bin/clone_member
-lib/mailman/bin/update
-lib/mailman/bin/arch
-lib/mailman/bin/sync_members
-lib/mailman/bin/check_db
-lib/mailman/bin/withlist
-lib/mailman/bin/check_perms
-lib/mailman/bin/find_member
-lib/mailman/bin/version
-lib/mailman/bin/move_list
-lib/mailman/bin/config_list
-lib/mailman/bin/list_lists
-lib/mailman/bin/dumpdb
-lib/mailman/bin/paths.py
-lib/mailman/bin/paths.pyc
-lib/mailman/templates/admindbpreamble.html
-lib/mailman/templates/handle_opts.html
-lib/mailman/templates/headfoot.html
-lib/mailman/templates/listinfo.html
-lib/mailman/templates/options.html
-lib/mailman/templates/roster.html
-lib/mailman/templates/subscribe.html
-lib/mailman/templates/adminsubscribeack.txt
-lib/mailman/templates/adminunsubscribeack.txt
-lib/mailman/templates/admlogin.txt
-lib/mailman/templates/approve.txt
-lib/mailman/templates/bounce.txt
-lib/mailman/templates/checkdbs.txt
-lib/mailman/templates/convert.txt
-lib/mailman/templates/cronpass.txt
-lib/mailman/templates/help.txt
-lib/mailman/templates/masthead.txt
-lib/mailman/templates/newlist.txt
-lib/mailman/templates/nopass.txt
-lib/mailman/templates/postack.txt
-lib/mailman/templates/postauth.txt
-lib/mailman/templates/postheld.txt
-lib/mailman/templates/reenable.txt
-lib/mailman/templates/refuse.txt
-lib/mailman/templates/subauth.txt
-lib/mailman/templates/subscribeack.txt
-lib/mailman/templates/userpass.txt
-lib/mailman/templates/verify.txt
-lib/mailman/scripts/paths.py
-lib/mailman/scripts/answer_majordomo_mail
-lib/mailman/scripts/mailcmd
-lib/mailman/scripts/mailowner



Home | Main Index | Thread Index | Old Index