]>
Commit | Line | Data |
---|---|---|
1 | # TODO: | |
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 | # | |
9 | %bcond_with spamfilter # Build with spamfilter patch | |
10 | %bcond_with postfixadmin # Build with postfixadmin support patch | |
11 | ||
12 | %define subver stable | |
13 | %define rel 2 | |
14 | %define rcpfa_ver 1.0.4 | |
15 | Summary: RoundCube Webmail | |
16 | Summary(pl.UTF-8): RoundCube Webmail - poczta przez WWW | |
17 | Name: roundcubemail | |
18 | Version: 0.2 | |
19 | Release: 0.%{subver}.%{rel} | |
20 | License: GPL v2 | |
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 | |
38 | Requires: php(dom) | |
39 | Requires: php(imap) | |
40 | Requires: php(pcre) | |
41 | Requires: php(sockets) | |
42 | Requires: php-pear-DB | |
43 | Requires: webapps | |
44 | Suggests: php(gd) | |
45 | Suggests: php(iconv) | |
46 | Suggests: php(mcrypt) | |
47 | Suggests: php(openssl) | |
48 | Suggests: php-pecl-fileinfo | |
49 | Conflicts: logrotate < 3.7-4 | |
50 | BuildArch: noarch | |
51 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
52 | ||
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 | |
60 | ||
61 | %description | |
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. | |
68 | ||
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 | |
76 | XHTML-a i CSS 2. | |
77 | ||
78 | %package setup | |
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} | |
83 | ||
84 | %description setup | |
85 | This package provides installer script for RoundCube Webmail. | |
86 | ||
87 | %description setup -l pl.UTF-8 | |
88 | Ten pakiet zawiera skrypt instalacyjny RoundCube Webmaila. | |
89 | ||
90 | %package skin-default | |
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 | |
95 | ||
96 | %description skin-default | |
97 | Default skin for RoundCube Webmail. | |
98 | ||
99 | %description skin-default -l pl.UTF-8 | |
100 | Domyślna skórka dla RoundCube Webmaila. | |
101 | ||
102 | %prep | |
103 | %setup -q -n %{name}-%{version}-%{subver} %{?with_postfixadmin:-a 4} | |
104 | %patch0 -p1 | |
105 | #%patch1 -p1 need to rewrite | |
106 | %patch2 -p1 | |
107 | %if %{with spamfilter} | |
108 | %patch3 -p1 | |
109 | %endif | |
110 | %if %{with postfixadmin} | |
111 | %patch4 -p1 | |
112 | %endif | |
113 | ||
114 | find -name .svn | xargs -r rm -rf | |
115 | ||
116 | # undos the source | |
117 | find '(' -name '*.php' -o -name '*.inc' -o -name '*.js' -o -name '*.css' ')' -print0 | xargs -0 sed -i -e 's,\r$,,' | |
118 | ||
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 | |
130 | ||
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 | |
141 | %endif | |
142 | ||
143 | %install | |
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} | |
147 | ||
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} | |
152 | ||
153 | # Skins installation | |
154 | cp -a skins/* $RPM_BUILD_ROOT%{_appdir}/skins | |
155 | ||
156 | # Installer part | |
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} | |
161 | ||
162 | ## Configuration: | |
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 | |
167 | ||
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} | |
172 | ||
173 | %clean | |
174 | rm -rf $RPM_BUILD_ROOT | |
175 | ||
176 | %pretrans | |
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 | |
185 | fi | |
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 | |
189 | fi | |
190 | fi | |
191 | ||
192 | %post | |
193 | if [ "$1" = 0 ]; then | |
194 | %banner -e %{name} <<'EOF' | |
195 | To customize installed languages set | |
196 | %%_install_langs in /etc/rpm/macros.lang | |
197 | ||
198 | EOF | |
199 | fi | |
200 | ||
201 | %triggerin -- apache1 < 1.3.37-3, apache1-base | |
202 | %webapp_register apache %{_webapp} | |
203 | ||
204 | %triggerun -- apache1 < 1.3.37-3, apache1-base | |
205 | %webapp_unregister apache %{_webapp} | |
206 | ||
207 | %triggerin -- apache < 2.2.0, apache-base | |
208 | %webapp_register httpd %{_webapp} | |
209 | ||
210 | %triggerun -- apache < 2.2.0, apache-base | |
211 | %webapp_unregister httpd %{_webapp} | |
212 | ||
213 | %triggerin -- lighttpd | |
214 | %webapp_register lighttpd %{_webapp} | |
215 | ||
216 | %triggerun -- lighttpd | |
217 | %webapp_unregister lighttpd %{_webapp} | |
218 | ||
219 | %files | |
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} | |
228 | %dir %{_appdir} | |
229 | %{_appdir}/*.php | |
230 | %dir %{_appdir}/bin | |
231 | %{_appdir}/bin/*.php | |
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 | |
242 | ||
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 | |
303 | ||
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} | |
308 | # %ghost logfile | |
309 | ||
310 | %files setup | |
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 | |
319 | %{_appdir}/SQL | |
320 | ||
321 | %files skin-default | |
322 | %defattr(644,root,root,755) | |
323 | %{_appdir}/skins/default |