Gentoo Archives: gentoo-commits

From: "Hanno Boeck (hanno)" <hanno@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in net-mail/mailman: mailman-2.1.20.ebuild ChangeLog
Date: Tue, 31 Mar 2015 22:47:47
Message-Id: 20150331224739.ACA6814F2A@oystercatcher.gentoo.org
1 hanno 15/03/31 22:47:38
2
3 Modified: ChangeLog
4 Added: mailman-2.1.20.ebuild
5 Log:
6 Security bump for CVE-2015-2775, see #545070.
7
8 (Portage version: 2.2.18/cvs/Linux x86_64, signed Manifest commit with key A5880072BBB51E42)
9
10 Revision Changes Path
11 1.149 net-mail/mailman/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-mail/mailman/ChangeLog?rev=1.149&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-mail/mailman/ChangeLog?rev=1.149&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-mail/mailman/ChangeLog?r1=1.148&r2=1.149
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/net-mail/mailman/ChangeLog,v
20 retrieving revision 1.148
21 retrieving revision 1.149
22 diff -u -r1.148 -r1.149
23 --- ChangeLog 29 Mar 2015 13:08:58 -0000 1.148
24 +++ ChangeLog 31 Mar 2015 22:47:38 -0000 1.149
25 @@ -1,6 +1,11 @@
26 # ChangeLog for net-mail/mailman
27 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/ChangeLog,v 1.148 2015/03/29 13:08:58 hanno Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/ChangeLog,v 1.149 2015/03/31 22:47:38 hanno Exp $
30 +
31 +*mailman-2.1.20 (31 Mar 2015)
32 +
33 + 31 Mar 2015; <hanno@g.o> +mailman-2.1.20.ebuild:
34 + Security bump for CVE-2015-2775, see #545070.
35
36 *mailman-2.1.19 (29 Mar 2015)
37
38
39
40
41 1.1 net-mail/mailman/mailman-2.1.20.ebuild
42
43 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-mail/mailman/mailman-2.1.20.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-mail/mailman/mailman-2.1.20.ebuild?rev=1.1&content-type=text/plain
45
46 Index: mailman-2.1.20.ebuild
47 ===================================================================
48 # Copyright 1999-2015 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/mailman-2.1.20.ebuild,v 1.1 2015/03/31 22:47:38 hanno Exp $
51
52 EAPI="4"
53 PYTHON_DEPEND="2"
54
55 inherit eutils python multilib systemd user
56
57 DESCRIPTION="A python-based mailing list server with an extensive web interface"
58 SRC_URI="mirror://sourceforge/${PN}/${P/_p/-}.tgz"
59 HOMEPAGE="http://www.list.org/"
60 S="${WORKDIR}/${P/_p/-}"
61
62 SLOT="0"
63 LICENSE="GPL-2"
64 KEYWORDS="~amd64 ~ppc ~x86"
65 IUSE="selinux"
66
67 DEPEND="virtual/mta
68 virtual/cron
69 virtual/httpd-cgi
70 dev-python/dnspython"
71 RDEPEND="${DEPEND}
72 selinux? ( sec-policy/selinux-mailman )
73 "
74
75 pkg_setup() {
76 python_set_active_version 2
77 INSTALLDIR=${MAILMAN_PREFIX:-"/usr/$(get_libdir)/mailman"}
78 VAR_PREFIX=${MAILMAN_VAR_PREFIX:-"/var/lib/mailman"}
79 CGIUID=${MAILMAN_CGIUID:-apache}
80 CGIGID=${MAILMAN_CGIGID:-apache}
81 MAILUSR=${MAILMAN_MAILUSR:-mailman}
82 MAILUID=${MAILMAN_MAILUID:-280}
83 MAILGRP=${MAILMAN_MAILGRP:-mailman}
84 MAILGID=${MAILMAN_MAILGID:-280}
85
86 # Bug #58526: switch to enew{group,user}.
87 # need to add mailman here for compile process.
88 # Duplicated at pkg_postinst() for binary install.
89 enewgroup ${MAILGRP} ${MAILGID}
90 enewuser ${MAILUSR} ${MAILUID} /bin/bash ${INSTALLDIR} mailman,cron
91
92 python_pkg_setup
93 }
94
95 src_prepare() {
96 epatch "${FILESDIR}/${PN}-2.1.14_rc1-directory-check.patch" || die "patch failed."
97 epatch "${FILESDIR}/${PN}-2.1.9-icons.patch" || die "patch failed."
98 }
99
100 src_configure() {
101 econf --without-permcheck \
102 --prefix="${INSTALLDIR}" \
103 --with-mail-gid=${MAILGID} \
104 --with-cgi-gid=${CGIGID} \
105 --with-cgi-ext="${MAILMAN_CGIEXT}" \
106 --with-var-prefix="${VAR_PREFIX}" \
107 --with-username=${MAILUSR} \
108 --with-groupname=${MAILGRP} \
109 --with-python=$(PYTHON -2 -a) \
110 || die "configure failed"
111 }
112
113 src_compile() {
114 emake || die "make failed"
115 }
116
117 src_install () {
118 emake "DESTDIR=${D}" doinstall || die
119
120 insinto /etc/apache2/modules.d
121 newins "${FILESDIR}/50_mailman.conf-r2" 50_mailman.conf
122 sed -i "s:/usr/local/mailman/cgi-bin:${INSTALLDIR}/cgi-bin:g" "${D}/etc/apache2/modules.d/50_mailman.conf"
123 sed -i "s:/usr/local/mailman/icons:${INSTALLDIR}/icons:g" "${D}/etc/apache2/modules.d/50_mailman.conf"
124 sed -i "s:/usr/local/mailman/archives:${VAR_PREFIX}/archives:g" "${D}/etc/apache2/modules.d/50_mailman.conf"
125
126 newdoc "${FILESDIR}/README.gentoo-r3" README.gentoo || die "newdoc failed"
127
128 dodoc ACK* BUGS FAQ NEWS README* TODO UPGRADING INSTALL contrib/mailman.mc \
129 contrib/README.check_perms_grsecurity contrib/virtusertable || die "dodoc failed"
130
131 exeinto ${INSTALLDIR}/bin
132 doexe build/contrib/*.py contrib/majordomo2mailman.pl contrib/auto \
133 contrib/mm-handler* || die
134
135 dodir /etc/mailman
136 mv "${D}/${INSTALLDIR}/Mailman/mm_cfg.py" "${D}/etc/mailman"
137 dosym /etc/mailman/mm_cfg.py ${INSTALLDIR}/Mailman/mm_cfg.py
138
139 # Save the old config for updates from pre-2.1.9-r2
140 # To be removed some distant day
141 for i in /var/mailman /home/mailman /usr/local/mailman ${INSTALLDIR}
142 do
143 if [ -f ${i}/Mailman/mm_cfg.py ] && ! [ -L ${i}/Mailman/mm_cfg.py ]; then
144 cp ${i}/Mailman/mm_cfg.py "${D}/etc/mailman/mm_cfg.py"
145 fi
146 done
147
148 newinitd "${FILESDIR}/mailman.rc" mailman
149 cp "${FILESDIR}/mailman.service" "${T}/mailman.service" || die
150 sed -i "s/^User=.*/User=${MAILUSR}/" "${T}/mailman.service" || die
151 systemd_dounit "${T}/mailman.service"
152
153 keepdir ${VAR_PREFIX}/logs
154 keepdir ${VAR_PREFIX}/locks
155 keepdir ${VAR_PREFIX}/spam
156 keepdir ${VAR_PREFIX}/archives/public
157 keepdir ${VAR_PREFIX}/archives/private
158 keepdir ${VAR_PREFIX}/lists
159 keepdir ${VAR_PREFIX}/qfiles
160
161 chown -R ${MAILUSR}:${MAILGRP} "${D}/${VAR_PREFIX}" "${D}/${INSTALLDIR}" "${D}"/etc/mailman/*
162 chown ${CGIUID}:${MAILGRP} "${D}/${VAR_PREFIX}/archives/private"
163 chmod 2775 "${D}/${INSTALLDIR}" "${D}/${INSTALLDIR}"/templates/* \
164 "${D}/${INSTALLDIR}"/messages/* "${D}/${VAR_PREFIX}" "${D}/${VAR_PREFIX}"/{logs,lists,spam,locks,archives/public}
165 chmod 2770 "${D}/${VAR_PREFIX}/archives/private"
166 chmod 2770 "${D}/${VAR_PREFIX}/qfiles"
167 chmod 2755 "${D}/${INSTALLDIR}"/cgi-bin/* "${D}/${INSTALLDIR}/mail/mailman"
168
169 }
170
171 pkg_postinst() {
172 python_mod_optimize ${INSTALLDIR}/bin/ ${INSTALLDIR}/Mailman \
173 ${INSTALLDIR}/Mailman/*/
174
175 enewgroup ${MAILGRP} ${MAILGID}
176 enewuser ${MAILUSR} ${MAILUID} -1 ${INSTALLDIR} mailman,cron
177 elog
178 elog "Please read /usr/share/doc/${PF}/README.gentoo.bz2 for additional"
179 elog "Setup information, mailman will NOT run unless you follow"
180 elog "those instructions!"
181 elog
182
183 elog "An example Mailman configuration file for Apache has been installed into:"
184 elog " ${APACHE2_MODULES_CONFDIR}/50_mailman.conf"
185 elog
186 elog "To enable, you will need to add \"-D MAILMAN\" to"
187 elog "/etc/conf.d/apache2."
188 elog
189
190 ewarn "Default-Configuration has changed deeply in 2.1.9-r2. You can configure"
191 ewarn "mailman with the following variables:"
192 ewarn "MAILMAN_PREFIX (default: /usr/$(get_libdir)/mailman)"
193 ewarn "MAILMAN_VAR_PREFIX (default: /var/lib/mailman)"
194 ewarn "MAILMAN_CGIUID (default: apache)"
195 ewarn "MAILMAN_CGIGID (default: apache)"
196 ewarn "MAILMAN_CGIEXT (default: empty)"
197 ewarn "MAILMAN_MAILUSR (default: mailman)"
198 ewarn "MAILMAN_MAILUID (default: 280)"
199 ewarn "MAILMAN_MAILGRP (default: mailman)"
200 ewarn "MAILMAN_MAILGID (default: 280)"
201 ewarn
202 ewarn "Config file is now symlinked in /etc/mailman, so etc-update works."
203 ewarn
204 ewarn "If you're upgrading from below 2.1.9-r2 or changed MAILMAN_PREFIX, you"
205 ewarn "NEED to make a few manual updates to your system:"
206 ewarn
207 ewarn "1. Update your mailman users's home directory: usermod -d ${INSTALLDIR} mailman"
208 ewarn "2. Re-import the crontab: su - mailman -c 'crontab cron/crontab.in'"
209 ewarn "3. Copy your old mm_cfg.py file to /etc/mailman/mm_cfg.py"
210 ewarn
211 ewarn "Additionally if you've modified MAILMAN_VAR_PREFIX (or upgraded from"
212 ewarn "a pre 2.1.9-r2 installation), you should move your old lists/ and"
213 ewarn "archives/ directory to the new location, ensuring that the"
214 ewarn "permissions is correct. See bug #208789 for a discussion."
215 }
216
217 pkg_postrm() {
218 INSTALLDIR=${MAILMAN_PREFIX:-"/usr/$(get_libdir)/mailman"}
219 python_mod_cleanup ${INSTALLDIR}/bin ${INSTALLDIR}/Mailman \
220 ${INSTALLDIR}/Mailman/*/
221 }