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(sockets)
39 Requires: rpm-whiteout >= 1.22
45 Suggests: php(openssl)
46 Suggests: php-pecl-fileinfo
47 Conflicts: logrotate < 3.7-4
49 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51 %define _webapps /etc/webapps
52 %define _webapp roundcube
53 %define _sysconfdir %{_webapps}/%{_webapp}
54 %define _appdir %{_datadir}/%{_webapp}
55 %define _appdatadir /var/lib/roundcube
56 %define _applogdir /var/log/roundcube
57 %define _archivelogdir /var/log/archive/roundcube
60 RoundCube Webmail is a browser-based multilingual IMAP client with an
61 application-like user interface. It provides full functionality you
62 expect from an e-mail client, including MIME support, address book,
63 folder manipulation and message filters. RoundCube Webmail is written
64 in PHP and requires the MySQL database. The user interface is fully
65 skinnable using XHTML and CSS 2.
67 %description -l pl.UTF-8
68 RoundCube Webmail to oparty na przeglądarce wielojęzyczny klient PHP z
69 interfejsem użytkownika podobnym do aplikacji. Udostępnia pełną
70 funkcjonalność jakiej można oczekiwać od klienta pocztowego, w tym
71 obsługę MIME, książkę adresową, operacje na folderach i filtry
72 wiadomości. RoundCube Webmail jest napisany w PHP i wymaga bazy danych
73 MySQL. Interfejs użytkownika można w pełni obudować skórką przy użyciu
77 Summary: Installer script for RoundCube Webmail
78 Summary(pl.UTF-8): Skrypt instalacyjny RoundCube Webmaila
79 Group: Applications/WWW
80 Requires: %{name} = %{version}-%{release}
83 This package provides installer script for RoundCube Webmail.
85 %description setup -l pl.UTF-8
86 Ten pakiet zawiera skrypt instalacyjny RoundCube Webmaila.
89 Summary: Default skin for RoundCube Webmail
90 Summary(pl.UTF-8): Domyślna skórka dla RoundCube Webmaila
91 Group: Applications/WWW
92 Requires: %{name} = %{version}-%{release}
93 Provides: %{name}-skin
95 %description skin-default
96 Default skin for RoundCube Webmail.
98 %description skin-default -l pl.UTF-8
99 Domyślna skórka dla RoundCube Webmaila.
102 %setup -q %{?with_postfixadmin:-a 4}
104 %if %{with spamfilter}
107 %if %{with postfixadmin}
112 find -name .svn | xargs -r rm -rf
115 find '(' -name '*.php' -o -name '*.inc' -o -name '*.js' -o -name '*.css' ')' -print0 | xargs -0 sed -i -e 's,\r$,,'
117 mv config/db.inc.php.dist config/db.inc.php
118 mv config/main.inc.php.dist config/main.inc.php
119 %if %{with postfixadmin}
120 mv rcpfa-%{rcpfa_ver} rcpfa
122 cp code/forwarding.html ../skins/default/templates
123 cp code/password.html ../skins/default/templates
124 cp code/vacation.html ../skins/default/templates
125 cp code/pfa_forwarding.inc ../program/steps/settings
126 cp code/pfa_password.inc ../program/steps/settings
127 cp code/pfa_vacation.inc ../program/steps/settings
128 cp code/pfa.php ../program/include
130 patch -d .. -p1 < diffs/app.js.diff
131 patch -d .. -p1 < diffs/db.inc.php.diff
132 patch -d .. -p1 < diffs/func.inc.diff
133 patch -d .. -p1 < diffs/index.php.diff
134 patch -d .. -p1 < diffs/labels.inc.diff
135 patch -d .. -p1 < diffs/main.inc.diff
136 patch -d .. -p1 < diffs/main.inc.php.diff
137 patch -d .. -p1 < diffs/messages.inc.diff
138 patch -d .. -p1 < diffs/rcube_user.php.diff
139 patch -d .. -p1 < diffs/settingstabs.html.diff
143 rm -rf $RPM_BUILD_ROOT
144 install -d $RPM_BUILD_ROOT{%{_appdatadir},%{_applogdir},%{_archivelogdir},%{_sysconfdir}} \
145 $RPM_BUILD_ROOT{%{_appdir}/{bin,config,installer,program,skins},/etc/logrotate.d}
147 # Main application part:
148 cp -a program/* $RPM_BUILD_ROOT%{_appdir}/program
149 cp -a bin/*.php $RPM_BUILD_ROOT%{_appdir}/bin
150 cp -a index.php $RPM_BUILD_ROOT%{_appdir}
153 cp -a skins/* $RPM_BUILD_ROOT%{_appdir}/skins
156 cp -a installer/* $RPM_BUILD_ROOT%{_appdir}/installer
157 cp -a config/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php.dist
158 cp -a config/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php.dist
159 cp -a SQL $RPM_BUILD_ROOT%{_appdir}
162 cp -a plugins $RPM_BUILD_ROOT%{_appdir}/plugins
165 cp -a config/db.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/db.inc.php
166 cp -a config/main.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/main.inc.php
167 ln -sf %{_sysconfdir}/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php
168 ln -sf %{_sysconfdir}/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php
170 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
171 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
172 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
173 install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
176 rm -rf $RPM_BUILD_ROOT
179 if [ ! -f %{_sysconfdir}/db.inc.php -o ! -f %{_sysconfdir}/main.inc.php ]; then
180 # import configs from previously manually installed site
181 d=/home/services/httpd/html/config
182 echo >&2 "Importing site configs from $d"
183 mkdir -p %{_sysconfdir}
184 if [ -f $d/db.inc.php ]; then
185 [ -f %{_sysconfdir}/db.inc.php ] && mv -f %{_sysconfdir}/db.inc.php{,.rpmorig}
186 cp -af $d/db.inc.php %{_sysconfdir}/db.inc.php
188 if [ -f $d/main.inc.php ]; then
189 [ -f %{_sysconfdir}/main.inc.php ] && mv -f %{_sysconfdir}/main.inc.php{,.rpmorig}
190 cp -af $d/main.inc.php %{_sysconfdir}/main.inc.php
195 if [ "$1" = 0 ]; then
196 %banner -e %{name} <<'EOF'
197 To customize installed languages set
198 %%_install_langs in /etc/rpm/macros.lang
203 %triggerin -- apache1 < 1.3.37-3, apache1-base
204 %webapp_register apache %{_webapp}
206 %triggerun -- apache1 < 1.3.37-3, apache1-base
207 %webapp_unregister apache %{_webapp}
209 %triggerin -- apache < 2.2.0, apache-base
210 %webapp_register httpd %{_webapp}
212 %triggerun -- apache < 2.2.0, apache-base
213 %webapp_unregister httpd %{_webapp}
215 %triggerin -- lighttpd
216 %webapp_register lighttpd %{_webapp}
218 %triggerun -- lighttpd
219 %webapp_unregister lighttpd %{_webapp}
222 %defattr(644,root,root,755)
223 %doc CHANGELOG INSTALL README UPGRADING
224 %dir %attr(750,root,http) %{_sysconfdir}
225 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
226 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
227 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
228 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.php
229 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
234 %dir %{_appdir}/config
235 %{_appdir}/config/*.php
236 %dir %{_appdir}/program
237 %{_appdir}/program/*.gif
238 %{_appdir}/program/include
239 %{_appdir}/program/js
240 %{_appdir}/program/lib
241 %{_appdir}/program/steps
242 %dir %{_appdir}/program/localization
243 %{_appdir}/program/localization/index.inc
246 %lang(ar_SA) %{_appdir}/program/localization/ar_SA
247 %lang(ast) %{_appdir}/program/localization/ast
248 %lang(az) %{_appdir}/program/localization/az_AZ
249 %lang(bg) %{_appdir}/program/localization/bg_BG
250 %lang(bn_BD) %{_appdir}/program/localization/bn_BD
251 %lang(br) %{_appdir}/program/localization/br
252 %lang(bs) %{_appdir}/program/localization/bs_BA
253 %lang(ca) %{_appdir}/program/localization/ca_ES
254 %lang(cs) %{_appdir}/program/localization/cs_CZ
255 %lang(cy) %{_appdir}/program/localization/cy_GB
256 %lang(da) %{_appdir}/program/localization/da_DK
257 %lang(de) %{_appdir}/program/localization/de_DE
258 %lang(de_CH) %{_appdir}/program/localization/de_CH
259 %lang(el) %{_appdir}/program/localization/el_GR
260 %lang(en_GB) %{_appdir}/program/localization/en_GB
261 %lang(en_US) %{_appdir}/program/localization/en_US
262 %lang(eo) %{_appdir}/program/localization/eo
263 %lang(es) %{_appdir}/program/localization/es_ES
264 %lang(es_AR) %{_appdir}/program/localization/es_AR
265 %lang(et) %{_appdir}/program/localization/et_EE
266 %lang(eu) %{_appdir}/program/localization/eu_ES
267 %lang(fa) %{_appdir}/program/localization/fa
268 %lang(fa_AF) %{_appdir}/program/localization/fa_AF
269 %lang(fi) %{_appdir}/program/localization/fi_FI
270 %lang(fr) %{_appdir}/program/localization/fr_FR
271 %lang(ga) %{_appdir}/program/localization/ga_IE
272 %lang(gl) %{_appdir}/program/localization/gl_ES
273 %lang(he) %{_appdir}/program/localization/he_IL
274 %lang(hi) %{_appdir}/program/localization/hi_IN
275 %lang(hr) %{_appdir}/program/localization/hr_HR
276 %lang(hu) %{_appdir}/program/localization/hu_HU
277 %lang(hy) %{_appdir}/program/localization/hy_AM
278 %lang(id) %{_appdir}/program/localization/id_ID
279 %lang(is) %{_appdir}/program/localization/is_IS
280 %lang(it) %{_appdir}/program/localization/it_IT
281 %lang(ja) %{_appdir}/program/localization/ja_JP
282 %lang(ka) %{_appdir}/program/localization/ka_GE
283 %lang(ko) %{_appdir}/program/localization/ko_KR
284 %lang(ku) %{_appdir}/program/localization/ku
285 %lang(lt) %{_appdir}/program/localization/lt_LT
286 %lang(lv) %{_appdir}/program/localization/lv_LV
287 %lang(mk) %{_appdir}/program/localization/mk_MK
288 %lang(mr) %{_appdir}/program/localization/mr_IN
289 %lang(ms) %{_appdir}/program/localization/ms_MY
290 %lang(nb) %{_appdir}/program/localization/nb_NO
291 %lang(ne) %{_appdir}/program/localization/ne_NP
292 %lang(nl) %{_appdir}/program/localization/nl_NL
293 %lang(nl_BE) %{_appdir}/program/localization/nl_BE
294 %lang(nn) %{_appdir}/program/localization/nn_NO
295 %lang(pl) %{_appdir}/program/localization/pl_PL
296 %lang(ps) %{_appdir}/program/localization/ps
297 %lang(pt) %{_appdir}/program/localization/pt_PT
298 %lang(pt_BR) %{_appdir}/program/localization/pt_BR
299 %lang(ro) %{_appdir}/program/localization/ro_RO
300 %lang(ru) %{_appdir}/program/localization/ru_RU
301 %lang(si) %{_appdir}/program/localization/si_LK
302 %lang(sk) %{_appdir}/program/localization/sk_SK
303 %lang(sl) %{_appdir}/program/localization/sl_SI
304 %lang(sq) %{_appdir}/program/localization/sq_AL
305 %lang(sr) %{_appdir}/program/localization/sr_CS
306 %lang(sv) %{_appdir}/program/localization/sv_SE
307 %lang(th) %{_appdir}/program/localization/th_TH
308 %lang(tr) %{_appdir}/program/localization/tr_TR
309 %lang(uk) %{_appdir}/program/localization/uk_UA
310 %lang(vn) %{_appdir}/program/localization/vi_VN
311 %lang(zh_CN) %{_appdir}/program/localization/zh_CN
312 %lang(zh_TW) %{_appdir}/program/localization/zh_TW
314 %dir %{_appdir}/skins
315 %dir %attr(770,root,http) %{_applogdir}
316 %dir %attr(751,root,logs) %{_archivelogdir}
317 %dir %attr(770,root,http) %{_appdatadir}
319 # TODO: %ghost logfile(s)
322 %defattr(644,root,root,755)
323 %dir %{_appdir}/installer
324 %{_appdir}/installer/*.php
325 %{_appdir}/installer/client.js
326 %{_appdir}/installer/styles.css
327 %{_appdir}/installer/welcome.html
328 %{_appdir}/installer/images
329 %{_appdir}/config/*.php.dist
333 %defattr(644,root,root,755)
334 %{_appdir}/skins/default