Gentoo Archives: gentoo-commits

From: "Wolfram Schlich (wschlich)" <wschlich@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in net-mail/dovecot: ChangeLog dovecot-1.1.4-r1.ebuild dovecot-1.1.4.ebuild
Date: Tue, 07 Oct 2008 07:30:16
Message-Id: E1Kn71I-0006JW-9V@stork.gentoo.org
1 wschlich 08/10/07 07:30:12
2
3 Modified: ChangeLog
4 Added: dovecot-1.1.4-r1.ebuild
5 Removed: dovecot-1.1.4.ebuild
6 Log:
7 add patch for expire plugin crash, removed old version
8 (Portage version: 2.2_rc8/cvs/Linux 2.6.24-gentoo-r5-1 i686)
9
10 Revision Changes Path
11 1.179 net-mail/dovecot/ChangeLog
12
13 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-mail/dovecot/ChangeLog?rev=1.179&view=markup
14 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-mail/dovecot/ChangeLog?rev=1.179&content-type=text/plain
15 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-mail/dovecot/ChangeLog?r1=1.178&r2=1.179
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/net-mail/dovecot/ChangeLog,v
20 retrieving revision 1.178
21 retrieving revision 1.179
22 diff -u -r1.178 -r1.179
23 --- ChangeLog 6 Oct 2008 14:44:17 -0000 1.178
24 +++ ChangeLog 7 Oct 2008 07:30:11 -0000 1.179
25 @@ -1,6 +1,13 @@
26 # ChangeLog for net-mail/dovecot
27 # Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/net-mail/dovecot/ChangeLog,v 1.178 2008/10/06 14:44:17 wschlich Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/net-mail/dovecot/ChangeLog,v 1.179 2008/10/07 07:30:11 wschlich Exp $
30 +
31 +*dovecot-1.1.4-r1 (07 Oct 2008)
32 +
33 + 07 Oct 2008; Wolfram Schlich <wschlich@g.o>
34 + +files/dovecot-1.1.4-expire.patch, -dovecot-1.1.4.ebuild,
35 + +dovecot-1.1.4-r1.ebuild:
36 + add patch for expire plugin crash, removed old version
37
38 *dovecot-1.1.4 (06 Oct 2008)
39
40
41
42
43 1.1 net-mail/dovecot/dovecot-1.1.4-r1.ebuild
44
45 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-mail/dovecot/dovecot-1.1.4-r1.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-mail/dovecot/dovecot-1.1.4-r1.ebuild?rev=1.1&content-type=text/plain
47
48 Index: dovecot-1.1.4-r1.ebuild
49 ===================================================================
50 # Copyright 1999-2008 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.1.4-r1.ebuild,v 1.1 2008/10/07 07:30:11 wschlich Exp $
53
54 inherit autotools eutils ssl-cert versionator
55
56 MY_P="${P/_/.}"
57 MY_PV12=$(get_version_component_range 1-2 ${PV})
58 S="${WORKDIR}/${MY_P}"
59 SIEVE="dovecot-sieve-1.1.5"
60 SIEVE_S="${WORKDIR}/${SIEVE}"
61 MANAGESIEVE_PATCH="managesieve-0.10.3"
62 MANAGESIEVE="managesieve-0.10.3"
63 MANAGESIEVE_S="${WORKDIR}/${PN}-${MY_PV12}-${MANAGESIEVE}"
64
65 SRC_URI="http://dovecot.org/releases/${MY_PV12}/${MY_P}.tar.gz
66 sieve? ( http://dovecot.org/releases/sieve/${SIEVE}.tar.gz )
67 managesieve? ( http://www.rename-it.nl/${PN}/${MY_PV12}/${MY_P}-${MANAGESIEVE_PATCH}.diff.gz
68 http://www.rename-it.nl/${PN}/${MY_PV12}/${PN}-${MY_PV12}-${MANAGESIEVE}.tar.gz )"
69
70 DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
71 HOMEPAGE="http://www.dovecot.org/"
72
73 SLOT="0"
74 LICENSE="LGPL-2.1"
75 KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86 ~x86-fbsd"
76
77 IUSE="debug doc ipv6 kerberos ldap managesieve mbox mysql pop3d pam postgres sieve sqlite3 ssl suid vpopmail"
78
79 # Developer documentation, controlled by the doc USE flag
80 DEVDOCS="auth-protocol index multiaccess securecoding"
81
82 DEPEND=">=sys-apps/sed-4
83 kerberos? ( virtual/krb5 )
84 ldap? ( net-nds/openldap )
85 pam? ( virtual/pam )
86 ssl? ( dev-libs/openssl )
87 postgres? ( virtual/postgresql-base )
88 mysql? ( virtual/mysql )
89 sqlite3? ( =dev-db/sqlite-3* )
90 vpopmail? ( net-mail/vpopmail )"
91
92 RDEPEND="${DEPEND}
93 >=net-mail/mailbase-0.00-r8"
94
95 src_unpack() {
96 unpack ${A}
97 cd "${S}"
98 if use managesieve; then
99 epatch "${WORKDIR}"/${MY_P}-${MANAGESIEVE_PATCH}.diff
100 eautoreconf
101 fi
102 epatch "${FILESDIR}"/${P}-expire.patch
103 }
104
105 pkg_setup() {
106 if ! use sieve && use managesieve; then
107 eerror "managesieve USE flag selected but sieve USE flag unselected"
108 die "USE flag problem"
109 fi
110 # Add user and group for login process (same as for fedora/redhat)
111 enewgroup dovecot 97
112 enewuser dovecot 97 -1 /dev/null dovecot
113 }
114
115 src_compile() {
116 local myconf=
117 use ssl && myconf="${myconf} --with-ssl=openssl" \
118 || myconf="${myconf} --without-ssl"
119 econf \
120 --localstatedir=/var \
121 --sysconfdir=/etc/dovecot \
122 --enable-header-install \
123 --with-ioloop=best \
124 --with-poll=best \
125 $(use_enable debug) \
126 $(use_enable ipv6) \
127 $(use_with kerberos gssapi) \
128 $(use_with ldap) \
129 $(use_with mysql) \
130 $(use_with pam) \
131 $(use_with pop3d) \
132 $(use_with postgres pgsql) \
133 $(use_with sqlite3 sqlite) \
134 $(use_with vpopmail) \
135 ${myconf} \
136 || die "configure failed"
137 emake || die "make failed"
138
139 if use sieve; then
140 einfo "Building sieve"
141 cd "${SIEVE_S}"
142 econf --with-dovecot="${S}" || die "configure failed (sieve)"
143 emake || die "make failed (sieve)"
144 fi
145
146 if use managesieve; then
147 einfo "Building managesieve"
148 cd "${MANAGESIEVE_S}"
149 econf --with-dovecot="${S}" --with-dovecot-sieve="${SIEVE_S}" \
150 || die "configure failed (managesieve)"
151 emake || die "make failed (managesieve)"
152 fi
153 }
154
155 src_install () {
156 make DESTDIR="${D}" install || die "make install failed"
157 use suid && fperms u+s /usr/libexec/dovecot/deliver
158
159 rm -f "${D}"/etc/dovecot/dovecot-{ldap,sql}-example.conf
160
161 newinitd "${FILESDIR}"/dovecot.init-r1 dovecot
162
163 # Documentation
164 rm -rf "${D}"/usr/share/doc/dovecot
165 dodoc AUTHORS NEWS README TODO dovecot-example.conf
166 use managesieve && newdoc ${MANAGESIEVE_S}/README README.managesieve
167 if use doc; then
168 dodoc doc/*.txt
169 else
170 local x= n=
171 for x in doc/*.txt; do
172 n=$(basename "${x}" .txt)
173 [[ " ${DEVDOCS} " != *" ${n} "* ]] && dodoc "${x}"
174 done
175 fi
176
177 # Create the dovecot.conf file from the dovecot-example.conf file that
178 # the dovecot folks nicely left for us....
179 local conf="${D}/etc/dovecot/dovecot.conf"
180 mv "${D}"/etc/dovecot/dovecot-example.conf "${D}"/etc/dovecot/dovecot.conf
181
182 # .maildir is the Gentoo default, but we need to support mbox to
183 local mail_location="maildir:~/.maildir"
184 if use mbox; then
185 mail_location="mbox:/var/spool/mail/%u:INDEX=/var/dovecot/%u"
186 keepdir /var/dovecot
187 sed -i -e 's|#mail_privileged_group =|mail_privileged_group = mail|' "${conf}"
188 fi
189 sed -i -e \
190 "s|#mail_location =|mail_location = ${mail_location}|" "${conf}" \
191 || die "failed to update mail location settings in dovecot.conf"
192
193 # We're using pam files (imap and pop3) provided by mailbase
194 if use pam; then
195 sed -i -e '/passdb pam/, /^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
196 "${conf}" || die "failed to update PAM settings in dovecot.conf"
197 # mailbase does not provide a managesieve pam file
198 use managesieve && dosym imap /etc/pam.d/managesieve
199 fi
200
201 # Listen on ipv6 and ipv4
202 if use ipv6; then
203 sed -i -e 's/^#listen = \*/listen = \[::\]/g' "${conf}" \
204 || die "failed to update listen settings in dovecot.conf"
205 fi
206
207 # Update ssl cert locations
208 if use ssl; then
209 sed -i -e 's,^#ssl_cert_file =.*,ssl_cert_file = /etc/ssl/dovecot/server.pem,' \
210 -e 's,^#ssl_key_file =.*,ssl_key_file = /etc/ssl/dovecot/server.key,' \
211 "${conf}" || die "failed to update SSL settings in dovecot.conf"
212 fi
213
214 # Install SQL configuration
215 if use mysql || use postgres; then
216 cp doc/dovecot-sql-example.conf "${D}"/etc/dovecot/dovecot-sql.conf
217 fperms 600 /etc/dovecot/dovecot-sql.conf
218 sed -i -e '/db sql/,/args/ s|=|= /etc/dovecot-sql.conf|' "${conf}" \
219 || die "failed to update SQL settings in dovecot-sql.conf"
220 dodoc doc/dovecot-sql-example.conf
221 fi
222
223 # Install LDAP configuration
224 if use ldap; then
225 cp doc/dovecot-ldap-example.conf "${D}"/etc/dovecot/dovecot-ldap.conf
226 fperms 600 /etc/dovecot/dovecot-ldap.conf
227 sed -i -e '/db ldap/,/args/ s|=|= /etc/dovecot-ldap.conf|' "${conf}" \
228 || die "failed to update LDAP settings in dovecot-ldap.conf"
229 dodoc doc/dovecot-ldap-example.conf
230 fi
231
232 # Install sieve plugin
233 if use sieve; then
234 make -C "${SIEVE_S}" DESTDIR="${D}" install \
235 || die "make install failed (sieve)"
236 fi
237
238 # Install managesieve
239 if use managesieve; then
240 make -C "${MANAGESIEVE_S}" DESTDIR="${D}" install \
241 || die "make install failed (managesieve)"
242 fi
243
244 dodir /var/run/dovecot
245 fowners root:0 /var/run/dovecot
246 fperms 0755 /var/run/dovecot
247 keepdir /var/run/dovecot/login
248 fowners root:dovecot /var/run/dovecot/login
249 fperms 0750 /var/run/dovecot/login
250 }
251
252 get_config_var() {
253 local varname=${1}
254 if [[ -z ${varname} ]]; then
255 die "${FUNCNAME}: variable name missing"
256 fi
257 sed -n 's/^[[:space:]]\?'"${varname}"'[[:space:]]*="*\([^#"]\+\)"*/\1/p' \
258 "${ROOT}"/etc/dovecot/dovecot.conf
259 }
260
261 pkg_postinst() {
262 elog "The Dovecot configuration has vastly changed since 0.99."
263 elog "You are encouraged to start afresh with a new configuration file."
264 elog "see http://wiki.dovecot.org/ for configuration examples."
265
266 if [[ -e "${ROOT}"/etc/dovecot.conf ]]; then
267 echo
268 ewarn "The Dovecot configuration now resides in ${ROOT}/etc/dovecot"
269 fi
270
271 local base_dir="$(get_config_var base_dir)"
272 base_dir="${base_dir:-/var/run/dovecot}"
273 if use ssl; then
274 # Let's not make a new certificate if we already have one
275 if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
276 -e "${ROOT}"/etc/ssl/dovecot/server.key ]]; then
277 einfo "Creating SSL certificate"
278 SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
279 install_cert /etc/ssl/dovecot/server
280 chown dovecot:mail "${ROOT}"/etc/ssl/dovecot/server.{key,pem}
281 fi
282 if [[ ! -e "${ROOT}${base_dir}/login/ssl-parameters.dat" ]]; then
283 echo
284 elog "Dovecot requires DH SSL Parameters if you use SSL connections"
285 elog "These take some time to make, and dovecot will create them before"
286 elog "it allows any SSL connections."
287 elog "You can create them now before starting dovecot like so"
288 elog " emerge --config =${PF}"
289 fi
290 fi
291 }
292
293 pkg_config() {
294 local base_dir="$(get_config_var base_dir)"
295 base_dir="${base_dir:-/var/run/dovecot}"
296
297 if use ssl; then
298 einfo "Regenerating SSL parameters. This will take some time."
299 "${ROOT}"/usr/libexec/dovecot/ssl-build-param "${base_dir}/login/ssl-parameters.dat"
300 fi
301 }