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