]> git.pld-linux.org Git - packages/roundcubemail.git/blob - roundcubemail.spec
5e6ecfcd2b967a513c9cd3d49c03974050387a79
[packages/roundcubemail.git] / roundcubemail.spec
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 # - test/finish and then enable by default password-anon-ldap-bind patch
9 #
10 %bcond_with     spamfilter      # Build with spamfilter patch
11 %bcond_with     postfixadmin    # Build with postfixadmin support patch
12 %bcond_with     password_anon_ldap_bind # apply with password-anon-ldap-bind patch.
13
14 %define         rcpfa_ver       1.0.5
15 Summary:        RoundCube Webmail
16 Summary(pl.UTF-8):      RoundCube Webmail - poczta przez WWW
17 Name:           roundcubemail
18 Version:        0.3.1
19 Release:        2
20 License:        GPL v2
21 Group:          Applications/Mail
22 Source0:        http://downloads.sourceforge.net/roundcubemail/%{name}-%{version}.tar.gz
23 # Source0-md5:  34e8e18772e7eada8769b6c5c20f7c8e
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-105.tgz
28 # Source4-md5:  dc23bcd894f693db74fce53b09ab58d6
29 Patch0:         %{name}-config.patch
30 Patch1:         %{name}-spam.patch
31 Patch2:         %{name}-postfixadmin-pl_locales.patch
32 Patch3:         %{name}-faq-page.patch
33 Patch4:         %{name}-password-anon-ldap-bind.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(session)
42 Requires:       php(sockets)
43 Requires:       php(spl)
44 Requires:       php(xml)
45 Requires:       php-pear-DB
46 Requires:       rpm-whiteout >= 1.22
47 Requires:       webapps
48 Requires:       webserver(alias)
49 Requires:       webserver(indexfile)
50 Requires:       webserver(php)
51 Suggests:       php(gd)
52 Suggests:       php(iconv)
53 Suggests:       php(mbstring)
54 Suggests:       php(mcrypt)
55 Suggests:       php(openssl)
56 Suggests:       php-pear-Net_LDAP2
57 Suggests:       php-pecl-fileinfo
58 Conflicts:      logrotate < 3.7-4
59 BuildArch:      noarch
60 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
61
62 %define         _webapps        /etc/webapps
63 %define         _webapp         roundcube
64 %define         _sysconfdir     %{_webapps}/%{_webapp}
65 %define         _appdir         %{_datadir}/%{_webapp}
66 %define         _appdatadir     /var/lib/roundcube
67 %define         _applogdir      /var/log/roundcube
68 %define         _archivelogdir  /var/log/archive/roundcube
69
70 %description
71 RoundCube Webmail is a browser-based multilingual IMAP client with an
72 application-like user interface. It provides full functionality you
73 expect from an e-mail client, including MIME support, address book,
74 folder manipulation and message filters. RoundCube Webmail is written
75 in PHP and requires the MySQL database. The user interface is fully
76 skinnable using XHTML and CSS 2.
77
78 %description -l pl.UTF-8
79 RoundCube Webmail to oparty na przeglądarce wielojęzyczny klient PHP z
80 interfejsem użytkownika podobnym do aplikacji. Udostępnia pełną
81 funkcjonalność jakiej można oczekiwać od klienta pocztowego, w tym
82 obsługę MIME, książkę adresową, operacje na folderach i filtry
83 wiadomości. RoundCube Webmail jest napisany w PHP i wymaga bazy danych
84 MySQL. Interfejs użytkownika można w pełni obudować skórką przy użyciu
85 XHTML-a i CSS 2.
86
87 %package setup
88 Summary:        Installer script for RoundCube Webmail
89 Summary(pl.UTF-8):      Skrypt instalacyjny RoundCube Webmaila
90 Group:          Applications/WWW
91 Requires:       %{name} = %{version}-%{release}
92
93 %description setup
94 This package provides installer script for RoundCube Webmail.
95
96 %description setup -l pl.UTF-8
97 Ten pakiet zawiera skrypt instalacyjny RoundCube Webmaila.
98
99 %package skin-default
100 Summary:        Default skin for RoundCube Webmail
101 Summary(pl.UTF-8):      Domyślna skórka dla RoundCube Webmaila
102 Group:          Applications/WWW
103 Requires:       %{name} = %{version}-%{release}
104 Provides:       %{name}-skin
105
106 %description skin-default
107 Default skin for RoundCube Webmail.
108
109 %description skin-default -l pl.UTF-8
110 Domyślna skórka dla RoundCube Webmaila.
111
112 %prep
113 %setup -q %{?with_postfixadmin:-a 4}
114 %patch0 -p1
115 %if %{with spamfilter}
116 %patch1 -p1
117 %endif
118 %if %{with postfixadmin}
119 #patch2 -p1
120 %endif
121 %patch3 -p1
122 %if %{with password_anon_ldap_bind}
123 %patch4 -p1
124 %endif
125
126 find -name .svn | xargs -r rm -rf
127
128 # undos the source
129 find '(' -name '*.php' -o -name '*.inc' -o -name '*.js' -o -name '*.css' ')' -print0 | xargs -0 sed -i -e 's,\r$,,'
130
131 mv config/db.inc.php.dist config/db.inc.php
132 mv config/main.inc.php.dist config/main.inc.php
133 %if %{with postfixadmin}
134 mv rcpfa-%{rcpfa_ver} rcpfa
135 cd rcpfa
136 cp code/forwarding.html ../skins/default/templates
137 cp code/password.html ../skins/default/templates
138 cp code/vacation.html ../skins/default/templates
139 cp code/pfa_forwarding.inc ../program/steps/settings
140 cp code/pfa_password.inc ../program/steps/settings
141 cp code/pfa_vacation.inc ../program/steps/settings
142 cp code/pfa.php ../program/include
143
144 patch -d .. -p1 < diffs/app.js.diff
145 patch -d .. -p1 < diffs/db.inc.php.diff
146 patch -d .. -p1 < diffs/func.inc.diff
147 patch -d .. -p1 < diffs/index.php.diff
148 patch -d .. -p1 < diffs/labels.inc.diff
149 patch -d .. -p1 < diffs/main.inc.diff
150 patch -d .. -p1 < diffs/main.inc.php.diff
151 patch -d .. -p1 < diffs/messages.inc.diff
152 patch -d .. -p1 < diffs/rcube_user.php.diff
153 patch -d .. -p1 < diffs/settingstabs.html.diff
154 %endif
155
156 %install
157 rm -rf $RPM_BUILD_ROOT
158 install -d $RPM_BUILD_ROOT{%{_appdatadir},%{_applogdir},%{_archivelogdir},%{_sysconfdir}} \
159         $RPM_BUILD_ROOT{%{_appdir}/{bin,config,installer,program,skins},/etc/logrotate.d}
160
161 # Main application part:
162 cp -a program/* $RPM_BUILD_ROOT%{_appdir}/program
163 cp -a bin/*.php $RPM_BUILD_ROOT%{_appdir}/bin
164 cp -a index.php $RPM_BUILD_ROOT%{_appdir}
165
166 # Skins installation
167 cp -a skins/* $RPM_BUILD_ROOT%{_appdir}/skins
168
169 # Installer part
170 cp -a installer/* $RPM_BUILD_ROOT%{_appdir}/installer
171 cp -a config/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php.dist
172 cp -a config/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php.dist
173 cp -a SQL $RPM_BUILD_ROOT%{_appdir}
174
175 # Plugins
176 cp -a plugins $RPM_BUILD_ROOT%{_appdir}/plugins
177
178 ## Configuration:
179 cp -a config/db.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/db.inc.php
180 cp -a config/main.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/main.inc.php
181 ln -sf %{_sysconfdir}/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php
182 ln -sf %{_sysconfdir}/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php
183
184 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
185 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
186 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
187 install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
188
189 %clean
190 rm -rf $RPM_BUILD_ROOT
191
192 %pretrans
193 if [ ! -f %{_sysconfdir}/db.inc.php -o ! -f %{_sysconfdir}/main.inc.php ]; then
194         # import configs from previously manually installed site
195         d=/home/services/httpd/html/config
196         if [ -f $d/db.inc.php -o -f $d/main.inc.php ]; then
197                 echo >&2 "Importing site configs from $d"
198                 mkdir -p %{_sysconfdir}
199                 if [ -f $d/db.inc.php ]; then
200                         [ -f %{_sysconfdir}/db.inc.php ] && mv -f %{_sysconfdir}/db.inc.php{,.rpmorig}
201                         cp -af $d/db.inc.php %{_sysconfdir}/db.inc.php
202                 fi
203                 if [ -f $d/main.inc.php ]; then
204                         [ -f %{_sysconfdir}/main.inc.php ] && mv -f %{_sysconfdir}/main.inc.php{,.rpmorig}
205                         cp -af $d/main.inc.php %{_sysconfdir}/main.inc.php
206                 fi
207         fi
208 fi
209
210 %triggerin -- apache1 < 1.3.37-3, apache1-base
211 %webapp_register apache %{_webapp}
212
213 %triggerun -- apache1 < 1.3.37-3, apache1-base
214 %webapp_unregister apache %{_webapp}
215
216 %triggerin -- apache < 2.2.0, apache-base
217 %webapp_register httpd %{_webapp}
218
219 %triggerun -- apache < 2.2.0, apache-base
220 %webapp_unregister httpd %{_webapp}
221
222 %triggerin -- lighttpd
223 %webapp_register lighttpd %{_webapp}
224
225 %triggerun -- lighttpd
226 %webapp_unregister lighttpd %{_webapp}
227
228 %files
229 %defattr(644,root,root,755)
230 %doc CHANGELOG INSTALL README UPGRADING
231 %dir %attr(750,root,http) %{_sysconfdir}
232 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
233 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
234 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
235 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.php
236 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
237 %dir %{_appdir}
238 %{_appdir}/*.php
239 %dir %{_appdir}/bin
240 %{_appdir}/bin/*.php
241 %dir %{_appdir}/config
242 %{_appdir}/config/*.php
243 %dir %{_appdir}/program
244 %{_appdir}/program/*.gif
245 %{_appdir}/program/include
246 %{_appdir}/program/js
247 %{_appdir}/program/lib
248 %{_appdir}/program/steps
249 %dir %{_appdir}/program/localization
250 %{_appdir}/program/localization/index.inc
251 %{_appdir}/plugins
252
253 %lang(ar_SA) %{_appdir}/program/localization/ar_SA
254 %lang(ast) %{_appdir}/program/localization/ast
255 %lang(az) %{_appdir}/program/localization/az_AZ
256 %lang(bg) %{_appdir}/program/localization/bg_BG
257 %lang(bn_BD) %{_appdir}/program/localization/bn_BD
258 %lang(br) %{_appdir}/program/localization/br
259 %lang(bs) %{_appdir}/program/localization/bs_BA
260 %lang(ca) %{_appdir}/program/localization/ca_ES
261 %lang(cs) %{_appdir}/program/localization/cs_CZ
262 %lang(cy) %{_appdir}/program/localization/cy_GB
263 %lang(da) %{_appdir}/program/localization/da_DK
264 %lang(de) %{_appdir}/program/localization/de_DE
265 %lang(de_CH) %{_appdir}/program/localization/de_CH
266 %lang(el) %{_appdir}/program/localization/el_GR
267 %lang(en_GB) %{_appdir}/program/localization/en_GB
268 %lang(en_US) %{_appdir}/program/localization/en_US
269 %lang(eo) %{_appdir}/program/localization/eo
270 %lang(es) %{_appdir}/program/localization/es_ES
271 %lang(es_AR) %{_appdir}/program/localization/es_AR
272 %lang(et) %{_appdir}/program/localization/et_EE
273 %lang(eu) %{_appdir}/program/localization/eu_ES
274 %lang(fa) %{_appdir}/program/localization/fa
275 %lang(fa_AF) %{_appdir}/program/localization/fa_AF
276 %lang(fi) %{_appdir}/program/localization/fi_FI
277 %lang(fr) %{_appdir}/program/localization/fr_FR
278 %lang(ga) %{_appdir}/program/localization/ga_IE
279 %lang(gl) %{_appdir}/program/localization/gl_ES
280 %lang(he) %{_appdir}/program/localization/he_IL
281 %lang(hi) %{_appdir}/program/localization/hi_IN
282 %lang(hr) %{_appdir}/program/localization/hr_HR
283 %lang(hu) %{_appdir}/program/localization/hu_HU
284 %lang(hy) %{_appdir}/program/localization/hy_AM
285 %lang(id) %{_appdir}/program/localization/id_ID
286 %lang(is) %{_appdir}/program/localization/is_IS
287 %lang(it) %{_appdir}/program/localization/it_IT
288 %lang(ja) %{_appdir}/program/localization/ja_JP
289 %lang(ka) %{_appdir}/program/localization/ka_GE
290 %lang(ko) %{_appdir}/program/localization/ko_KR
291 %lang(ku) %{_appdir}/program/localization/ku
292 %lang(lt) %{_appdir}/program/localization/lt_LT
293 %lang(lv) %{_appdir}/program/localization/lv_LV
294 %lang(mk) %{_appdir}/program/localization/mk_MK
295 %lang(mr) %{_appdir}/program/localization/mr_IN
296 %lang(ms) %{_appdir}/program/localization/ms_MY
297 %lang(nb) %{_appdir}/program/localization/nb_NO
298 %lang(ne) %{_appdir}/program/localization/ne_NP
299 %lang(nl) %{_appdir}/program/localization/nl_NL
300 %lang(nl_BE) %{_appdir}/program/localization/nl_BE
301 %lang(nn) %{_appdir}/program/localization/nn_NO
302 %lang(pl) %{_appdir}/program/localization/pl_PL
303 %lang(ps) %{_appdir}/program/localization/ps
304 %lang(pt) %{_appdir}/program/localization/pt_PT
305 %lang(pt_BR) %{_appdir}/program/localization/pt_BR
306 %lang(ro) %{_appdir}/program/localization/ro_RO
307 %lang(ru) %{_appdir}/program/localization/ru_RU
308 %lang(si) %{_appdir}/program/localization/si_LK
309 %lang(sk) %{_appdir}/program/localization/sk_SK
310 %lang(sl) %{_appdir}/program/localization/sl_SI
311 %lang(sq) %{_appdir}/program/localization/sq_AL
312 %lang(sr) %{_appdir}/program/localization/sr_CS
313 %lang(sv) %{_appdir}/program/localization/sv_SE
314 %lang(th) %{_appdir}/program/localization/th_TH
315 %lang(tr) %{_appdir}/program/localization/tr_TR
316 %lang(uk) %{_appdir}/program/localization/uk_UA
317 %lang(vn) %{_appdir}/program/localization/vi_VN
318 %lang(zh_CN) %{_appdir}/program/localization/zh_CN
319 %lang(zh_TW) %{_appdir}/program/localization/zh_TW
320
321 %dir %{_appdir}/skins
322 %dir %attr(770,root,http) %{_applogdir}
323 %dir %attr(751,root,logs) %{_archivelogdir}
324 %dir %attr(770,root,http) %{_appdatadir}
325
326 # TODO: %ghost logfile(s)
327
328 %files setup
329 %defattr(644,root,root,755)
330 %dir %{_appdir}/installer
331 %{_appdir}/installer/*.php
332 %{_appdir}/installer/client.js
333 %{_appdir}/installer/styles.css
334 %{_appdir}/installer/welcome.html
335 %{_appdir}/installer/images
336 %{_appdir}/config/*.php.dist
337 %{_appdir}/SQL
338
339 %files skin-default
340 %defattr(644,root,root,755)
341 %{_appdir}/skins/default
This page took 0.154535 seconds and 2 git commands to generate.