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