]> git.pld-linux.org Git - packages/roundcubemail.git/blob - roundcubemail.spec
- S: php-pear-Net-LDAP2, not autodeps symbol
[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/WWW
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         echo >&2 "Importing site configs from $d"
197         mkdir -p %{_sysconfdir}
198         if [ -f $d/db.inc.php ]; then
199                 [ -f %{_sysconfdir}/db.inc.php ] && mv -f %{_sysconfdir}/db.inc.php{,.rpmorig}
200                 cp -af $d/db.inc.php %{_sysconfdir}/db.inc.php
201         fi
202         if [ -f $d/main.inc.php ]; then
203                 [ -f %{_sysconfdir}/main.inc.php ] && mv -f %{_sysconfdir}/main.inc.php{,.rpmorig}
204                 cp -af $d/main.inc.php %{_sysconfdir}/main.inc.php
205         fi
206 fi
207
208 %triggerin -- apache1 < 1.3.37-3, apache1-base
209 %webapp_register apache %{_webapp}
210
211 %triggerun -- apache1 < 1.3.37-3, apache1-base
212 %webapp_unregister apache %{_webapp}
213
214 %triggerin -- apache < 2.2.0, apache-base
215 %webapp_register httpd %{_webapp}
216
217 %triggerun -- apache < 2.2.0, apache-base
218 %webapp_unregister httpd %{_webapp}
219
220 %triggerin -- lighttpd
221 %webapp_register lighttpd %{_webapp}
222
223 %triggerun -- lighttpd
224 %webapp_unregister lighttpd %{_webapp}
225
226 %files
227 %defattr(644,root,root,755)
228 %doc CHANGELOG INSTALL README UPGRADING
229 %dir %attr(750,root,http) %{_sysconfdir}
230 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
231 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
232 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
233 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.php
234 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
235 %dir %{_appdir}
236 %{_appdir}/*.php
237 %dir %{_appdir}/bin
238 %{_appdir}/bin/*.php
239 %dir %{_appdir}/config
240 %{_appdir}/config/*.php
241 %dir %{_appdir}/program
242 %{_appdir}/program/*.gif
243 %{_appdir}/program/include
244 %{_appdir}/program/js
245 %{_appdir}/program/lib
246 %{_appdir}/program/steps
247 %dir %{_appdir}/program/localization
248 %{_appdir}/program/localization/index.inc
249 %{_appdir}/plugins
250
251 %lang(ar_SA) %{_appdir}/program/localization/ar_SA
252 %lang(ast) %{_appdir}/program/localization/ast
253 %lang(az) %{_appdir}/program/localization/az_AZ
254 %lang(bg) %{_appdir}/program/localization/bg_BG
255 %lang(bn_BD) %{_appdir}/program/localization/bn_BD
256 %lang(br) %{_appdir}/program/localization/br
257 %lang(bs) %{_appdir}/program/localization/bs_BA
258 %lang(ca) %{_appdir}/program/localization/ca_ES
259 %lang(cs) %{_appdir}/program/localization/cs_CZ
260 %lang(cy) %{_appdir}/program/localization/cy_GB
261 %lang(da) %{_appdir}/program/localization/da_DK
262 %lang(de) %{_appdir}/program/localization/de_DE
263 %lang(de_CH) %{_appdir}/program/localization/de_CH
264 %lang(el) %{_appdir}/program/localization/el_GR
265 %lang(en_GB) %{_appdir}/program/localization/en_GB
266 %lang(en_US) %{_appdir}/program/localization/en_US
267 %lang(eo) %{_appdir}/program/localization/eo
268 %lang(es) %{_appdir}/program/localization/es_ES
269 %lang(es_AR) %{_appdir}/program/localization/es_AR
270 %lang(et) %{_appdir}/program/localization/et_EE
271 %lang(eu) %{_appdir}/program/localization/eu_ES
272 %lang(fa) %{_appdir}/program/localization/fa
273 %lang(fa_AF) %{_appdir}/program/localization/fa_AF
274 %lang(fi) %{_appdir}/program/localization/fi_FI
275 %lang(fr) %{_appdir}/program/localization/fr_FR
276 %lang(ga) %{_appdir}/program/localization/ga_IE
277 %lang(gl) %{_appdir}/program/localization/gl_ES
278 %lang(he) %{_appdir}/program/localization/he_IL
279 %lang(hi) %{_appdir}/program/localization/hi_IN
280 %lang(hr) %{_appdir}/program/localization/hr_HR
281 %lang(hu) %{_appdir}/program/localization/hu_HU
282 %lang(hy) %{_appdir}/program/localization/hy_AM
283 %lang(id) %{_appdir}/program/localization/id_ID
284 %lang(is) %{_appdir}/program/localization/is_IS
285 %lang(it) %{_appdir}/program/localization/it_IT
286 %lang(ja) %{_appdir}/program/localization/ja_JP
287 %lang(ka) %{_appdir}/program/localization/ka_GE
288 %lang(ko) %{_appdir}/program/localization/ko_KR
289 %lang(ku) %{_appdir}/program/localization/ku
290 %lang(lt) %{_appdir}/program/localization/lt_LT
291 %lang(lv) %{_appdir}/program/localization/lv_LV
292 %lang(mk) %{_appdir}/program/localization/mk_MK
293 %lang(mr) %{_appdir}/program/localization/mr_IN
294 %lang(ms) %{_appdir}/program/localization/ms_MY
295 %lang(nb) %{_appdir}/program/localization/nb_NO
296 %lang(ne) %{_appdir}/program/localization/ne_NP
297 %lang(nl) %{_appdir}/program/localization/nl_NL
298 %lang(nl_BE) %{_appdir}/program/localization/nl_BE
299 %lang(nn) %{_appdir}/program/localization/nn_NO
300 %lang(pl) %{_appdir}/program/localization/pl_PL
301 %lang(ps) %{_appdir}/program/localization/ps
302 %lang(pt) %{_appdir}/program/localization/pt_PT
303 %lang(pt_BR) %{_appdir}/program/localization/pt_BR
304 %lang(ro) %{_appdir}/program/localization/ro_RO
305 %lang(ru) %{_appdir}/program/localization/ru_RU
306 %lang(si) %{_appdir}/program/localization/si_LK
307 %lang(sk) %{_appdir}/program/localization/sk_SK
308 %lang(sl) %{_appdir}/program/localization/sl_SI
309 %lang(sq) %{_appdir}/program/localization/sq_AL
310 %lang(sr) %{_appdir}/program/localization/sr_CS
311 %lang(sv) %{_appdir}/program/localization/sv_SE
312 %lang(th) %{_appdir}/program/localization/th_TH
313 %lang(tr) %{_appdir}/program/localization/tr_TR
314 %lang(uk) %{_appdir}/program/localization/uk_UA
315 %lang(vn) %{_appdir}/program/localization/vi_VN
316 %lang(zh_CN) %{_appdir}/program/localization/zh_CN
317 %lang(zh_TW) %{_appdir}/program/localization/zh_TW
318
319 %dir %{_appdir}/skins
320 %dir %attr(770,root,http) %{_applogdir}
321 %dir %attr(751,root,logs) %{_archivelogdir}
322 %dir %attr(770,root,http) %{_appdatadir}
323
324 # TODO: %ghost logfile(s)
325
326 %files setup
327 %defattr(644,root,root,755)
328 %dir %{_appdir}/installer
329 %{_appdir}/installer/*.php
330 %{_appdir}/installer/client.js
331 %{_appdir}/installer/styles.css
332 %{_appdir}/installer/welcome.html
333 %{_appdir}/installer/images
334 %{_appdir}/config/*.php.dist
335 %{_appdir}/SQL
336
337 %files skin-default
338 %defattr(644,root,root,755)
339 %{_appdir}/skins/default
This page took 0.073992 seconds and 4 git commands to generate.