Gentoo Archives: gentoo-commits

From: "William Hubbs (williamh)" <williamh@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in net-mail/dovecot: ChangeLog dovecot-1.2.8.ebuild
Date: Wed, 02 Dec 2009 22:13:42
Message-Id: E1NFxS8-0004iZ-3t@stork.gentoo.org
1 williamh 09/12/02 22:13:40
2
3 Modified: ChangeLog
4 Added: dovecot-1.2.8.ebuild
5 Log:
6 Version bump for security bug #293954.
7 This was approved by scarabeus.
8 (Portage version: 2.2_rc54/cvs/Linux i686)
9
10 Revision Changes Path
11 1.223 net-mail/dovecot/ChangeLog
12
13 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-mail/dovecot/ChangeLog?rev=1.223&view=markup
14 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-mail/dovecot/ChangeLog?rev=1.223&content-type=text/plain
15 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-mail/dovecot/ChangeLog?r1=1.222&r2=1.223
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/net-mail/dovecot/ChangeLog,v
20 retrieving revision 1.222
21 retrieving revision 1.223
22 diff -u -r1.222 -r1.223
23 --- ChangeLog 18 Nov 2009 15:57:14 -0000 1.222
24 +++ ChangeLog 2 Dec 2009 22:13:39 -0000 1.223
25 @@ -1,6 +1,13 @@
26 # ChangeLog for net-mail/dovecot
27 # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/net-mail/dovecot/ChangeLog,v 1.222 2009/11/18 15:57:14 scarabeus Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/net-mail/dovecot/ChangeLog,v 1.223 2009/12/02 22:13:39 williamh Exp $
30 +
31 +*dovecot-1.2.8 (02 Dec 2009)
32 +
33 + 02 Dec 2009; William Hubbs <williamh@g.o> +dovecot-1.2.8.ebuild:
34 + Version bump for security bug #293954.
35 + This was approved by scarabeus.
36 +
37
38 *dovecot-1.2.7 (18 Nov 2009)
39
40
41
42
43 1.1 net-mail/dovecot/dovecot-1.2.8.ebuild
44
45 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-mail/dovecot/dovecot-1.2.8.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-mail/dovecot/dovecot-1.2.8.ebuild?rev=1.1&content-type=text/plain
47
48 Index: dovecot-1.2.8.ebuild
49 ===================================================================
50 # Copyright 1999-2009 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/net-mail/dovecot/dovecot-1.2.8.ebuild,v 1.1 2009/12/02 22:13:39 williamh Exp $
53
54 EAPI="2"
55
56 inherit eutils versionator
57
58 major_minor="$( get_version_component_range 1-2 )"
59 sieve_version="0.1.12"
60 managesieve_version="0.11.9"
61 SRC_URI="http://dovecot.org/releases/${major_minor}/${P}.tar.gz
62 sieve? ( http://www.rename-it.nl/dovecot/${major_minor}/dovecot-${major_minor}-sieve-${sieve_version}.tar.gz )
63 managesieve? (
64 http://www.rename-it.nl/dovecot/${major_minor}/dovecot-1.2.7-managesieve-${managesieve_version}.diff.gz
65 http://www.rename-it.nl/dovecot/${major_minor}/dovecot-${major_minor}-managesieve-${managesieve_version}.tar.gz
66 )"
67 DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
68 HOMEPAGE="http://www.dovecot.org/"
69
70 SLOT="0"
71 LICENSE="LGPL-2.1" # MIT too?
72 KEYWORDS="~alpha ~amd64 ~x86"
73
74 IUSE="berkdb bzip2 caps cydir dbox doc ipv6 kerberos ldap +maildir managesieve mbox mysql pam postgres sieve sqlite +ssl suid vpopmail zlib"
75
76 DEPEND="berkdb? ( sys-libs/db )
77 caps? ( sys-libs/libcap )
78 kerberos? ( virtual/krb5 )
79 ldap? ( net-nds/openldap )
80 mysql? ( virtual/mysql )
81 pam? ( virtual/pam )
82 postgres? ( virtual/postgresql-base )
83 sqlite? ( dev-db/sqlite )
84 ssl? ( dev-libs/openssl )
85 vpopmail? ( net-mail/vpopmail )"
86
87 RDEPEND="${DEPEND}
88 >=net-mail/mailbase-0.00-r8"
89
90 pkg_setup() {
91 if use managesieve && ! use sieve; then
92 eerror "managesieve USE flag selected but sieve USE flag unselected"
93 die "USE flag problem"
94 fi
95
96 if use dbox && ! use maildir; then
97 eerror "dbox USE flag needs maildir USE flag enabled"
98 die "USE flag problem"
99 fi
100
101 # Add user and group for login process (same as for fedora/redhat)
102 enewgroup dovecot 97
103 enewuser dovecot 97 -1 /dev/null dovecot
104 # add "mail" group for suid'ing. Better security isolation.
105 if use suid; then
106 enewgroup mail
107 fi
108 }
109
110 src_prepare() {
111 use managesieve && epatch "${WORKDIR}"/dovecot-1.2.7-managesieve-${managesieve_version}.diff
112 }
113
114 src_configure() {
115 local conf=""
116
117 if use postgres || use mysql || use sqlite; then
118 conf="${conf} --with-sql"
119 fi
120
121 local storages=""
122 for storage in cydir dbox maildir mbox; do
123 use ${storage} && storages="${storage} ${storages}"
124 done
125 [ "${storages}" ] || storages="maildir"
126
127 econf \
128 --sysconfdir=/etc/dovecot \
129 --localstatedir=/var \
130 --with-moduledir="/usr/$( get_libdir )/dovecot" \
131 $( use_with berkdb db ) \
132 $( use_with bzip2 bzlib ) \
133 $( use_with caps libcap ) \
134 $( use_with kerberos gssapi ) \
135 $( use_with ldap ) \
136 $( use_with mysql ) \
137 $( use_with pam ) \
138 $( use_with postgres pgsql ) \
139 $( use_with sqlite ) \
140 $( use_with ssl ) \
141 $( use_with vpopmail ) \
142 $( use_with zlib ) \
143 $( use_with ldap) \
144 --with-storages="${storages}" \
145 --with-pic \
146 --enable-header-install \
147 ${conf}
148
149 if use sieve; then
150 # The sieve plugin needs this file to be build to determine the plugin
151 # directory and the list of libraries to link to.
152 emake dovecot-config || die "emake dovecot-config failed"
153 cd "../dovecot-${major_minor}-sieve-${sieve_version}"
154 econf --with-dovecot="${S}"
155
156 if use managesieve; then
157 cd "../dovecot-${major_minor}-managesieve-${managesieve_version}"
158 econf --with-dovecot="${S}" --with-dovecot-sieve="../dovecot-${major_minor}-sieve-${sieve_version}"
159 fi
160 fi
161 }
162
163 src_compile() {
164 emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" || die "make failed"
165
166 if use sieve; then
167 cd "../dovecot-${major_minor}-sieve-${sieve_version}"
168 emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" || die "make failed"
169
170 if use managesieve; then
171 cd "../dovecot-${major_minor}-managesieve-${managesieve_version}"
172 emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" || die "make failed"
173 fi
174 fi
175 }
176
177 src_install () {
178 emake DESTDIR="${D}" install || die "make install failed"
179
180 # insecure:
181 #use suid && fperms u+s /usr/libexec/dovecot/deliver
182 #better:
183 if use suid;then
184 einfo "Changing perms to allow deliver to be suided"
185 fowners root:mail /usr/libexec/dovecot/deliver
186 fperms 4750 /usr/libexec/dovecot/deliver
187 fi
188
189 rm -f "${D}"/etc/dovecot/dovecot-{ldap,sql}-example.conf
190
191 newinitd "${FILESDIR}"/dovecot.init-r2 dovecot
192
193 rm -rf "${D}"/usr/share/doc/dovecot
194
195 if use ssl; then
196 sed -i -e 's,^CERTDIR=.*,CERTDIR=\$SSLDIR/dovecot,' \
197 -e 's,^KEYDIR=.*,KEYDIR=\$SSLDIR/dovecot,' \
198 -e 's,^CERTFILE=.*,CERTFILE=\$CERTDIR/server.pem,' \
199 -e 's,^KEYFILE=.*,KEYFILE=\$KEYDIR/server.key,' \
200 doc/mkcert.sh || die "failed to update SSL settings in mkcert.sh"
201 fi
202
203 dodoc AUTHORS NEWS README TODO dovecot-example.conf || die "basic dodoc failed"
204 dodoc doc/* || die "dodoc doc/ failed"
205 docinto wiki
206 dodoc doc/wiki/* || die "dodoc doc/wiki/ failed"
207
208 # Create the dovecot.conf file from the dovecot-example.conf file that
209 # the dovecot folks nicely left for us....
210 local conf="${D}/etc/dovecot/dovecot.conf"
211 mv "${D}"/etc/dovecot/dovecot-example.conf "${D}"/etc/dovecot/dovecot.conf
212
213 # .maildir is the Gentoo default, but we need to support mbox to
214 local mail_location="maildir:~/.maildir"
215 if use mbox; then
216 mail_location="mbox:/var/spool/mail/%u:INDEX=/var/dovecot/%u"
217 keepdir /var/dovecot
218 sed -i -e 's|#mail_privileged_group =|mail_privileged_group = mail|' "${conf}"
219 fi
220 sed -i -e \
221 "s|#mail_location =|mail_location = ${mail_location}|" "${conf}" \
222 || die "failed to update mail location settings in dovecot.conf"
223
224 # We're using pam files (imap and pop3) provided by mailbase
225 if use pam; then
226 sed -i -e '/passdb pam/, /^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
227 "${conf}" || die "failed to update PAM settings in dovecot.conf"
228 # mailbase does not provide a managesieve pam file
229 use managesieve && dosym imap /etc/pam.d/managesieve
230 fi
231
232 # Listen on ipv6 and ipv4
233 if use ipv6; then
234 sed -i -e 's/^#listen = \*/listen = \*, \[::\]/g' "${conf}" \
235 || die "failed to update listen settings in dovecot.conf"
236 fi
237
238 # Update ssl cert locations
239 if use ssl; then
240 sed -i -e 's,^#ssl_cert_file =.*,ssl_cert_file = /etc/ssl/dovecot/server.pem,' \
241 -e 's,^#ssl_key_file =.*,ssl_key_file = /etc/ssl/dovecot/server.key,' \
242 "${conf}" || die "failed to update SSL settings in dovecot.conf"
243 fi
244
245 # Install SQL configuration
246 if use mysql || use postgres; then
247 cp doc/dovecot-sql-example.conf "${D}"/etc/dovecot/dovecot-sql.conf
248 fperms 600 /etc/dovecot/dovecot-sql.conf
249 sed -i -e '/db sql/,/args/ s|=|= /etc/dovecot-sql.conf|' "${conf}" \
250 || die "failed to update SQL settings in dovecot-sql.conf"
251 dodoc doc/dovecot-sql-example.conf
252 fi
253
254 # Install LDAP configuration
255 if use ldap; then
256 cp doc/dovecot-ldap-example.conf "${D}"/etc/dovecot/dovecot-ldap.conf
257 fperms 600 /etc/dovecot/dovecot-ldap.conf
258 sed -i -e '/db ldap/,/args/ s|=|= /etc/dovecot-ldap.conf|' "${conf}" \
259 || die "failed to update LDAP settings in dovecot-ldap.conf"
260 dodoc doc/dovecot-ldap-example.conf
261 fi
262
263 if use sieve; then
264 cd "../dovecot-${major_minor}-sieve-${sieve_version}"
265 emake DESTDIR="${D}" install || die "make install failed (sieve)"
266
267 if use managesieve; then
268 cd "../dovecot-${major_minor}-managesieve-${managesieve_version}"
269 emake DESTDIR="${D}" install || die "make install failed (managesieve)"
270 fi
271 fi
272
273 dodir /var/run/dovecot
274 fowners root:root /var/run/dovecot
275 fperms 0755 /var/run/dovecot
276 keepdir /var/run/dovecot/login
277 fowners root:dovecot /var/run/dovecot/login
278 fperms 0750 /var/run/dovecot/login
279
280 ewarn "If you are upgrading from Dovecot 1.1, read "
281 ewarn " http://wiki.dovecot.org/Upgrading/1.2"
282 if use sieve; then
283 ewarn " http://wiki.dovecot.org/LDA/Sieve/Dovecot#Migration_from_CMUSieve"
284 ewarn " In particular, do not forget to change cmusieve to sieve"
285 fi
286 }