36 Distribution: OpenPKG Community |
40 Distribution: OpenPKG Community |
37 Class: EVAL |
41 Class: EVAL |
38 Group: Mail |
42 Group: Mail |
39 License: MIT+LGPL |
43 License: MIT+LGPL |
40 Version: %{V_major}.%{V_minor} |
44 Version: %{V_major}.%{V_minor} |
41 Release: 20090521 |
45 Release: 20091101 |
42 |
46 |
43 # package options |
47 # package options |
44 %option with_fsl yes |
48 %option with_fsl yes |
45 %option with_pam yes |
49 %option with_pam yes |
|
50 %option with_sieve yes |
|
51 %option with_managesieve yes |
46 %option with_ldap no |
52 %option with_ldap no |
47 %option with_mysql no |
53 %option with_mysql no |
48 %option with_pgsql no |
54 %option with_pgsql no |
49 %option with_sqlite no |
55 %option with_sqlite no |
50 %option with_pop3d no |
|
51 %option with_managesieve no |
|
52 %option with_sieve yes |
|
53 |
56 |
54 # list of sources |
57 # list of sources |
55 Source0: http://www.dovecot.org/releases/%{V_major}/dovecot-%{V_major}.%{V_minor}.tar.gz |
58 Source0: http://www.dovecot.org/releases/%{V_major}/dovecot-%{V_major}.%{V_minor}.tar.gz |
56 Source1: http://www.dovecot.org/releases/sieve/dovecot-sieve-%{V_major}.%{V_minor_sieve}.tar.gz |
59 Source1: http://www.rename-it.nl/dovecot/%{V_major}/dovecot-%{V_sieve_base}-sieve-%{V_sieve}.tar.gz |
57 Source2: http://www.rename-it.nl/dovecot/%{V_major}/dovecot-%{V_major}-managesieve-%{V_managesieve}.tar.gz |
60 Source2: http://www.rename-it.nl/dovecot/%{V_major}/dovecot-%{V_managesieved_base}-managesieve-%{V_managesieved}.tar.gz |
58 Source3: fsl.dovecot |
61 Source3: fsl.dovecot |
59 Source4: rc.dovecot |
62 Source4: rc.dovecot |
|
63 Source5: dovecot.conf |
60 Patch0: dovecot.patch |
64 Patch0: dovecot.patch |
61 Patch1: http://www.rename-it.nl/dovecot/%{V_major}/dovecot-%{V_major}.%{V_minor}-managesieve-%{V_managesieve}.diff.gz |
65 Patch1: http://www.rename-it.nl/dovecot/%{V_major}/dovecot-%{V_managesieve_base}-managesieve-%{V_managesieve}.diff.gz |
62 |
66 |
63 # build information |
67 # build information |
64 Prefix: %{l_prefix} |
68 Prefix: %{l_prefix} |
65 BuildRoot: %{l_buildroot} |
69 BuildRoot: %{l_buildroot} |
66 BuildPreReq: OpenPKG, openpkg >= 20060823 |
70 BuildPreReq: OpenPKG, openpkg >= 20060823 |
67 PreReq: OpenPKG, openpkg >= 20060823, MTA |
71 PreReq: OpenPKG, openpkg >= 20060823, MTA, x509 |
68 BuildPreReq: libiconv, openssl |
72 BuildPreReq: libiconv, openssl |
69 PreReq: libiconv, openssl |
73 PreReq: libiconv, openssl |
70 %if "%{with_fsl}" == "yes" |
74 %if "%{with_fsl}" == "yes" |
71 BuildPreReq: fsl |
75 BuildPreReq: fsl |
72 PreReq: fsl |
76 PreReq: fsl |
107 |
110 |
108 %track |
111 %track |
109 prog dovecot = { |
112 prog dovecot = { |
110 version = %{V_major}.%{V_minor} |
113 version = %{V_major}.%{V_minor} |
111 url = http://www.dovecot.org/download.html |
114 url = http://www.dovecot.org/download.html |
112 regex = dovecot-(1\.1(\.\d+)+)\.tar\.gz |
115 regex = dovecot-(__VER__)\.tar\.gz |
113 } |
116 } |
114 prog dovecot:sieve = { |
117 prog dovecot:sieve = { |
115 version = %{V_major}.%{V_minor_sieve} |
118 version = %{V_sieve} |
116 url = http://www.dovecot.org/download.html |
119 url = http://www.rename-it.nl/dovecot/%{V_major}/ |
117 regex = dovecot-sieve-(%{V_major}(\.\d+)+)\.tar\.gz |
120 regex = dovecot-%{V_sieve_base}-sieve-(__VER__)\.tar\.gz |
|
121 } |
|
122 prog dovecot:managesieved = { |
|
123 version = %{V_managesieved} |
|
124 url = http://www.rename-it.nl/dovecot/%{V_major}/ |
|
125 regex = dovecot-%{V_managesieved_base}-managesieve-(__VER__)\.tar\.gz |
118 } |
126 } |
119 prog dovecot:managesieve = { |
127 prog dovecot:managesieve = { |
120 version = %{V_managesieve} |
128 version = %{V_managesieve} |
121 url = http://www.rename-it.nl/dovecot/%{V_major}/ |
129 url = http://www.rename-it.nl/dovecot/%{V_major}/ |
122 regex = dovecot-%{V_major}-managesieve-(__VER__)\.tar\.gz |
130 regex = dovecot-%{V_managesieve_base}-managesieve-(__VER__)\.diff\.gz |
123 } |
131 } |
124 |
132 |
125 %prep |
133 %prep |
126 %setup -q |
134 %setup -q |
127 %if "%{with_sieve}" == "yes" |
135 %if "%{with_sieve}" == "yes" |
128 %setup -q -T -D -a 1 |
136 %setup -q -T -D -a 1 |
129 %endif |
137 %endif |
130 %if "%{with_managesieve}" == "yes" |
138 %if "%{with_managesieve}" == "yes" |
131 %setup -q -T -D -a 2 |
139 %setup -q -T -D -a 2 |
132 %{l_gzip} -dc <%{PATCH1} | %{l_patch} -p1 -b |
140 %{l_gzip} -dc <%{PATCH1} | %{l_patch} -p1 -b |
133 %{l_shtool} subst \ |
|
134 -e 's;/usr/\(libexec/dovecot/managesieve\);%{l_prefix}/\1;g' \ |
|
135 dovecot-example.conf |
|
136 %endif |
141 %endif |
137 %{l_sed} <%{PATCH0} %{l_value -s -a} | %{l_patch} -p0 -b |
142 %{l_sed} <%{PATCH0} %{l_value -s -a} | %{l_patch} -p0 -b |
138 |
143 |
139 %build |
144 %build |
140 %if "%{with_managesieve}" == "yes" |
|
141 autoreconf -i --force || true |
|
142 %endif |
|
143 cppflags="%{l_cppflags}" |
145 cppflags="%{l_cppflags}" |
144 ldflags="%{l_ldflags} %{l_fsl_ldflags}" |
146 ldflags="%{l_ldflags} %{l_fsl_ldflags}" |
145 libs="%{l_fsl_libs}" |
147 libs="%{l_fsl_libs}" |
146 sql_drivers="" |
148 sql_drivers="" |
147 %if "%{with_ldap}" == "yes" |
149 %if "%{with_ldap}" == "yes" |
212 %if "%{with_pam}" == "yes" |
212 %if "%{with_pam}" == "yes" |
213 --with-pam \ |
213 --with-pam \ |
214 %else |
214 %else |
215 --without-pam \ |
215 --without-pam \ |
216 %endif |
216 %endif |
217 %if "%{with_pop3d}" == "yes" |
|
218 --with-pop3d \ |
|
219 %else |
|
220 --without-pop3d \ |
|
221 %endif |
|
222 --without-gc \ |
217 --without-gc \ |
223 --without-gssapi \ |
218 --without-gssapi \ |
224 --without-lucene \ |
219 --without-lucene \ |
225 --without-vpopmail |
220 --without-vpopmail \ |
|
221 --enable-shared \ |
|
222 --disable-static |
226 %{l_make} %{l_mflags -O} |
223 %{l_make} %{l_mflags -O} |
227 |
224 |
228 %if "%{with_sieve}" == "yes" |
225 %if "%{with_sieve}" == "yes" |
229 # build optional Dovecot LDA sieve plugin |
226 # build optional Dovecot LDA sieve plugin |
230 ( cd dovecot-sieve-%{V_major}.%{V_minor_sieve} |
227 ( cd dovecot-%{V_sieve_base}-sieve-%{V_sieve} |
231 CC="%{l_cc}" \ |
228 CC="%{l_cc}" \ |
232 CFLAGS="%{l_cflags -O}" \ |
229 CFLAGS="%{l_cflags -O}" \ |
233 CPPFLAGS="%{l_cppflags}" \ |
230 CPPFLAGS="%{l_cppflags}" \ |
234 LDFLAGS="%{l_ldflags}" \ |
231 LDFLAGS="%{l_ldflags}" \ |
235 GREP="grep" \ |
|
236 ./configure \ |
232 ./configure \ |
237 --prefix=%{l_prefix} \ |
233 --prefix=%{l_prefix} \ |
238 --with-dovecot=.. |
234 --mandir=%{l_prefix}/man \ |
|
235 --with-dovecot=`pwd`/.. |
239 %{l_make} %{l_mflags -O} |
236 %{l_make} %{l_mflags -O} |
240 ) || exit $? |
237 ) || exit $? |
241 %endif |
238 %endif |
242 |
|
243 %if "%{with_managesieve}" == "yes" |
239 %if "%{with_managesieve}" == "yes" |
244 # build optional Dovecot managesieve package |
240 # build optional Dovecot LDA managesieve daemon |
245 ( cd dovecot-%{V_major}-managesieve-%{V_managesieve} |
241 ( cd dovecot-%{V_managesieved_base}-managesieve-%{V_managesieved} |
246 CC="%{l_cc}" \ |
242 CC="%{l_cc}" \ |
247 CFLAGS="%{l_cflags -O}" \ |
243 CFLAGS="%{l_cflags -O}" \ |
248 CPPFLAGS="%{l_cppflags}" \ |
244 CPPFLAGS="%{l_cppflags}" \ |
249 LDFLAGS="%{l_ldflags}" \ |
245 LDFLAGS="%{l_ldflags}" \ |
250 GREP="grep" \ |
|
251 ./configure \ |
246 ./configure \ |
252 --prefix=%{l_prefix} \ |
247 --prefix=%{l_prefix} \ |
253 --with-dovecot=.. \ |
248 --mandir=%{l_prefix}/man \ |
254 --with-dovecot-sieve=../dovecot-sieve-%{V_major}.%{V_minor_sieve} |
249 --with-dovecot-sieve=`pwd`/../dovecot-%{V_sieve_base}-sieve-%{V_sieve} \ |
|
250 --with-dovecot=`pwd`/.. |
255 %{l_make} %{l_mflags -O} |
251 %{l_make} %{l_mflags -O} |
256 ) || exit $? |
252 ) || exit $? |
257 %endif |
253 %endif |
258 |
254 |
259 %install |
255 %install |
260 rm -rf $RPM_BUILD_ROOT |
256 rm -rf $RPM_BUILD_ROOT |
261 %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT |
257 %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" |
262 |
258 |
263 %if "%{with_sieve}" == "yes" |
259 %if "%{with_sieve}" == "yes" |
264 # install optional Dovecot LDA sieve plugin |
260 # install optional Dovecot LDA sieve plugin |
265 ( cd dovecot-sieve-%{V_major}.%{V_minor_sieve} |
261 ( cd dovecot-%{V_sieve_base}-sieve-%{V_sieve} |
266 %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT |
262 %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" |
267 ) || exit $? |
263 ) || exit $? |
268 %endif |
264 %endif |
269 |
|
270 %if "%{with_managesieve}" == "yes" |
265 %if "%{with_managesieve}" == "yes" |
271 # install optional Dovecot managesieve package |
266 # install optional Dovecot LDA managesieve daemon |
272 ( cd dovecot-%{V_major}-managesieve-%{V_managesieve} |
267 ( cd dovecot-%{V_managesieved_base}-managesieve-%{V_managesieved} |
273 %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT |
268 %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" |
274 ) || exit $? |
269 ) || exit $? |
275 %endif |
270 %endif |
276 |
|
277 # adjust file names of configuration files |
|
278 ( cd $RPM_BUILD_ROOT%{l_prefix}/etc/dovecot |
|
279 for i in dovecot dovecot-db dovecot-ldap dovecot-sql; do |
|
280 mv ${i}{-example,}.conf |
|
281 done |
|
282 ) || exit $? |
|
283 |
271 |
284 # create additional dirctories |
272 # create additional dirctories |
285 %{l_shtool} mkdir -f -p -m 755 \ |
273 %{l_shtool} mkdir -f -p -m 755 \ |
286 $RPM_BUILD_ROOT%{l_prefix}/etc/dovecot/ssl \ |
274 $RPM_BUILD_ROOT%{l_prefix}/etc/dovecot/ssl \ |
287 $RPM_BUILD_ROOT%{l_prefix}/var/dovecot/dat \ |
|
288 $RPM_BUILD_ROOT%{l_prefix}/var/dovecot/log \ |
275 $RPM_BUILD_ROOT%{l_prefix}/var/dovecot/log \ |
289 $RPM_BUILD_ROOT%{l_prefix}/var/dovecot/run/login |
276 $RPM_BUILD_ROOT%{l_prefix}/var/dovecot/run/login |
290 |
277 |
291 # install runcommand script |
278 # install run-command script |
292 %{l_shtool} mkdir -f -p -m 755 \ |
279 %{l_shtool} mkdir -f -p -m 755 \ |
293 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d |
280 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d |
294 %if "%{with_pop3d}" == "yes" |
|
295 cmd='/<\/\{0,1\}with_pop3d>/d' |
|
296 %else |
|
297 cmd='/<with_pop3d>/,/<\/with_pop3d>/d' |
|
298 %endif |
|
299 %{l_shtool} install -c -m 755 %{l_value -s -a} \ |
281 %{l_shtool} install -c -m 755 %{l_value -s -a} \ |
300 -e "$cmd" \ |
|
301 %{SOURCE rc.dovecot} \ |
282 %{SOURCE rc.dovecot} \ |
302 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ |
283 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ |
303 |
284 |
304 # install OSSP fsl configuration |
|
305 %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl |
|
306 %{l_shtool} install -c -m 644 %{l_value -s -a} \ |
|
307 %{SOURCE fsl.dovecot} \ |
|
308 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/ |
|
309 |
|
310 # strip installation |
285 # strip installation |
|
286 rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/dovecot/dovecot*example.conf |
311 rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/dovecot/{,*}/*.la \ |
287 rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/dovecot/{,*}/*.la \ |
312 >/dev/null 2>&1 || true |
|
313 rmdir $RPM_BUILD_ROOT%{l_prefix}/include/dovecot \ |
|
314 $RPM_BUILD_ROOT%{l_prefix}/include \ |
|
315 >/dev/null 2>&1 || true |
288 >/dev/null 2>&1 || true |
316 strip \ |
289 strip \ |
317 $RPM_BUILD_ROOT%{l_prefix}/sbin/* \ |
290 $RPM_BUILD_ROOT%{l_prefix}/sbin/* \ |
318 $RPM_BUILD_ROOT%{l_prefix}/libexec/dovecot/* \ |
291 $RPM_BUILD_ROOT%{l_prefix}/libexec/dovecot/* \ |
319 >/dev/null 2>&1 || true |
292 >/dev/null 2>&1 || true |
320 |
293 |
|
294 # install default server configuration |
|
295 %{l_shtool} mkdir -f -p -m 755 \ |
|
296 $RPM_BUILD_ROOT%{l_prefix}/etc/dovecot |
|
297 %{l_shtool} install -c -m 644 %{l_value -s -a} \ |
|
298 %{SOURCE dovecot.conf} \ |
|
299 $RPM_BUILD_ROOT%{l_prefix}/etc/dovecot/ |
|
300 |
|
301 # install OSSP fsl configuration |
|
302 %{l_shtool} mkdir -f -p -m 755 \ |
|
303 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl |
|
304 %{l_shtool} install -c -m 644 %{l_value -s -a} \ |
|
305 %{SOURCE fsl.dovecot} \ |
|
306 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/ |
|
307 |
321 # generate file list |
308 # generate file list |
322 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \ |
309 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \ |
323 '%not %dir %{l_prefix}/etc/fsl' \ |
310 '%not %dir %{l_prefix}/etc/fsl' \ |
324 '%config %{l_prefix}/etc/fsl/fsl.dovecot' \ |
311 '%config %{l_prefix}/etc/fsl/fsl.dovecot' \ |
325 '%config %attr(0600,%{l_musr},%{l_mgrp}) %{l_prefix}/etc/dovecot/*' \ |
312 '%config %attr(0600,%{l_musr},%{l_mgrp}) %{l_prefix}/etc/dovecot/*' \ |
326 '%config %attr(0640,%{l_musr},%{l_rgrp}) %{l_prefix}/etc/dovecot/dovecot.conf' \ |
313 '%config %attr(0644,%{l_musr},%{l_rgrp}) %{l_prefix}/etc/dovecot/dovecot.conf' \ |
327 '%dir %attr(0700,%{l_susr},%{l_mgrp}) %{l_prefix}/etc/dovecot/ssl' \ |
314 '%dir %attr(0700,%{l_susr},%{l_mgrp}) %{l_prefix}/etc/dovecot/ssl' \ |
328 '%dir %attr(0755,%{l_musr},%{l_mgrp}) %{l_prefix}/var/dovecot' \ |
315 '%dir %attr(0755,%{l_susr},%{l_mgrp}) %{l_prefix}/var/dovecot' \ |
329 '%dir %attr(0770,%{l_musr},%{l_rgrp}) %{l_prefix}/var/dovecot/dat' \ |
316 '%dir %attr(0770,%{l_susr},%{l_rgrp}) %{l_prefix}/var/dovecot/log' \ |
330 '%dir %attr(0770,%{l_musr},%{l_rgrp}) %{l_prefix}/var/dovecot/log' \ |
317 '%dir %attr(0755,%{l_susr},%{l_mgrp}) %{l_prefix}/var/dovecot/run' \ |
331 '%dir %attr(0750,%{l_musr},%{l_rgrp}) %{l_prefix}/var/dovecot/run' \ |
318 '%dir %attr(0750,%{l_susr},%{l_mgrp}) %{l_prefix}/var/dovecot/run/login' \ |
332 '%dir %attr(0750,%{l_musr},%{l_ngrp}) %{l_prefix}/var/dovecot/run/login' \ |
|
333 '%doc %{l_prefix}/share/dovecot/doc' \ |
319 '%doc %{l_prefix}/share/dovecot/doc' \ |
334 '%doc %{l_prefix}/share/dovecot/doc/wiki' |
320 '%doc %{l_prefix}/share/dovecot/doc/wiki' |
335 |
321 |
336 %files -f files |
322 %files -f files |
337 |
323 |