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.3.ebuild dovecot-1.1.2.ebuild dovecot-1.0.13-r1.ebuild
Date: Mon, 08 Sep 2008 09:51:23
Message-Id: E1KcdOx-0005v7-UX@stork.gentoo.org
1 wschlich 08/09/08 09:51:19
2
3 Modified: ChangeLog
4 Added: dovecot-1.1.3.ebuild
5 Removed: dovecot-1.1.2.ebuild dovecot-1.0.13-r1.ebuild
6 Log:
7 version bump, removed old versions
8 (Portage version: 2.2_rc8/cvs/Linux 2.6.24-gentoo-r5-1 i686)
9
10 Revision Changes Path
11 1.177 net-mail/dovecot/ChangeLog
12
13 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-mail/dovecot/ChangeLog?rev=1.177&view=markup
14 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-mail/dovecot/ChangeLog?rev=1.177&content-type=text/plain
15 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-mail/dovecot/ChangeLog?r1=1.176&r2=1.177
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/net-mail/dovecot/ChangeLog,v
20 retrieving revision 1.176
21 retrieving revision 1.177
22 diff -u -r1.176 -r1.177
23 --- ChangeLog 8 Aug 2008 21:34:22 -0000 1.176
24 +++ ChangeLog 8 Sep 2008 09:51:19 -0000 1.177
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.176 2008/08/08 21:34:22 maekke Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/net-mail/dovecot/ChangeLog,v 1.177 2008/09/08 09:51:19 wschlich Exp $
30 +
31 +*dovecot-1.1.3 (08 Sep 2008)
32 +
33 + 08 Sep 2008; Wolfram Schlich <wschlich@g.o>
34 + -files/dovecot-1.0.13-body.patch, -dovecot-1.0.13-r1.ebuild,
35 + -dovecot-1.1.2.ebuild, +dovecot-1.1.3.ebuild:
36 + version bump, removed old versions
37
38 08 Aug 2008; Markus Meier <maekke@g.o> dovecot-1.0.15-r1.ebuild,
39 dovecot-1.1.1-r1.ebuild:
40
41
42
43 1.1 net-mail/dovecot/dovecot-1.1.3.ebuild
44
45 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-mail/dovecot/dovecot-1.1.3.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-mail/dovecot/dovecot-1.1.3.ebuild?rev=1.1&content-type=text/plain
47
48 Index: dovecot-1.1.3.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.3.ebuild,v 1.1 2008/09/08 09:51:19 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 }
103
104 pkg_setup() {
105 if ! use sieve && use managesieve; then
106 eerror "managesieve USE flag selected but sieve USE flag unselected"
107 die "USE flag problem"
108 fi
109 # Add user and group for login process (same as for fedora/redhat)
110 enewgroup dovecot 97
111 enewuser dovecot 97 -1 /dev/null dovecot
112 }
113
114 src_compile() {
115 local myconf=
116 use ssl && myconf="${myconf} --with-ssl=openssl" \
117 || myconf="${myconf} --without-ssl"
118 econf \
119 --localstatedir=/var \
120 --sysconfdir=/etc/dovecot \
121 --enable-header-install \
122 --with-ioloop=best \
123 --with-poll=best \
124 $(use_enable debug) \
125 $(use_enable ipv6) \
126 $(use_with kerberos gssapi) \
127 $(use_with ldap) \
128 $(use_with mysql) \
129 $(use_with pam) \
130 $(use_with pop3d) \
131 $(use_with postgres pgsql) \
132 $(use_with sqlite3 sqlite) \
133 $(use_with vpopmail) \
134 ${myconf} \
135 || die "configure failed"
136 emake || die "make failed"
137
138 if use sieve; then
139 einfo "Building sieve"
140 cd "${SIEVE_S}"
141 econf --with-dovecot="${S}" || die "configure failed (sieve)"
142 emake || die "make failed (sieve)"
143 fi
144
145 if use managesieve; then
146 einfo "Building managesieve"
147 cd "${MANAGESIEVE_S}"
148 econf --with-dovecot="${S}" --with-dovecot-sieve="${SIEVE_S}" \
149 || die "configure failed (managesieve)"
150 emake || die "make failed (managesieve)"
151 fi
152 }
153
154 src_install () {
155 make DESTDIR="${D}" install || die "make install failed"
156 use suid && fperms u+s /usr/libexec/dovecot/deliver
157
158 rm -f "${D}"/etc/dovecot/dovecot-{ldap,sql}-example.conf
159
160 newinitd "${FILESDIR}"/dovecot.init-r1 dovecot
161
162 # Documentation
163 rm -rf "${D}"/usr/share/doc/dovecot
164 dodoc AUTHORS NEWS README TODO dovecot-example.conf
165 use managesieve && newdoc ${MANAGESIEVE_S}/README README.managesieve
166 if use doc; then
167 dodoc doc/*.txt
168 else
169 local x= n=
170 for x in doc/*.txt; do
171 n=$(basename "${x}" .txt)
172 [[ " ${DEVDOCS} " != *" ${n} "* ]] && dodoc "${x}"
173 done
174 fi
175
176 # Create the dovecot.conf file from the dovecot-example.conf file that
177 # the dovecot folks nicely left for us....
178 local conf="${D}/etc/dovecot/dovecot.conf"
179 mv "${D}"/etc/dovecot/dovecot-example.conf "${D}"/etc/dovecot/dovecot.conf
180
181 # .maildir is the Gentoo default, but we need to support mbox to
182 local mail_location="maildir:~/.maildir"
183 if use mbox; then
184 mail_location="mbox:/var/spool/mail/%u:INDEX=/var/dovecot/%u"
185 keepdir /var/dovecot
186 sed -i -e 's|#mail_privileged_group =|mail_privileged_group = mail|' "${conf}"
187 fi
188 sed -i -e \
189 "s|#mail_location =|mail_location = ${mail_location}|" "${conf}" \
190 || die "failed to update mail location settings in dovecot.conf"
191
192 # We're using pam files (imap and pop3) provided by mailbase
193 if use pam; then
194 sed -i -e '/passdb pam/, /^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
195 "${conf}" || die "failed to update PAM settings in dovecot.conf"
196 # mailbase does not provide a managesieve pam file
197 use managesieve && dosym imap /etc/pam.d/managesieve
198 fi
199
200 # Listen on ipv6 and ipv4
201 if use ipv6; then
202 sed -i -e 's/^#listen = \*/listen = \[::\]/g' "${conf}" \
203 || die "failed to update listen settings in dovecot.conf"
204 fi
205
206 # Update ssl cert locations
207 if use ssl; then
208 sed -i -e 's,^#ssl_cert_file =.*,ssl_cert_file = /etc/ssl/dovecot/server.pem,' \
209 -e 's,^#ssl_key_file =.*,ssl_key_file = /etc/ssl/dovecot/server.key,' \
210 "${conf}" || die "failed to update SSL settings in dovecot.conf"
211 fi
212
213 # Install SQL configuration
214 if use mysql || use postgres; then
215 cp doc/dovecot-sql-example.conf "${D}"/etc/dovecot/dovecot-sql.conf
216 fperms 600 /etc/dovecot/dovecot-sql.conf
217 sed -i -e '/db sql/,/args/ s|=|= /etc/dovecot-sql.conf|' "${conf}" \
218 || die "failed to update SQL settings in dovecot-sql.conf"
219 dodoc doc/dovecot-sql-example.conf
220 fi
221
222 # Install LDAP configuration
223 if use ldap; then
224 cp doc/dovecot-ldap-example.conf "${D}"/etc/dovecot/dovecot-ldap.conf
225 fperms 600 /etc/dovecot/dovecot-ldap.conf
226 sed -i -e '/db ldap/,/args/ s|=|= /etc/dovecot-ldap.conf|' "${conf}" \
227 || die "failed to update LDAP settings in dovecot-ldap.conf"
228 dodoc doc/dovecot-ldap-example.conf
229 fi
230
231 # Install sieve plugin
232 if use sieve; then
233 make -C "${SIEVE_S}" DESTDIR="${D}" install \
234 || die "make install failed (sieve)"
235 fi
236
237 # Install managesieve
238 if use managesieve; then
239 make -C "${MANAGESIEVE_S}" DESTDIR="${D}" install \
240 || die "make install failed (managesieve)"
241 fi
242
243 dodir /var/run/dovecot
244 fowners root:0 /var/run/dovecot
245 fperms 0755 /var/run/dovecot
246 keepdir /var/run/dovecot/login
247 fowners root:dovecot /var/run/dovecot/login
248 fperms 0750 /var/run/dovecot/login
249 }
250
251 get_config_var() {
252 local varname=${1}
253 if [[ -z ${varname} ]]; then
254 die "${FUNCNAME}: variable name missing"
255 fi
256 sed -n 's/^[[:space:]]\?'"${varname}"'[[:space:]]*="*\([^#"]\+\)"*/\1/p' \
257 "${ROOT}"/etc/dovecot/dovecot.conf
258 }
259
260 pkg_postinst() {
261 elog "The Dovecot configuration has vastly changed since 0.99."
262 elog "You are encouraged to start afresh with a new configuration file."
263 elog "see http://wiki.dovecot.org/ for configuration examples."
264
265 if [[ -e "${ROOT}"/etc/dovecot.conf ]]; then
266 echo
267 ewarn "The Dovecot configuration now resides in ${ROOT}/etc/dovecot"
268 fi
269
270 local base_dir="$(get_config_var base_dir)"
271 base_dir="${base_dir:-/var/run/dovecot}"
272 if use ssl; then
273 # Let's not make a new certificate if we already have one
274 if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
275 -e "${ROOT}"/etc/ssl/dovecot/server.key ]]; then
276 einfo "Creating SSL certificate"
277 SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
278 install_cert /etc/ssl/dovecot/server
279 chown dovecot:mail "${ROOT}"/etc/ssl/dovecot/server.{key,pem}
280 fi
281 if [[ ! -e "${ROOT}${base_dir}/login/ssl-parameters.dat" ]]; then
282 echo
283 elog "Dovecot requires DH SSL Parameters if you use SSL connections"
284 elog "These take some time to make, and dovecot will create them before"
285 elog "it allows any SSL connections."
286 elog "You can create them now before starting dovecot like so"
287 elog " emerge --config =${PF}"
288 fi
289 fi
290 }
291
292 pkg_config() {
293 local base_dir="$(get_config_var base_dir)"
294 base_dir="${base_dir:-/var/run/dovecot}"
295
296 if use ssl; then
297 einfo "Regenerating SSL parameters. This will take some time."
298 "${ROOT}"/usr/libexec/dovecot/ssl-build-param "${base_dir}/login/ssl-parameters.dat"
299 fi
300 }