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
14 %define rcpfa_ver 1.0.4
15 Summary: RoundCube Webmail
16 Summary(pl.UTF-8): RoundCube Webmail - poczta przez WWW
19 Release: 0.%{subver}.%{rel}
21 Group: Applications/WWW
22 Source0: http://dl.sourceforge.net/roundcubemail/%{name}-%{version}-%{subver}.tar.gz
23 # Source0-md5: a029f57239fe32ea133357f4208f753f
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-104.tgz
28 # Source4-md5: 2b2ea2f284abd15128f1e3d7475effcf
29 Patch0: %{name}-config.patch
30 Patch1: %{name}-faq-page.patch
31 Patch2: %{name}-tz.patch
32 Patch3: %{name}-spam.patch
33 Patch4: %{name}-postfixadmin-pl_locales.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(sockets)
47 Suggests: php(openssl)
48 Suggests: php-pecl-fileinfo
49 Conflicts: logrotate < 3.7-4
51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
53 %define _webapps /etc/webapps
54 %define _webapp roundcube
55 %define _sysconfdir %{_webapps}/%{_webapp}
56 %define _appdir %{_datadir}/%{_webapp}
57 %define _appdatadir /var/lib/roundcube
58 %define _applogdir /var/log/roundcube
59 %define _archivelogdir /var/log/archive/roundcube
62 RoundCube Webmail is a browser-based multilingual IMAP client with an
63 application-like user interface. It provides full functionality you
64 expect from an e-mail client, including MIME support, address book,
65 folder manipulation and message filters. RoundCube Webmail is written
66 in PHP and requires the MySQL database. The user interface is fully
67 skinnable using XHTML and CSS 2.
69 %description -l pl.UTF-8
70 RoundCube Webmail to oparty na przeglądarce wielojęzyczny klient PHP z
71 interfejsem użytkownika podobnym do aplikacji. Udostępnia pełną
72 funkcjonalność jakiej można oczekiwać od klienta pocztowego, w tym
73 obsługę MIME, książkę adresową, operacje na folderach i filtry
74 wiadomości. RoundCube Webmail jest napisany w PHP i wymaga bazy danych
75 MySQL. Interfejs użytkownika można w pełni obudować skórką przy użyciu
79 Summary: Installer script for RoundCube Webmail
80 Summary(pl.UTF-8): Skrypt instalacyjny RoundCube Webmaila
81 Group: Applications/WWW
82 Requires: %{name} = %{version}-%{release}
85 This package provides installer script for RoundCube Webmail.
87 %description setup -l pl.UTF-8
88 Ten pakiet zawiera skrypt instalacyjny RoundCube Webmaila.
91 Summary: Default skin for RoundCube Webmail
92 Summary(pl.UTF-8): Domyślna skórka dla RoundCube Webmaila
93 Group: Applications/WWW
94 Provides: %{name}-skin
96 %description skin-default
97 Default skin for RoundCube Webmail.
99 %description skin-default -l pl.UTF-8
100 Domyślna skórka dla RoundCube Webmaila.
103 %setup -q -n %{name}-%{version}-%{subver} %{?with_postfixadmin:-a 4}
105 #%patch1 -p1 need to rewrite
107 %if %{with spamfilter}
110 %if %{with postfixadmin}
114 find -name .svn | xargs -r rm -rf
117 find '(' -name '*.php' -o -name '*.inc' -o -name '*.js' -o -name '*.css' ')' -print0 | xargs -0 sed -i -e 's,\r$,,'
119 mv config/db.inc.php.dist config/db.inc.php
120 mv config/main.inc.php.dist config/main.inc.php
121 %if %{with postfixadmin}
122 mv rcpfa-%{rcpfa_ver} rcpfa
123 cp rcpfa/code/forwarding.html skins/default/templates
124 cp rcpfa/code/password.html skins/default/templates
125 cp rcpfa/code/vacation.html skins/default/templates
126 cp rcpfa/code/pfa_forwarding.inc program/steps/settings
127 cp rcpfa/code/pfa_password.inc program/steps/settings
128 cp rcpfa/code/pfa_vacation.inc program/steps/settings
129 cp rcpfa/code/pfa.php program/include
131 patch -p1 < rcpfa/diffs/app.js.diff
132 patch -p1 < rcpfa/diffs/db.inc.php.diff
133 patch -p1 < rcpfa/diffs/func.inc.diff
134 patch -p1 < rcpfa/diffs/index.php.diff
135 patch -p1 < rcpfa/diffs/labels.inc.diff
136 patch -p1 < rcpfa/diffs/main.inc.diff
137 patch -p1 < rcpfa/diffs/main.inc.php.diff
138 patch -p1 < rcpfa/diffs/messages.inc.diff
139 patch -p1 < rcpfa/diffs/rcube_user.php.diff
140 patch -p1 < rcpfa/diffs/settingstabs.html.diff
144 rm -rf $RPM_BUILD_ROOT
145 install -d $RPM_BUILD_ROOT{%{_appdatadir},%{_applogdir},%{_archivelogdir},%{_sysconfdir}} \
146 $RPM_BUILD_ROOT{%{_appdir}/{bin,config,installer,program,skins},/etc/logrotate.d}
148 # Main application part:
149 cp -a program/* $RPM_BUILD_ROOT%{_appdir}/program
150 cp -a bin/*.php $RPM_BUILD_ROOT%{_appdir}/bin
151 cp -a index.php $RPM_BUILD_ROOT%{_appdir}
154 cp -a skins/* $RPM_BUILD_ROOT%{_appdir}/skins
157 cp -a installer/* $RPM_BUILD_ROOT%{_appdir}/installer
158 cp -a config/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php.dist
159 cp -a config/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php.dist
160 cp -a SQL $RPM_BUILD_ROOT%{_appdir}
163 cp -a config/db.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/db.inc.php
164 cp -a config/main.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/main.inc.php
165 ln -sf %{_sysconfdir}/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php
166 ln -sf %{_sysconfdir}/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php
168 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
169 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
170 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
171 install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
174 rm -rf $RPM_BUILD_ROOT
177 if [ ! -f %{_sysconfdir}/db.inc.php -o ! -f %{_sysconfdir}/main.inc.php ]; then
178 # import configs from previously manually installed site
179 d=/home/services/httpd/html/config
180 echo >&2 "Importing site configs from $d"
181 mkdir -p %{_sysconfdir}
182 if [ -f $d/db.inc.php ]; then
183 [ -f %{_sysconfdir}/db.inc.php ] && mv -f %{_sysconfdir}/db.inc.php{,.rpmorig}
184 cp -af $d/db.inc.php %{_sysconfdir}/db.inc.php
186 if [ -f $d/main.inc.php ]; then
187 [ -f %{_sysconfdir}/main.inc.php ] && mv -f %{_sysconfdir}/main.inc.php{,.rpmorig}
188 cp -af $d/main.inc.php %{_sysconfdir}/main.inc.php
193 if [ "$1" = 0 ]; then
194 %banner -e %{name} <<'EOF'
195 To customize installed languages set
196 %%_install_langs in /etc/rpm/macros.lang
201 %triggerin -- apache1 < 1.3.37-3, apache1-base
202 %webapp_register apache %{_webapp}
204 %triggerun -- apache1 < 1.3.37-3, apache1-base
205 %webapp_unregister apache %{_webapp}
207 %triggerin -- apache < 2.2.0, apache-base
208 %webapp_register httpd %{_webapp}
210 %triggerun -- apache < 2.2.0, apache-base
211 %webapp_unregister httpd %{_webapp}
213 %triggerin -- lighttpd
214 %webapp_register lighttpd %{_webapp}
216 %triggerun -- lighttpd
217 %webapp_unregister lighttpd %{_webapp}
220 %defattr(644,root,root,755)
221 %doc CHANGELOG INSTALL README UPGRADING
222 %dir %attr(750,root,http) %{_sysconfdir}
223 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
224 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
225 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
226 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.php
227 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
232 %dir %{_appdir}/config
233 %{_appdir}/config/*.php
234 %dir %{_appdir}/program
235 %{_appdir}/program/*.gif
236 %{_appdir}/program/include
237 %{_appdir}/program/js
238 %{_appdir}/program/lib
239 %{_appdir}/program/steps
240 %dir %{_appdir}/program/localization
241 %{_appdir}/program/localization/index.inc
243 %lang(ar_SA) %{_appdir}/program/localization/ar_SA
244 %lang(az) %{_appdir}/program/localization/az_AZ
245 %lang(bg) %{_appdir}/program/localization/bg_BG
246 %lang(bs) %{_appdir}/program/localization/bs_BA
247 %lang(ca) %{_appdir}/program/localization/ca_ES
248 %lang(cs) %{_appdir}/program/localization/cs_CZ
249 %lang(cy) %{_appdir}/program/localization/cy_GB
250 %lang(da) %{_appdir}/program/localization/da_DK
251 %lang(de_CH) %{_appdir}/program/localization/de_CH
252 %lang(de) %{_appdir}/program/localization/de_DE
253 %lang(el) %{_appdir}/program/localization/el_GR
254 %lang(en_GB) %{_appdir}/program/localization/en_GB
255 %lang(en_US) %{_appdir}/program/localization/en_US
256 %lang(eo) %{_appdir}/program/localization/eo
257 %lang(es) %{_appdir}/program/localization/es_ES
258 %lang(et) %{_appdir}/program/localization/et_EE
259 %lang(eu) %{_appdir}/program/localization/eu_ES
260 %lang(fa) %{_appdir}/program/localization/fa
261 %lang(fi) %{_appdir}/program/localization/fi_FI
262 %lang(fr) %{_appdir}/program/localization/fr_FR
263 %lang(ga) %{_appdir}/program/localization/ga_IE
264 %lang(gl) %{_appdir}/program/localization/gl_ES
265 %lang(he) %{_appdir}/program/localization/he_IL
266 %lang(hi) %{_appdir}/program/localization/hi_IN
267 %lang(hr) %{_appdir}/program/localization/hr_HR
268 %lang(hu) %{_appdir}/program/localization/hu_HU
269 %lang(hy) %{_appdir}/program/localization/hy_AM
270 %lang(id) %{_appdir}/program/localization/id_ID
271 %lang(is) %{_appdir}/program/localization/is_IS
272 %lang(it) %{_appdir}/program/localization/it_IT
273 %lang(ja) %{_appdir}/program/localization/ja_JP
274 %lang(ka) %{_appdir}/program/localization/ka_GE
275 %lang(ko) %{_appdir}/program/localization/ko_KR
276 %lang(ku) %{_appdir}/program/localization/ku
277 %lang(lt) %{_appdir}/program/localization/lt_LT
278 %lang(lv) %{_appdir}/program/localization/lv_LV
279 %lang(mk) %{_appdir}/program/localization/mk_MK
280 %lang(ms) %{_appdir}/program/localization/ms_MY
281 %lang(nb) %{_appdir}/program/localization/nb_NO
282 %lang(ne) %{_appdir}/program/localization/ne_NP
283 %lang(nl) %{_appdir}/program/localization/nl_NL
284 %lang(nl_BE) %{_appdir}/program/localization/nl_BE
285 %lang(nn) %{_appdir}/program/localization/nn_NO
286 %lang(pl) %{_appdir}/program/localization/pl_PL
287 %lang(pt) %{_appdir}/program/localization/pt_PT
288 %lang(pt_BR) %{_appdir}/program/localization/pt_BR
289 %lang(ro) %{_appdir}/program/localization/ro_RO
290 %lang(ru) %{_appdir}/program/localization/ru_RU
291 %lang(si) %{_appdir}/program/localization/si_LK
292 %lang(sk) %{_appdir}/program/localization/sk_SK
293 %lang(sl) %{_appdir}/program/localization/sl_SI
294 %lang(sq) %{_appdir}/program/localization/sq_AL
295 %lang(sr) %{_appdir}/program/localization/sr_CS
296 %lang(sv) %{_appdir}/program/localization/sv_SE
297 %lang(th) %{_appdir}/program/localization/th_TH
298 %lang(tr) %{_appdir}/program/localization/tr_TR
299 %lang(uk) %{_appdir}/program/localization/uk_UA
300 %lang(vn) %{_appdir}/program/localization/vi_VN
301 %lang(zh_CN) %{_appdir}/program/localization/zh_CN
302 %lang(zh_TW) %{_appdir}/program/localization/zh_TW
304 %dir %{_appdir}/skins
305 %dir %attr(770,root,http) %{_applogdir}
306 %dir %attr(751,root,logs) %{_archivelogdir}
307 %dir %attr(770,root,http) %{_appdatadir}
311 %defattr(644,root,root,755)
312 %dir %{_appdir}/installer
313 %{_appdir}/installer/*.php
314 %{_appdir}/installer/client.js
315 %{_appdir}/installer/styles.css
316 %{_appdir}/installer/welcome.html
317 %{_appdir}/installer/images
318 %{_appdir}/config/*.php.dist
322 %defattr(644,root,root,755)
323 %{_appdir}/skins/default