]> git.pld-linux.org Git - packages/cyrus-imapd.git/blob - cyrus-imapd.spec
3ffe010e9cb12b387b76835ee6f553244ddc06a6
[packages/cyrus-imapd.git] / cyrus-imapd.spec
1 %include        /usr/lib/rpm/macros.perl
2 Summary:        high-performance mail store with imap and pop3
3 Name:           cyrus-imapd
4 Version:        2.0.9
5 Release:        0.2
6 License:        academic/research
7 Group:          Networking/Daemons
8 Group(de):      Netzwerkwesen/Server
9 Group(pl):      Sieciowe/Serwery
10 Source0:        ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/%{name}-%{version}.tar.gz
11 Source1:        cyrus-README
12 Source2:        cyrus-procmailrc
13 Source3:        cyrus-deliver-wrapper.c
14 Source4:        cyrus-user-procmailrc.template
15 Source5:        %{name}-procmail+cyrus.mc
16 Source6:        %{name}.logrotate
17 Source7:        %{name}.conf
18 Source8:        %{name}.cron
19 Source9:        %{name}.pamd
20 Source10:       %{name}-pop.pamd
21 Source11:       %{name}.init
22 Source12:       cyrus.conf
23 Patch0:         %{name}-snmp.patch
24 Patch1:         %{name}-mandir.patch
25 Patch2:         %{name}-paths.patch
26 URL:            http://andrew2.andrew.cmu.edu/cyrus/imapd/
27 #Icon:          cyrus.gif
28 BuildRequires:  cyrus-sasl-devel
29 #BuildRequires: tcl-devel >= 8.0
30 BuildRequires:  openssl-devel
31 BuildRequires:  perl >= 5.6.0
32 BuildRequires:  db3-devel >= 3.1.17
33 Obsoletes:      imapd
34 Obsoletes:      pop3daemon
35 Obsoletes:      imapdaemon
36 Conflicts:      qpopper
37 Conflicts:      solid-pop3d
38 Conflicts:      qpopper6
39 Provides:       imapdaemon
40 Provides:       pop3daemon
41 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
42
43 %define         _libexecdir     %{_prefix}/lib/cyrus
44
45 %description
46 The Cyrus IMAP server is a scaleable enterprise mail system designed
47 for use from small to large enterprise environments using
48 standards-based technologies.
49
50 A full Cyrus IMAP implementation allows a seamless mail and bulletin
51 board environment to be set up across multiple servers. It differs
52 from other IMAP server implementations in that it is run on "sealed"
53 servers, where users are not normally permitted to log in. The mailbox
54 database is stored in parts of the filesystem that are private to the
55 Cyrus IMAP system. All user access to mail is through software using
56 the IMAP, POP3, or KPOP protocols.
57
58 Note that this package can be used by ISPs and other to provide mail
59 services, but it may not be distributed as part of a commercial
60 product.
61
62 %description -l pl
63 Serwer Cyrus IMAP jest skalowalnym systemem e-mail dla
64 przedsiêbiorstwa, zaprojektowanym dla ma³ych i du¿ych firm i
65 wykorzystuj±cym oparte na standardach technologie.
66
67 Pe³na implementacja Cyrus IMAP pozwala na bezproblemowe ustawienie
68 ¶rodowiska poczty i elektronicznej tablicy og³oszeniowej na kilku
69 serwerach. Tym siê ró¿ni od innych implementacji serwerów IMAP, ¿e
70 jest uruchamiany na "opieczêtowanych" serwerach, na które w normalnych
71 waunkach u¿ytkownicy nie mog± siê zalogowaæ. Baza danych skrzynek
72 pocztowych jest pzrechowywana w tych czê¶ciach systemu plików, które
73 s± dostêpne jedynie dla systemu IMAP Cyrus. Wszelki dostêp do poczty
74 ma miejsce poprzez oprogramowanie wykorzystuj±ce protoko³y IMAP, POP3
75 oraz KPOP.
76
77 Nale¿y zwróciæ uwagê na fakt, ¿e pakiet ten mo¿e byæ wykorzystywany
78 przez ISP, nie mo¿e byæ jednak rozpowszechniany jako czê¶æ
79 komercyjnego produktu.
80
81 %prep
82 %setup -q 
83 %patch0 -p1
84 %patch1 -p1
85 %patch2 -p0
86
87 %build
88 cd makedepend
89 autoconf
90 %configure 
91 %{__make}
92 export PATH=$PATH:`pwd`
93 cd ..
94 autoheader
95 autoconf
96 %configure \
97         --with-auth=unix \
98         --without-libwrap \
99         --with-cyrus-prefix=%{_libexecdir}
100 %{__make}
101
102 %{__cc} "%{?debug:-O -g}%{!?debug:$RPM_OPT_FLAGS}" \
103         -DLIBEXECDIR=\"%{_libexecdir}\" -s -Wall -o deliver-wrapper %{SOURCE3}
104
105 %install
106 rm -rf $RPM_BUILD_ROOT
107
108 install -d \
109         $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
110         $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,cron.daily,sysconfig/rc-inetd} \
111         $RPM_BUILD_ROOT/var/spool/imap/stage. \
112         $RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
113         $RPM_BUILD_ROOT/etc/{security,pam.d,rc.d/init.d}
114
115 touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
116         $RPM_BUILD_ROOT/var/lib/imap/faillog \
117         $RPM_BUILD_ROOT/etc/security/blacklist.imap \
118         $RPM_BUILD_ROOT/etc/security/blacklist.pop
119
120 %{__make} install DESTDIR=$RPM_BUILD_ROOT CYRUS_USER="`id -u`" CYRUS_GROUP="`id -g`" mandir=%{_mandir}
121
122 install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
123
124 install %{SOURCE1}      %{SOURCE2} %{SOURCE4} %{SOURCE5} .
125 install %{SOURCE6}      $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
126 install %{SOURCE7}      $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
127 install %{SOURCE8}      $RPM_BUILD_ROOT/etc/cron.daily/cyrus-imapd
128 install %{SOURCE9}      $RPM_BUILD_ROOT/etc/pam.d/imap
129 install %{SOURCE10}     $RPM_BUILD_ROOT/etc/pam.d/pop
130 install %{SOURCE11}     $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
131 install %{SOURCE12}     $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
132
133 mv -f $RPM_BUILD_ROOT%{_libexecdir}/bin/*       $RPM_BUILD_ROOT%{_libexecdir}
134 mv -f $RPM_BUILD_ROOT%{_libexecdir}/master      $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
135 rm -rf $RPM_BUILD_ROOT%{_libexecdir}/bin
136
137 touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop}
138
139 gzip -9nf cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template \
140         cyrus-imapd-procmail+cyrus.mc
141
142 # make hashed dirs
143 oldpwd=`pwd`
144 cd $RPM_BUILD_ROOT/var
145 perl <<EOF
146 foreach \$i ("a".."z") 
147 {
148   mkdir "lib/imap/user/\$i", 0755;
149   mkdir "lib/imap/quota/\$i", 0755;
150   mkdir "lib/imap/sieve/\$i", 0755;
151   mkdir "spool/imap/\$i", 0755;
152 }
153 EOF
154 cd ${oldpwd}
155
156 %pre
157 if [ -z "`id -u cyrus 2>/dev/null`" ]; then
158         /usr/sbin/useradd -u 76 -r -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus 1>&2
159 fi
160
161 %post
162 /sbin/chkconfig --add cyrus-imapd
163 touch /var/lib/imap/faillog
164 chown cyrus.mail /var/lib/imap/faillog
165 chmod 640 /var/lib/imap/faillog
166 cd /var/lib/imap
167 chattr +S . user quota user/* quota/* 2>/dev/null
168 chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null
169 if [ -f /var/lock/subsys/cyrus-imapd ]; then
170         /etc/rc.d/init.d/cyrus-imapd restart 1>&2
171 else
172         echo "Run \"/etc/rc.d/init.d/cyrus-imapd start\" to start apache http daemon."
173 fi
174
175 %preun
176 if [ "$1" = "0" ]; then
177         if [ -f /var/lock/subsys/cyrus-imapd ]; then
178                 /etc/rc.d/init.d/cyrus-imapd stop 1>&2
179         fi
180         /sbin/chkconfig --del cyrus-imapd
181 fi
182
183 %postun
184 if [ "$1" = "0" ]; then
185         /usr/sbin/userdel cyrus
186 fi
187
188 %clean
189 rm -rf $RPM_BUILD_ROOT
190
191 %files
192 %defattr(644,root,root,755)
193 %doc *.gz doc/*.html
194 %config %{_sysconfdir}/*.conf
195 %attr(640,root,root) /etc/logrotate.d/cyrus-imapd
196 %attr(440,cyrus,root) %config(noreplace) %verify(not size md5 mtime) /etc/pam.d/*
197 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/security/blacklist.*
198 %attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
199 %attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
200 %attr(755,root,root) /etc/cron.daily/cyrus-imapd
201 %attr(755,root,root) %{_bindir}/*
202 %attr(4754,cyrus,mail) %{_libexecdir}/deliver
203 %attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
204 %attr(755,root,root) %{_libexecdir}/ctl_deliver
205 %attr(755,root,root) %{_libexecdir}/ctl_mboxlist
206 %attr(755,root,root) %{_libexecdir}/feedcyrus
207 %attr(755,root,root) %{_libexecdir}/fud
208 %attr(755,root,root) %{_libexecdir}/imapd
209 %attr(755,root,root) %{_libexecdir}/ipurge
210 %attr(755,root,root) %{_libexecdir}/lmtpd
211 %attr(755,root,root) %{_libexecdir}/cyrus-master
212 %attr(755,root,root) %{_libexecdir}/mbpath
213 %attr(755,root,root) %{_libexecdir}/pop3d
214 %attr(755,root,root) %{_libexecdir}/quota
215 %attr(755,root,root) %{_libexecdir}/reconstruct
216 %attr(755,root,root) %{_libexecdir}/timsieved
217
218 %dir %{perl_sitearch}/Cyrus
219 %{perl_sitearch}/Cyrus/*.pm
220 %dir %{perl_sitearch}/Cyrus/IMAP
221 %{perl_sitearch}/Cyrus/IMAP/*.pm
222 %dir %{perl_sitearch}/Cyrus/SIEVE
223 %{perl_sitearch}/Cyrus/SIEVE/*.pm
224 %dir %{perl_sitearch}/auto/Cyrus
225 %dir %{perl_sitearch}/auto/Cyrus/IMAP
226 %{perl_sitearch}/auto/Cyrus/IMAP/*.so
227 %{perl_sitearch}/auto/Cyrus/IMAP/*.bs
228 %dir %{perl_sitearch}/auto/Cyrus/SIEVE
229 %dir %{perl_sitearch}/auto/Cyrus/SIEVE/acap
230 %{perl_sitearch}/auto/Cyrus/SIEVE/acap/*.so
231 %{perl_sitearch}/auto/Cyrus/SIEVE/acap/*.bs
232 %dir %{perl_sitearch}/auto/Cyrus/SIEVE/managesieve
233 %{perl_sitearch}/auto/Cyrus/SIEVE/managesieve/*.so
234 %{perl_sitearch}/auto/Cyrus/SIEVE/managesieve/*.bs
235
236 %attr(750,cyrus,mail) /var/spool/imap
237 %attr(750,cyrus,mail) %dir /var/lib/imap
238 %attr(750,cyrus,mail) %dir /var/lib/imap/deliverdb
239 %attr(750,cyrus,mail) /var/lib/imap/deliverdb/db
240 %attr(750,cyrus,mail) /var/lib/imap/quota
241 %attr(750,cyrus,mail) /var/lib/imap/user
242 %attr(750,cyrus,mail) /var/lib/imap/sieve
243 %attr(750,cyrus,mail) /var/lib/imap/log
244 %attr(750,cyrus,mail) /var/lib/imap/msg
245 %attr(750,cyrus,mail) /var/lib/imap/proc
246 %attr(750,cyrus,mail) /var/lib/imap/db
247 %attr(750,cyrus,mail) /var/lib/imap/socket
248 %attr(750,cyrus,mail) %config(noreplace) %verify(not size md5 mtime) /var/lib/imap/mailboxes
249
250 %{_mandir}/man*/*
251 %{_includedir}/cyrus
252 %{_libdir}/lib*.a
This page took 0.047689 seconds and 3 git commands to generate.