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