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