summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-mail/mailman/mailman-2.1.6_rc4.ebuild')
-rw-r--r--net-mail/mailman/mailman-2.1.6_rc4.ebuild150
1 files changed, 150 insertions, 0 deletions
diff --git a/net-mail/mailman/mailman-2.1.6_rc4.ebuild b/net-mail/mailman/mailman-2.1.6_rc4.ebuild
new file mode 100644
index 000000000000..2ab6a8e476c7
--- /dev/null
+++ b/net-mail/mailman/mailman-2.1.6_rc4.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/mailman-2.1.6_rc4.ebuild,v 1.1 2005/05/24 22:25:40 mholzer Exp $
+
+inherit eutils depend.apache
+IUSE="apache2 postfix sendmail qmail courier exim xmail"
+
+MY_PV=${PV/_rc/rc}
+
+DESCRIPTION="A python-based mailing list server with an extensive web interface"
+SRC_URI="mirror://sourceforge/${PN}/${PN}-${MY_PV}.tgz"
+HOMEPAGE="http://www.list.org/"
+
+SLOT="O"
+LICENSE="GPL-2"
+KEYWORDS="~x86 ~sparc ~ppc ~amd64"
+
+DEPEND=">=dev-lang/python-2.3
+ virtual/mta
+ net-www/apache"
+
+INSTALLDIR="/usr/local/mailman"
+APACHEGID="81"
+
+if use postfix; then
+ MAILGID=nobody
+elif use sendmail; then
+ MAILGID=daemon
+elif use qmail; then
+ MAILGID=qmail
+elif use courier; then
+ MAILGID=mail
+elif use exim; then
+ MAILGID=mail
+elif use xmail; then
+ MAILGID=xmail
+else
+ MAILGID="280"
+fi
+
+S=${WORKDIR}/${PN}-${MY_PV}
+
+pkg_setup() {
+ # 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
+ mkdir -p ${INSTALLDIR}
+ chown mailman:mailman ${INSTALLDIR}
+ chmod 2775 ${INSTALLDIR}
+}
+
+src_unpack() {
+ unpack ${A} && cd "${S}"
+ epatch ${FILESDIR}/${P}-directory-check.patch || die "patch failed."
+ # Bug #77524. remove with version bump.
+ #epatch ${FILESDIR}/${P}-driver.cvs.patch || die "patch failed."
+ #epatch ${FILESDIR}/${P}-true_path.patch || die "patch failed."
+}
+
+src_compile() {
+
+ econf \
+ --prefix=${INSTALLDIR} \
+ --with-mail-gid=${MAILGID} \
+ --with-cgi-gid=${APACHEGID} \
+ || die "configure failed"
+
+ make || die "make failed"
+}
+
+src_install () {
+ ID=${D}${INSTALLDIR}
+
+ make prefix=${ID} var_prefix=${ID} doinstall || die
+
+ keepdir ${INSTALLDIR}/logs
+ keepdir ${INSTALLDIR}/locks
+ keepdir ${INSTALLDIR}/spam
+ keepdir ${INSTALLDIR}/archives/public
+ keepdir ${INSTALLDIR}/archives/private
+ keepdir ${INSTALLDIR}/lists
+ keepdir ${INSTALLDIR}/qfiles
+
+ if use apache2; then
+ insinto ${APACHE2_MODULES_CONFDIR}
+ else
+ insinto ${APACHE1_MODULES_CONFDIR}
+ fi
+ newins ${FILESDIR}/mailman.conf 50_mailman.conf
+
+ dodoc ${FILESDIR}/README.gentoo
+ dodoc ACK* BUGS FAQ NEWS README* TODO UPGRADING INSTALL
+ dodoc contrib/README.check_perms_grsecurity contrib/mm-handler.readme
+ dodoc contrib/virtusertable contrib/mailman.mc
+
+ cp build/contrib/*.py contrib/majordomo2mailman.pl contrib/auto \
+ contrib/mm-handler* ${D}/usr/local/mailman/bin
+
+ # Save the old config into the new package as CONFIG_PROTECT
+ # doesn't work for this package.
+ if [ -f ${ROOT}/var/mailman/Mailman/mm_cfg.py ]; then
+ cp ${ROOT}/var/mailman/Mailman/mm_cfg.py \
+ ${D}/usr/local/mailman/Mailman/mm_cfg.py
+ einfo "Your old config has been saved as mm_cfg.py"
+ einfo "A new config has been installed as mm_cfg.dist"
+ fi
+ if [ -f ${ROOT}/home/mailman/Mailman/mm_cfg.py ]; then
+ cp ${ROOT}/home/mailman/Mailman/mm_cfg.py \
+ ${D}/usr/local/mailman/Mailman/mm_cfg.py
+ einfo "Your old config has been saved as mm_cfg.py"
+ einfo "A new config has been installed as mm_cfg.py.dist"
+ fi
+ if [ -f ${ROOT}/usr/local/mailman/Mailman/mm_cfg.py ]; then
+ cp ${ROOT}/usr/local/mailman/Mailman/mm_cfg.py \
+ ${D}/usr/local/mailman/Mailman/mm_cfg.py
+ einfo "Your old config has been saved as mm_cfg.py"
+ einfo "A new config has been installed as mm_cfg.py.dist"
+ fi
+
+ exeinto /etc/init.d
+ newexe ${FILESDIR}/mailman.rc mailman
+
+ chown -R mailman:mailman ${ID}
+ chmod 2775 ${ID}
+}
+
+pkg_postinst() {
+ enewgroup mailman 280
+ enewuser mailman 280 /bin/false ${INSTALLDIR} mailman -G cron -c "mailman"
+ cd ${INSTALLDIR}
+ bin/update
+ einfo "Running \`${INSTALLDIR}/bin/check_perms -f\` *"
+ bin/check_perms -f
+ einfo ""
+ einfo "Please read /usr/share/doc/${PF}/README.gentoo.gz for additional"
+ einfo "Setup information, mailman will NOT run unless you follow"
+ einfo "those instructions!"
+ einfo ""
+
+ einfo "An example Mailman configuration file for Apache has been installed into:"
+ use apache2 && einfo " ${APACHE2_MODULES_CONFDIR}/50_mailman.conf"
+ use apache2 || einfo " ${APACHE1_MODULES_CONFDIR}/50_mailman.conf"
+ einfo ""
+ einfo "To enable, you will need to add \"-D MAILMAN\" to"
+ use apache2 && einfo "/etc/conf.d/apache2."
+ use apache2 || einfo "/etc/conf.d/apache."
+ einfo ""
+}