revision bump to resolve 77524
authorTuan Van <langthang@gentoo.org>
Sun, 16 Jan 2005 03:21:11 +0000 (03:21 +0000)
committerTuan Van <langthang@gentoo.org>
Sun, 16 Jan 2005 03:21:11 +0000 (03:21 +0000)
Package-Manager: portage-2.0.51-r12

net-mail/mailman/ChangeLog
net-mail/mailman/Manifest
net-mail/mailman/files/digest-mailman-2.1.5-r3 [new file with mode: 0644]
net-mail/mailman/files/mailman-2.1.5-driver.cvs.patch [new file with mode: 0644]
net-mail/mailman/mailman-2.1.5-r2.ebuild
net-mail/mailman/mailman-2.1.5-r3.ebuild [new file with mode: 0644]

index f38babf84007e9de603c3d9427f1950a059fa567..2af0e7b9c0aa57a7a3f6fb812192173b898e394d 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for net-mail/mailman
-# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/ChangeLog,v 1.48 2004/11/12 00:43:07 langthang Exp $
+# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/ChangeLog,v 1.49 2005/01/16 03:21:11 langthang Exp $
+
+*mailman-2.1.5-r3 (15 Jan 2005)
+
+  15 Jan 2005; Tuấn Văn <langthang@gentoo.org>
+  +files/mailman-2.1.5-driver.cvs.patch, +mailman-2.1.5-r3.ebuild:
+  revision bump to resolve bug #77524.
 
   11 Nov 2004; Tuan Van <langthang@gentoo.org> mailman-2.1.5-r2.ebuild:
   QA: illegal einfo/ewarn. Bug #70848.
index fc7b60b03aeaef051b1a83d9ce4c92fd2ac873c9..1e077bf3c7e66629bba39f576555a6d0e9cd0249 100644 (file)
@@ -1,18 +1,21 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-MD5 e50164714c283b3cd5581049887094c3 mailman-2.1.5-r2.ebuild 4047
-MD5 d9472f6d29cde4c60797693c25abb487 ChangeLog 6559
+MD5 c3fc63f13d2c00bcf6ca8fdaae853077 mailman-2.1.5-r3.ebuild 4460
+MD5 b2c3a05d43800f1c6d274d5b4de17fed mailman-2.1.5-r2.ebuild 4047
+MD5 97575a4ba30d973c1bb7d18e152af8aa ChangeLog 6749
 MD5 5721b86fd871bdfab77231abc6e02f68 metadata.xml 161
 MD5 ea0c850a55a563d90a520ab52809112f files/README.gentoo 4963
+MD5 740c1eb479ebc2df0109668027f60762 files/mailman-2.1.5-driver.cvs.patch 2539
 MD5 1c839f4abbbe57c6ffc915fc8dc3018c files/mailman-2.1.5-directory-check.patch 641
 MD5 3089c1f0f8d91abdd612997b085959eb files/mailman.conf 385
 MD5 136d82be0bd84eff6961446171dbe288 files/digest-mailman-2.1.5-r2 63
+MD5 136d82be0bd84eff6961446171dbe288 files/digest-mailman-2.1.5-r3 63
 MD5 ce6d06f51e3da34e92048369e9fe14d2 files/mailman.rc 597
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.2.6 (GNU/Linux)
+Version: GnuPG v1.4.0 (GNU/Linux)
 
-iD8DBQFBlAcS5FrxP71izLARAgpJAKClMdc5NQkP3ZYOB6y7B82WPdJycQCgilXr
-W7OGzxV5v/3H1S7aXw9nx8w=
-=5Sju
+iD8DBQFB6d255FrxP71izLARAqd2AKC9R/Zal4II3usk5RndXTjuZZVvEgCeJbOL
+TjAQd2xEAQ4zwZFCdowvm0I=
+=gnHx
 -----END PGP SIGNATURE-----
diff --git a/net-mail/mailman/files/digest-mailman-2.1.5-r3 b/net-mail/mailman/files/digest-mailman-2.1.5-r3
new file mode 100644 (file)
index 0000000..1e43ecb
--- /dev/null
@@ -0,0 +1 @@
+MD5 f5f56f04747cd4aff67427e7a45631af mailman-2.1.5.tgz 5745912
diff --git a/net-mail/mailman/files/mailman-2.1.5-driver.cvs.patch b/net-mail/mailman/files/mailman-2.1.5-driver.cvs.patch
new file mode 100644 (file)
index 0000000..0e286f9
--- /dev/null
@@ -0,0 +1,73 @@
+--- scripts/driver.orig        2003-04-19 21:52:55.000000000 -0700
++++ scripts/driver     2005-01-13 20:45:30.432695194 -0800
+@@ -1,6 +1,6 @@
+ # -*- python -*-
+ 
+-# Copyright (C) 1998-2003 by the Free Software Foundation, Inc.
++# Copyright (C) 1998-2004 by the Free Software Foundation, Inc.
+ #
+ # This program is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU General Public License
+@@ -28,7 +28,11 @@
+ # comfortable with.  By setting STEALTH_MODE to 1, you disable the printing of
+ # this information to the web pages.  This information is still, and always,
+ # printed in the error logs.
+-STEALTH_MODE = 0
++STEALTH_MODE = 1
++
++# This will be set to the entity escaper.
++def websafe(s):
++    return s
+ 
+ 
+ \f
+@@ -53,12 +57,22 @@
+ 
+ \f
+ def run_main():
++    global STEALTH_MODE, websafe
++
+     # These will ensure that even if something between now and the
+     # creation of the real logger below fails, we can still get
+     # *something* meaningful.
+     logger = None
+     try:
+         import paths
++        # When running in non-stealth mode, we need to escape entities,
++        # otherwise we're vulnerable to cross-site scripting attacks.
++        try:
++            if not STEALTH_MODE:
++                from Mailman.Utils import websafe
++        except:
++            STEALTH_MODE = 1
++            raise
+         # Map stderr to a logger, if possible.
+         from Mailman.Logging.StampedLogger import StampedLogger
+         logger = StampedLogger('error',
+@@ -140,11 +154,13 @@
+ a description of what happened.  Thanks!
+ 
+ <h4>Traceback:</h4><p><pre>'''
++        exc_info = sys.exc_info()
+         if traceback:
+-            traceback.print_exc(file=sys.stdout)
++            for line in traceback.format_exception(*exc_info):
++                print websafe(line),
+         else:
+             print '[failed to import module traceback]'
+-            print '[exc: %s, var: %s]' % sys.exc_info()[0:2]
++            print '[exc: %s, var: %s]' % [websafe(x) for x in exc_info[0:2]]
+         print '\n\n</pre></body>'
+     else:
+         print '''<p>Please inform the webmaster for this site of this
+@@ -212,7 +228,9 @@
+ '''
+         if os:
+             for k, v in os.environ.items():
+-                print '<tr><td><tt>', k, '</tt></td><td>', v, '</td></tr>'
++                print '<tr><td><tt>', websafe(k), \
++                      '</tt></td><td>', websafe(v), \
++                      '</td></tr>'
+             print '</table>'
+         else:
+             print '<p><hr>[failed to import module os]'
index 29c64a0c2f7fcb40807c38e3704991168a6e34bb..cc7308cb00231f3268e5bfb63b1bbd23d07d3277 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# 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.5-r2.ebuild,v 1.6 2004/11/12 00:43:07 langthang Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/mailman-2.1.5-r2.ebuild,v 1.7 2005/01/16 03:21:11 langthang Exp $
 
 inherit eutils
 IUSE="apache2"
diff --git a/net-mail/mailman/mailman-2.1.5-r3.ebuild b/net-mail/mailman/mailman-2.1.5-r3.ebuild
new file mode 100644 (file)
index 0000000..22b3392
--- /dev/null
@@ -0,0 +1,146 @@
+# 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.5-r3.ebuild,v 1.1 2005/01/16 03:21:11 langthang Exp $
+
+inherit eutils depend.apache
+IUSE="apache2"
+
+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="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"
+MAILGID="280"
+
+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."
+}
+
+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
+               dodir /etc/apache2/conf/modules.d
+               #dodir ${APACHE2_MODULES_CONFDIR}
+               insinto /etc/apache2/conf/modules.d
+               #insinto ${APACHE2_MODULES_CONFDIR}
+               newins ${FILESDIR}/mailman.conf 50_mailman.conf
+       else
+               dodir /etc/apache/conf/addon-modules
+               #dodir ${APACHE1_MODULES_CONFDIR}
+               insinto /etc/apache/conf/addon-modules
+               #insinto ${APACHE1_MODULES_CONFDIR}
+               doins ${FILESDIR}/mailman.conf
+       fi
+
+       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 ""
+
+       # per vericgar's advise
+       # we dont need to do this anymore with the new apache revision.
+       # will remove these when the new apache unmasked.
+       if ! use apache2; then
+               einfo "It appears that you aren't running apache2..."
+               einfo "ebuild /var/db/pkg/net-mail/${PN}/${PF}.ebuild config"
+               einfo "to add the mailman hooks to your config"
+       fi
+}
+
+pkg_config() {
+       if ! use apache2; then
+               einfo "Updating apache config"
+               einfo "added: \"Include  conf/addon-modules/mailman.conf\""
+               einfo "to ${ROOT}etc/apache/conf/apache.conf"
+               echo "Include  conf/addon-modules/mailman.conf" \
+                       >> ${ROOT}etc/apache/conf/apache.conf
+       fi
+}