]>
Commit | Line | Data |
---|---|---|
600b6f8b | 1 | # TODO: |
600b6f8b | 2 | # - it has PEAR boundled inside - use system ones |
32abe254 | 3 | # - use pear-deps system? |
a87cdb0e | 4 | # - use system js/tiny_mce |
32abe254 | 5 | # - package: http://blog.ilohamail.org/ and remove boundled classess from it |
a0651488 | 6 | # - Some php-database backend. Suggests? |
7859ddcb | 7 | # - test/finish and then enable by default password-anon-ldap-bind patch |
5d53966e SP |
8 | # |
9 | %bcond_with spamfilter # Build with spamfilter patch | |
b9aeba97 | 10 | %bcond_with postfixadmin # Build with postfixadmin support patch |
51610214 | 11 | %bcond_with password_anon_ldap_bind # apply with password-anon-ldap-bind patch. |
5d53966e | 12 | |
2c65974f | 13 | %define rcpfa_ver 1.0.5 |
e2c7ca4f ER |
14 | %define php_min_version 5.2.3 |
15 | ||
16 | %include /usr/lib/rpm/macros.php | |
600b6f8b | 17 | Summary: RoundCube Webmail |
07c0744d | 18 | Summary(pl.UTF-8): RoundCube Webmail - poczta przez WWW |
600b6f8b | 19 | Name: roundcubemail |
e7167a32 | 20 | Version: 0.4 |
5e4530ac | 21 | Release: 2 |
600b6f8b | 22 | License: GPL v2 |
d3874ddf | 23 | Group: Applications/Mail |
22e93b97 | 24 | Source0: http://downloads.sourceforge.net/roundcubemail/%{name}-%{version}.tar.gz |
e7167a32 | 25 | # Source0-md5: 6e5d2313087ce1e1209eb0f4fd71beab |
32abe254 | 26 | Source1: %{name}.config |
94ca3383 | 27 | Source2: %{name}.logrotate |
beb3779c | 28 | Source3: %{name}-lighttpd.conf |
2c65974f PG |
29 | Source4: http://nejc.skoberne.net/wp-content/uploads/2008/11/rcpfa-105.tgz |
30 | # Source4-md5: dc23bcd894f693db74fce53b09ab58d6 | |
600b6f8b | 31 | Patch0: %{name}-config.patch |
6511b436 ER |
32 | Patch1: %{name}-spam.patch |
33 | Patch2: %{name}-postfixadmin-pl_locales.patch | |
34 | Patch3: %{name}-faq-page.patch | |
7859ddcb | 35 | Patch4: %{name}-password-anon-ldap-bind.patch |
600b6f8b | 36 | URL: http://www.roundcube.net/ |
e2c7ca4f | 37 | BuildRequires: rpm-php-pearprov >= 4.4.2-11 |
e7167a32 | 38 | BuildRequires: rpmbuild(macros) >= 1.553 |
a87cdb0e | 39 | BuildRequires: sed >= 4.0 |
3727377d | 40 | Requires: %{name}-skin |
e2c7ca4f ER |
41 | Requires: php-common >= 4:%{php_min_version} |
42 | Requires: php-date | |
43 | Requires: php-dom | |
44 | Requires: php-imap | |
45 | Requires: php-json | |
46 | Requires: php-pcre | |
b8598ece | 47 | Requires: php-pear-DB |
e2c7ca4f ER |
48 | Requires: php-session |
49 | Requires: php-simplexml | |
50 | Requires: php-sockets | |
51 | Requires: php-spl | |
52 | Requires: php-xml | |
22e93b97 | 53 | Requires: rpm-whiteout >= 1.22 |
600b6f8b | 54 | Requires: webapps |
22e93b97 | 55 | Requires: webserver(alias) |
114a69ab | 56 | Requires: webserver(indexfile) |
22e93b97 | 57 | Requires: webserver(php) |
e2c7ca4f ER |
58 | Suggests: php-fileinfo |
59 | Suggests: php-gd | |
60 | Suggests: php-iconv | |
61 | Suggests: php-mbstring | |
62 | Suggests: php-mcrypt | |
63 | Suggests: php-openssl | |
ddd8e01c | 64 | Suggests: php-pear-Net_LDAP2 |
7e68a9e0 | 65 | Conflicts: logrotate < 3.7-4 |
600b6f8b PG |
66 | BuildArch: noarch |
67 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
68 | ||
69 | %define _webapps /etc/webapps | |
5737afb2 | 70 | %define _webapp roundcube |
600b6f8b PG |
71 | %define _sysconfdir %{_webapps}/%{_webapp} |
72 | %define _appdir %{_datadir}/%{_webapp} | |
73 | %define _appdatadir /var/lib/roundcube | |
8f3a4fab | 74 | %define _applogdir /var/log/roundcube |
e324f8fc | 75 | %define _archivelogdir /var/log/archive/roundcube |
600b6f8b | 76 | |
e2c7ca4f ER |
77 | # bad depsolver |
78 | %define _noautopear pear | |
79 | ||
80 | # exclude optional php dependencies | |
81 | %define _noautophp php-sqlite php-mysql php-mysqli php-pgsql php-hash | |
82 | ||
83 | # put it together for rpmbuild | |
84 | %define _noautoreq %{?_noautophp} %{?_noautopear} | |
85 | ||
600b6f8b PG |
86 | %description |
87 | RoundCube Webmail is a browser-based multilingual IMAP client with an | |
88 | application-like user interface. It provides full functionality you | |
89 | expect from an e-mail client, including MIME support, address book, | |
90 | folder manipulation and message filters. RoundCube Webmail is written | |
91 | in PHP and requires the MySQL database. The user interface is fully | |
92 | skinnable using XHTML and CSS 2. | |
93 | ||
d9bffeff JR |
94 | %description -l pl.UTF-8 |
95 | RoundCube Webmail to oparty na przeglądarce wielojęzyczny klient PHP z | |
96 | interfejsem użytkownika podobnym do aplikacji. Udostępnia pełną | |
97 | funkcjonalność jakiej można oczekiwać od klienta pocztowego, w tym | |
98 | obsługę MIME, książkę adresową, operacje na folderach i filtry | |
99 | wiadomości. RoundCube Webmail jest napisany w PHP i wymaga bazy danych | |
100 | MySQL. Interfejs użytkownika można w pełni obudować skórką przy użyciu | |
5d23c484 JB |
101 | XHTML-a i CSS 2. |
102 | ||
a10cd471 | 103 | %package setup |
00ff8410 | 104 | Summary: Installer script for RoundCube Webmail |
a210006f | 105 | Summary(pl.UTF-8): Skrypt instalacyjny RoundCube Webmaila |
00ff8410 | 106 | Group: Applications/WWW |
8b170957 | 107 | Requires: %{name} = %{version}-%{release} |
00ff8410 | 108 | |
a10cd471 | 109 | %description setup |
a210006f JB |
110 | This package provides installer script for RoundCube Webmail. |
111 | ||
112 | %description setup -l pl.UTF-8 | |
113 | Ten pakiet zawiera skrypt instalacyjny RoundCube Webmaila. | |
00ff8410 | 114 | |
3727377d ER |
115 | %package skin-default |
116 | Summary: Default skin for RoundCube Webmail | |
205b27a0 | 117 | Summary(pl.UTF-8): Domyślna skórka dla RoundCube Webmaila |
3727377d | 118 | Group: Applications/WWW |
220183ec | 119 | Requires: %{name} = %{version}-%{release} |
3727377d ER |
120 | Provides: %{name}-skin |
121 | ||
122 | %description skin-default | |
123 | Default skin for RoundCube Webmail. | |
124 | ||
205b27a0 JB |
125 | %description skin-default -l pl.UTF-8 |
126 | Domyślna skórka dla RoundCube Webmaila. | |
127 | ||
600b6f8b | 128 | %prep |
6511b436 | 129 | %setup -q %{?with_postfixadmin:-a 4} |
600b6f8b | 130 | %patch0 -p1 |
5d53966e | 131 | %if %{with spamfilter} |
6511b436 | 132 | %patch1 -p1 |
5d53966e | 133 | %endif |
1e701d3b | 134 | %if %{with postfixadmin} |
2c65974f | 135 | #patch2 -p1 |
1e701d3b | 136 | %endif |
220183ec | 137 | %patch3 -p1 |
51610214 | 138 | %if %{with password_anon_ldap_bind} |
7859ddcb | 139 | %patch4 -p1 |
140 | %endif | |
600b6f8b | 141 | |
5737afb2 ER |
142 | find -name .svn | xargs -r rm -rf |
143 | ||
a87cdb0e | 144 | # undos the source |
e7167a32 ER |
145 | %undos -f php,inc,js,css |
146 | ||
147 | # kill extensions and fill proper shebang | |
148 | %{__sed} -i -e '1s,^#!.*php,#!%{__php},' bin/*.sh | |
149 | for a in bin/*.sh; do | |
150 | mv $a ${a%.sh} | |
151 | done | |
a87cdb0e | 152 | |
b9aeba97 | 153 | mv config/db.inc.php.dist config/db.inc.php |
154 | mv config/main.inc.php.dist config/main.inc.php | |
155 | %if %{with postfixadmin} | |
fb493b0a | 156 | mv rcpfa-%{rcpfa_ver} rcpfa |
2c65974f PG |
157 | cd rcpfa |
158 | cp code/forwarding.html ../skins/default/templates | |
159 | cp code/password.html ../skins/default/templates | |
160 | cp code/vacation.html ../skins/default/templates | |
161 | cp code/pfa_forwarding.inc ../program/steps/settings | |
162 | cp code/pfa_password.inc ../program/steps/settings | |
163 | cp code/pfa_vacation.inc ../program/steps/settings | |
164 | cp code/pfa.php ../program/include | |
165 | ||
166 | patch -d .. -p1 < diffs/app.js.diff | |
167 | patch -d .. -p1 < diffs/db.inc.php.diff | |
168 | patch -d .. -p1 < diffs/func.inc.diff | |
169 | patch -d .. -p1 < diffs/index.php.diff | |
170 | patch -d .. -p1 < diffs/labels.inc.diff | |
171 | patch -d .. -p1 < diffs/main.inc.diff | |
172 | patch -d .. -p1 < diffs/main.inc.php.diff | |
173 | patch -d .. -p1 < diffs/messages.inc.diff | |
174 | patch -d .. -p1 < diffs/rcube_user.php.diff | |
175 | patch -d .. -p1 < diffs/settingstabs.html.diff | |
b9aeba97 | 176 | %endif |
6f843021 | 177 | |
600b6f8b PG |
178 | %install |
179 | rm -rf $RPM_BUILD_ROOT | |
e324f8fc | 180 | install -d $RPM_BUILD_ROOT{%{_appdatadir},%{_applogdir},%{_archivelogdir},%{_sysconfdir}} \ |
98cf2bae | 181 | $RPM_BUILD_ROOT{%{_appdir}/{bin,config,installer,program,skins},/etc/logrotate.d} |
600b6f8b PG |
182 | |
183 | # Main application part: | |
59b0d169 | 184 | cp -a program/* $RPM_BUILD_ROOT%{_appdir}/program |
e7167a32 | 185 | cp -a bin/* $RPM_BUILD_ROOT%{_appdir}/bin |
59b0d169 | 186 | cp -a index.php $RPM_BUILD_ROOT%{_appdir} |
600b6f8b | 187 | |
3727377d | 188 | # Skins installation |
59b0d169 | 189 | cp -a skins/* $RPM_BUILD_ROOT%{_appdir}/skins |
600b6f8b | 190 | |
98cf2bae SP |
191 | # Installer part |
192 | cp -a installer/* $RPM_BUILD_ROOT%{_appdir}/installer | |
a0651488 ER |
193 | cp -a config/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php.dist |
194 | cp -a config/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php.dist | |
195 | cp -a SQL $RPM_BUILD_ROOT%{_appdir} | |
98cf2bae | 196 | |
2a88dca9 | 197 | # Plugins |
198 | cp -a plugins $RPM_BUILD_ROOT%{_appdir}/plugins | |
199 | ||
600b6f8b | 200 | ## Configuration: |
a0651488 ER |
201 | cp -a config/db.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/db.inc.php |
202 | cp -a config/main.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/main.inc.php | |
600b6f8b PG |
203 | ln -sf %{_sysconfdir}/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php |
204 | ln -sf %{_sysconfdir}/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php | |
205 | ||
e2c7ca4f ER |
206 | cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf |
207 | cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf | |
208 | cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf | |
209 | cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/%{name} | |
32abe254 | 210 | |
5d23c484 JB |
211 | %clean |
212 | rm -rf $RPM_BUILD_ROOT | |
213 | ||
a87cdb0e ER |
214 | %pretrans |
215 | if [ ! -f %{_sysconfdir}/db.inc.php -o ! -f %{_sysconfdir}/main.inc.php ]; then | |
216 | # import configs from previously manually installed site | |
217 | d=/home/services/httpd/html/config | |
4e2ae79b ER |
218 | if [ -f $d/db.inc.php -o -f $d/main.inc.php ]; then |
219 | echo >&2 "Importing site configs from $d" | |
220 | mkdir -p %{_sysconfdir} | |
221 | if [ -f $d/db.inc.php ]; then | |
222 | [ -f %{_sysconfdir}/db.inc.php ] && mv -f %{_sysconfdir}/db.inc.php{,.rpmorig} | |
223 | cp -af $d/db.inc.php %{_sysconfdir}/db.inc.php | |
224 | fi | |
225 | if [ -f $d/main.inc.php ]; then | |
226 | [ -f %{_sysconfdir}/main.inc.php ] && mv -f %{_sysconfdir}/main.inc.php{,.rpmorig} | |
227 | cp -af $d/main.inc.php %{_sysconfdir}/main.inc.php | |
228 | fi | |
a87cdb0e ER |
229 | fi |
230 | fi | |
231 | ||
5e4530ac ER |
232 | # Note this on version upgrade |
233 | %triggerpostun -- %{name} < %{version} | |
234 | %banner -e %{name} <<-EOF | |
235 | Run %{_appdir}/bin/update to update to version %{version}. | |
236 | See %{_docdir}/%{name}-%{version}/UPGRADING* for more information. | |
237 | EOF | |
238 | ||
4fddc0f8 | 239 | %triggerin -- apache1 < 1.3.37-3, apache1-base |
600b6f8b PG |
240 | %webapp_register apache %{_webapp} |
241 | ||
4fddc0f8 | 242 | %triggerun -- apache1 < 1.3.37-3, apache1-base |
600b6f8b PG |
243 | %webapp_unregister apache %{_webapp} |
244 | ||
245 | %triggerin -- apache < 2.2.0, apache-base | |
246 | %webapp_register httpd %{_webapp} | |
247 | ||
248 | %triggerun -- apache < 2.2.0, apache-base | |
249 | %webapp_unregister httpd %{_webapp} | |
250 | ||
beb3779c PG |
251 | %triggerin -- lighttpd |
252 | %webapp_register lighttpd %{_webapp} | |
253 | ||
254 | %triggerun -- lighttpd | |
255 | %webapp_unregister lighttpd %{_webapp} | |
256 | ||
600b6f8b PG |
257 | %files |
258 | %defattr(644,root,root,755) | |
a0651488 | 259 | %doc CHANGELOG INSTALL README UPGRADING |
600b6f8b | 260 | %dir %attr(750,root,http) %{_sysconfdir} |
32abe254 PG |
261 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf |
262 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf | |
beb3779c | 263 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf |
600b6f8b | 264 | %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.php |
496e37a6 | 265 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name} |
600b6f8b | 266 | %dir %{_appdir} |
7e88f091 | 267 | %{_appdir}/*.php |
6af22bc8 | 268 | %dir %{_appdir}/bin |
e7167a32 | 269 | %attr(755,root,root) %{_appdir}/bin/* |
600b6f8b PG |
270 | %dir %{_appdir}/config |
271 | %{_appdir}/config/*.php | |
272 | %dir %{_appdir}/program | |
59b0d169 ER |
273 | %{_appdir}/program/*.gif |
274 | %{_appdir}/program/include | |
275 | %{_appdir}/program/js | |
276 | %{_appdir}/program/lib | |
277 | %{_appdir}/program/steps | |
278 | %dir %{_appdir}/program/localization | |
279 | %{_appdir}/program/localization/index.inc | |
2a88dca9 | 280 | %{_appdir}/plugins |
074807fb | 281 | |
b9aeba97 | 282 | %lang(ar_SA) %{_appdir}/program/localization/ar_SA |
6511b436 | 283 | %lang(ast) %{_appdir}/program/localization/ast |
f037470b | 284 | %lang(az) %{_appdir}/program/localization/az_AZ |
dc234b39 | 285 | %lang(bg) %{_appdir}/program/localization/bg_BG |
6511b436 | 286 | %lang(bn_BD) %{_appdir}/program/localization/bn_BD |
a3c1dd27 | 287 | %lang(br) %{_appdir}/program/localization/br |
dc234b39 | 288 | %lang(bs) %{_appdir}/program/localization/bs_BA |
92215307 | 289 | %lang(ca) %{_appdir}/program/localization/ca_ES |
dc234b39 | 290 | %lang(cs) %{_appdir}/program/localization/cs_CZ |
2c7383a2 | 291 | %lang(cy) %{_appdir}/program/localization/cy_GB |
dc234b39 | 292 | %lang(da) %{_appdir}/program/localization/da_DK |
dc234b39 | 293 | %lang(de) %{_appdir}/program/localization/de_DE |
6511b436 | 294 | %lang(de_CH) %{_appdir}/program/localization/de_CH |
dc234b39 | 295 | %lang(el) %{_appdir}/program/localization/el_GR |
313f268c | 296 | %lang(en_GB) %{_appdir}/program/localization/en_GB |
59b0d169 | 297 | %lang(en_US) %{_appdir}/program/localization/en_US |
94ca3383 | 298 | %lang(eo) %{_appdir}/program/localization/eo |
dc234b39 | 299 | %lang(es) %{_appdir}/program/localization/es_ES |
6511b436 | 300 | %lang(es_AR) %{_appdir}/program/localization/es_AR |
dc234b39 JB |
301 | %lang(et) %{_appdir}/program/localization/et_EE |
302 | %lang(eu) %{_appdir}/program/localization/eu_ES | |
511d91cd | 303 | %lang(fa) %{_appdir}/program/localization/fa |
a3c1dd27 | 304 | %lang(fa_AF) %{_appdir}/program/localization/fa_AF |
dc234b39 JB |
305 | %lang(fi) %{_appdir}/program/localization/fi_FI |
306 | %lang(fr) %{_appdir}/program/localization/fr_FR | |
307 | %lang(ga) %{_appdir}/program/localization/ga_IE | |
308 | %lang(gl) %{_appdir}/program/localization/gl_ES | |
309 | %lang(he) %{_appdir}/program/localization/he_IL | |
310 | %lang(hi) %{_appdir}/program/localization/hi_IN | |
f037470b | 311 | %lang(hr) %{_appdir}/program/localization/hr_HR |
dc234b39 JB |
312 | %lang(hu) %{_appdir}/program/localization/hu_HU |
313 | %lang(hy) %{_appdir}/program/localization/hy_AM | |
314 | %lang(id) %{_appdir}/program/localization/id_ID | |
315 | %lang(is) %{_appdir}/program/localization/is_IS | |
316 | %lang(it) %{_appdir}/program/localization/it_IT | |
317 | %lang(ja) %{_appdir}/program/localization/ja_JP | |
318 | %lang(ka) %{_appdir}/program/localization/ka_GE | |
319 | %lang(ko) %{_appdir}/program/localization/ko_KR | |
5d53966e | 320 | %lang(ku) %{_appdir}/program/localization/ku |
dc234b39 JB |
321 | %lang(lt) %{_appdir}/program/localization/lt_LT |
322 | %lang(lv) %{_appdir}/program/localization/lv_LV | |
323 | %lang(mk) %{_appdir}/program/localization/mk_MK | |
a3c1dd27 | 324 | %lang(mr) %{_appdir}/program/localization/mr_IN |
dc234b39 JB |
325 | %lang(ms) %{_appdir}/program/localization/ms_MY |
326 | %lang(nb) %{_appdir}/program/localization/nb_NO | |
327 | %lang(ne) %{_appdir}/program/localization/ne_NP | |
328 | %lang(nl) %{_appdir}/program/localization/nl_NL | |
b576bb6b SP |
329 | %lang(nl_BE) %{_appdir}/program/localization/nl_BE |
330 | %lang(nn) %{_appdir}/program/localization/nn_NO | |
b9aeba97 | 331 | %lang(pl) %{_appdir}/program/localization/pl_PL |
a3c1dd27 | 332 | %lang(ps) %{_appdir}/program/localization/ps |
313f268c | 333 | %lang(pt) %{_appdir}/program/localization/pt_PT |
074807fb | 334 | %lang(pt_BR) %{_appdir}/program/localization/pt_BR |
b9aeba97 | 335 | %lang(ro) %{_appdir}/program/localization/ro_RO |
336 | %lang(ru) %{_appdir}/program/localization/ru_RU | |
337 | %lang(si) %{_appdir}/program/localization/si_LK | |
338 | %lang(sk) %{_appdir}/program/localization/sk_SK | |
339 | %lang(sl) %{_appdir}/program/localization/sl_SI | |
475566bd | 340 | %lang(sq) %{_appdir}/program/localization/sq_AL |
b9aeba97 | 341 | %lang(sr) %{_appdir}/program/localization/sr_CS |
342 | %lang(sv) %{_appdir}/program/localization/sv_SE | |
e7167a32 | 343 | %lang(ta_IN) %{_appdir}/program/localization/ta_IN |
475566bd | 344 | %lang(th) %{_appdir}/program/localization/th_TH |
b9aeba97 | 345 | %lang(tr) %{_appdir}/program/localization/tr_TR |
346 | %lang(uk) %{_appdir}/program/localization/uk_UA | |
347 | %lang(vn) %{_appdir}/program/localization/vi_VN | |
511d91cd | 348 | %lang(zh_CN) %{_appdir}/program/localization/zh_CN |
074807fb | 349 | %lang(zh_TW) %{_appdir}/program/localization/zh_TW |
59b0d169 | 350 | |
290a707d | 351 | %dir %{_appdir}/skins |
8f3a4fab | 352 | %dir %attr(770,root,http) %{_applogdir} |
e324f8fc | 353 | %dir %attr(751,root,logs) %{_archivelogdir} |
600b6f8b | 354 | %dir %attr(770,root,http) %{_appdatadir} |
6511b436 ER |
355 | |
356 | # TODO: %ghost logfile(s) | |
3727377d | 357 | |
a10cd471 | 358 | %files setup |
00ff8410 SP |
359 | %defattr(644,root,root,755) |
360 | %dir %{_appdir}/installer | |
361 | %{_appdir}/installer/*.php | |
362 | %{_appdir}/installer/client.js | |
363 | %{_appdir}/installer/styles.css | |
364 | %{_appdir}/installer/welcome.html | |
365 | %{_appdir}/installer/images | |
a0651488 ER |
366 | %{_appdir}/config/*.php.dist |
367 | %{_appdir}/SQL | |
00ff8410 | 368 | |
3727377d ER |
369 | %files skin-default |
370 | %defattr(644,root,root,755) | |
371 | %{_appdir}/skins/default |