summaryrefslogtreecommitdiff
path: root/net-mail/mailman
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-mail/mailman
reinit the tree, so we can have metadata
Diffstat (limited to 'net-mail/mailman')
-rw-r--r--net-mail/mailman/Manifest13
-rw-r--r--net-mail/mailman/files/50_mailman.conf-r218
-rw-r--r--net-mail/mailman/files/README.gentoo-r3181
-rw-r--r--net-mail/mailman/files/mailman-2.1.14_rc1-directory-check.patch19
-rw-r--r--net-mail/mailman/files/mailman-2.1.9-icons.patch12
-rw-r--r--net-mail/mailman/files/mailman.rc26
-rw-r--r--net-mail/mailman/files/mailman.service13
-rw-r--r--net-mail/mailman/mailman-2.1.23.ebuild167
-rw-r--r--net-mail/mailman/mailman-2.1.24.ebuild167
-rw-r--r--net-mail/mailman/metadata.xml14
10 files changed, 630 insertions, 0 deletions
diff --git a/net-mail/mailman/Manifest b/net-mail/mailman/Manifest
new file mode 100644
index 000000000000..425c9b7ed253
--- /dev/null
+++ b/net-mail/mailman/Manifest
@@ -0,0 +1,13 @@
+AUX 50_mailman.conf-r2 482 SHA256 670cafbf05bc72dd47f9b516e4b3721423215fa9699908b4452c2d562fcbf6e4 SHA512 c279f8709ea7932469c0d8ff0b645df228562678081df5fc3d946d62f7bbbc33f4723e71fd4560eebfc751052a6a271d4aadf6affadefeca107f41d3193563d3 WHIRLPOOL 1578cd48b96ee808fedf3a00e93475ce7470a66bea1d8beb378266aa9522ed8ecb4503a723024794ab7d68d407ff66f6535b2845ef03b777bf265ead0ad86cbf
+AUX README.gentoo-r3 6691 SHA256 9b43dcf3f53fe40a5965cb5d6335bdb82c08cffdc7a8962de4d48110b03705a9 SHA512 12490bb17b4da308f0855fa9f5e36c2c01c806822021d3ac92dc15cc7901a417dbeb1e1f78c9df2603128076bd11d9ded0a946f4cedd3b056a1694afbdab28d3 WHIRLPOOL 19fe80ca5d34051f213b5131dccc90070807ee932e4402d1b2f5b7bb4284e8e2074c3b73c6c3774ac5e9f9ae571b7a40b9423387bfc56ad4daeb9668a40465af
+AUX mailman-2.1.14_rc1-directory-check.patch 786 SHA256 13c5988eeaf1fad7c7f4db2c817bb234dce022636e0ebe1a7de9d0ef8400d91c SHA512 510a67915163732ae05ed9f8920f93eb99538a706d85e4fb2c071e01a6d88be8cd32aa5ea0127d36a1dc4f7a735c179bb1169e7358025ee7d3c85b0c8cda44d7 WHIRLPOOL 316a6e78129bf1a46be3c81232cf29a4cf639c5f350085e10d37700d1f97ae614ee48c0caea1acef33da172e74b025645098ce36055f6757b9e32567c15d9414
+AUX mailman-2.1.9-icons.patch 555 SHA256 cd78a7447febcbe1901144a190ef14cf9075b8055cc275e0405fc748f9c855f0 SHA512 caec3eb1abdb29e92ebd6a589f93870ffc91bbcc7bd2e0115e38f48ae0a31e564037a4a828395229ee238d215e72e19a31d53c8bca6c39a48b5c08a327e663a6 WHIRLPOOL 0e73c6c89fd026bf73c5665da95fa711e47b0a7fa031ce3c31ad3a4771935c2d8fdabbba58e32448ee9b8263576004c22376249e1c135b69dbbaa47c880b96b9
+AUX mailman.rc 488 SHA256 7748a7308b386ba0b6b24a59b8ff0916d129b872ac2a1c43258003d17124ef06 SHA512 bb97f6fec48cf474be66c1aa73adc874ceaeee894acc3fad76f4b3f5e6f82dcd4238a6915de941fe87f815668dfb6c5ffe90926c5aaaddedf7dc06dfa4c1a126 WHIRLPOOL 0904f430b79dfcc756eec773f61a3730fccafc249d1dd3b52add7d14fa289492401d38f6bd22f785bc91cbe653976249d1aa515113885da0bda3dce54c2e9b52
+AUX mailman.service 288 SHA256 6cd1c76bac4ce0c6e15886089a62ed70012653a6416fc1d0c0836822b58e7c02 SHA512 c4a5532666afbebc5aa69463ec9b9eaa2dcb03fdd8fd62307920a4572d0c795c1d93478236240746018be617c0eec0fcfcc1c711e8810140fb8ffbc0a9b71009 WHIRLPOOL 0980699e58b2b86789ea7bd2172063359a12f97d7df1cea27ada1dea77ec8a7c3426f1aca1c3bbf982d97b72ac1ee3ff28b49f651d8a066ea80a6d0ca20135c3
+DIST mailman-2.1.23.tgz 9290881 SHA256 b022ca6f8534621c9dbe50c983948688bc4623214773b580c2c78e4a7ae43e69 SHA512 398dd5c301005512900aff38c068ee641eea9f2970dfde17c37a8641759bd6fff8e6d37ad63c0c86b4b1594459b3c92023844ca4ec23d1681ac02542bd97f8db WHIRLPOOL c5e45bd4fb59dca5017f547e25986addff8079bf10bdcb6f814942e56cfc618d0e6e075beb7d5240e591d809f27af442c4da9c5e5f35358f5bf86a4f24c1d38d
+DIST mailman-2.1.24.tgz 9251009 SHA256 89b0cfc13c52915b9cdebd4b772852f1043e7435554050b4f5f7094f9093cd77 SHA512 f62f224abe5eb4804828a4d83389432b34595b8d4533310cda4da58ab10c2e62e0b2419929dcc53c32e2754d8f62fa8ef68877db4c65f6112f08f0e452fd6a38 WHIRLPOOL 583f8157de5c93ad6e97f49921f57af65d272da801f3534b454992034484924efde2d792334b7db7dc90b02bbae92a796352a1a65e8576affa80eef9b5cedfc8
+EBUILD mailman-2.1.23.ebuild 5835 SHA256 789686a01c1e7e410094e235d72043106fca41e79d9871980e421c33ea54aaa4 SHA512 bb1e4b7ae51537c1d2d4e27ea96e58e4967a03cc6b7fded302bcbb67ff6d4d21186abc1829147c47ecedb361495ba07c543335b6f6edbc9e38f0e12fd42cd4ab WHIRLPOOL 4572f2c32186f6434aa9f79b9039e783f78f28f4763484feae50d92afca7e8a8f9000330cab38ae04f202d39a09a259eb67a1d9e5e27b70a8dafc0ee13b3ac13
+EBUILD mailman-2.1.24.ebuild 5836 SHA256 ce0fcfbfc506c2b886cb02c5d5ea84d7cdd869c54ec6a6ae46da349039d18665 SHA512 f1a9d9051e558719e4da671285baccebf454c8e2102943c7bec3cf37fbe282a9ac73e748c25ce0af25a1a41ebfd6ff83a90211b0cfba46a43466fbc6dc6ec010 WHIRLPOOL 2d0018829969d60d1175150abc46a953c9205987c24b3f44a6106ae46e64d3a488e23f1c7953c6cb697d279f806eeb815bc06e9371d31fbba39ca37e86df1e8f
+MISC ChangeLog 4399 SHA256 a8af4fc02594e94c0f97bd5b4cb76da002a3706ca1508842b74f6e1342424d71 SHA512 ec569bc87d5841102bfcbcf2ec94d4d77a237906f63937cacdd76aa4e6a19a89690fd9a22d642f5d5711da76d5a69892e0f9aa77ef09381e8439cdce3c1c41d7 WHIRLPOOL e23b9c5853508342a4fc7281cd23cb6155300afee7152e73261df4e456b1854516b19c80b4174dc948b50c61f3c98f79cb232cca6d0ab5a42201182ec4029b08
+MISC ChangeLog-2015 20958 SHA256 913282d55fad5cfe19703c8c3de63e957c8df5929410d3c4331d8342b9280f62 SHA512 2dd773d7ea3ccdf1a2241e90f13f5585d9dbf7656c26ae196ac5219828aefba1cbe2c6dbdbfe1b6f584820d9a05f9af6ad8e7e34cc90fad15679bca54d12b967 WHIRLPOOL 2d047534d4739f8b82c7aa20e7e20b12f4c3b7b9252db3456d8c08d28bccc59c6ec375be64130bdc4eb91c355bb8ed87aa10da797da2add76ef0243060986ea0
+MISC metadata.xml 398 SHA256 8a1ea66253161fe81ab1e3f541237be1fef45d8bc64a21a230ffb67b3d6f0fe2 SHA512 e12fcde6e9360aaab80a5cece049ca20ba8deca00c7051987d0903d1dd9992545d62c10186f05dca6fed28682050efe704cc3ffd92bbcb0ceb9ce5ce972cf62f WHIRLPOOL b081299391465ee0a7f22ba0542c79a06e0e00d50497a24fe6463c32f6e545231d815cffb8b6ed3128da0623b1ae4a317dec4977e9a9cf59a2113e103c39ca67
diff --git a/net-mail/mailman/files/50_mailman.conf-r2 b/net-mail/mailman/files/50_mailman.conf-r2
new file mode 100644
index 000000000000..c0cf69562fed
--- /dev/null
+++ b/net-mail/mailman/files/50_mailman.conf-r2
@@ -0,0 +1,18 @@
+<IfDefine MAILMAN>
+ ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/"
+ <Directory "/usr/local/mailman/cgi-bin/">
+ AllowOverride None
+ Options None
+ </Directory>
+
+ Alias /pipermail/ "/usr/local/mailman/archives/public/"
+ <Directory "/usr/local/mailman/archives/public/">
+ AllowOverride None
+ Options ExecCGI FollowSymLinks
+ </Directory>
+
+ Alias /mailman-icons/ "/usr/local/mailman/icons/"
+ <Directory "/usr/local/mailman/icons/">
+ AllowOverride None
+ </Directory>
+</IfDefine>
diff --git a/net-mail/mailman/files/README.gentoo-r3 b/net-mail/mailman/files/README.gentoo-r3
new file mode 100644
index 000000000000..8584a2d6a071
--- /dev/null
+++ b/net-mail/mailman/files/README.gentoo-r3
@@ -0,0 +1,181 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+Follow these instructions to finish setting up mailman. This file and the
+original ebuild were tweaked by me <lamer@gentoo.org> but were graciously
+submitted by Joby Walker (YOU RULE!)
+2003 Jul 09: updated by Jesus Perez and re-tweaked by me <raker@gentoo.org>
+for 2.1.x.
+
+Please view the documentation on Mailman at: http://www.list.org/
+
+This documentation assumes you're using the default gentoo path
+(/usr/lib/mailman/), if you've changed it with MAILMAN_PREFIX, adjust them
+accordingly.
+
+1) If this is your first time installing mailman, after your "emerge mailman",
+you need to add -D MAILMAN to /etc/conf.d/apache or /etc/conf.d/apache2 and restart
+apache.
+
+2) In your /etc/conf.d/apache (for apache 1.x)
+ or /etc/conf.d/apache2 (for apache 2.x)
+ file add the additional option to the
+ APACHE_OPTS or APACHE2_OPTS variable:
+
+ -D MAILMAN
+
+3) Make sure mailman is a part of the cron group
+
+4) This must be done as user mailman:
+
+ su - mailman
+
+Add the cron jobs:
+
+ cd cron
+ crontab crontab.in
+ cd ..
+
+Create the site password:
+
+ bin/mmsitepass
+
+and main list:
+
+ bin/newlist mailman
+
+
+5) Change back to root:
+
+ exit
+
+(Postfix users: read the notes at the end of this file before you continue)
+Add this to /etc/mail/aliases (and see point 9 for notes):
+ mailman: "|/usr/lib/mailman/mail/mailman post mailman"
+ mailman-admin: "|/usr/lib/mailman/mail/mailman admin mailman"
+ mailman-bounces: "|/usr/lib/mailman/mail/mailman bounces mailman"
+ mailman-confirm: "|/usr/lib/mailman/mail/mailman confirm mailman"
+ mailman-join: "|/usr/lib/mailman/mail/mailman join mailman"
+ mailman-leave: "|/usr/lib/mailman/mail/mailman leave mailman"
+ mailman-owner: "|/usr/lib/mailman/mail/mailman owner mailman"
+ mailman-request: "|/usr/lib/mailman/mail/mailman request mailman"
+ mailman-subscribe: "|/usr/lib/mailman/mail/mailman subscribe mailman"
+ mailman-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe mailman"
+
+For courier, the aliases have to go to /etc/courier/aliases and you have to skip
+the quotes.
+
+Run newaliases (only if you use sendmail).
+
+ newaliases
+
+6) Start the mailman daemon:
+
+ /etc/init.d/mailman start
+
+and add it to default runlevel (optional but recommended):
+
+ rc-update add mailman default
+
+7) For each list created (either with web interface or with bin/newlist)
+this must be added to /etc/mail/aliases (see smrsh notes below)
+replace <list-name> with the name of the list:
+
+ <list-name>: "|/usr/lib/mailman/mail/mailman post <list-name>"
+ <list-name>-admin: "|/usr/lib/mailman/mail/mailman admin <list-name>"
+ <list-name>-bounces: "|/usr/lib/mailman/mail/mailman bounces <list-name>"
+ <list-name>-confirm: "|/usr/lib/mailman/mail/mailman confirm <list-name>"
+ <list-name>-join: "|/usr/lib/mailman/mail/mailman join <list-name>"
+ <list-name>-leave: "|/usr/lib/mailman/mail/mailman leave <list-name>"
+ <list-name>-owner: "|/usr/lib/mailman/mail/mailman owner <list-name>"
+ <list-name>-request: "|/usr/lib/mailman/mail/mailman request <list-name>"
+ <list-name>-subscribe: "|/usr/lib/mailman/mail/mailman subscribe <list-name>"
+ <list-name>-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe <list-name>"
+
+For courier, the aliases have to go to /etc/courier/aliases and you have to skip
+the quotes.
+
+Run newaliases:
+
+ newaliases
+
+smrsh notes
+-----------
+(if you use sendmail, you are surely using srmsh) you must note that
+sendmail won't run any program outside of EBINDIR. I tried to change
+EBINDIR using,define(`confEBINDIR', `/usr/lib/mailman/mail')dnl in
+sendmail.mc but it didn't work, so mailman must be placed in EBINDIR,
+which in Gentoo is /usr/adm/sm.bin, so you must run as root:
+
+ ln -s /usr/lib/mailman/mail/mailman /usr/adm/sm.bin/mailman
+
+And the lines in /etc/mail/aliases which refer to
+/usr/lib/mailman/mail/mailman must be changed to mailman:
+
+ <list-name>: "|mailman post <list-name>"
+ <list-name>-admin: "|mailman admin <list-name>"
+ <list-name>-bounces: "|mailman bounces <list-name>"
+ <list-name>-confirm: "|mailman confirm <list-name>"
+ <list-name>-join: "|mailman join <list-name>"
+ <list-name>-leave: "|mailman leave <list-name>"
+ <list-name>-owner: "|mailman owner <list-name>"
+ <list-name>-request: "|mailman request <list-name>"
+ <list-name>-subscribe: "|mailman subscribe <list-name>"
+ <list-name>-unsubscribe: "|mailman unsubscribe <list-name>"
+
+exim notes
+----------
+You can write an exim stanza for the router and transport that looks something
+like (Derived from, and in part taken from cpanel):
+
+mailman_virtual_router:
+ driver = accept
+ require_files = /var/lib/mailman/lists/${lc::$local_part}/config.pck
+ local_part_suffix_optional
+ local_part_suffix = -admin : \
+ -bounces : -bounces+* : \
+ -confirm : -confirm+* : \
+ -join : -leave : \
+ -owner : -request : \
+ -subscribe : -unsubscribe
+ transport = mailman_virtual_transport
+
+mailman_virtual_transport:
+ driver = pipe
+ command = /usr/lib/mailman/mail/mailman \
+ '${if def:local_part_suffix \
+ {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
+ {post}}' \
+ ${lc:$local_part}
+ current_directory = /usr/lib/mailman
+ home_directory = /usr/lib/mailman
+ user = mailman
+ group = mailman
+
+Note the double colon in the require files. See
+http://wiki.exim.org/FAQ/General_Debugging/Q0060 for more information.
+
+This should be modified if you're using the vhosts USE flag, specifically you
+need to modify the location of the config.pck file, to be
+${lc::$local_part}-${lc::$domain} instead of simply ${lc::$local_part}, and for the
+transport you need to change the last part of the command in the same fashion.
+
+Other Helpful things to know...
+-------------------------------
+run "bin/check_perms -f" from the root mailman directory
+(/usr/lib/mailman) to check and fix permission problems.
+
+The INSTALL file is located in /usr/share/doc/mailman-$VERSION/
+
+Postfix notes
+-------------
+If you're using Postfix, don't manually change your /etc/mail/aliases
+file, as described above. Instead, follow these instructions:
+
+http://list.org/mailman-install/node13.html
+
+This will set up Mailman and Postfix to automatically generate the new
+aliases when you create new lists. It will also make sure that Postfix
+uses the correct group ID when it's talking to Mailman, otherwise you
+will get security errors from Mailman.
+
diff --git a/net-mail/mailman/files/mailman-2.1.14_rc1-directory-check.patch b/net-mail/mailman/files/mailman-2.1.14_rc1-directory-check.patch
new file mode 100644
index 000000000000..a3c26ede877a
--- /dev/null
+++ b/net-mail/mailman/files/mailman-2.1.14_rc1-directory-check.patch
@@ -0,0 +1,19 @@
+--- mailman-2.1.14rc1/bin/update 2010-09-09 18:51:09.000000000 +0200
++++ mailman-2.1.14rc1-1/bin/update 2010-09-14 01:02:09.000000000 +0200
+@@ -35,6 +35,7 @@
+ """
+
+ import os
++import stat
+ import sys
+ import time
+ import errno
+@@ -428,7 +429,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/files/mailman-2.1.9-icons.patch b/net-mail/mailman/files/mailman-2.1.9-icons.patch
new file mode 100644
index 000000000000..07cd63e58812
--- /dev/null
+++ b/net-mail/mailman/files/mailman-2.1.9-icons.patch
@@ -0,0 +1,12 @@
+diff -rau mailman-2.1.9-orig/Mailman/Defaults.py.in mailman-2.1.9-mailman-icons/Mailman/Defaults.py.in
+--- mailman-2.1.9-orig/Mailman/Defaults.py.in 2006-08-04 14:20:33.000000000 +0200
++++ mailman-2.1.9/Mailman/Defaults.py.in 2008-02-03 14:27:02.000000000 +0200
+@@ -54,7 +54,7 @@
+ # disable Mailman's logo footer altogther, hack
+ # Mailman/htmlformat.py:MailmanLogo(), which also contains the hardcoded links
+ # and image names.
+-IMAGE_LOGOS = '/icons/'
++IMAGE_LOGOS = '/mailman-icons/'
+
+ # The name of the Mailman favicon
+ SHORTCUT_ICON = 'mm-icon.png'
diff --git a/net-mail/mailman/files/mailman.rc b/net-mail/mailman/files/mailman.rc
new file mode 100644
index 000000000000..d748a2c96734
--- /dev/null
+++ b/net-mail/mailman/files/mailman.rc
@@ -0,0 +1,26 @@
+#!/sbin/openrc-run
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+ use logger
+}
+
+start() {
+ ebegin "Starting mailman"
+ su - mailman -c 'bin/mailmanctl -s start' >/dev/null 2>&1
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping mailman"
+ su - mailman -c 'bin/mailmanctl stop' >/dev/null 2>&1
+ eend $?
+}
+
+svc_restart() {
+ ebegin "Restarting mailman"
+ su - mailman -c 'bin/mailmanctl restart' >/dev/null 2>&1
+ eend $?
+}
diff --git a/net-mail/mailman/files/mailman.service b/net-mail/mailman/files/mailman.service
new file mode 100644
index 000000000000..21b819565549
--- /dev/null
+++ b/net-mail/mailman/files/mailman.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=GNU Mailing List Manager
+After=network.target
+
+[Service]
+User=mailman
+ExecStart=/usr/lib/mailman/bin/mailmanctl -s start
+ExecReload=/usr/lib/mailman/bin/mailmanctl restart
+ExecStop=/usr/lib/mailman/bin/mailmanctl stop
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-mail/mailman/mailman-2.1.23.ebuild b/net-mail/mailman/mailman-2.1.23.ebuild
new file mode 100644
index 000000000000..8c9de0c02035
--- /dev/null
+++ b/net-mail/mailman/mailman-2.1.23.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-single-r1 multilib systemd user
+
+DESCRIPTION="A python-based mailing list server with an extensive web interface"
+SRC_URI="mirror://sourceforge/${PN}/${P/_p/-}.tgz"
+HOMEPAGE="http://www.list.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="selinux"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ virtual/mta
+ virtual/cron
+ virtual/httpd-cgi
+ virtual/python-dnspython[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ selinux? ( sec-policy/selinux-mailman )
+"
+
+S="${WORKDIR}/${P/_p/-}"
+
+pkg_setup() {
+ python-single-r1_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,cron
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-2.1.14_rc1-directory-check.patch"
+ epatch "${FILESDIR}/${PN}-2.1.9-icons.patch"
+}
+
+src_configure() {
+ 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} \
+ --with-python="${PYTHON}"
+}
+
+src_install () {
+ emake "DESTDIR=${D}" doinstall
+
+ insinto /etc/apache2/modules.d
+ newins "${FILESDIR}/50_mailman.conf-r2" 50_mailman.conf
+ sed \
+ -e "s:/usr/local/mailman/cgi-bin:${INSTALLDIR}/cgi-bin:g" \
+ -e "s:/usr/local/mailman/icons:${INSTALLDIR}/icons:g" \
+ -e "s:/usr/local/mailman/archives:${VAR_PREFIX}/archives:g" \
+ -i "${D}/etc/apache2/modules.d/50_mailman.conf" || die
+
+ newdoc "${FILESDIR}/README.gentoo-r3" README.gentoo
+
+ dodoc ACK* BUGS FAQ NEWS README* TODO UPGRADING INSTALL contrib/mailman.mc \
+ contrib/README.check_perms_grsecurity contrib/virtusertable
+
+ exeinto ${INSTALLDIR}/bin
+ doexe build/contrib/*.py contrib/majordomo2mailman.pl contrib/auto \
+ contrib/mm-handler*
+
+ 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" || die
+ fi
+ done
+
+ newinitd "${FILESDIR}/mailman.rc" mailman
+ cp "${FILESDIR}/mailman.service" "${T}/mailman.service" || die
+ sed -i "s/^User=.*/User=${MAILUSR}/" "${T}/mailman.service" || die
+ systemd_dounit "${T}/mailman.service"
+
+ 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/* || die
+ chown ${CGIUID}:${MAILGRP} "${D}/${VAR_PREFIX}/archives/private" || die
+ chmod 2775 "${D}/${INSTALLDIR}" "${D}/${INSTALLDIR}"/templates/* \
+ "${D}/${INSTALLDIR}"/messages/* "${D}/${VAR_PREFIX}" "${D}/${VAR_PREFIX}"/{logs,lists,spam,locks,archives/public} || die
+ chmod 2770 "${D}/${VAR_PREFIX}/archives/private" || die
+ chmod 2770 "${D}/${VAR_PREFIX}/qfiles" || die
+ chmod 2755 "${D}/${INSTALLDIR}"/cgi-bin/* "${D}/${INSTALLDIR}/mail/mailman" || die
+
+ python_optimize "${D}/${INSTALLDIR}/bin/" \
+ "${D}/${INSTALLDIR}/Mailman/" \
+ "${D}/${INSTALLDIR}/Mailman/*"
+}
+
+pkg_postinst() {
+ enewgroup ${MAILGRP} ${MAILGID}
+ enewuser ${MAILUSR} ${MAILUID} -1 ${INSTALLDIR} mailman,cron
+ echo
+ 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!"
+ echo
+
+ elog "An example Mailman configuration file for Apache has been installed into:"
+ elog " ${APACHE2_MODULES_CONFDIR}/50_mailman.conf"
+ echo
+ elog "To enable, you will need to add \"-D MAILMAN\" to"
+ elog "/etc/conf.d/apache2."
+ echo
+
+ 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."
+}
diff --git a/net-mail/mailman/mailman-2.1.24.ebuild b/net-mail/mailman/mailman-2.1.24.ebuild
new file mode 100644
index 000000000000..977d9d38712a
--- /dev/null
+++ b/net-mail/mailman/mailman-2.1.24.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-single-r1 multilib systemd user
+
+DESCRIPTION="A python-based mailing list server with an extensive web interface"
+SRC_URI="mirror://sourceforge/${PN}/${P/_p/-}.tgz"
+HOMEPAGE="http://www.list.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ppc x86"
+IUSE="selinux"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ virtual/mta
+ virtual/cron
+ virtual/httpd-cgi
+ virtual/python-dnspython[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ selinux? ( sec-policy/selinux-mailman )
+"
+
+S="${WORKDIR}/${P/_p/-}"
+
+pkg_setup() {
+ python-single-r1_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,cron
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-2.1.14_rc1-directory-check.patch"
+ epatch "${FILESDIR}/${PN}-2.1.9-icons.patch"
+}
+
+src_configure() {
+ 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} \
+ --with-python="${PYTHON}"
+}
+
+src_install () {
+ emake "DESTDIR=${D}" doinstall
+
+ insinto /etc/apache2/modules.d
+ newins "${FILESDIR}/50_mailman.conf-r2" 50_mailman.conf
+ sed \
+ -e "s:/usr/local/mailman/cgi-bin:${INSTALLDIR}/cgi-bin:g" \
+ -e "s:/usr/local/mailman/icons:${INSTALLDIR}/icons:g" \
+ -e "s:/usr/local/mailman/archives:${VAR_PREFIX}/archives:g" \
+ -i "${D}/etc/apache2/modules.d/50_mailman.conf" || die
+
+ newdoc "${FILESDIR}/README.gentoo-r3" README.gentoo
+
+ dodoc ACK* BUGS FAQ NEWS README* TODO UPGRADING INSTALL contrib/mailman.mc \
+ contrib/README.check_perms_grsecurity contrib/virtusertable
+
+ exeinto ${INSTALLDIR}/bin
+ doexe build/contrib/*.py contrib/majordomo2mailman.pl contrib/auto \
+ contrib/mm-handler*
+
+ 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" || die
+ fi
+ done
+
+ newinitd "${FILESDIR}/mailman.rc" mailman
+ cp "${FILESDIR}/mailman.service" "${T}/mailman.service" || die
+ sed -i "s/^User=.*/User=${MAILUSR}/" "${T}/mailman.service" || die
+ systemd_dounit "${T}/mailman.service"
+
+ 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/* || die
+ chown ${CGIUID}:${MAILGRP} "${D}/${VAR_PREFIX}/archives/private" || die
+ chmod 2775 "${D}/${INSTALLDIR}" "${D}/${INSTALLDIR}"/templates/* \
+ "${D}/${INSTALLDIR}"/messages/* "${D}/${VAR_PREFIX}" "${D}/${VAR_PREFIX}"/{logs,lists,spam,locks,archives/public} || die
+ chmod 2770 "${D}/${VAR_PREFIX}/archives/private" || die
+ chmod 2770 "${D}/${VAR_PREFIX}/qfiles" || die
+ chmod 2755 "${D}/${INSTALLDIR}"/cgi-bin/* "${D}/${INSTALLDIR}/mail/mailman" || die
+
+ python_optimize "${D}/${INSTALLDIR}/bin/" \
+ "${D}/${INSTALLDIR}/Mailman/" \
+ "${D}/${INSTALLDIR}/Mailman/*"
+}
+
+pkg_postinst() {
+ enewgroup ${MAILGRP} ${MAILGID}
+ enewuser ${MAILUSR} ${MAILUID} -1 ${INSTALLDIR} mailman,cron
+ echo
+ 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!"
+ echo
+
+ elog "An example Mailman configuration file for Apache has been installed into:"
+ elog " ${APACHE2_MODULES_CONFDIR}/50_mailman.conf"
+ echo
+ elog "To enable, you will need to add \"-D MAILMAN\" to"
+ elog "/etc/conf.d/apache2."
+ echo
+
+ 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."
+}
diff --git a/net-mail/mailman/metadata.xml b/net-mail/mailman/metadata.xml
new file mode 100644
index 000000000000..39faa5f3af1c
--- /dev/null
+++ b/net-mail/mailman/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>hanno@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">mailman</remote-id>
+ </upstream>
+</pkgmetadata>