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