]> git.pld-linux.org Git - packages/dovecot.git/blob - dovecot.spec
e6c664e50292218864b9fe568400de8b93d13458
[packages/dovecot.git] / dovecot.spec
1 #
2 # Conditional build:
3 %bcond_without  ldap    # without LDAP auth
4 %bcond_without  mysql   # without MySQL auth
5 %bcond_without  pgsql   # without PostgreSQL auth
6 %bcond_without  sqlite  # without SQLite3 auth
7 %bcond_without  sasl    # without SASL auth
8 #
9 Summary:        IMAP and POP3 server written with security primarily in mind
10 Summary(pl.UTF-8):      Serwer IMAP i POP3 pisany głównie z myślą o bezpieczeństwie
11 Name:           dovecot
12 Version:        1.0.10
13 Release:        2
14 License:        MIT (libraries), LGPL v2.1 (the rest)
15 Group:          Networking/Daemons
16 Source0:        http://dovecot.org/releases/1.0/%{name}-%{version}.tar.gz
17 # Source0-md5:  c050fa2a7dae8984d432595e3e8183e1
18 Source1:        %{name}.pamd
19 Source2:        %{name}.init
20 Source3:        %{name}.sysconfig
21 Patch0:         %{name}-config.patch
22 #Patch1:                %{name}-dspam-plugin.patch
23 URL:            http://dovecot.org/
24 BuildRequires:  autoconf
25 BuildRequires:  automake
26 %{?with_sasl:BuildRequires:     cyrus-sasl-devel >= 2.0}
27 BuildRequires:  gettext-devel
28 BuildRequires:  krb5-devel
29 BuildRequires:  libtool
30 %{?with_mysql:BuildRequires:    mysql-devel}
31 %{?with_ldap:BuildRequires:     openldap-devel >= 2.3.3}
32 BuildRequires:  openssl-devel >= 0.9.7d
33 BuildRequires:  pam-devel
34 BuildRequires:  pkgconfig
35 %{?with_pgsql:BuildRequires:    postgresql-devel}
36 BuildRequires:  sed >= 4.0
37 %{?with_sqlite:BuildRequires:   sqlite3-devel}
38 Requires(post,preun):   /sbin/chkconfig
39 Requires(postun):       /usr/sbin/groupdel
40 Requires(postun):       /usr/sbin/userdel
41 Requires(pre):  /bin/id
42 Requires(pre):  /usr/bin/getgid
43 Requires(pre):  /usr/sbin/groupadd
44 Requires(pre):  /usr/sbin/useradd
45 Requires:       pam >= 0.79.0
46 Provides:       group(dovecot)
47 Provides:       user(dovecot)
48 Provides:       imapdaemon
49 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50
51 %description
52 Dovecot is an IMAP and POP3 server for Linux/UNIX-like systems,
53 written with security primarily in mind. Although it's written with C,
54 it uses several coding techniques to avoid most of the common
55 pitfalls.
56
57 Dovecot can work with standard mbox and maildir formats and it's fully
58 compatible with UW-IMAP and Courier IMAP servers as well as mail
59 clients accessing the mailboxes directly. It's also planned to support
60 storing mails in SQL databases.
61
62 Dovecot is easy to set up and doesn't require special maintenance.
63 Only thing you need is to get the authentication working properly - if
64 your users are in /etc/passwd there's hardly anything you have to do.
65
66 Dovecot should be pretty fast, mostly because of index files that
67 Dovecot maintains; instead of having to scan through all the data in
68 mailbox, Dovecot can get most of the wanted information from index
69 with little effort.
70
71 Status:
72 - should be quite ready for use with normal IMAP clients
73 - complete IMAP4rev1 and POP3 support
74 - supports THREAD, SORT and IDLE extensions, required by many IMAP
75   webmails
76 - complete TLS/SSL support
77 - IPv6 ready
78 - shared mailboxes aren't yet supported
79 - Maildir++ quota is supported, bad hard filesystem quota can be
80   problematic
81
82 %description -l pl.UTF-8
83 Dovecot to serwer IMAP i POP3 dla systemów linuksowych/uniksowych,
84 pisany głównie z myślą o bezpieczeństwie. Chociaż jest pisany w C,
85 używa kilku technik kodowania zapobiegających większości popularnych
86 pułapek.
87
88 Dovecot może działać ze standardowymi formatami mbox i maildir, jest
89 całkowicie kompatybilny z serwerami UW-IMAP i Courier IMAP, a także z
90 klientami pocztowymi bezpośrednio dostającymi się do skrzynek.
91 Planowana jest także obsługa przechowywania listów w bazach SQL.
92
93 Dovecot jest łatwy do skonfigurowania i nie wymaga specjalnego
94 nadzoru. Wystarczy tylko doprowadzić do działania uwierzytelnianie -
95 jeśli użytkownicy są w /etc/passwd, to właściwie nie trzeba nic
96 zmieniać.
97
98 Dovecot powinien być w miarę szybki, głównie z powodu plików
99 indeksowych utrzymywanych przez serwer; zamiast potrzeby skanowania
100 wszystkich danych w skrzynce, Dovecot może małym kosztem uzyskać
101 większość potrzebnych informacji z indeksu.
102
103 Stan:
104 - powinien być gotowy do użycia ze zwykłymi klientami IMAP
105 - pełna obsługa IMAP4rev1 i POP3
106 - obsługa rozszerzeń THREAD, SORT i IDLE, wymaganych przez wiele
107   webmaili IMAP
108 - obsługa IPv6
109 - pełna obsługa TLS/SSL
110 - quota Maildir++ jest obsługiwana, ale twarda quota na systemach
111   plików może być problematyczna
112
113 %package devel
114 Summary:        Development package for dovecot plugins
115 Summary(pl.UTF-8):      Pakiet programistyczny do tworzenia wtyczek dla dovecota
116 Group:          Development/Libraries
117 # doesn't require base
118
119 %description devel
120 Development package for dovecot plugins.
121
122 %description devel -l pl.UTF-8
123 Pakiet programistyczny do tworzenia wtyczek dla dovecota.
124
125 %prep
126 %setup -q
127 %patch0 -p1
128 #%patch1 -p1
129
130 %{__sed} -i 's,/usr/lib/dovecot,%{_libdir}/dovecot,g' dovecot-example.conf
131
132 %build
133 touch config.rpath
134 %{__libtoolize}
135 %{__aclocal}
136 %{__autoconf}
137 %{__autoheader}
138 %{__automake}
139 %configure \
140         --disable-static \
141         %{?debug:--enable-debug} \
142         --enable-header-install \
143         %{?with_ldap:--with-ldap} \
144         %{?with_mysql:--with-mysql} \
145         %{?with_pgsql:--with-pgsql} \
146         %{?with_sasl:--with-cyrus-sasl2} \
147         %{?with_sqlite:--with-sqlite} \
148         --with-gssapi \
149         --with-ssl=openssl \
150         --with-ssl-dir=/var/lib/openssl \
151         --sysconfdir=/etc/%{name}
152
153 %{__make}
154
155 %install
156 rm -rf $RPM_BUILD_ROOT
157 install -d $RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,sysconfig,security}
158 install -d $RPM_BUILD_ROOT{%{_libdir},%{_bindir}}
159 install -d $RPM_BUILD_ROOT{/var/lib/dovecot,/var/run/dovecot/login}
160
161 %{__make} install \
162         moduledir=%{_libdir}/%{name}/plugins \
163         DESTDIR=$RPM_BUILD_ROOT
164
165 mv -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{dovecot-example.conf,dovecot.conf}
166
167 install %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
168 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
169 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
170
171 touch $RPM_BUILD_ROOT/etc/security/blacklist.imap
172
173 rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins{,/imap}/*.la
174
175 # devel
176 for dir in lib lib-imap lib-mail lib-storage; do
177         install -d $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/src/$dir
178         install -p -m644 src/$dir/*.a $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/src/$dir
179 done
180 ln -sf %{_includedir}/%{name}/dovecot-config $RPM_BUILD_ROOT%{_libdir}/%{name}-devel
181
182 rm -r $RPM_BUILD_ROOT%{_docdir}/%{name}/wiki
183
184 %clean
185 rm -rf $RPM_BUILD_ROOT
186
187 %pre
188 %groupadd -g 172 dovecot
189 %useradd -u 172 -d /usr/share/empty -s /bin/false -c "Dovecot server" -g dovecot dovecot
190
191 %post
192 /sbin/chkconfig --add dovecot
193 if [ -f /var/lock/subsys/dovecot ]; then
194         /etc/rc.d/init.d/dovecot restart >&2
195 else
196         echo "Run \"/etc/rc.d/init.d/dovecot start\" to start dovecot daemon."
197 fi
198
199 %preun
200 if [ "$1" = "0" ]; then
201         if [ -f /var/lock/subsys/dovecot ]; then
202                 /etc/rc.d/init.d/dovecot stop >&2
203         fi
204         /sbin/chkconfig --del dovecot
205 fi
206
207 %postun
208 if [ "$1" = "0" ]; then
209         %userremove dovecot
210         %groupremove dovecot
211 fi
212
213 %files
214 %defattr(644,root,root,755)
215 # COPYING contains some notes, not actual LGPL text
216 %doc AUTHORS COPYING ChangeLog NEWS README TODO doc/*.txt doc/*.c*f doc/wiki/*.txt
217 %attr(755,root,root) %{_sbindir}/%{name}
218 %attr(755,root,root) %{_sbindir}/%{name}pw
219 %attr(750,root,root) %dir %{_sysconfdir}/%{name}
220 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
221 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/%{name}
222 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.imap
223 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
224 %attr(754,root,root) /etc/rc.d/init.d/%{name}
225 %dir %{_libdir}/%{name}
226 %attr(755,root,root) %{_libdir}/%{name}/checkpassword-reply
227 %attr(755,root,root) %{_libdir}/%{name}/deliver
228 %attr(755,root,root) %{_libdir}/%{name}/dict
229 %attr(755,root,root) %{_libdir}/%{name}/dovecot-auth
230 %attr(755,root,root) %{_libdir}/%{name}/gdbhelper
231 %attr(755,root,root) %{_libdir}/%{name}/idxview
232 %attr(755,root,root) %{_libdir}/%{name}/imap
233 %attr(755,root,root) %{_libdir}/%{name}/imap-login
234 %attr(755,root,root) %{_libdir}/%{name}/logview
235 %attr(755,root,root) %{_libdir}/%{name}/pop3
236 %attr(755,root,root) %{_libdir}/%{name}/pop3-login
237 %attr(755,root,root) %{_libdir}/%{name}/rawlog
238 %attr(755,root,root) %{_libdir}/%{name}/ssl-build-param
239 %dir %{_libdir}/%{name}/plugins
240 %attr(755,root,root) %{_libdir}/%{name}/plugins/*.so
241 %dir %{_libdir}/%{name}/plugins/imap
242 %attr(755,root,root)%{_libdir}/%{name}/plugins/imap/*.so
243 %dir %{_libdir}/%{name}/plugins/lda
244 %attr(755,root,root) %{_libdir}/%{name}/plugins/lda/*.so
245 %dir %{_libdir}/%{name}/plugins/pop3
246 %attr(755,root,root) %{_libdir}/%{name}/plugins/pop3/*.so
247 %dir /var/lib/dovecot
248 %dir /var/run/dovecot
249 %attr(750,root,dovecot) %dir /var/run/dovecot/login
250
251 %files devel
252 %defattr(644,root,root,755)
253 %{_libdir}/%{name}-devel
254 %{_includedir}/%{name}
This page took 0.033508 seconds and 2 git commands to generate.