Package-Manager: portage-2.2.0_alpha142
RepoMan-Options: --force
This commit is contained in:
Mario Fetka 2013-02-14 20:06:01 +01:00
parent af760e7ca1
commit 1eada66277
12 changed files with 227 additions and 560 deletions

View File

@ -1,7 +1,18 @@
# ChangeLog for net-mail/mailman
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/ChangeLog,v 1.115 2008/11/14 11:07:45 hanno Exp $
*mailman-2.1.15 (14 Feb 2013)
14 Feb 2013; Mario Fetka <mario.fetka@gmail.com> +mailman-2.1.15.ebuild,
-files/50_mailman.conf, -files/README.gentoo-r2,
-files/mailman-2.1.12-add-destdir.patch,
-files/mailman-2.1.12-directory-check.patch,
-files/mailman-2.1.8_rc1-directory-check.patch,
-files/mailman-2.1.9-fix-XSS.patch, -files/mailman.conf,
files/README.gentoo-r3, files/mailman.rc:
Bump
*mailman-2.1.14_p1 (18 Jan 2012)
18 Jan 2012; Mario Fetka <mario.fetka@gmail.com> -mailman-2.1.11.ebuild,
@ -471,4 +482,3 @@
files/README.gentoo :
Brand new package, based on submission by Joby Walker

View File

@ -1,24 +1,21 @@
AUX 50_mailman.conf 429 RMD160 54104453464b725adc18e5fb66bee265089013f6 SHA1 7b002917ae358587fc121f8c06c54c76dd0d9934 SHA256 8a93c5f9b2012122c6e85445620d5eb388e1bc38cb2102158bb62681cb61d3ec
AUX 50_mailman.conf-r1 592 RMD160 2f2be797205a63b728fe89a3367bbfb0e1f5d5dc SHA1 12a9d7276eb796c7512ece411a56f4b45f861a7d SHA256 4512a9dd6cba38a080654cbe172941a053fdc8b33afb65748d76716e9d00a029
AUX README.gentoo-r2 5537 RMD160 40e8e94ca4d44054a85f22b48c77da987478496e SHA1 05f55c70880af28c8c43055afa02bd7a321fee9a SHA256 a6393aa8eb2f7954047acdf2b4015bd299fe483ddb67b70066a9266922cb4671
AUX README.gentoo-r3 6804 RMD160 882a149497399edf20f4caf9f1c60d8e32c63b06 SHA1 4a3ff26d5d14269e57b5310d2e9f6bdf3e41b0d2 SHA256 0b70c4288511224a8039c0874570873c92cb4cc4ff4d067bf6057781e7aef906
AUX mailman-2.1.12-add-destdir.patch 379 RMD160 f5cec806246df499d90174c907dce2562cd5c607 SHA1 919e3d7fab0e4d4fe176ce1f92bc9651c8d3cf91 SHA256 10a22b784eecfc86c78380be6c389b90bbcec3e4c31a04b70f6a09e96ef4afd8
AUX mailman-2.1.12-directory-check.patch 1485 RMD160 1b2a12f332ca2c70d2cca4310d6f6d1ed37085aa SHA1 56abf3e8643a7140450a338b133b5f6e2e62d4a4 SHA256 4986cc5e7d37cec02b4f29dbf4838e81799fabdfb89bbc7f8e54c9210ae1de6d
AUX mailman-2.1.13-ldflags.patch 1022 RMD160 24cb935e95056a55ce77de1c00c083d88dbf2a52 SHA1 ea60f2a9b567c7832525ad150f6a2399d8feb1e1 SHA256 75b9fe8ef757541776532f76b1262c1616d440178ad39c432fe2d529eecf5645
AUX mailman-2.1.14_rc1-directory-check.patch 786 RMD160 4dcf690c6a5f26feff25376a5adfc261d887d2c2 SHA1 6049bf7e1b21a72861683d9251111209564f9a55 SHA256 13c5988eeaf1fad7c7f4db2c817bb234dce022636e0ebe1a7de9d0ef8400d91c
AUX mailman-2.1.8_rc1-directory-check.patch 1287 RMD160 3bf6d1216a79a32d68340cb0df5db9b5f44a3931 SHA1 ad2b689ce7911b509f999cd849d0402c36ded97c SHA256 2d31eda834429a55edad1fea3c379ecb3e8f05c03fac82f172989caeab85314d
AUX mailman-2.1.9-fix-XSS.patch 11287 RMD160 b4dff793463c976cef7bdfe2cded986a8f7820ab SHA1 d01f299044ddaf8c0c6df53cb7b8ec73f3f183a4 SHA256 cd2ffb0e19dd12205d375f3c83b7d6a3177c0f3389bf15db37bce1e63e459307
AUX mailman-2.1.9-icons.patch 555 RMD160 d0beb080e0dd4c753ce5e075b3c7db424b5474ef SHA1 786edc8b3ed11920aaaa23a8f3c0e4f9ae190a87 SHA256 cd78a7447febcbe1901144a190ef14cf9075b8055cc275e0405fc748f9c855f0
AUX mailman.conf 385 RMD160 bec3c71140385fa88078ffb38be14bfd8ec068c6 SHA1 64e15fce12231bac8e9a5dd831d9c4f134df77a1 SHA256 fdd86c4a72318ade5dfe0f075ce62470979f93d8a4c862993dc32e7bdb422eab
AUX mailman.rc 597 RMD160 4fdfb9c52d8c44d7c0774b7dbf9c47eb97903eef SHA1 d7185a2ab750dd30d61066e3edb2b5eadd01f08a SHA256 e770e15031d03ebf7adbd762253af7b0949f99aca5dd9ef2003e710efde7ba5a
DIST antispam-2.1.14-0.1.patch.gz 3644 RMD160 22bc7eeae1c0e00d5854b91d40b2a315d8912438 SHA1 f9a27dd9b2ca9bfee85ea08be12aa7ba5310b740 SHA256 eaf7e8bf7b0a0d6bf5b8b8f747d84152c06af9d9b07accab9f3139b28bc6c94b
DIST dailymbox-2.1.12-0.1.patch.gz 7781 RMD160 81f63255eb294a7263d363206f90004ff1aa6d24 SHA1 3f46e349161879198a89e51fbd4dea80046d810d SHA256 470b53212f61df1777236b557e839f3eff62fbe46289b785911c1b02138349c0
DIST exitstatus-2.1.12-0.1.patch.gz 5273 RMD160 d7402bba9130556969df583647f1d046e0da46ef SHA1 6fd5594c092e3e49a392c1a498d8f1bb75dad8ca SHA256 d039862a45996c3e1a054434b624a7d46a8806230e8d6caf253724ea817d650f
DIST htdig-2.1.12-0.1.patch.gz 61296 RMD160 13e5a0e7b3d44bb7dd1cff19e8fcd60bf3d98199 SHA1 03ac9fe56e36ac651b1418b3d37ba8e642ff01f3 SHA256 4675fafe1ba978ec8ebfeb9306363d3ee0468bdbb32f204267ab54e0f15057d4
DIST indexing-2.1.14-0.1.patch.gz 8718 RMD160 0d8d504e2239d6ff81ec4874884ce910635b5318 SHA1 45da60c19002d8482b61e6e5605afed0bc24b50c SHA256 2c7a445d0b3643ba36a8b6910e736bfaabd01ca32d21e05675763c68fd96d8f2
DIST mailman-2.1.14-1.tgz 8201308 RMD160 0d86e766e28aaab9703bfe530b72316a5b02beda SHA1 390874c1059878b33be9ab4cf57fdb719eac1819 SHA256 2dbaaf28c7b3ba286976ffd525d435ee901ef25c23045a3d4a6877cf86b7de99
DIST modinc-2.1.14-0.1.patch.gz 1466 RMD160 0457e8e244f90e3807caa616b4f489a9883d59bf SHA1 77fae8889ef6e26423ed827d78b9def00b806b87 SHA256 a6aa1469a10c98e65c9aae53a153be3bf6ffbb5b5f7b2af8373dcf663f5a442c
DIST response-2.1.12-0.1.patch.gz 10518 RMD160 b6965ba7fc0ed4125d44e0900446324c20099571 SHA1 2db575da30550eed44c8777ae4cc6aa8f047c2ce SHA256 645fe1d12d0d6e03a46f2d210011b4ffe3f184b5d4499ac879a734b63f13b5ef
EBUILD mailman-2.1.14_p1.ebuild 7666 RMD160 d3b56d54f4bb99d0bd02a4f185e6b65256efed9a SHA1 6ee0421af7e4eca25a78f71a03fe77b5d987df5e SHA256 474b1559d190c6a7888e55494f95898dbec5ad638ac458779bf06c0f3723d520
MISC ChangeLog 17061 RMD160 396b6a22d357c2f915a65a3fdc3af4d5e84b76ef SHA1 4942db26264bd16375f48ec6338aad4f87f05b7f SHA256 17e7aa7bc2673971fe7888d55742419745b138c7b7eed21b5bd016bff7cab4ba
MISC metadata.xml 218 RMD160 30759d93f0209fdd74f29393ae54999fe6b2bdff SHA1 486b307ff1dae10aef7d18472460a21bc2decdfb SHA256 09421ca1b9299683d07f68ddbbd3ed97251dac613121b420841a3251da7fcb89
AUX 50_mailman.conf-r1 592 SHA256 4512a9dd6cba38a080654cbe172941a053fdc8b33afb65748d76716e9d00a029 SHA512 e5ae0b4aca37a5946d986f3e257e306c14c4228b239e6401c9de54f592cc27794f2e61a6f6f218d5a49992e3e1e82200f7f11f8e8d2f1b047f35223152a06b68 WHIRLPOOL bfa861273398df9356a981b22de7a4e933da3ccd082481ab65f52aa072730408b907f28420439cb5afa314fe2415368022b8a05ecce800917825e8b7171c2ec1
AUX README.gentoo-r3 6804 SHA256 6392951ee8287d23bfd1638a1f54924e3469365cbad829dcff158bc5d64176d9 SHA512 e027f6d2fb5b9e06da82952eb182d3ed1d425776edf839b5e1a5d47f27808b126bf14cce75fef81a43a744cf13f383852bbe0d161f6af4b0361269bcbb067f53 WHIRLPOOL c471b6bd3e05c67ac55adb241b126a22450389ac71e370478b9fde5711203fe1419c4050b122339eda18e74eaaa953545a330ed310fcc02e83e11d6527f62090
AUX mailman-2.1.13-ldflags.patch 1022 SHA256 75b9fe8ef757541776532f76b1262c1616d440178ad39c432fe2d529eecf5645 SHA512 5f1bd3d7cc04d7bf464442eb2805a7e449607ee9679760b0901245fb57400421ae0fbd6d17a68f26832acc3f674221696670588bc2cf832b6c7f5ee0f1f63bbf WHIRLPOOL a09edd3fd8606dc1b092fb449ef093fb08243e9e2a7d953e15594a112e67097426ede6851b2fac25939c9b9fd0cc1a62314ce8d3c5ad208cf23fdf33bf094d8f
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 597 SHA256 5bbae420375f411370bd7ae61660804489348cafa1f3cd0387ffb1c87de97f44 SHA512 08775c3aa7d042e06452491b9c21f57043b62dcfa1b35616f7418a2919c232af65d606f2f1b9b23746e4477b3d1125fb00e1edab11b23e2d3d529dc38d90e695 WHIRLPOOL ba10bbd5abc8b661c3d7011c01fd675914a0160e0b2e0f07517f2e8d9a4922dc68f7a32b77c25c9dc7e97bc995db0bccbeef9382bf6b08e022bd5c3d1d05461b
DIST antispam-2.1.14-0.1.patch.gz 3644 SHA256 eaf7e8bf7b0a0d6bf5b8b8f747d84152c06af9d9b07accab9f3139b28bc6c94b SHA512 6f5f882c2f36c19608c1a80be516aacf746f5daccbd30068257d14042284b934a65ffb2f0ab5f540a5fa43197c783e8fa2878d4e44b25aa012788e33720b8b70 WHIRLPOOL 30efebcaffc65836be6c85e08f43ece832c66564fedc7e09b807365a58f0788877d25de3514bedea61e1d30bf4ed7e514992298a183f9efbe7d33d6261811901
DIST antispam-2.1.15-0.1.patch.gz 3569 SHA256 838b2deaf519a44b62b8a24296f98f70a0ecab9319d68d0e011dc5aaf8554d6a SHA512 2c6878333a19dbb603eabb02acfe488273140b16e06581befd00e74abffd4baf8da1c7e57001d8e564ff12c75559a30aaa14233d8023d637d69647ba75bbdd50 WHIRLPOOL 4b6c40f37466b1d61e6ea3f28e797ed3422d44706770de6be7c3d39d42b59871f36db97d6498ec132ead783057e9e0534c562adc9cd38c37ec5907cbdbe747b9
DIST dailymbox-2.1.12-0.1.patch.gz 7781 SHA256 470b53212f61df1777236b557e839f3eff62fbe46289b785911c1b02138349c0 SHA512 40d41dbf56cf416e749d5da98fc99329b8a9946792cc04a47900e4dc959433d2bc485ade9f00f3a764c6f897f19cd290591eb4bf71ce3028ae993ad170760e57 WHIRLPOOL 6513fad2e07fb3007505dfb58153e4c2cad28973f20b1e67f32e1105e2c2421872dd08161dbe2162315db78695ecd1ec502f72467ed705ff2b95bd9429d72b02
DIST exitstatus-2.1.12-0.1.patch.gz 5273 SHA256 d039862a45996c3e1a054434b624a7d46a8806230e8d6caf253724ea817d650f SHA512 82cc0ce8a788528caa08ddc6083773a9a173d5976f9dd12fd14091742949eb480a1888e768cb78bbf44c5ae6b92497ee8a4e40fc45e9da7aa9130ee9ef89a975 WHIRLPOOL 8810d48e58e63c4ff6f6f84dd7f6264ce1ef5b469184ca809747694632ce926f786291adf676ee240c2a2c2a2ae8dd6b40657eb7d08039ead3d8107b8fe68ca1
DIST htdig-2.1.12-0.1.patch.gz 61296 SHA256 4675fafe1ba978ec8ebfeb9306363d3ee0468bdbb32f204267ab54e0f15057d4 SHA512 f215b90c63231202a8338e172d21aeae7b2e64ea45337c469ccf1b893fc2ebbaa69910adf6dabb05f72b81fb816f02421b290d8645de059859605003cfaafabf WHIRLPOOL 583ade79a370c2d351722aa41584a0531a70abbe93ddc3d60c516c8dbdbda21e531bea8e13b6cf472a92156d38164b7213f6bba02ac6e1e486f991cd86dfa541
DIST indexing-2.1.14-0.1.patch.gz 8718 SHA256 2c7a445d0b3643ba36a8b6910e736bfaabd01ca32d21e05675763c68fd96d8f2 SHA512 35f7282dc054cf853b11d149fec1295a844156ed7884653b47b629b92f137b935aba5b69f7b4e8cb51faa6935fecbc6f67b3bdfd4f0ed9690b62dff6af5dbed6 WHIRLPOOL da8fef7ecbc2869e3978119f9c368ec945d8c8eb216d1c1249d03fd7bd537535678f35cb1f1f5f5cca52c4ce9dec53e73af55c1241fee326a5cc7871e980dfd7
DIST mailman-2.1.14-1.tgz 8201308 SHA256 2dbaaf28c7b3ba286976ffd525d435ee901ef25c23045a3d4a6877cf86b7de99
DIST mailman-2.1.15.tgz 8468107 SHA256 f355fb3d31772b488449e6f5173dafd31edca93172c307244c791d25d9e2bec8 SHA512 3502d32690856bad2140851bf582ebe8cea0ba38a184aae715cc7921754aac452b789b7031cbb47895737f4135e59f44888bdca56c512378ad9367d62b372536 WHIRLPOOL f20dad43d44ab542f324dd06373bbd741db2aea0e59eb4894cc73149638ef5ee316dcd622ef71871c26d0e99d830c60e5ec8f10bf63290b0fb5b86d05a32cd9d
DIST modinc-2.1.14-0.1.patch.gz 1466 SHA256 a6aa1469a10c98e65c9aae53a153be3bf6ffbb5b5f7b2af8373dcf663f5a442c SHA512 9cbd8c501f663b2209f3ba9a8529dc9ce0eb9d9d64c3f2015394657b7e0373626bf2719a7e5cca3b9c4be36b5dc679ddd7c47e38d5fa7b6e180683cd4dc40157 WHIRLPOOL e3b51cfa77ce8d4f3e44970fa74dc164d826134a911425e8b951f3d0dc843d7141aed6d947bf71906d5c8d27a8bee02c4f46612e936912245b898b980dbfa98a
DIST modinc-2.1.15-0.1.patch.gz 1465 SHA256 da77fe4dda2378dda1dbb3abe042b74ff4fa04d2c6ae0eeb2d0d440025e701ed SHA512 ce97076d2506740b02ccb56602e77a15b4c6b7a7ef50dd4bc69bfad0545ff155e02555955c100f44447f5f06b0172fd9a8ddc5f1ccb2edccc87d5f54cab7fcfd WHIRLPOOL d85797bbee090015310df2e49205eb356f3f418be12e4a4aeab576a7fc10d738ee6e682d6b07f4fd49657b9c073043666f89fe8550b0d5e42811d59f5b2379dd
DIST response-2.1.12-0.1.patch.gz 10518 SHA256 645fe1d12d0d6e03a46f2d210011b4ffe3f184b5d4499ac879a734b63f13b5ef SHA512 d9414143431acc1089c88396d3b29c5ec98dcf65ef40172ca1ea69801894cc29720ce4ca34a90c8666ccdf40701c67e7861a9e43f5c1bb361bf1a94251416b68 WHIRLPOOL da55c09b85c07358c5fd0cf85e9901aa25d078798cbb1141f69095e7cd9e6e8fe2da1679ae972cb4e5e7445c2ce83ed0db18775e90649b51e6d29d8d78731fea
EBUILD mailman-2.1.14_p1.ebuild 7666 SHA256 474b1559d190c6a7888e55494f95898dbec5ad638ac458779bf06c0f3723d520 SHA512 f9c1429944e3e937014bd36bf868d088e523341810184bf62ac9d5d6488344393f2b37b89205689652c556d9f849e9918f2eebe920fe46e043db315f6a9f6538 WHIRLPOOL 14eff3bc60ab7caf57459882c3c0e96d35c3b8187f9b0fff9d7750728aad1e1d7bbd12f374c36886255f128a12ff0336c3f29263c0b6426590570206945583f1
EBUILD mailman-2.1.15.ebuild 7472 SHA256 81fd9c56039e407ccee95217cabae126269124b9d174ee02b904caddd36c6526 SHA512 1c18a3902d3b03ca050d08069c24dd9b8935d58aef5f802bf0b88820c7a594d9a3366e4dff78a2d270051045ddfecddd90918a8bda412f3ff4d890c3b3cc6543 WHIRLPOOL 2d9311bce5f144a091a4f841a0979794d43a3aacc6e833cf299317a534250587f2f6cc4794134e90ad5b8721e02036b28ae98fb08ff6f8acca26363d8c25c114
MISC ChangeLog 17468 SHA256 4d974be74dfd4730f4a92be9045c779cbb25fd5fe04c2ccff9d4f35ce5c02f85 SHA512 27a42151ab0d643e45fda3b00737f1b94dd344c7ac33315e79ac8e6d0b4c14ed27ff56ca706b677f0d02dfb8e9935cea41e6dec53592bbed6165b257454ceab1 WHIRLPOOL f09d8c5d4fb11c171d8b63cd1a9c529025398334635d9b979d6157fab8943956a05940dedc1af16aa26ee472fe8eab65b766c18b4166f8a4f582c736ca30b61b
MISC metadata.xml 218 SHA256 09421ca1b9299683d07f68ddbbd3ed97251dac613121b420841a3251da7fcb89 SHA512 8bb5bbe8e06a6caffb45c8a717c3fce94b35fd085a711523d439b3135f3949e46f8b7ae1936aa75ea6385fc59054585009ff16fe73052c3eccaea09449204544 WHIRLPOOL aaa5590db64b60ddb7628f0e9ea780da50f0e43a7f10a6562848d9167dfdfbec531aff68f7df2da2b173e9900b91e40b5ff9cf4ecab86dbff8c082053a53b90c

View File

@ -1,18 +0,0 @@
<IfDefine MAILMAN>
ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/"
<Directory "/usr/local/mailman/cgi-bin/">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
Alias /pipermail/ "/usr/local/mailman/archives/public/"
<Directory "/usr/local/mailman/archives/public/">
AllowOverride None
Options ExecCGI FollowSymLinks
Order allow,deny
Allow from all
</Directory>
</IfDefine>

View File

@ -1,149 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/files/README.gentoo-r2,v 1.1 2008/01/22 15:47:37 hanno Exp $
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
Copy the web icons:
cp /usr/lib/mailman/icons/* /var/www/localhost/icons
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>"
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.

View File

@ -1,4 +1,4 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/files/README.gentoo-r3,v 1.2 2008/11/14 11:07:55 hanno Exp $

View File

@ -1,11 +0,0 @@
--- mailman-2.1.12/misc/Makefile.in.1 2009-08-01 11:47:54.000000000 +0200
+++ mailman-2.1.12/misc/Makefile.in 2009-08-01 11:48:02.000000000 +0200
@@ -93,7 +93,7 @@
install-packages:
if [ -z "$(EMAILPKG)" -a -d $(PYTHONLIBDIR)/email ] ; \
then \
- rm -rf $(PYTHONLIBDIR)/email* ; \
+ rm -rf $(DESTDIR)/$(PYTHONLIBDIR)/email* ; \
fi
for p in $(PACKAGES); \
do \

View File

@ -1,32 +0,0 @@
diff -Naur mailman-2.1.12/bin/check_perms mailman-2.1.12-1/bin/check_perms
--- mailman-2.1.12/bin/check_perms 2009-02-23 22:23:35.000000000 +0100
+++ mailman-2.1.12-1/bin/check_perms 2009-08-01 11:28:56.000000000 +0200
@@ -340,6 +340,8 @@
print _('checking permissions on list data')
# BAW: This needs to be converted to the Site module abstraction
for dir in os.listdir(mm_cfg.LIST_DATA_DIR):
+ if not S_ISDIR(statmode(os.path.join(mm_cfg.LIST_DATA_DIR,dir))):
+ continue
for file in checkfiles:
path = os.path.join(mm_cfg.LIST_DATA_DIR, dir, file)
if STATE.VERBOSE:
diff -Naur mailman-2.1.12/bin/update mailman-2.1.12-1/bin/update
--- mailman-2.1.12/bin/update 2009-02-23 22:23:35.000000000 +0100
+++ mailman-2.1.12-1/bin/update 2009-08-01 11:29:19.000000000 +0200
@@ -34,6 +34,7 @@
"""
import os
+import stat
import sys
import time
import errno
@@ -431,7 +432,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

View File

@ -1,30 +0,0 @@
--- bin/check_perms.org 2005-05-25 00:04:15.000000000 +0200
+++ bin/check_perms 2005-05-25 00:04:35.000000000 +0200
@@ -331,6 +331,8 @@
print _('checking permissions on list data')
# BAW: This needs to be converted to the Site module abstraction
for dir in os.listdir(mm_cfg.LIST_DATA_DIR):
+ if not S_ISDIR(statmode(os.path.join(mm_cfg.LIST_DATA_DIR,dir))):
+ continue
for file in checkfiles:
path = os.path.join(mm_cfg.LIST_DATA_DIR, dir, file)
if STATE.VERBOSE:
--- bin/update.org 2005-05-25 00:04:30.000000000 +0200
+++ bin/update 2005-05-25 00:04:35.000000000 +0200
@@ -34,6 +34,7 @@
"""
import os
+import stat
import md5
import sys
import time
@@ -425,7 +426,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

View File

@ -1,275 +0,0 @@
=== modified file 'Mailman/Cgi/edithtml.py'
--- Mailman/Cgi/edithtml.py 2006-08-30 14:54:22 +0000
+++ Mailman/Cgi/edithtml.py 2007-12-04 19:52:18 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2006 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2007 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
@@ -159,7 +159,20 @@
doc.AddItem('<hr>')
return
code = cgi_info['html_code'].value
- code = re.sub(r'<([/]?script.*?)>', r'&lt;\1&gt;', code)
+ if Utils.suspiciousHTML(code):
+ doc.AddItem(Header(3,
+ _("""The page you saved contains suspicious HTML that could
+potentially expose your users to cross-site scripting attacks. This change
+has therefore been rejected. If you still want to make these changes, you
+must have shell access to your Mailman server.
+ """)))
+ doc.AddItem(_('See '))
+ doc.AddItem(Link(
+'http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq04.048.htp',
+ _('FAQ 4.48.')))
+ doc.AddItem(Header(3,_("Page Unchanged.")))
+ doc.AddItem('<hr>')
+ return
langdir = os.path.join(mlist.fullpath(), mlist.preferred_language)
# Make sure the directory exists
omask = os.umask(0)
=== modified file 'Mailman/Gui/General.py'
--- Mailman/Gui/General.py 2006-08-30 14:54:22 +0000
+++ Mailman/Gui/General.py 2007-12-04 19:52:18 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2006 by the Free Software Foundation, Inc.
+# Copyright (C) 2001-2007 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
@@ -436,17 +442,21 @@
# Convert any html entities to Unicode
mlist.subject_prefix = Utils.canonstr(
val, mlist.preferred_language)
+ elif property == 'info':
+ if val <> mlist.info:
+ if Utils.suspiciousHTML(val):
+ doc.addError(_("""The <b>info</b> attribute you saved
+contains suspicious HTML that could potentially expose your users to cross-site
+scripting attacks. This change has therefore been rejected. If you still want
+to make these changes, you must have shell access to your Mailman server.
+This change can be made with bin/withlist or with bin/config_list by setting
+mlist.info.
+ """))
+ else:
+ mlist.info = val
else:
GUIBase._setValue(self, mlist, property, val, doc)
- def _escape(self, property, value):
- # The 'info' property allows HTML, but let's sanitize it to avoid XSS
- # exploits. Everything else should be fully escaped.
- if property <> 'info':
- return GUIBase._escape(self, property, value)
- # Sanitize <script> and </script> tags but nothing else. Not the best
- # solution, but expedient.
- return re.sub(r'(?i)<([/]?script.*?)>', r'&lt;\1&gt;', value)
def _postValidate(self, mlist, doc):
if not mlist.reply_to_address.strip() and \
=== modified file 'Mailman/Gui/GUIBase.py'
--- Mailman/Gui/GUIBase.py 2005-08-27 01:40:17 +0000
+++ Mailman/Gui/GUIBase.py 2007-11-18 20:01:26 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2004 by the Free Software Foundation, Inc.
+# Copyright (C) 2002-2007 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
@@ -12,7 +12,8 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+# USA.
"""Base class for all web GUI components."""
@@ -122,10 +127,6 @@
# Validate all the attributes for this category
pass
- def _escape(self, property, value):
- value = value.replace('<', '&lt;')
- return value
-
def handleForm(self, mlist, category, subcat, cgidata, doc):
for item in self.GetConfigInfo(mlist, category, subcat):
# Skip descriptions and legacy non-attributes
@@ -144,10 +145,9 @@
elif not cgidata.has_key(property):
continue
elif isinstance(cgidata[property], ListType):
- val = [self._escape(property, x.value)
- for x in cgidata[property]]
+ val = [x.value for x in cgidata[property]]
else:
- val = self._escape(property, cgidata[property].value)
+ val = cgidata[property].value
# Coerce the value to the expected type, raising exceptions if the
# value is invalid.
try:
=== modified file 'Mailman/Utils.py'
--- Mailman/Utils.py 2007-11-25 08:04:30 +0000
+++ Mailman/Utils.py 2007-12-04 19:52:18 +0000
@@ -876,3 +876,154 @@
except (LookupError, UnicodeError, ValueError, HeaderParseError):
# possibly charset problem. return with undecoded string in one line.
return EMPTYSTRING.join(s.splitlines())
+
+
+# Patterns and functions to flag possible XSS attacks in HTML.
+# This list is compiled from information at http://ha.ckers.org/xss.html,
+# http://www.quirksmode.org/js/events_compinfo.html,
+# http://www.htmlref.com/reference/appa/events1.htm,
+# http://lxr.mozilla.org/mozilla/source/content/events/src/nsDOMEvent.cpp#59,
+# http://www.w3.org/TR/DOM-Level-2-Events/events.html and
+# http://www.xulplanet.com/references/elemref/ref_EventHandlers.html
+# Many thanks are due to Moritz Naumann for his assistance with this.
+_badwords = [
+ '<i?frame',
+ '<link',
+ '<meta',
+ '<script',
+ r'(?:^|\W)j(?:ava)?script(?:\W|$)',
+ r'(?:^|\W)vbs(?:cript)?(?:\W|$)',
+ r'(?:^|\W)domactivate(?:\W|$)',
+ r'(?:^|\W)domattrmodified(?:\W|$)',
+ r'(?:^|\W)domcharacterdatamodified(?:\W|$)',
+ r'(?:^|\W)domfocus(?:in|out)(?:\W|$)',
+ r'(?:^|\W)dommenuitem(?:in)?active(?:\W|$)',
+ r'(?:^|\W)dommousescroll(?:\W|$)',
+ r'(?:^|\W)domnodeinserted(?:intodocument)?(?:\W|$)',
+ r'(?:^|\W)domnoderemoved(?:fromdocument)?(?:\W|$)',
+ r'(?:^|\W)domsubtreemodified(?:\W|$)',
+ r'(?:^|\W)fscommand(?:\W|$)',
+ r'(?:^|\W)onabort(?:\W|$)',
+ r'(?:^|\W)on(?:de)?activate(?:\W|$)',
+ r'(?:^|\W)on(?:after|before)print(?:\W|$)',
+ r'(?:^|\W)on(?:after|before)update(?:\W|$)',
+ r'(?:^|\W)onbefore(?:(?:de)?activate|copy|cut|editfocus|paste)(?:\W|$)',
+ r'(?:^|\W)onbeforeunload(?:\W|$)',
+ r'(?:^|\W)onbegin(?:\W|$)',
+ r'(?:^|\W)onblur(?:\W|$)',
+ r'(?:^|\W)onbounce(?:\W|$)',
+ r'(?:^|\W)onbroadcast(?:\W|$)',
+ r'(?:^|\W)on(?:cell)?change(?:\W|$)',
+ r'(?:^|\W)oncheckboxstatechange(?:\W|$)',
+ r'(?:^|\W)on(?:dbl)?click(?:\W|$)',
+ r'(?:^|\W)onclose(?:\W|$)',
+ r'(?:^|\W)oncommand(?:update)?(?:\W|$)',
+ r'(?:^|\W)oncomposition(?:end|start)(?:\W|$)',
+ r'(?:^|\W)oncontextmenu(?:\W|$)',
+ r'(?:^|\W)oncontrolselect(?:\W|$)',
+ r'(?:^|\W)oncopy(?:\W|$)',
+ r'(?:^|\W)oncut(?:\W|$)',
+ r'(?:^|\W)ondataavailable(?:\W|$)',
+ r'(?:^|\W)ondataset(?:changed|complete)(?:\W|$)',
+ r'(?:^|\W)ondrag(?:drop|end|enter|exit|gesture|leave|over)?(?:\W|$)',
+ r'(?:^|\W)ondragstart(?:\W|$)',
+ r'(?:^|\W)ondrop(?:\W|$)',
+ r'(?:^|\W)onend(?:\W|$)',
+ r'(?:^|\W)onerror(?:update)?(?:\W|$)',
+ r'(?:^|\W)onfilterchange(?:\W|$)',
+ r'(?:^|\W)onfinish(?:\W|$)',
+ r'(?:^|\W)onfocus(?:in|out)?(?:\W|$)',
+ r'(?:^|\W)onhelp(?:\W|$)',
+ r'(?:^|\W)oninput(?:\W|$)',
+ r'(?:^|\W)onkey(?:up|down|press)(?:\W|$)',
+ r'(?:^|\W)onlayoutcomplete(?:\W|$)',
+ r'(?:^|\W)on(?:un)?load(?:\W|$)',
+ r'(?:^|\W)onlosecapture(?:\W|$)',
+ r'(?:^|\W)onmedia(?:complete|error)(?:\W|$)',
+ r'(?:^|\W)onmouse(?:down|enter|leave|move|out|over|up|wheel)(?:\W|$)',
+ r'(?:^|\W)onmove(?:end|start)?(?:\W|$)',
+ r'(?:^|\W)on(?:off|on)line(?:\W|$)',
+ r'(?:^|\W)onoutofsync(?:\W|$)',
+ r'(?:^|\W)onoverflow(?:changed)?(?:\W|$)',
+ r'(?:^|\W)onpage(?:hide|show)(?:\W|$)',
+ r'(?:^|\W)onpaint(?:\W|$)',
+ r'(?:^|\W)onpaste(?:\W|$)',
+ r'(?:^|\W)onpause(?:\W|$)',
+ r'(?:^|\W)onpopup(?:hidden|hiding|showing|shown)(?:\W|$)',
+ r'(?:^|\W)onprogress(?:\W|$)',
+ r'(?:^|\W)onpropertychange(?:\W|$)',
+ r'(?:^|\W)onradiostatechange(?:\W|$)',
+ r'(?:^|\W)onreadystatechange(?:\W|$)',
+ r'(?:^|\W)onrepeat(?:\W|$)',
+ r'(?:^|\W)onreset(?:\W|$)',
+ r'(?:^|\W)onresize(?:end|start)?(?:\W|$)',
+ r'(?:^|\W)onresume(?:\W|$)',
+ r'(?:^|\W)onreverse(?:\W|$)',
+ r'(?:^|\W)onrow(?:delete|enter|exit|inserted)(?:\W|$)',
+ r'(?:^|\W)onrows(?:delete|enter|inserted)(?:\W|$)',
+ r'(?:^|\W)onscroll(?:\W|$)',
+ r'(?:^|\W)onseek(?:\W|$)',
+ r'(?:^|\W)onselect(?:start)?(?:\W|$)',
+ r'(?:^|\W)onselectionchange(?:\W|$)',
+ r'(?:^|\W)onstart(?:\W|$)',
+ r'(?:^|\W)onstop(?:\W|$)',
+ r'(?:^|\W)onsubmit(?:\W|$)',
+ r'(?:^|\W)onsync(?:from|to)preference(?:\W|$)',
+ r'(?:^|\W)onsyncrestored(?:\W|$)',
+ r'(?:^|\W)ontext(?:\W|$)',
+ r'(?:^|\W)ontimeerror(?:\W|$)',
+ r'(?:^|\W)ontrackchange(?:\W|$)',
+ r'(?:^|\W)onunderflow(?:\W|$)',
+ r'(?:^|\W)onurlflip(?:\W|$)',
+ r'(?:^|\W)seeksegmenttime(?:\W|$)',
+ r'(?:^|\W)svgabort(?:\W|$)',
+ r'(?:^|\W)svgerror(?:\W|$)',
+ r'(?:^|\W)svgload(?:\W|$)',
+ r'(?:^|\W)svgresize(?:\W|$)',
+ r'(?:^|\W)svgscroll(?:\W|$)',
+ r'(?:^|\W)svgunload(?:\W|$)',
+ r'(?:^|\W)svgzoom(?:\W|$)',
+ ]
+
+
+# This is the actual re to look for the above patterns
+_badhtml = re.compile('|'.join(_badwords), re.IGNORECASE)
+# This is used to filter non-printable us-ascii characters, some of which
+# can be used to break words to avoid recognition.
+_filterchars = re.compile('[\000-\011\013\014\016-\037\177-\237]')
+# This is used to recognize '&#' and '%xx' strings for _translate which
+# translates them to characters
+_encodedchars = re.compile('(&#[0-9]+;?)|(&#x[0-9a-f]+;?)|(%[0-9a-f]{2})',
+ re.IGNORECASE)
+
+
+def _translate(mo):
+ """Translate &#... and %xx encodings into the encoded character."""
+ match = mo.group().lower().strip('&#;')
+ try:
+ if match.startswith('x') or match.startswith('%'):
+ val = int(match[1:], 16)
+ else:
+ val = int(match, 10)
+ except ValueError:
+ return ''
+ if val < 256:
+ return chr(val)
+ else:
+ return ''
+
+
+def suspiciousHTML(html):
+ """Check HTML string for various tags, script language names and
+ 'onxxx' actions that can be used in XSS attacks.
+ Currently, this a very simple minded test. It just looks for
+ patterns without analyzing context. Thus, it potentially flags lots
+ of benign stuff.
+ Returns True if anything suspicious found, False otherwise.
+ """
+
+ if _badhtml.search(_filterchars.sub(
+ '', _encodedchars.sub(_translate, html))):
+ return True
+ else:
+ return False

View File

@ -1,17 +0,0 @@
ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/"
<Directory "/usr/local/mailman/cgi-bin/">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
Alias /pipermail/ "/usr/local/mailman/archives/public/"
<Directory "/usr/local/mailman/archives/public/">
AllowOverride None
Options ExecCGI FollowSymLinks
Order allow,deny
Allow from all
</Directory>

View File

@ -1,5 +1,5 @@
#!/sbin/runscript
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/files/mailman.rc,v 1.5 2004/07/14 23:50:52 agriffis Exp $

View File

@ -0,0 +1,192 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/mailman-2.1.15.ebuild,v 1.6 2012/08/26 16:01:17 armin76 Exp $
EAPI="4"
PYTHON_DEPEND="2"
inherit eutils python multilib
INDEXING_VER="2.1.14-0.1"
HTDIG_VER="2.1.12-0.1"
EXITSTATUS_VER="2.1.12-0.1"
MODINC_VER="2.1.15-0.1"
ANTISPAM_VER="2.1.15-0.1"
RESPONSE_VER="2.1.12-0.1"
DAILYMBOX_VER="2.1.12-0.1"
DESCRIPTION="A python-based mailing list server with an extensive web interface"
SRC_URI="mirror://sourceforge/${PN}/${P}.tgz
http://www.openinfo.co.uk/mm/patches/444879/indexing-${INDEXING_VER}.patch.gz
http://ftp.disconnected-by-peer.at/pub/indexing-${INDEXING_VER}.patch.gz
http://www.openinfo.co.uk/mm/patches/444884/htdig-${HTDIG_VER}.patch.gz
http://www.openinfo.co.uk/mm/patches/644797/exitstatus-${EXITSTATUS_VER}.patch.gz
http://www.openinfo.co.uk/mm/patches/760567/modinc-${MODINC_VER}.patch.gz
http://ftp.disconnected-by-peer.at/pub/modinc-${MODINC_VER}.patch.gz
http://www.openinfo.co.uk/mm/patches/850805/antispam-${ANTISPAM_VER}.patch.gz
http://ftp.disconnected-by-peer.at/pub/antispam-${ANTISPAM_VER}.patch.gz
http://www.openinfo.co.uk/mm/patches/supportlist/response-${RESPONSE_VER}.patch.gz
http://www.openinfo.co.uk/mm/patches/dailymbox/dailymbox-${DAILYMBOX_VER}.patch.gz"
HOMEPAGE="http://www.list.org/ http://www.openinfo.co.uk/mm/"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="amd64 ~arm ppc x86"
IUSE=""
DEPEND="virtual/mta
virtual/cron
virtual/httpd-cgi"
RDEPEND="${DEPEND}"
pkg_setup() {
python_set_active_version 2
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
python_pkg_setup
}
src_prepare() {
epatch "${FILESDIR}/${PN}-2.1.14_rc1-directory-check.patch" || die "patch failed."
epatch "${FILESDIR}/${PN}-2.1.9-icons.patch" || die "patch failed."
epatch "${DISTDIR}/indexing-${INDEXING_VER}.patch.gz" || die "patch failed."
epatch "${DISTDIR}/htdig-${HTDIG_VER}.patch.gz" || die "patch failed."
epatch "${DISTDIR}/exitstatus-${EXITSTATUS_VER}.patch.gz" || die "patch failed."
epatch "${DISTDIR}/modinc-${MODINC_VER}.patch.gz" || die "patch failed."
epatch "${DISTDIR}/antispam-${ANTISPAM_VER}.patch.gz" || die "patch failed."
epatch "${DISTDIR}/response-${RESPONSE_VER}.patch.gz" || die "patch failed."
epatch "${DISTDIR}/dailymbox-${DAILYMBOX_VER}.patch.gz" || die "patch failed."
}
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 -2 -a) \
|| die "configure failed"
}
src_compile() {
emake || die "make failed"
}
src_install () {
emake "DESTDIR=${D}" doinstall || die
insinto /etc/apache2/modules.d
newins "${FILESDIR}/50_mailman.conf-r1" 50_mailman.conf
sed -i "s:/usr/local/mailman/cgi-bin:${INSTALLDIR}/cgi-bin:g" "${D}/etc/apache2/modules.d/50_mailman.conf"
sed -i "s:/usr/local/mailman/icons:${INSTALLDIR}/icons:g" "${D}/etc/apache2/modules.d/50_mailman.conf"
sed -i "s:/usr/local/mailman/archives:${VAR_PREFIX}/archives:g" "${D}/etc/apache2/modules.d/50_mailman.conf"
newdoc "${FILESDIR}/README.gentoo-r3" README.gentoo || die "newdoc failed"
dodoc ACK* BUGS FAQ NEWS README* TODO UPGRADING INSTALL contrib/mailman.mc \
contrib/README.check_perms_grsecurity contrib/virtusertable || 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 ${MAILUSR}:${MAILGRP} "${D}/${VAR_PREFIX}" "${D}/${INSTALLDIR}" "${D}"/etc/mailman/*
chown ${CGIUID}:${MAILGRP} "${D}/${VAR_PREFIX}/archives/private"
chmod 2775 "${D}/${INSTALLDIR}" "${D}/${INSTALLDIR}"/templates/* \
"${D}/${INSTALLDIR}"/messages/* "${D}/${VAR_PREFIX}" "${D}/${VAR_PREFIX}"/{logs,lists,spam,locks,archives/public}
chmod 2770 "${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 \
${INSTALLDIR}/Mailman/*/
enewgroup ${MAILGRP} ${MAILGID}
enewuser ${MAILUSR} ${MAILUID} -1 ${INSTALLDIR} mailman,cron
elog
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!"
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_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."
}
pkg_postrm() {
INSTALLDIR=${MAILMAN_PREFIX:-"/usr/$(get_libdir)/mailman"}
python_mod_cleanup ${INSTALLDIR}/bin ${INSTALLDIR}/Mailman \
${INSTALLDIR}/Mailman/*/
}