diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /net-mail/mailman |
reinit the tree, so we can have metadata
Diffstat (limited to 'net-mail/mailman')
-rw-r--r-- | net-mail/mailman/Manifest | 13 | ||||
-rw-r--r-- | net-mail/mailman/files/50_mailman.conf-r2 | 18 | ||||
-rw-r--r-- | net-mail/mailman/files/README.gentoo-r3 | 181 | ||||
-rw-r--r-- | net-mail/mailman/files/mailman-2.1.14_rc1-directory-check.patch | 19 | ||||
-rw-r--r-- | net-mail/mailman/files/mailman-2.1.9-icons.patch | 12 | ||||
-rw-r--r-- | net-mail/mailman/files/mailman.rc | 26 | ||||
-rw-r--r-- | net-mail/mailman/files/mailman.service | 13 | ||||
-rw-r--r-- | net-mail/mailman/mailman-2.1.23.ebuild | 167 | ||||
-rw-r--r-- | net-mail/mailman/mailman-2.1.24.ebuild | 167 | ||||
-rw-r--r-- | net-mail/mailman/metadata.xml | 14 |
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> |