2 # - prepare config for lighttpd
3 # - it has PEAR boundled inside - use system ones
4 # - use pear-deps system?
5 # - use system js/tiny_mce
6 # - package: http://blog.ilohamail.org/ and remove boundled classess from it
7 # - Some php-database backend. Suggests?
8 # - test/finish and then enable by default password-anon-ldap-bind patch
10 %bcond_with spamfilter # Build with spamfilter patch
11 %bcond_with postfixadmin # Build with postfixadmin support patch
12 %bcond_with password_anon_ldap_bind # apply with password-anon-ldap-bind patch.
14 %define rcpfa_ver 1.0.5
15 Summary: RoundCube Webmail
16 Summary(pl.UTF-8): RoundCube Webmail - poczta przez WWW
21 Group: Applications/WWW
22 Source0: http://downloads.sourceforge.net/roundcubemail/%{name}-%{version}.tar.gz
23 # Source0-md5: 34e8e18772e7eada8769b6c5c20f7c8e
24 Source1: %{name}.config
25 Source2: %{name}.logrotate
26 Source3: %{name}-lighttpd.conf
27 Source4: http://nejc.skoberne.net/wp-content/uploads/2008/11/rcpfa-105.tgz
28 # Source4-md5: dc23bcd894f693db74fce53b09ab58d6
29 Patch0: %{name}-config.patch
30 Patch1: %{name}-spam.patch
31 Patch2: %{name}-postfixadmin-pl_locales.patch
32 Patch3: %{name}-faq-page.patch
33 Patch4: %{name}-password-anon-ldap-bind.patch
34 URL: http://www.roundcube.net/
35 BuildRequires: rpmbuild(macros) >= 1.268
36 BuildRequires: sed >= 4.0
37 Requires: %{name}-skin
41 Requires: php(session)
42 Requires: php(sockets)
46 Requires: rpm-whiteout >= 1.22
48 Requires: webserver(alias)
49 Requires: webserver(indexfile)
50 Requires: webserver(php)
54 Suggests: php(mbstring)
56 Suggests: php(openssl)
57 Suggests: php-pecl-fileinfo
58 Conflicts: logrotate < 3.7-4
60 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62 %define _webapps /etc/webapps
63 %define _webapp roundcube
64 %define _sysconfdir %{_webapps}/%{_webapp}
65 %define _appdir %{_datadir}/%{_webapp}
66 %define _appdatadir /var/lib/roundcube
67 %define _applogdir /var/log/roundcube
68 %define _archivelogdir /var/log/archive/roundcube
71 RoundCube Webmail is a browser-based multilingual IMAP client with an
72 application-like user interface. It provides full functionality you
73 expect from an e-mail client, including MIME support, address book,
74 folder manipulation and message filters. RoundCube Webmail is written
75 in PHP and requires the MySQL database. The user interface is fully
76 skinnable using XHTML and CSS 2.
78 %description -l pl.UTF-8
79 RoundCube Webmail to oparty na przeglądarce wielojęzyczny klient PHP z
80 interfejsem użytkownika podobnym do aplikacji. Udostępnia pełną
81 funkcjonalność jakiej można oczekiwać od klienta pocztowego, w tym
82 obsługę MIME, książkę adresową, operacje na folderach i filtry
83 wiadomości. RoundCube Webmail jest napisany w PHP i wymaga bazy danych
84 MySQL. Interfejs użytkownika można w pełni obudować skórką przy użyciu
88 Summary: Installer script for RoundCube Webmail
89 Summary(pl.UTF-8): Skrypt instalacyjny RoundCube Webmaila
90 Group: Applications/WWW
91 Requires: %{name} = %{version}-%{release}
94 This package provides installer script for RoundCube Webmail.
96 %description setup -l pl.UTF-8
97 Ten pakiet zawiera skrypt instalacyjny RoundCube Webmaila.
100 Summary: Default skin for RoundCube Webmail
101 Summary(pl.UTF-8): Domyślna skórka dla RoundCube Webmaila
102 Group: Applications/WWW
103 Requires: %{name} = %{version}-%{release}
104 Provides: %{name}-skin
106 %description skin-default
107 Default skin for RoundCube Webmail.
109 %description skin-default -l pl.UTF-8
110 Domyślna skórka dla RoundCube Webmaila.
113 %setup -q %{?with_postfixadmin:-a 4}
115 %if %{with spamfilter}
118 %if %{with postfixadmin}
122 %if %{with password_anon_ldap_bind}
126 find -name .svn | xargs -r rm -rf
129 find '(' -name '*.php' -o -name '*.inc' -o -name '*.js' -o -name '*.css' ')' -print0 | xargs -0 sed -i -e 's,\r$,,'
131 mv config/db.inc.php.dist config/db.inc.php
132 mv config/main.inc.php.dist config/main.inc.php
133 %if %{with postfixadmin}
134 mv rcpfa-%{rcpfa_ver} rcpfa
136 cp code/forwarding.html ../skins/default/templates
137 cp code/password.html ../skins/default/templates
138 cp code/vacation.html ../skins/default/templates
139 cp code/pfa_forwarding.inc ../program/steps/settings
140 cp code/pfa_password.inc ../program/steps/settings
141 cp code/pfa_vacation.inc ../program/steps/settings
142 cp code/pfa.php ../program/include
144 patch -d .. -p1 < diffs/app.js.diff
145 patch -d .. -p1 < diffs/db.inc.php.diff
146 patch -d .. -p1 < diffs/func.inc.diff
147 patch -d .. -p1 < diffs/index.php.diff
148 patch -d .. -p1 < diffs/labels.inc.diff
149 patch -d .. -p1 < diffs/main.inc.diff
150 patch -d .. -p1 < diffs/main.inc.php.diff
151 patch -d .. -p1 < diffs/messages.inc.diff
152 patch -d .. -p1 < diffs/rcube_user.php.diff
153 patch -d .. -p1 < diffs/settingstabs.html.diff
157 rm -rf $RPM_BUILD_ROOT
158 install -d $RPM_BUILD_ROOT{%{_appdatadir},%{_applogdir},%{_archivelogdir},%{_sysconfdir}} \
159 $RPM_BUILD_ROOT{%{_appdir}/{bin,config,installer,program,skins},/etc/logrotate.d}
161 # Main application part:
162 cp -a program/* $RPM_BUILD_ROOT%{_appdir}/program
163 cp -a bin/*.php $RPM_BUILD_ROOT%{_appdir}/bin
164 cp -a index.php $RPM_BUILD_ROOT%{_appdir}
167 cp -a skins/* $RPM_BUILD_ROOT%{_appdir}/skins
170 cp -a installer/* $RPM_BUILD_ROOT%{_appdir}/installer
171 cp -a config/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php.dist
172 cp -a config/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php.dist
173 cp -a SQL $RPM_BUILD_ROOT%{_appdir}
176 cp -a plugins $RPM_BUILD_ROOT%{_appdir}/plugins
179 cp -a config/db.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/db.inc.php
180 cp -a config/main.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/main.inc.php
181 ln -sf %{_sysconfdir}/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php
182 ln -sf %{_sysconfdir}/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php
184 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
185 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
186 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
187 install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
190 rm -rf $RPM_BUILD_ROOT
193 if [ ! -f %{_sysconfdir}/db.inc.php -o ! -f %{_sysconfdir}/main.inc.php ]; then
194 # import configs from previously manually installed site
195 d=/home/services/httpd/html/config
196 echo >&2 "Importing site configs from $d"
197 mkdir -p %{_sysconfdir}
198 if [ -f $d/db.inc.php ]; then
199 [ -f %{_sysconfdir}/db.inc.php ] && mv -f %{_sysconfdir}/db.inc.php{,.rpmorig}
200 cp -af $d/db.inc.php %{_sysconfdir}/db.inc.php
202 if [ -f $d/main.inc.php ]; then
203 [ -f %{_sysconfdir}/main.inc.php ] && mv -f %{_sysconfdir}/main.inc.php{,.rpmorig}
204 cp -af $d/main.inc.php %{_sysconfdir}/main.inc.php
208 %triggerin -- apache1 < 1.3.37-3, apache1-base
209 %webapp_register apache %{_webapp}
211 %triggerun -- apache1 < 1.3.37-3, apache1-base
212 %webapp_unregister apache %{_webapp}
214 %triggerin -- apache < 2.2.0, apache-base
215 %webapp_register httpd %{_webapp}
217 %triggerun -- apache < 2.2.0, apache-base
218 %webapp_unregister httpd %{_webapp}
220 %triggerin -- lighttpd
221 %webapp_register lighttpd %{_webapp}
223 %triggerun -- lighttpd
224 %webapp_unregister lighttpd %{_webapp}
227 %defattr(644,root,root,755)
228 %doc CHANGELOG INSTALL README UPGRADING
229 %dir %attr(750,root,http) %{_sysconfdir}
230 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
231 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
232 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
233 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.php
234 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
239 %dir %{_appdir}/config
240 %{_appdir}/config/*.php
241 %dir %{_appdir}/program
242 %{_appdir}/program/*.gif
243 %{_appdir}/program/include
244 %{_appdir}/program/js
245 %{_appdir}/program/lib
246 %{_appdir}/program/steps
247 %dir %{_appdir}/program/localization
248 %{_appdir}/program/localization/index.inc
251 %lang(ar_SA) %{_appdir}/program/localization/ar_SA
252 %lang(ast) %{_appdir}/program/localization/ast
253 %lang(az) %{_appdir}/program/localization/az_AZ
254 %lang(bg) %{_appdir}/program/localization/bg_BG
255 %lang(bn_BD) %{_appdir}/program/localization/bn_BD
256 %lang(br) %{_appdir}/program/localization/br
257 %lang(bs) %{_appdir}/program/localization/bs_BA
258 %lang(ca) %{_appdir}/program/localization/ca_ES
259 %lang(cs) %{_appdir}/program/localization/cs_CZ
260 %lang(cy) %{_appdir}/program/localization/cy_GB
261 %lang(da) %{_appdir}/program/localization/da_DK
262 %lang(de) %{_appdir}/program/localization/de_DE
263 %lang(de_CH) %{_appdir}/program/localization/de_CH
264 %lang(el) %{_appdir}/program/localization/el_GR
265 %lang(en_GB) %{_appdir}/program/localization/en_GB
266 %lang(en_US) %{_appdir}/program/localization/en_US
267 %lang(eo) %{_appdir}/program/localization/eo
268 %lang(es) %{_appdir}/program/localization/es_ES
269 %lang(es_AR) %{_appdir}/program/localization/es_AR
270 %lang(et) %{_appdir}/program/localization/et_EE
271 %lang(eu) %{_appdir}/program/localization/eu_ES
272 %lang(fa) %{_appdir}/program/localization/fa
273 %lang(fa_AF) %{_appdir}/program/localization/fa_AF
274 %lang(fi) %{_appdir}/program/localization/fi_FI
275 %lang(fr) %{_appdir}/program/localization/fr_FR
276 %lang(ga) %{_appdir}/program/localization/ga_IE
277 %lang(gl) %{_appdir}/program/localization/gl_ES
278 %lang(he) %{_appdir}/program/localization/he_IL
279 %lang(hi) %{_appdir}/program/localization/hi_IN
280 %lang(hr) %{_appdir}/program/localization/hr_HR
281 %lang(hu) %{_appdir}/program/localization/hu_HU
282 %lang(hy) %{_appdir}/program/localization/hy_AM
283 %lang(id) %{_appdir}/program/localization/id_ID
284 %lang(is) %{_appdir}/program/localization/is_IS
285 %lang(it) %{_appdir}/program/localization/it_IT
286 %lang(ja) %{_appdir}/program/localization/ja_JP
287 %lang(ka) %{_appdir}/program/localization/ka_GE
288 %lang(ko) %{_appdir}/program/localization/ko_KR
289 %lang(ku) %{_appdir}/program/localization/ku
290 %lang(lt) %{_appdir}/program/localization/lt_LT
291 %lang(lv) %{_appdir}/program/localization/lv_LV
292 %lang(mk) %{_appdir}/program/localization/mk_MK
293 %lang(mr) %{_appdir}/program/localization/mr_IN
294 %lang(ms) %{_appdir}/program/localization/ms_MY
295 %lang(nb) %{_appdir}/program/localization/nb_NO
296 %lang(ne) %{_appdir}/program/localization/ne_NP
297 %lang(nl) %{_appdir}/program/localization/nl_NL
298 %lang(nl_BE) %{_appdir}/program/localization/nl_BE
299 %lang(nn) %{_appdir}/program/localization/nn_NO
300 %lang(pl) %{_appdir}/program/localization/pl_PL
301 %lang(ps) %{_appdir}/program/localization/ps
302 %lang(pt) %{_appdir}/program/localization/pt_PT
303 %lang(pt_BR) %{_appdir}/program/localization/pt_BR
304 %lang(ro) %{_appdir}/program/localization/ro_RO
305 %lang(ru) %{_appdir}/program/localization/ru_RU
306 %lang(si) %{_appdir}/program/localization/si_LK
307 %lang(sk) %{_appdir}/program/localization/sk_SK
308 %lang(sl) %{_appdir}/program/localization/sl_SI
309 %lang(sq) %{_appdir}/program/localization/sq_AL
310 %lang(sr) %{_appdir}/program/localization/sr_CS
311 %lang(sv) %{_appdir}/program/localization/sv_SE
312 %lang(th) %{_appdir}/program/localization/th_TH
313 %lang(tr) %{_appdir}/program/localization/tr_TR
314 %lang(uk) %{_appdir}/program/localization/uk_UA
315 %lang(vn) %{_appdir}/program/localization/vi_VN
316 %lang(zh_CN) %{_appdir}/program/localization/zh_CN
317 %lang(zh_TW) %{_appdir}/program/localization/zh_TW
319 %dir %{_appdir}/skins
320 %dir %attr(770,root,http) %{_applogdir}
321 %dir %attr(751,root,logs) %{_archivelogdir}
322 %dir %attr(770,root,http) %{_appdatadir}
324 # TODO: %ghost logfile(s)
327 %defattr(644,root,root,755)
328 %dir %{_appdir}/installer
329 %{_appdir}/installer/*.php
330 %{_appdir}/installer/client.js
331 %{_appdir}/installer/styles.css
332 %{_appdir}/installer/welcome.html
333 %{_appdir}/installer/images
334 %{_appdir}/config/*.php.dist
338 %defattr(644,root,root,755)
339 %{_appdir}/skins/default