diff options
author | Hanno Böck <hanno@gentoo.org> | 2009-08-01 09:57:05 +0000 |
---|---|---|
committer | Hanno Böck <hanno@gentoo.org> | 2009-08-01 09:57:05 +0000 |
commit | 56b984bf1d38ee66d3f1841f7a48a154dca56aa9 (patch) | |
tree | 51f729519c6b2c489df2faed2a0f5126c4fa217c /net-mail/mailman | |
parent | tweak x11-libs/wxGTK dep for bug #279653 and bug #269689 (diff) | |
download | gentoo-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/mailman')
-rw-r--r-- | net-mail/mailman/ChangeLog | 11 | ||||
-rw-r--r-- | net-mail/mailman/files/mailman-2.1.12-add-destdir.patch | 11 | ||||
-rw-r--r-- | net-mail/mailman/files/mailman-2.1.12-directory-check.patch | 32 | ||||
-rw-r--r-- | net-mail/mailman/mailman-2.1.12.ebuild | 163 |
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/*/ +} |