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