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/Mail
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)
53 Suggests: php(mbstring)
55 Suggests: php(openssl)
56 Suggests: php-pear-Net_LDAP2
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 if [ -f $d/db.inc.php -o -f $d/main.inc.php ]; then
197 echo >&2 "Importing site configs from $d"
198 mkdir -p %{_sysconfdir}
199 if [ -f $d/db.inc.php ]; then
200 [ -f %{_sysconfdir}/db.inc.php ] && mv -f %{_sysconfdir}/db.inc.php{,.rpmorig}
201 cp -af $d/db.inc.php %{_sysconfdir}/db.inc.php
203 if [ -f $d/main.inc.php ]; then
204 [ -f %{_sysconfdir}/main.inc.php ] && mv -f %{_sysconfdir}/main.inc.php{,.rpmorig}
205 cp -af $d/main.inc.php %{_sysconfdir}/main.inc.php
210 %triggerin -- apache1 < 1.3.37-3, apache1-base
211 %webapp_register apache %{_webapp}
213 %triggerun -- apache1 < 1.3.37-3, apache1-base
214 %webapp_unregister apache %{_webapp}
216 %triggerin -- apache < 2.2.0, apache-base
217 %webapp_register httpd %{_webapp}
219 %triggerun -- apache < 2.2.0, apache-base
220 %webapp_unregister httpd %{_webapp}
222 %triggerin -- lighttpd
223 %webapp_register lighttpd %{_webapp}
225 %triggerun -- lighttpd
226 %webapp_unregister lighttpd %{_webapp}
229 %defattr(644,root,root,755)
230 %doc CHANGELOG INSTALL README UPGRADING
231 %dir %attr(750,root,http) %{_sysconfdir}
232 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
233 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
234 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
235 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.php
236 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
241 %dir %{_appdir}/config
242 %{_appdir}/config/*.php
243 %dir %{_appdir}/program
244 %{_appdir}/program/*.gif
245 %{_appdir}/program/include
246 %{_appdir}/program/js
247 %{_appdir}/program/lib
248 %{_appdir}/program/steps
249 %dir %{_appdir}/program/localization
250 %{_appdir}/program/localization/index.inc
253 %lang(ar_SA) %{_appdir}/program/localization/ar_SA
254 %lang(ast) %{_appdir}/program/localization/ast
255 %lang(az) %{_appdir}/program/localization/az_AZ
256 %lang(bg) %{_appdir}/program/localization/bg_BG
257 %lang(bn_BD) %{_appdir}/program/localization/bn_BD
258 %lang(br) %{_appdir}/program/localization/br
259 %lang(bs) %{_appdir}/program/localization/bs_BA
260 %lang(ca) %{_appdir}/program/localization/ca_ES
261 %lang(cs) %{_appdir}/program/localization/cs_CZ
262 %lang(cy) %{_appdir}/program/localization/cy_GB
263 %lang(da) %{_appdir}/program/localization/da_DK
264 %lang(de) %{_appdir}/program/localization/de_DE
265 %lang(de_CH) %{_appdir}/program/localization/de_CH
266 %lang(el) %{_appdir}/program/localization/el_GR
267 %lang(en_GB) %{_appdir}/program/localization/en_GB
268 %lang(en_US) %{_appdir}/program/localization/en_US
269 %lang(eo) %{_appdir}/program/localization/eo
270 %lang(es) %{_appdir}/program/localization/es_ES
271 %lang(es_AR) %{_appdir}/program/localization/es_AR
272 %lang(et) %{_appdir}/program/localization/et_EE
273 %lang(eu) %{_appdir}/program/localization/eu_ES
274 %lang(fa) %{_appdir}/program/localization/fa
275 %lang(fa_AF) %{_appdir}/program/localization/fa_AF
276 %lang(fi) %{_appdir}/program/localization/fi_FI
277 %lang(fr) %{_appdir}/program/localization/fr_FR
278 %lang(ga) %{_appdir}/program/localization/ga_IE
279 %lang(gl) %{_appdir}/program/localization/gl_ES
280 %lang(he) %{_appdir}/program/localization/he_IL
281 %lang(hi) %{_appdir}/program/localization/hi_IN
282 %lang(hr) %{_appdir}/program/localization/hr_HR
283 %lang(hu) %{_appdir}/program/localization/hu_HU
284 %lang(hy) %{_appdir}/program/localization/hy_AM
285 %lang(id) %{_appdir}/program/localization/id_ID
286 %lang(is) %{_appdir}/program/localization/is_IS
287 %lang(it) %{_appdir}/program/localization/it_IT
288 %lang(ja) %{_appdir}/program/localization/ja_JP
289 %lang(ka) %{_appdir}/program/localization/ka_GE
290 %lang(ko) %{_appdir}/program/localization/ko_KR
291 %lang(ku) %{_appdir}/program/localization/ku
292 %lang(lt) %{_appdir}/program/localization/lt_LT
293 %lang(lv) %{_appdir}/program/localization/lv_LV
294 %lang(mk) %{_appdir}/program/localization/mk_MK
295 %lang(mr) %{_appdir}/program/localization/mr_IN
296 %lang(ms) %{_appdir}/program/localization/ms_MY
297 %lang(nb) %{_appdir}/program/localization/nb_NO
298 %lang(ne) %{_appdir}/program/localization/ne_NP
299 %lang(nl) %{_appdir}/program/localization/nl_NL
300 %lang(nl_BE) %{_appdir}/program/localization/nl_BE
301 %lang(nn) %{_appdir}/program/localization/nn_NO
302 %lang(pl) %{_appdir}/program/localization/pl_PL
303 %lang(ps) %{_appdir}/program/localization/ps
304 %lang(pt) %{_appdir}/program/localization/pt_PT
305 %lang(pt_BR) %{_appdir}/program/localization/pt_BR
306 %lang(ro) %{_appdir}/program/localization/ro_RO
307 %lang(ru) %{_appdir}/program/localization/ru_RU
308 %lang(si) %{_appdir}/program/localization/si_LK
309 %lang(sk) %{_appdir}/program/localization/sk_SK
310 %lang(sl) %{_appdir}/program/localization/sl_SI
311 %lang(sq) %{_appdir}/program/localization/sq_AL
312 %lang(sr) %{_appdir}/program/localization/sr_CS
313 %lang(sv) %{_appdir}/program/localization/sv_SE
314 %lang(th) %{_appdir}/program/localization/th_TH
315 %lang(tr) %{_appdir}/program/localization/tr_TR
316 %lang(uk) %{_appdir}/program/localization/uk_UA
317 %lang(vn) %{_appdir}/program/localization/vi_VN
318 %lang(zh_CN) %{_appdir}/program/localization/zh_CN
319 %lang(zh_TW) %{_appdir}/program/localization/zh_TW
321 %dir %{_appdir}/skins
322 %dir %attr(770,root,http) %{_applogdir}
323 %dir %attr(751,root,logs) %{_archivelogdir}
324 %dir %attr(770,root,http) %{_appdatadir}
326 # TODO: %ghost logfile(s)
329 %defattr(644,root,root,755)
330 %dir %{_appdir}/installer
331 %{_appdir}/installer/*.php
332 %{_appdir}/installer/client.js
333 %{_appdir}/installer/styles.css
334 %{_appdir}/installer/welcome.html
335 %{_appdir}/installer/images
336 %{_appdir}/config/*.php.dist
340 %defattr(644,root,root,755)
341 %{_appdir}/skins/default