1 |
## This spec is based on kolab's spec from the OBS |
2 |
|
3 |
%define _disable_ld_no_undefined 1 |
4 |
|
5 |
# major is the part of the library name after the .so |
6 |
%define major 0 |
7 |
%define libname %mklibname %{name} %{major} |
8 |
%define develname %mklibname %{name} -d |
9 |
|
10 |
|
11 |
%global with_systemd 1 |
12 |
|
13 |
%global _name cyrus-imapd |
14 |
|
15 |
%global ssl_pem_file %{_sysconfdir}/pki/%{_name}/%{_name}.pem |
16 |
|
17 |
|
18 |
%global _cyrususer cyrus |
19 |
%global _cyrusgroup mail |
20 |
%global _cyrexecdir %{_exec_prefix}/lib/%{_name} |
21 |
|
22 |
%global real_version 2.5.15 |
23 |
|
24 |
## |
25 |
## Options |
26 |
## |
27 |
|
28 |
%global with_bdb 1 |
29 |
%global with_mysql 1 |
30 |
%global with_pgsql 1 |
31 |
|
32 |
%global with_dav 0 |
33 |
%global with_tcpwrap 1 |
34 |
|
35 |
Name: cyrus-imapd |
36 |
Summary: A high-performance mail server with IMAP, POP3, NNTP and SIEVE support |
37 |
Version: %{real_version} |
38 |
Release: %mkrel 1 |
39 |
License: BSD |
40 |
Group: System/Servers |
41 |
URL: https://www.cyrusimap.org |
42 |
|
43 |
# Upstream sources |
44 |
Source0: https://www.cyrusimap.org/releases/%{_name}-%{real_version}.tar.gz |
45 |
Source1: cyrus-imapd.imap-2.5.x-conf |
46 |
Source2: cyrus-imapd.cvt_cyrusdb_all |
47 |
Source3: cyrus-imapd.magic |
48 |
|
49 |
# Distribution specific sources |
50 |
Source11: cyrus-imapd.logrotate |
51 |
Source12: cyrus-imapd.pam-config |
52 |
Source13: cyrus-imapd.cron-daily |
53 |
|
54 |
# SysVinit |
55 |
Source22: cyrus-imapd.sysconfig |
56 |
|
57 |
|
58 |
# Systemd support |
59 |
Source31: cyrus-imapd.service |
60 |
Source32: cyr_systemd_helper |
61 |
|
62 |
## |
63 |
## Patches |
64 |
## |
65 |
Patch0: cyrus-imapd-2.5.11-assert.patch |
66 |
Patch1: cyrus-imapd-2.5.13-conflicting-types-for-gettid.patch |
67 |
|
68 |
Provides: imap |
69 |
Provides: imap-server |
70 |
|
71 |
## |
72 |
## Build Requirements |
73 |
## |
74 |
BuildRequires: autoconf |
75 |
BuildRequires: automake |
76 |
BuildRequires: bison |
77 |
BuildRequires: pkgconfig(libsasl2) |
78 |
BuildRequires: pkgconfig(cunit) |
79 |
BuildRequires: sasl-plug-digestmd5 |
80 |
BuildRequires: sasl-plug-plain |
81 |
BuildRequires: pkgconfig(libxml-2.0) |
82 |
|
83 |
%if 0%{?with_bdb} |
84 |
BuildRequires: db5-devel |
85 |
%endif |
86 |
BuildRequires: flex |
87 |
#BuildRequires: gcc-c++ |
88 |
BuildRequires: gcc |
89 |
BuildRequires: groff |
90 |
BuildRequires: pkgconfig(jansson) |
91 |
BuildRequires: pkgconfig(krb5) |
92 |
|
93 |
%if 0%{?with_dav} |
94 |
BuildRequires: pkgconfig(libical) |
95 |
%endif |
96 |
|
97 |
BuildRequires: libtool |
98 |
BuildRequires: pkgconfig(uuid) |
99 |
|
100 |
%if 0%{?with_mysql} |
101 |
BuildRequires: mysql-devel |
102 |
%endif |
103 |
BuildRequires: openldap-devel |
104 |
BuildRequires: pkgconfig(openssl) |
105 |
BuildRequires: perl(ExtUtils::MakeMaker) |
106 |
|
107 |
BuildRequires: perl-devel |
108 |
BuildRequires: pkgconfig |
109 |
|
110 |
%if 0%{?with_pgsql} |
111 |
BuildRequires: postgresql-devel |
112 |
%endif |
113 |
|
114 |
%if 0%{?with_dav} |
115 |
BuildRequires: pkgconfig(sqlite3) |
116 |
%endif |
117 |
|
118 |
%if 0%{?with_tcpwrap} |
119 |
BuildRequires: tcp_wrappers |
120 |
%endif |
121 |
|
122 |
BuildRequires: transfig |
123 |
%if 0 |
124 |
# Disable the xapian-core requirement |
125 |
BuildRequires: xapian-core-devel |
126 |
%endif |
127 |
|
128 |
Requires: db5-utils |
129 |
Requires: file |
130 |
## Spuhler 2016-01-22: I don't think we need this (Fedora has it in the perl-libs pacakge |
131 |
#Requires: perl(:MODULE_COMPAT_%%(eval "`%%{__perl} -V:version`"; echo $version)) |
132 |
Requires(post): coreutils |
133 |
Requires(post): e2fsprogs |
134 |
Requires(post): findutils |
135 |
Requires(post): grep |
136 |
Requires(post): make |
137 |
Requires(post): openssl |
138 |
Requires(post): perl |
139 |
Requires(preun): coreutils |
140 |
Requires(pre): /usr/sbin/useradd /usr/sbin/groupadd |
141 |
Requires(preun): /usr/sbin/userdel /usr/sbin/groupdel |
142 |
Requires(post): rpm-helper >= 0.24.8-1 |
143 |
Requires(preun): rpm-helper >= 0.24.8-1 |
144 |
|
145 |
|
146 |
Obsoletes: %{name}-perl < %{version}-%{release} |
147 |
Provides: %{name}-perl = %{version}-%{release} |
148 |
Obsoletes: %{name}-utils < %{version}-%{release} |
149 |
Provides: %{name}-utils = %{version}-%{release} |
150 |
|
151 |
%description |
152 |
The %{name} package contains the core of the Cyrus IMAP server. |
153 |
It is a scaleable enterprise mail system designed for use from |
154 |
small to large enterprise environments using standards-based |
155 |
internet mail technologies. |
156 |
|
157 |
A full Cyrus IMAP implementation allows a seamless mail and bulletin |
158 |
board environment to be set up across multiple servers. It differs from |
159 |
other IMAP server implementations in that it is run on "sealed" |
160 |
servers, where users are not normally permitted to log in and have no |
161 |
system account on the server. The mailbox database is stored in parts |
162 |
of the filesystem that are private to the Cyrus IMAP server. All user |
163 |
access to mail is through software using the IMAP, POP3 or KPOP |
164 |
protocols. It also includes support for virtual domains, NNTP, |
165 |
mailbox annotations, and much more. The private mailbox database design |
166 |
gives the server large advantages in efficiency, scalability and |
167 |
administratability. Multiple concurrent read/write connections to the |
168 |
same mailbox are permitted. The server supports access control lists on |
169 |
mailboxes and storage quotas on mailbox hierarchies. |
170 |
|
171 |
The Cyrus IMAP server supports the IMAP4rev1 protocol described |
172 |
in RFC 3501. IMAP4rev1 has been approved as a proposed standard. |
173 |
It supports any authentication mechanism available from the SASL |
174 |
library, imaps/pop3s/nntps (IMAP/POP3/NNTP encrypted using SSL and |
175 |
TLSv1) can be used for security. The server supports single instance |
176 |
store where possible when an email message is addressed to multiple |
177 |
recipients, SIEVE provides server side email filtering. |
178 |
|
179 |
%package -n %{libname} |
180 |
Summary: Cyrus IMAP server library files |
181 |
Group: System/Libraries |
182 |
|
183 |
%description -n %{libname} |
184 |
The %{name}-lib package contains the library for cyrus-imapd |
185 |
|
186 |
%package -n %{develname} |
187 |
Summary: Cyrus IMAP server development files |
188 |
Group: Development/Other |
189 |
Requires: %{libname} = %{version} |
190 |
Provides: %{name}-devel = %{version}-%{release} |
191 |
|
192 |
%description -n %{develname} |
193 |
The %{name}-devel package contains header files and libraries |
194 |
necessary for developing applications which use the imclient library. |
195 |
|
196 |
|
197 |
%package -n perl-Cyrus |
198 |
Summary: Cyrus IMAPd utility Perl modules |
199 |
Group: Development/Perl |
200 |
|
201 |
%description -n perl-Cyrus |
202 |
This package contains Perl modules necessary to use the Cyrus server |
203 |
administrative utilities. |
204 |
|
205 |
The main package is %{name}. |
206 |
|
207 |
%prep |
208 |
%setup -q -n %{_name}-%{real_version}%{?dot_snapshot_version} |
209 |
%autopatch -p1 |
210 |
|
211 |
%if 0%{?with_bdb} < 1 |
212 |
sed -i -e 's/,berkeley//g' cunit/db.testc |
213 |
sed -r -i -e 's/"berkeley(|-[a-z-]+)", //g' lib/imapoptions |
214 |
%endif |
215 |
|
216 |
# only to update config.* files |
217 |
autoreconf -vi || (libtoolize --force && autoreconf -vi) |
218 |
|
219 |
# Modify docs master --> cyrus-master |
220 |
%{__perl} -pi -e "s@master\(8\)@cyrus-master(8)@" man/*5 man/*8 lib/imapoptions |
221 |
%{__sed} -i -e 's|\([^-]\)master|\1cyrus-master|g;s|^master|cyrus-master|g;s|Master|Cyrus-master|g;s|MASTER|CYRUS-MASTER|g' \ |
222 |
man/master.8 doc/man.html |
223 |
|
224 |
%if 0%{?with_dav} |
225 |
# Modify docs httpd --> cyrus-httpd |
226 |
%{__perl} -pi -e "s@httpd\(8\)@cyrus-httpd(8)@" man/*5 man/*8 lib/imapoptions |
227 |
%{__sed} -i -e 's|\([^-]\)httpd|\1cyrus-httpd|g;s|^httpd|cyrus-httpd|g;s|Httpd|Cyrus-httpd|g;s|HTTPD|CYRUS-HTTPD|g' \ |
228 |
man/httpd.8 doc/man.html |
229 |
%endif |
230 |
|
231 |
# Modify path in perl scripts |
232 |
find . -type f -name "*.pl" | xargs %{__perl} -pi -e "s@/usr/local/bin/perl@%{__perl}@" |
233 |
|
234 |
# modify lmtp socket path in .conf files |
235 |
%{__perl} -pi -e "s@/var/imap/@%{_var}/lib/imap/@" master/conf/*.conf doc/cyrusv2.mc doc/m4/%{name}-sendmail-8.12.9-cyrusv2.m4 |
236 |
|
237 |
# enable idled in .conf files to prevent error messages |
238 |
%{__perl} -pi -e "s/# idled/ idled/" master/conf/*.conf |
239 |
|
240 |
%build |
241 |
CPPFLAGS="-I%{_includedir}/et -I%{_includedir}/kerberosIV" |
242 |
export CPPFLAGS |
243 |
CFLAGS="$RPM_OPT_FLAGS -fPIC" |
244 |
export CFLAGS |
245 |
CXXFLAGS="$RPM_OPT_FLAGS -fPIC"; |
246 |
export CXXFLAGS |
247 |
CCDLFLAGS="-rdynamic" |
248 |
export CCDLFLAGS |
249 |
LDFLAGS="-L%{_libdir}" |
250 |
export LDFLAGS |
251 |
|
252 |
%configure2_5x \ |
253 |
--enable-event-notification \ |
254 |
--enable-gssapi \ |
255 |
--enable-idled \ |
256 |
--enable-murder \ |
257 |
--enable-netscapehack \ |
258 |
--enable-nntp \ |
259 |
--enable-replication \ |
260 |
--enable-unit-tests \ |
261 |
%if 0 |
262 |
--enable-xapian \ |
263 |
%endif |
264 |
%if 0%{?with_bdb} |
265 |
--with-bdb-incdir=%{_includedir}/db4 \ |
266 |
%else |
267 |
--without-bdb \ |
268 |
%endif |
269 |
--with-cyrus-prefix=%{_cyrexecdir} \ |
270 |
--with-extraident="Kolab-%{version}-%{release}" \ |
271 |
%if 0%{?with_tcpwrap} < 1 |
272 |
--without-wrap \ |
273 |
%endif |
274 |
%if 0%{?with_dav} |
275 |
--enable-http \ |
276 |
%endif |
277 |
--with-krbimpl=mit \ |
278 |
--with-ldap=/usr \ |
279 |
%if 0%{?with_mysql} |
280 |
--with-mysql=%{_prefix} \ |
281 |
--with-mysql-incdir=%{_includedir}/mysql/ \ |
282 |
--with-mysql \ |
283 |
%endif |
284 |
--with-perl=%{__perl} \ |
285 |
%if 0%{?with_pgsql} |
286 |
--with-pgsql=%{_includedir} \ |
287 |
%endif |
288 |
--with-service-path=%{_cyrexecdir} \ |
289 |
--with-syslogfacility=MAIL |
290 |
|
291 |
%make_build |
292 |
|
293 |
%install |
294 |
|
295 |
|
296 |
# Fix permissions on perl programs |
297 |
find . -type f -name "*.pl" -exec %{__chmod} 755 {} \; |
298 |
|
299 |
# Do what the regular make install does |
300 |
%{__make} install DESTDIR=%{buildroot} PREFIX=%{_prefix} mandir=%{_mandir} INSTALLDIRS=vendor |
301 |
|
302 |
# Install tools |
303 |
for tool in tools/* ; do |
304 |
test -f ${tool} && %{__install} -m 755 ${tool} %{buildroot}%{_cyrexecdir}/ |
305 |
done |
306 |
|
307 |
# Create directories |
308 |
%{__install} -d \ |
309 |
%{buildroot}%{_sysconfdir}/{logrotate.d,pam.d,cron.daily} \ |
310 |
%{buildroot}%{_libdir}/sasl \ |
311 |
%{buildroot}%{_var}/spool/imap \ |
312 |
%{buildroot}%{_var}/lib/imap/{user,quota,proc,log,msg,socket,db,sieve,sync,md5,rpm,backup,meta} \ |
313 |
%{buildroot}%{_var}/lib/imap/ptclient \ |
314 |
%{buildroot}%{_sysconfdir}/pki/%{_name} \ |
315 |
doc/contrib |
316 |
|
317 |
# Install additional files |
318 |
%{__install} -p -m 644 master/conf/prefork.conf %{buildroot}%{_sysconfdir}/cyrus.conf |
319 |
%{__install} -p -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/imapd.conf |
320 |
%{__install} -p -m 755 %{SOURCE2} %{buildroot}%{_cyrexecdir}/cvt_cyrusdb_all |
321 |
%{__install} -p -m 644 %{SOURCE3} %{buildroot}%{_var}/lib/imap/rpm/magic |
322 |
%{__install} -p -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/logrotate.d/%{_name} |
323 |
%{__install} -p -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/pop |
324 |
%{__install} -p -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/imap |
325 |
%{__install} -p -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/sieve |
326 |
%{__install} -p -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/mupdate |
327 |
%{__install} -p -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/lmtp |
328 |
%{__install} -p -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/nntp |
329 |
%{__install} -p -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/csync |
330 |
%{__install} -p -m 755 %{SOURCE13} %{buildroot}%{_sysconfdir}/cron.daily/%{_name} |
331 |
%{__install} -d %{buildroot}%{_sysconfdir}/sysconfig/ |
332 |
%{__install} -p -m 644 %{SOURCE22} %{buildroot}%{_sysconfdir}/sysconfig/%{_name} |
333 |
%{__install} -p -D -m 644 %{SOURCE31} %{buildroot}%{_unitdir}/cyrus-imapd.service |
334 |
%{__install} -p -D -m 755 %{SOURCE32} %{buildroot}%{_cyrexecdir}/cyr_systemd_helper |
335 |
|
336 |
|
337 |
# Cleanup of doc dir |
338 |
find doc perl -name CVS -type d | xargs -r %{__rm} -rf |
339 |
find doc perl -name .cvsignore -type f | xargs -r %{__rm} -f |
340 |
%{__rm} -f doc/Makefile.dist* |
341 |
%{__rm} -f doc/text/htmlstrip.c |
342 |
%{__rm} -f doc/text/Makefile |
343 |
%{__rm} -rf doc/man |
344 |
|
345 |
# fix permissions on perl .so files |
346 |
find %{buildroot}%{perl_vendorarch} -type f -name "*.so" -exec %{__chmod} 755 {} \; |
347 |
|
348 |
# fix conflicts with uw-imap |
349 |
mv %{buildroot}%{_mandir}/man8/imapd.8 %{buildroot}%{_mandir}/man8/imapd.8cyrus |
350 |
mv %{buildroot}%{_mandir}/man8/pop3d.8 %{buildroot}%{_mandir}/man8/pop3d.8cyrus |
351 |
|
352 |
# Install templates |
353 |
%{__install} -m 755 -d doc/conf |
354 |
%{__install} -m 644 master/conf/*.conf doc/conf/ |
355 |
|
356 |
# Generate db config file |
357 |
( grep '^{' lib/imapoptions | grep _db | grep -v _db_path | cut -d'"' -f 2,4 | \ |
358 |
sed -e 's/^ *//' -e 's/-nosync//' -e 's/ *$//' -e 's/"/=/' |
359 |
echo sieve_version=2.2.3 ) | sort > %{buildroot}%{_var}/lib/imap/rpm/db.cfg |
360 |
|
361 |
# create the ghost pem file |
362 |
touch %{buildroot}%{ssl_pem_file} |
363 |
|
364 |
# Rename 'master' binary and manpage to avoid clash with postfix |
365 |
%{__mv} -f %{buildroot}%{_cyrexecdir}/master %{buildroot}%{_cyrexecdir}/cyrus-master |
366 |
%{__mv} -f %{buildroot}%{_mandir}/man8/master.8 %{buildroot}%{_mandir}/man8/cyrus-master.8 |
367 |
|
368 |
# Rename 'httpd' binary and manpage to avoid clash with apache httpd |
369 |
%if 0%{?with_dav} |
370 |
%{__mv} -f %{buildroot}%{_cyrexecdir}/httpd %{buildroot}%{_cyrexecdir}/cyrus-httpd |
371 |
%{__mv} -f %{buildroot}%{_mandir}/man8/httpd.8 %{buildroot}%{_mandir}/man8/cyrus-httpd.8 |
372 |
%endif |
373 |
|
374 |
# Rename 'fetchnews' binary and manpage to avoid clash with leafnode |
375 |
%{__mv} -f %{buildroot}%{_cyrexecdir}/fetchnews %{buildroot}%{_cyrexecdir}/cyrfetchnews |
376 |
%{__mv} -f %{buildroot}%{_mandir}/man8/fetchnews.8 %{buildroot}%{_mandir}/man8/cyrfetchnews.8 |
377 |
%{__perl} -pi -e 's|fetchnews|cyrfetchnews|g;s|Fetchnews|Cyrfetchnews|g;s/FETCHNEWS/CYRFETCHNEWS/g' \ |
378 |
%{buildroot}%{_mandir}/man8/cyrfetchnews.8 |
379 |
|
380 |
# compress manpages |
381 |
[ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress |
382 |
|
383 |
# remove executable bit from docs |
384 |
for ddir in doc perl/imap/examples |
385 |
do |
386 |
find $ddir -type f -exec %{__chmod} -x {} \; |
387 |
done |
388 |
|
389 |
# Remove installed but not packaged files |
390 |
%{__rm} -f %{buildroot}%{_cyrexecdir}/htmlstrip.c |
391 |
%{__rm} -f %{buildroot}%{_cyrexecdir}/not-mkdep |
392 |
%{__rm} -f %{buildroot}%{_cyrexecdir}/config2header* |
393 |
%{__rm} -f %{buildroot}%{_cyrexecdir}/config2man |
394 |
%{__rm} -f %{buildroot}%{_cyrexecdir}/pop3proxyd |
395 |
find %{buildroot} -type f -name "perllocal.pod" -exec %{__rm} -vf {} \; |
396 |
find %{buildroot} -type f -name ".packlist" -exec %{__rm} -vf {} \; |
397 |
find %{buildroot} -type f -name ".gitignore" -exec %{__rm} -vf {} \; |
398 |
find %{buildroot} -type f -name "cyr_buildinfo" -exec %{__rm} -vf {} \; |
399 |
find %{buildroot} -type f -name "cyr_buildinfo-2.5.13-1.mga7.x86_64.debug" -exec %{__rm} -vf {} \; |
400 |
%{__rm} -f %{buildroot}%{_mandir}/man8/syncnews.8* |
401 |
find %{buildroot}%{perl_vendorarch} -type f -name "*.bs" -exec %{__rm} -vf {} \; |
402 |
|
403 |
%check |
404 |
make check || : |
405 |
|
406 |
|
407 |
%pre |
408 |
if [ $1 == 1 ]; then |
409 |
# Create 'cyrus' user on target host |
410 |
/usr/sbin/groupadd -r saslauth 2> /dev/null || : |
411 |
/usr/sbin/useradd -c "Cyrus IMAP Server" -d %{_var}/lib/imap -g %{_cyrusgroup} \ |
412 |
-G saslauth -s /sbin/nologin -r %{_cyrususer} 2> /dev/null || : |
413 |
fi |
414 |
|
415 |
## From documentation: |
416 |
# It is strongly recommended to shut down the Cyrus IMAP services |
417 |
# before performing the upgrade, as the newer binaries will end up |
418 |
# writing to mailboxes.db in a way that is not compatible with the older binaries |
419 |
# (that would otherwise still be running). |
420 |
if [ $1 == 2 ]; then |
421 |
/usr/bin/systemctl stop cyrus-imapd |
422 |
fi |
423 |
|
424 |
%post |
425 |
CHATTRSYNC=0 |
426 |
|
427 |
if [ -f "%{_sysconfdir}/sysconfig/cyrus-imapd" ]; then |
428 |
source %{_sysconfdir}/sysconfig/cyrus-imapd |
429 |
fi |
430 |
|
431 |
if [ $CHATTRSYNC -eq 1 ]; then |
432 |
# Force synchronous updates of files in the following directories |
433 |
chattr -R +S \ |
434 |
$(grep ^configdirectory: /etc/imapd.conf | cut -d':' -f2) \ |
435 |
$(grep ^partition- /etc/imapd.conf | cut -d':' -f2) \ |
436 |
$(grep ^metapartition- /etc/imapd.conf | cut -d':' -f2) 2>/dev/null ||: |
437 |
fi |
438 |
|
439 |
# Create SSL certificates |
440 |
%_create_ssl_certificate cyrus-imapd |
441 |
chown %{_cyrususer}:%{_cyrusgroup} /etc/pki/tls/private/cyrus-imapd.pem |
442 |
|
443 |
# These commands may fail in a docker container, which may not |
444 |
# have a /usr/bin/systemctl with a 'preset' command |
445 |
%_post_service cyrus-imapd |
446 |
|
447 |
%preun |
448 |
%_preun_service cyrus-imapd |
449 |
|
450 |
%files |
451 |
%doc COPYING README |
452 |
%doc doc/* |
453 |
%config(noreplace) %{_sysconfdir}/cyrus.conf |
454 |
%config(noreplace) %{_sysconfdir}/imapd.conf |
455 |
%{_unitdir}/cyrus-imapd.service |
456 |
%{_cyrexecdir}/cyr_systemd_helper |
457 |
%dir %{_sysconfdir}/pki |
458 |
%config(noreplace) %{_sysconfdir}/logrotate.d/%{_name} |
459 |
%attr(0640,root,%{_cyrusgroup}) %config(noreplace) %{_sysconfdir}/sysconfig/%{_name} |
460 |
%config(noreplace) %{_sysconfdir}/pam.d/pop |
461 |
%config(noreplace) %{_sysconfdir}/pam.d/imap |
462 |
%config(noreplace) %{_sysconfdir}/pam.d/sieve |
463 |
%config(noreplace) %{_sysconfdir}/pam.d/lmtp |
464 |
%config(noreplace) %{_sysconfdir}/pam.d/mupdate |
465 |
%config(noreplace) %{_sysconfdir}/pam.d/csync |
466 |
%config(noreplace) %{_sysconfdir}/pam.d/nntp |
467 |
%attr(0755,root,root) %{_bindir}/cyradm |
468 |
%{_bindir}/imtest |
469 |
%{_bindir}/installsieve |
470 |
%{_bindir}/lmtptest |
471 |
%{_bindir}/mupdatetest |
472 |
%{_bindir}/nntptest |
473 |
%{_bindir}/pop3test |
474 |
%{_bindir}/sieveshell |
475 |
%{_bindir}/sivtest |
476 |
%{_bindir}/smtptest |
477 |
%{_bindir}/synctest |
478 |
%{_sysconfdir}/cron.daily/%{_name} |
479 |
%dir %{_cyrexecdir} |
480 |
%{_cyrexecdir}/arbitron |
481 |
%{_cyrexecdir}/arbitronsort.pl |
482 |
%{_cyrexecdir}/chk_cyrus |
483 |
%{_cyrexecdir}/compile_st.pl |
484 |
%{_cyrexecdir}/convert-sieve.pl |
485 |
%{_cyrexecdir}/cyr_deny |
486 |
%{_cyrexecdir}/cyr_df |
487 |
%{_cyrexecdir}/cyr_info |
488 |
#%%{_cyrexecdir}/ctl_conversationsdb |
489 |
%{_cyrexecdir}/ctl_cyrusdb |
490 |
%{_cyrexecdir}/ctl_deliver |
491 |
%{_cyrexecdir}/ctl_mboxlist |
492 |
#%%{_cyrexecdir}/ctl_zoneinfo |
493 |
%{_cyrexecdir}/cvt_cyrusdb |
494 |
%{_cyrexecdir}/cyr_dbtool |
495 |
%{_cyrexecdir}/cyr_expire |
496 |
%{_cyrexecdir}/cyr_sequence |
497 |
%{_cyrexecdir}/cyr_synclog |
498 |
%{_cyrexecdir}/cyr_userseen |
499 |
%{_cyrexecdir}/cyrdump |
500 |
%if 0%{?with_dav} |
501 |
%{_cyrexecdir}/cyrus-httpd |
502 |
%{_cyrexecdir}/dav_reconstruct |
503 |
%{_cyrexecdir}/ctl_zoneinfo |
504 |
%endif |
505 |
%{_cyrexecdir}/cyrus-master |
506 |
%{_cyrexecdir}/deliver |
507 |
%{_cyrexecdir}/dohash |
508 |
%{_cyrexecdir}/fixsearchpath.pl |
509 |
%{_cyrexecdir}/fud |
510 |
%{_cyrexecdir}/git-version.sh |
511 |
#%%{_cyrexecdir}/hammer_cyrusdb |
512 |
%{_cyrexecdir}/imapd |
513 |
%{_cyrexecdir}/ipurge |
514 |
%exclude %{_cyrexecdir}/jenkins-build.sh |
515 |
%{_cyrexecdir}/lmtpd |
516 |
%{_cyrexecdir}/lmtpproxyd |
517 |
%{_cyrexecdir}/masssievec |
518 |
%{_cyrexecdir}/mbexamine |
519 |
%{_cyrexecdir}/mbpath |
520 |
%{_cyrexecdir}/mbtool |
521 |
#%%{_cyrexecdir}/message_test |
522 |
%{_cyrexecdir}/migrate-metadata |
523 |
%{_cyrexecdir}/mkimap |
524 |
%{_cyrexecdir}/mknewsgroups |
525 |
%{_cyrexecdir}/notifyd |
526 |
%{_cyrexecdir}/pop3d |
527 |
%{_cyrexecdir}/quota |
528 |
%{_cyrexecdir}/reconstruct |
529 |
%{_cyrexecdir}/rehash |
530 |
#%%{_cyrexecdir}/search_test |
531 |
%{_cyrexecdir}/sievec |
532 |
%{_cyrexecdir}/sieved |
533 |
%{_cyrexecdir}/smmapd |
534 |
#%%{_cyrexecdir}/squat_dump |
535 |
%{_cyrexecdir}/squatter |
536 |
%{_cyrexecdir}/timsieved |
537 |
%{_cyrexecdir}/tls_prune |
538 |
%{_cyrexecdir}/translatesieve |
539 |
%{_cyrexecdir}/undohash |
540 |
%{_cyrexecdir}/unexpunge |
541 |
%{_cyrexecdir}/upgradesieve |
542 |
%{_cyrexecdir}/cvt_cyrusdb_all |
543 |
%{_cyrexecdir}/idled |
544 |
%{_cyrexecdir}/mupdate |
545 |
%{_cyrexecdir}/mupdate-loadgen.pl |
546 |
%{_cyrexecdir}/proxyd |
547 |
%{_cyrexecdir}/sync_client |
548 |
%{_cyrexecdir}/sync_reset |
549 |
%{_cyrexecdir}/sync_server |
550 |
%{_cyrexecdir}/cyrfetchnews |
551 |
%{_cyrexecdir}/nntpd |
552 |
%{_cyrexecdir}/ptdump |
553 |
%{_cyrexecdir}/ptexpire |
554 |
%{_cyrexecdir}/ptloader |
555 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap |
556 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/backup |
557 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/db |
558 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/log |
559 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/meta |
560 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/md5 |
561 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/msg |
562 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_var}/lib/imap/proc |
563 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_var}/lib/imap/ptclient |
564 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/quota |
565 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/rpm |
566 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/sieve |
567 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_var}/lib/imap/socket |
568 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/sync |
569 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/user |
570 |
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/spool/imap |
571 |
%{_libdir}/*.so.* |
572 |
%{_var}/lib/imap/rpm/* |
573 |
%doc perl/imap/README |
574 |
%doc perl/imap/Changes |
575 |
%doc perl/imap/examples |
576 |
%dir %{perl_vendorarch}/Cyrus |
577 |
%dir %{perl_vendorarch}/Cyrus/IMAP |
578 |
%{perl_vendorarch}/Cyrus/IMAP/Admin.pm |
579 |
%{perl_vendorarch}/Cyrus/IMAP/Shell.pm |
580 |
%{perl_vendorarch}/Cyrus/IMAP/IMSP.pm |
581 |
%{perl_vendorarch}/Cyrus/IMAP.pm |
582 |
%dir %{perl_vendorarch}/Cyrus/SIEVE |
583 |
%{perl_vendorarch}/Cyrus/SIEVE/managesieve.pm |
584 |
%dir %{perl_vendorlib}/Cyrus/ |
585 |
%dir %{perl_vendorlib}/Cyrus/Annotator |
586 |
%{perl_vendorlib}/Cyrus/Annotator/Daemon.pm |
587 |
%{perl_vendorlib}/Cyrus/Annotator/Message.pm |
588 |
%dir %{perl_vendorarch}/auto |
589 |
%dir %{perl_vendorarch}/auto/Cyrus |
590 |
%dir %{perl_vendorarch}/auto/Cyrus/IMAP |
591 |
%{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.so |
592 |
%dir %{perl_vendorarch}/auto/Cyrus/SIEVE |
593 |
%dir %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve |
594 |
%{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.so |
595 |
%{_mandir}/man1/* |
596 |
%{_mandir}/man3/* |
597 |
%{_mandir}/man5/* |
598 |
%{_mandir}/man8/* |
599 |
%dir %{_sysconfdir}/pki/%{_name} |
600 |
%attr(0640,root,%{_cyrusgroup}) %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %{ssl_pem_file} |
601 |
|
602 |
|
603 |
%files -n %{libname} |
604 |
%{_libdir}/*.so.%{major}{,.*} |
605 |
|
606 |
%files -n %{develname} |
607 |
%defattr(0644,root,root,0755) |
608 |
%{_includedir}/cyrus |
609 |
%{_libdir}/pkgconfig/*cyrus*.pc |
610 |
%{_libdir}/*.so |
611 |
%{_libdir}/lib*.la |
612 |
|
613 |
%files -n perl-Cyrus |
614 |
%doc perl/imap/README perl/imap/Changes perl/imap/examples |
615 |
%{perl_vendorarch}/auto/Cyrus |
616 |
%{perl_vendorarch}/Cyrus |
617 |
%{_mandir}/man3/Cyrus* |