summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHanno Böck <hanno@gentoo.org>2009-08-01 09:57:05 +0000
committerHanno Böck <hanno@gentoo.org>2009-08-01 09:57:05 +0000
commit56b984bf1d38ee66d3f1841f7a48a154dca56aa9 (patch)
tree51f729519c6b2c489df2faed2a0f5126c4fa217c /net-mail
parenttweak x11-libs/wxGTK dep for bug #279653 and bug #269689 (diff)
downloadgentoo-2-56b984bf1d38ee66d3f1841f7a48a154dca56aa9.tar.gz
gentoo-2-56b984bf1d38ee66d3f1841f7a48a154dca56aa9.tar.bz2
gentoo-2-56b984bf1d38ee66d3f1841f7a48a154dca56aa9.zip
mailman bump
(Portage version: 2.2_rc33/cvs/Linux x86_64)
Diffstat (limited to 'net-mail')
-rw-r--r--net-mail/mailman/ChangeLog11
-rw-r--r--net-mail/mailman/files/mailman-2.1.12-add-destdir.patch11
-rw-r--r--net-mail/mailman/files/mailman-2.1.12-directory-check.patch32
-rw-r--r--net-mail/mailman/mailman-2.1.12.ebuild163
4 files changed, 215 insertions, 2 deletions
diff --git a/net-mail/mailman/ChangeLog b/net-mail/mailman/ChangeLog
index c575cf0ff720..ce6480c6de39 100644
--- a/net-mail/mailman/ChangeLog
+++ b/net-mail/mailman/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-mail/mailman
-# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/ChangeLog,v 1.115 2008/11/14 11:07:45 hanno Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/ChangeLog,v 1.116 2009/08/01 09:57:05 hanno Exp $
+
+*mailman-2.1.12 (01 Aug 2009)
+
+ 01 Aug 2009; Hanno Boeck <hanno@gentoo.org> +mailman-2.1.12.ebuild,
+ +files/mailman-2.1.12-add-destdir.patch,
+ +files/mailman-2.1.12-directory-check.patch:
+ Version bump.
14 Nov 2008; Hanno Boeck <hanno@gentoo.org> files/README.gentoo-r3:
Typos in exim doc, thanks to Martin DiViaio in #244545.
diff --git a/net-mail/mailman/files/mailman-2.1.12-add-destdir.patch b/net-mail/mailman/files/mailman-2.1.12-add-destdir.patch
new file mode 100644
index 000000000000..5aaaca4b9914
--- /dev/null
+++ b/net-mail/mailman/files/mailman-2.1.12-add-destdir.patch
@@ -0,0 +1,11 @@
+--- mailman-2.1.12/misc/Makefile.in.1 2009-08-01 11:47:54.000000000 +0200
++++ mailman-2.1.12/misc/Makefile.in 2009-08-01 11:48:02.000000000 +0200
+@@ -93,7 +93,7 @@
+ install-packages:
+ if [ -z "$(EMAILPKG)" -a -d $(PYTHONLIBDIR)/email ] ; \
+ then \
+- rm -rf $(PYTHONLIBDIR)/email* ; \
++ rm -rf $(DESTDIR)/$(PYTHONLIBDIR)/email* ; \
+ fi
+ for p in $(PACKAGES); \
+ do \
diff --git a/net-mail/mailman/files/mailman-2.1.12-directory-check.patch b/net-mail/mailman/files/mailman-2.1.12-directory-check.patch
new file mode 100644
index 000000000000..857a7c8ade54
--- /dev/null
+++ b/net-mail/mailman/files/mailman-2.1.12-directory-check.patch
@@ -0,0 +1,32 @@
+diff -Naur mailman-2.1.12/bin/check_perms mailman-2.1.12-1/bin/check_perms
+--- mailman-2.1.12/bin/check_perms 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-1/bin/check_perms 2009-08-01 11:28:56.000000000 +0200
+@@ -340,6 +340,8 @@
+ print _('checking permissions on list data')
+ # BAW: This needs to be converted to the Site module abstraction
+ for dir in os.listdir(mm_cfg.LIST_DATA_DIR):
++ if not S_ISDIR(statmode(os.path.join(mm_cfg.LIST_DATA_DIR,dir))):
++ continue
+ for file in checkfiles:
+ path = os.path.join(mm_cfg.LIST_DATA_DIR, dir, file)
+ if STATE.VERBOSE:
+diff -Naur mailman-2.1.12/bin/update mailman-2.1.12-1/bin/update
+--- mailman-2.1.12/bin/update 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-1/bin/update 2009-08-01 11:29:19.000000000 +0200
+@@ -34,6 +34,7 @@
+ """
+
+ import os
++import stat
+ import sys
+ import time
+ import errno
+@@ -431,7 +432,7 @@
+ # Now update for the Mailman 2.1.5 qfile format. For every filebase in
+ # the qfiles/* directories that has both a .pck and a .db file, pull the
+ # data out and re-queue them.
+- for dirname in os.listdir(mm_cfg.QUEUE_DIR):
++ for dirname in [x for x in os.listdir(mm_cfg.QUEUE_DIR) if stat.S_ISDIR(os.stat(os.path.join(mm_cfg.QUEUE_DIR,x)).st_mode)]:
+ dirpath = os.path.join(mm_cfg.QUEUE_DIR, dirname)
+ if dirpath == mm_cfg.BADQUEUE_DIR:
+ # The files in qfiles/bad can't possibly be pickles
diff --git a/net-mail/mailman/mailman-2.1.12.ebuild b/net-mail/mailman/mailman-2.1.12.ebuild
new file mode 100644
index 000000000000..14b3e0928771
--- /dev/null
+++ b/net-mail/mailman/mailman-2.1.12.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/mailman-2.1.12.ebuild,v 1.1 2009/08/01 09:57:05 hanno Exp $
+
+inherit eutils python multilib
+
+DESCRIPTION="A python-based mailing list server with an extensive web interface"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
+HOMEPAGE="http://www.list.org/"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE=""
+
+DEPEND=">=dev-lang/python-2.3
+ virtual/mta
+ virtual/cron
+ virtual/httpd-cgi"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ INSTALLDIR=${MAILMAN_PREFIX:-"/usr/$(get_libdir)/mailman"}
+ VAR_PREFIX=${MAILMAN_VAR_PREFIX:-"/var/lib/mailman"}
+ CGIUID=${MAILMAN_CGIUID:-apache}
+ CGIGID=${MAILMAN_CGIGID:-apache}
+ MAILUSR=${MAILMAN_MAILUSR:-mailman}
+ MAILUID=${MAILMAN_MAILUID:-280}
+ MAILGRP=${MAILMAN_MAILGRP:-mailman}
+ MAILGID=${MAILMAN_MAILGID:-280}
+
+ # Bug #58526: switch to enew{group,user}.
+ # need to add mailman here for compile process.
+ # Duplicated at pkg_postinst() for binary install.
+ enewgroup ${MAILGRP} ${MAILGID}
+ enewuser ${MAILUSR} ${MAILUID} /bin/bash ${INSTALLDIR} mailman -G cron -c "mailman"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${PN}-2.1.12-directory-check.patch" || die "patch failed."
+ epatch "${FILESDIR}/${PN}-2.1.12-add-destdir.patch" || die "patch failed."
+ epatch "${FILESDIR}/${PN}-2.1.9-icons.patch" || die "patch failed."
+}
+
+src_compile() {
+ econf --without-permcheck \
+ --prefix="${INSTALLDIR}" \
+ --with-mail-gid=${MAILGID} \
+ --with-cgi-gid=${CGIGID} \
+ --with-cgi-ext="${MAILMAN_CGIEXT}" \
+ --with-var-prefix="${VAR_PREFIX}" \
+ --with-username=${MAILUSR} \
+ --with-groupname=${MAILGRP} \
+ || die "configure failed"
+
+ emake || die "make failed"
+}
+
+src_install () {
+ emake "DESTDIR=${D}" doinstall || die
+
+ insinto /etc/apache2/modules.d
+ newins "${FILESDIR}/50_mailman.conf-r1" 50_mailman.conf
+ dosed "s:/usr/local/mailman/cgi-bin:${INSTALLDIR}/cgi-bin:g" /etc/apache2/modules.d/50_mailman.conf
+ dosed "s:/usr/local/mailman/icons:${INSTALLDIR}/icons:g" /etc/apache2/modules.d/50_mailman.conf
+ dosed "s:/usr/local/mailman/archives:${VAR_PREFIX}/archives:g" /etc/apache2/modules.d/50_mailman.conf
+
+ newdoc "${FILESDIR}/README.gentoo-r3" README.gentoo || die "newdoc failed"
+
+ dodoc ACK* BUGS FAQ NEWS README* TODO UPGRADING INSTALL contrib/mailman.mc \
+ contrib/README.check_perms_grsecurity contrib/virtusertable || die "dodoc failed"
+
+ exeinto ${INSTALLDIR}/bin
+ doexe build/contrib/*.py contrib/majordomo2mailman.pl contrib/auto \
+ contrib/mm-handler* || die
+
+ dodir /etc/mailman
+ mv "${D}/${INSTALLDIR}/Mailman/mm_cfg.py" "${D}/etc/mailman"
+ dosym /etc/mailman/mm_cfg.py ${INSTALLDIR}/Mailman/mm_cfg.py
+
+ # Save the old config for updates from pre-2.1.9-r2
+ # To be removed some distant day
+ for i in /var/mailman /home/mailman /usr/local/mailman ${INSTALLDIR}
+ do
+ if [ -f ${i}/Mailman/mm_cfg.py ] && ! [ -L ${i}/Mailman/mm_cfg.py ]; then
+ cp ${i}/Mailman/mm_cfg.py "${D}/etc/mailman/mm_cfg.py"
+ fi
+ done
+
+ newinitd "${FILESDIR}/mailman.rc" mailman
+
+ keepdir ${VAR_PREFIX}/logs
+ keepdir ${VAR_PREFIX}/locks
+ keepdir ${VAR_PREFIX}/spam
+ keepdir ${VAR_PREFIX}/archives/public
+ keepdir ${VAR_PREFIX}/archives/private
+ keepdir ${VAR_PREFIX}/lists
+ keepdir ${VAR_PREFIX}/qfiles
+
+ chown -R ${MAILUSR}:${MAILGRP} "${D}/${VAR_PREFIX}" "${D}/${INSTALLDIR}" "${D}"/etc/mailman/*
+ chown ${CGIUID}:${MAILGRP} "${D}/${VAR_PREFIX}/archives/private"
+ chmod 2775 "${D}/${INSTALLDIR}" "${D}/${INSTALLDIR}"/templates/* \
+ "${D}/${INSTALLDIR}"/messages/* "${D}/${VAR_PREFIX}" "${D}/${VAR_PREFIX}"/{logs,lists,spam,locks,archives/public}
+ chmod 2770 "${D}/${VAR_PREFIX}/archives/private"
+ chmod 2770 "${D}/${VAR_PREFIX}/qfiles"
+ chmod 2755 "${D}/${INSTALLDIR}"/cgi-bin/* "${D}/${INSTALLDIR}/mail/mailman"
+
+}
+
+pkg_postinst() {
+ python_mod_optimize ${INSTALLDIR}/bin/ ${INSTALLDIR}/Mailman \
+ ${INSTALLDIR}/pythonlib/*/
+
+ enewgroup ${MAILGRP} ${MAILGID}
+ enewuser ${MAILUSR} ${MAILUID} -1 ${INSTALLDIR} mailman -G cron -c "mailman"
+ elog
+ elog "Please read /usr/share/doc/${PF}/README.gentoo.bz2 for additional"
+ elog "Setup information, mailman will NOT run unless you follow"
+ elog "those instructions!"
+ elog
+
+ elog "An example Mailman configuration file for Apache has been installed into:"
+ elog " ${APACHE2_MODULES_CONFDIR}/50_mailman.conf"
+ elog
+ elog "To enable, you will need to add \"-D MAILMAN\" to"
+ elog "/etc/conf.d/apache2."
+ elog
+
+ ewarn "Default-Configuration has changed deeply in 2.1.9-r2. You can configure"
+ ewarn "mailman with the following variables:"
+ ewarn "MAILMAN_PREFIX (default: /usr/$(get_libdir)/mailman)"
+ ewarn "MAILMAN_VAR_PREFIX (default: /var/lib/mailman)"
+ ewarn "MAILMAN_CGIUID (default: apache)"
+ ewarn "MAILMAN_CGIGID (default: apache)"
+ ewarn "MAILMAN_CGIEXT (default: empty)"
+ ewarn "MAILMAN_MAILUSR (default: mailman)"
+ ewarn "MAILMAN_MAILUID (default: 280)"
+ ewarn "MAILMAN_MAILGRP (default: mailman)"
+ ewarn "MAILMAN_MAILGID (default: 280)"
+ ewarn
+ ewarn "Config file is now symlinked in /etc/mailman, so etc-update works."
+ ewarn
+ ewarn "If you're upgrading from below 2.1.9-r2 or changed MAILMAN_PREFIX, you"
+ ewarn "NEED to make a few manual updates to your system:"
+ ewarn
+ ewarn "1. Update your mailman users's home directory: usermod -d ${INSTALLDIR} mailman"
+ ewarn "2. Re-import the crontab: su - mailman -c 'crontab cron/crontab.in'"
+ ewarn "3. Copy your old mm_cfg.py file to /etc/mailman/mm_cfg.py"
+ ewarn
+ ewarn "Additionally if you've modified MAILMAN_VAR_PREFIX (or upgraded from"
+ ewarn "a pre 2.1.9-r2 installation), you should move your old lists/ and"
+ ewarn "archives/ directory to the new location, ensuring that the"
+ ewarn "permissions is correct. See bug #208789 for a discussion."
+ ebeep
+}
+
+pkg_postrm() {
+ INSTALLDIR=${MAILMAN_PREFIX:-"/usr/$(get_libdir)/mailman"}
+ python_mod_cleanup ${INSTALLDIR}/bin ${INSTALLDIR}/Mailman \
+ ${INSTALLDIR}/pythonlib/*/
+}