diff options
Diffstat (limited to 'net-mail/mailman/mailman-2.1.9-r2.ebuild')
-rw-r--r-- | net-mail/mailman/mailman-2.1.9-r2.ebuild | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/net-mail/mailman/mailman-2.1.9-r2.ebuild b/net-mail/mailman/mailman-2.1.9-r2.ebuild new file mode 100644 index 000000000000..dc7c825b6178 --- /dev/null +++ b/net-mail/mailman/mailman-2.1.9-r2.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/mailman-2.1.9-r2.ebuild,v 1.1 2007/09/27 00:55:05 hanno Exp $ + +inherit eutils python + +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 + || ( www-servers/apache www-servers/lighttpd )" + +pkg_setup() { + INSTALLDIR=${MAILMAN_PREFIX:-"/usr/lib/mailman"} + VAR_PREFIX=${MAILMAN_VAR_PREFIX:-"/var/lib/mailman"} + CGIGID=${MAILMAN_CGIGID:-81} + 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 mailman 280 + enewuser mailman 280 /bin/bash ${INSTALLDIR} mailman -G cron -c mailman +} + +src_unpack() { + unpack ${A} + cd ${S} + epatch ${FILESDIR}/${PN}-2.1.8_rc1-directory-check.patch || die "patch failed." +} + +src_compile() { + econf --without-permcheck \ + --prefix=${INSTALLDIR} \ + --with-mail-gid=${MAILGID} \ + --with-cgi-gid=${CGIGID} \ + --with-var-prefix=${VAR_PREFIX} \ + || die "configure failed" + + emake || die "make failed" +} + +src_install () { + emake "DESTDIR=${D}" doinstall || die + + insinto /etc/apache2/modules.d + doins "${FILESDIR}/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/archives:${VAR_PREFIX}/archives:g" /etc/apache2/modules.d/50_mailman.conf + + dodoc ${FILESDIR}/README.gentoo ACK* BUGS FAQ NEWS README* TODO UPGRADING INSTALL \ + contrib/README.check_perms_grsecurity contrib/virtusertable contrib/mailman.mc || 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 mailman:mailman ${D}/${VAR_PREFIX} ${D}/${INSTALLDIR} ${D}/etc/mailman/* + chmod 2775 ${D}/${INSTALLDIR} ${D}/${INSTALLDIR}/templates/* \ + ${D}/${INSTALLDIR}/messages/* ${D}/${VAR_PREFIX} ${D}/${VAR_PREFIX}/{logs,lists,spam,locks,archives/public} + chmod 2750 ${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 + + enewgroup mailman 280 + enewuser mailman 280 -1 ${INSTALLDIR} mailman -G cron -c "mailman" + elog + elog "Please read /usr/share/doc/${PF}/README.gentoo.gz 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_INSTALLDIR (default: /usr/lib/mailman)" + ewarn "MAILMAN_VAR_PREFIX (default: /var/lib/mailman)" + ewarn "MAILMAN_CGIGID (default: 81)" + ewarn "MAILMAN_MAILGID (default: 280)" + ewarn + ewarn "Config file is now symlinked in /etc/mailman, so etc-update works." + ebeep +} + +pkg_postrm() { + INSTALLDIR=${MAILMAN_PREFIX:-"/usr/lib/mailman"} + python_mod_cleanup ${INSTALLDIR}/bin ${INSTALLDIR}/Mailman +} |