]> git.pld-linux.org Git - packages/roundcubemail.git/blame - roundcubemail.spec
- disabled shared-folders.patch. Because of this patch roundcube does not show
[packages/roundcubemail.git] / roundcubemail.spec
CommitLineData
600b6f8b 1# TODO:
83f90f35 2# - move bin/* to -setup which are related to upgrading/setup
a87cdb0e 3# - use system js/tiny_mce
e0fe6c29
ER
4# - use system js/jquery
5# - use system magic db: program/lib/magic
6# - script to %lang all "localization" dirs
32abe254 7# - package: http://blog.ilohamail.org/ and remove boundled classess from it
a0651488 8# - Some php-database backend. Suggests?
7859ddcb 9# - test/finish and then enable by default password-anon-ldap-bind patch
5d53966e
SP
10#
11%bcond_with spamfilter # Build with spamfilter patch
b9aeba97 12%bcond_with postfixadmin # Build with postfixadmin support patch
51610214 13%bcond_with password_anon_ldap_bind # apply with password-anon-ldap-bind patch.
5d53966e 14
2c65974f 15%define rcpfa_ver 1.0.5
e2c7ca4f
ER
16%define php_min_version 5.2.3
17
18%include /usr/lib/rpm/macros.php
600b6f8b 19Summary: RoundCube Webmail
07c0744d 20Summary(pl.UTF-8): RoundCube Webmail - poczta przez WWW
600b6f8b 21Name: roundcubemail
a27276b1 22Version: 0.4.2
e1206cba 23Release: 2
600b6f8b 24License: GPL v2
d3874ddf 25Group: Applications/Mail
22e93b97 26Source0: http://downloads.sourceforge.net/roundcubemail/%{name}-%{version}.tar.gz
a27276b1 27# Source0-md5: d28417f0f16ff2a251a964be153c967a
32abe254 28Source1: %{name}.config
94ca3383 29Source2: %{name}.logrotate
beb3779c 30Source3: %{name}-lighttpd.conf
2c65974f
PG
31Source4: http://nejc.skoberne.net/wp-content/uploads/2008/11/rcpfa-105.tgz
32# Source4-md5: dc23bcd894f693db74fce53b09ab58d6
6a5cb541 33Source5: find-lang.sh
600b6f8b 34Patch0: %{name}-config.patch
6511b436
ER
35Patch1: %{name}-spam.patch
36Patch2: %{name}-postfixadmin-pl_locales.patch
37Patch3: %{name}-faq-page.patch
7859ddcb 38Patch4: %{name}-password-anon-ldap-bind.patch
e0fe6c29 39Patch5: use-iconv.patch
e1206cba 40# Disabled. Because of this patch roundcube does not show folders other than INBOX.
41# Patch6: shared-folders.patch
600b6f8b 42URL: http://www.roundcube.net/
e2c7ca4f 43BuildRequires: rpm-php-pearprov >= 4.4.2-11
e7167a32 44BuildRequires: rpmbuild(macros) >= 1.553
a87cdb0e 45BuildRequires: sed >= 4.0
3727377d 46Requires: %{name}-skin
e2c7ca4f
ER
47Requires: php-common >= 4:%{php_min_version}
48Requires: php-date
49Requires: php-dom
e0fe6c29 50Requires: php-iconv
e2c7ca4f 51Requires: php-imap
e2c7ca4f 52Requires: php-pcre
b8598ece 53Requires: php-pear-DB
b3ac8b6a
SP
54Requires: php-pear-Mail_Mime
55Requires: php-pear-Net_SMTP
e2c7ca4f
ER
56Requires: php-session
57Requires: php-simplexml
58Requires: php-sockets
59Requires: php-spl
60Requires: php-xml
22e93b97 61Requires: rpm-whiteout >= 1.22
600b6f8b 62Requires: webapps
22e93b97 63Requires: webserver(alias)
114a69ab 64Requires: webserver(indexfile)
22e93b97 65Requires: webserver(php)
83f90f35 66Suggests: php(fileinfo)
e2c7ca4f 67Suggests: php-gd
83f90f35 68Suggests: php-json
e2c7ca4f
ER
69Suggests: php-mbstring
70Suggests: php-mcrypt
71Suggests: php-openssl
83f90f35 72Suggests: php-pear-Auth_SASL
ddd8e01c 73Suggests: php-pear-Net_LDAP2
83f90f35
ER
74Suggests: php-pear-Net_Sieve
75Suggests: php-pear-Net_Socket
76Suggests: php-xml
7e68a9e0 77Conflicts: logrotate < 3.7-4
600b6f8b
PG
78BuildArch: noarch
79BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
80
81%define _webapps /etc/webapps
5737afb2 82%define _webapp roundcube
600b6f8b
PG
83%define _sysconfdir %{_webapps}/%{_webapp}
84%define _appdir %{_datadir}/%{_webapp}
85%define _appdatadir /var/lib/roundcube
8f3a4fab 86%define _applogdir /var/log/roundcube
e324f8fc 87%define _archivelogdir /var/log/archive/roundcube
600b6f8b 88
6a5cb541
ER
89%define find_lang sh %{SOURCE5} %{buildroot}
90
e2c7ca4f
ER
91# bad depsolver
92%define _noautopear pear
93
94# exclude optional php dependencies
83f90f35 95%define _noautophp php-sqlite php-mysql php-mysqli php-pgsql php-hash php-json php-xml
e2c7ca4f
ER
96
97# put it together for rpmbuild
98%define _noautoreq %{?_noautophp} %{?_noautopear}
99
600b6f8b
PG
100%description
101RoundCube Webmail is a browser-based multilingual IMAP client with an
102application-like user interface. It provides full functionality you
103expect from an e-mail client, including MIME support, address book,
104folder manipulation and message filters. RoundCube Webmail is written
105in PHP and requires the MySQL database. The user interface is fully
106skinnable using XHTML and CSS 2.
107
d9bffeff
JR
108%description -l pl.UTF-8
109RoundCube Webmail to oparty na przeglądarce wielojęzyczny klient PHP z
110interfejsem użytkownika podobnym do aplikacji. Udostępnia pełną
111funkcjonalność jakiej można oczekiwać od klienta pocztowego, w tym
112obsługę MIME, książkę adresową, operacje na folderach i filtry
113wiadomości. RoundCube Webmail jest napisany w PHP i wymaga bazy danych
114MySQL. Interfejs użytkownika można w pełni obudować skórką przy użyciu
5d23c484
JB
115XHTML-a i CSS 2.
116
a10cd471 117%package setup
00ff8410 118Summary: Installer script for RoundCube Webmail
a210006f 119Summary(pl.UTF-8): Skrypt instalacyjny RoundCube Webmaila
00ff8410 120Group: Applications/WWW
8b170957 121Requires: %{name} = %{version}-%{release}
00ff8410 122
a10cd471 123%description setup
a210006f
JB
124This package provides installer script for RoundCube Webmail.
125
126%description setup -l pl.UTF-8
127Ten pakiet zawiera skrypt instalacyjny RoundCube Webmaila.
00ff8410 128
3727377d
ER
129%package skin-default
130Summary: Default skin for RoundCube Webmail
205b27a0 131Summary(pl.UTF-8): Domyślna skórka dla RoundCube Webmaila
3727377d 132Group: Applications/WWW
220183ec 133Requires: %{name} = %{version}-%{release}
3727377d
ER
134Provides: %{name}-skin
135
136%description skin-default
137Default skin for RoundCube Webmail.
138
205b27a0
JB
139%description skin-default -l pl.UTF-8
140Domyślna skórka dla RoundCube Webmaila.
141
600b6f8b 142%prep
6511b436 143%setup -q %{?with_postfixadmin:-a 4}
600b6f8b 144%patch0 -p1
5d53966e 145%if %{with spamfilter}
6511b436 146%patch1 -p1
5d53966e 147%endif
1e701d3b 148%if %{with postfixadmin}
2c65974f 149#patch2 -p1
1e701d3b 150%endif
220183ec 151%patch3 -p1
51610214 152%if %{with password_anon_ldap_bind}
7859ddcb 153%patch4 -p1
154%endif
e0fe6c29 155%patch5 -p1
e1206cba 156
157# Disabled. Because of this patch roundcube does not show folders other than INBOX.
158#%%patch6 -p1
600b6f8b 159
5737afb2
ER
160find -name .svn | xargs -r rm -rf
161
a87cdb0e 162# undos the source
e7167a32
ER
163%undos -f php,inc,js,css
164
165# kill extensions and fill proper shebang
166%{__sed} -i -e '1s,^#!.*php,#!%{__php},' bin/*.sh
167for a in bin/*.sh; do
168 mv $a ${a%.sh}
169done
a87cdb0e 170
a517b18b
ER
171# unpacked js sources
172find -name '*.src' | xargs rm -v
173
e0fe6c29
ER
174# rm utf8.class and deps, we use iconv extension
175rm program/lib/utf8.class.php
176rm -r program/lib/encoding
177
83f90f35
ER
178# php-pear-PEAR-core 1.9.0 (used indirectly)
179rm program/lib/PEAR.php
180rm program/lib/PEAR5.php
181
182# php-pear-Net_Socket 1.0.9 (used by password, managesieve plugins)
183rm program/lib/Net/Socket.php
184
185# php-pear-Net_SMTP 1.4.2 (nothing seem to use it)
186rm program/lib/Net/SMTP.php
187
188# php-pear-Auth_SASL 1.0.4 (used by managesieve)
189rm program/lib/Auth/SASL.php
190rm -r program/lib/Auth/SASL
191
192# php-pear-Mail_Mime 1.8.0 (nothing seems to use it)
193rm program/lib/Mail/mime.php
194rm program/lib/Mail/mimePart.php
195
196# php-pear-Net_Sieve 1.3.0
197rm plugins/managesieve/lib/Net/Sieve.php
198
199# now empty dirs
200rmdir program/lib/Auth
201rmdir program/lib/Mail
202rmdir program/lib/Net
203rmdir plugins/managesieve/lib/Net
204
205# unknown MDB2 version (newer than released 2.5.0b2, or modified by rc)
206#rm program/lib/MDB2.php
207
6a5cb541
ER
208# pear package junk
209rm -v plugins/*/package.xml
210
b9aeba97 211mv config/db.inc.php.dist config/db.inc.php
212mv config/main.inc.php.dist config/main.inc.php
213%if %{with postfixadmin}
fb493b0a 214mv rcpfa-%{rcpfa_ver} rcpfa
2c65974f
PG
215cd rcpfa
216cp code/forwarding.html ../skins/default/templates
217cp code/password.html ../skins/default/templates
218cp code/vacation.html ../skins/default/templates
219cp code/pfa_forwarding.inc ../program/steps/settings
220cp code/pfa_password.inc ../program/steps/settings
221cp code/pfa_vacation.inc ../program/steps/settings
222cp code/pfa.php ../program/include
223
224patch -d .. -p1 < diffs/app.js.diff
225patch -d .. -p1 < diffs/db.inc.php.diff
226patch -d .. -p1 < diffs/func.inc.diff
227patch -d .. -p1 < diffs/index.php.diff
228patch -d .. -p1 < diffs/labels.inc.diff
229patch -d .. -p1 < diffs/main.inc.diff
230patch -d .. -p1 < diffs/main.inc.php.diff
231patch -d .. -p1 < diffs/messages.inc.diff
232patch -d .. -p1 < diffs/rcube_user.php.diff
233patch -d .. -p1 < diffs/settingstabs.html.diff
b9aeba97 234%endif
6f843021 235
600b6f8b
PG
236%install
237rm -rf $RPM_BUILD_ROOT
e324f8fc 238install -d $RPM_BUILD_ROOT{%{_appdatadir},%{_applogdir},%{_archivelogdir},%{_sysconfdir}} \
98cf2bae 239 $RPM_BUILD_ROOT{%{_appdir}/{bin,config,installer,program,skins},/etc/logrotate.d}
600b6f8b
PG
240
241# Main application part:
59b0d169 242cp -a program/* $RPM_BUILD_ROOT%{_appdir}/program
e7167a32 243cp -a bin/* $RPM_BUILD_ROOT%{_appdir}/bin
59b0d169 244cp -a index.php $RPM_BUILD_ROOT%{_appdir}
600b6f8b 245
3727377d 246# Skins installation
59b0d169 247cp -a skins/* $RPM_BUILD_ROOT%{_appdir}/skins
600b6f8b 248
98cf2bae
SP
249# Installer part
250cp -a installer/* $RPM_BUILD_ROOT%{_appdir}/installer
a0651488
ER
251cp -a config/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php.dist
252cp -a config/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php.dist
253cp -a SQL $RPM_BUILD_ROOT%{_appdir}
98cf2bae 254
2a88dca9 255# Plugins
256cp -a plugins $RPM_BUILD_ROOT%{_appdir}/plugins
257
600b6f8b 258## Configuration:
a0651488
ER
259cp -a config/db.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/db.inc.php
260cp -a config/main.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/main.inc.php
600b6f8b
PG
261ln -sf %{_sysconfdir}/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php
262ln -sf %{_sysconfdir}/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php
263
e2c7ca4f
ER
264cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
265cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
266cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
267cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
32abe254 268
6a5cb541
ER
269# find locales
270%find_lang %{name}.lang
271# sed -ne 's/%lang(\([^)]\+\).*/\1/p' %{name}.lang | sort -u | grep _
272
273# now package plugins using filelist as well, as due lang tagging the files
274# section will go unmanageable
275for p in $RPM_BUILD_ROOT%{_appdir}/plugins/*; do
276 echo "%dir ${p#$RPM_BUILD_ROOT}"
277 for p in $p/*; do
278 d=${p##*/}
279 p=${p#$RPM_BUILD_ROOT}
280 case "$d" in
281 localization)
282 continue
283 ;;
284 README | Changelog | config.inc.php.dist)
285 echo "%doc $p"
286 ;;
287 *)
288 echo "$p"
289 ;;
290 esac
291 done
292done > plugins.lang
293cat plugins.lang >> %{name}.lang
294
5d23c484
JB
295%clean
296rm -rf $RPM_BUILD_ROOT
297
a87cdb0e
ER
298%pretrans
299if [ ! -f %{_sysconfdir}/db.inc.php -o ! -f %{_sysconfdir}/main.inc.php ]; then
300 # import configs from previously manually installed site
301 d=/home/services/httpd/html/config
4e2ae79b
ER
302 if [ -f $d/db.inc.php -o -f $d/main.inc.php ]; then
303 echo >&2 "Importing site configs from $d"
304 mkdir -p %{_sysconfdir}
305 if [ -f $d/db.inc.php ]; then
306 [ -f %{_sysconfdir}/db.inc.php ] && mv -f %{_sysconfdir}/db.inc.php{,.rpmorig}
307 cp -af $d/db.inc.php %{_sysconfdir}/db.inc.php
308 fi
309 if [ -f $d/main.inc.php ]; then
310 [ -f %{_sysconfdir}/main.inc.php ] && mv -f %{_sysconfdir}/main.inc.php{,.rpmorig}
311 cp -af $d/main.inc.php %{_sysconfdir}/main.inc.php
312 fi
a87cdb0e
ER
313 fi
314fi
315
5e4530ac
ER
316# Note this on version upgrade
317%triggerpostun -- %{name} < %{version}
318%banner -e %{name} <<-EOF
319Run %{_appdir}/bin/update to update to version %{version}.
83f90f35
ER
320(Be sure to have %{name}-setup installed when you run it)
321
5e4530ac
ER
322See %{_docdir}/%{name}-%{version}/UPGRADING* for more information.
323EOF
324
4fddc0f8 325%triggerin -- apache1 < 1.3.37-3, apache1-base
600b6f8b
PG
326%webapp_register apache %{_webapp}
327
4fddc0f8 328%triggerun -- apache1 < 1.3.37-3, apache1-base
600b6f8b
PG
329%webapp_unregister apache %{_webapp}
330
331%triggerin -- apache < 2.2.0, apache-base
332%webapp_register httpd %{_webapp}
333
334%triggerun -- apache < 2.2.0, apache-base
335%webapp_unregister httpd %{_webapp}
336
beb3779c
PG
337%triggerin -- lighttpd
338%webapp_register lighttpd %{_webapp}
339
340%triggerun -- lighttpd
341%webapp_unregister lighttpd %{_webapp}
342
6a5cb541 343%files -f %{name}.lang
600b6f8b 344%defattr(644,root,root,755)
a0651488 345%doc CHANGELOG INSTALL README UPGRADING
600b6f8b 346%dir %attr(750,root,http) %{_sysconfdir}
32abe254
PG
347%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
348%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
beb3779c 349%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
600b6f8b 350%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.php
496e37a6 351%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
600b6f8b 352%dir %{_appdir}
7e88f091 353%{_appdir}/*.php
6af22bc8 354%dir %{_appdir}/bin
e7167a32 355%attr(755,root,root) %{_appdir}/bin/*
600b6f8b
PG
356%dir %{_appdir}/config
357%{_appdir}/config/*.php
358%dir %{_appdir}/program
59b0d169
ER
359%{_appdir}/program/*.gif
360%{_appdir}/program/include
361%{_appdir}/program/js
362%{_appdir}/program/lib
363%{_appdir}/program/steps
59b0d169 364%{_appdir}/program/localization/index.inc
6a5cb541
ER
365
366%dir %{_appdir}/plugins
59b0d169 367
290a707d 368%dir %{_appdir}/skins
8f3a4fab 369%dir %attr(770,root,http) %{_applogdir}
e324f8fc 370%dir %attr(751,root,logs) %{_archivelogdir}
600b6f8b 371%dir %attr(770,root,http) %{_appdatadir}
6511b436
ER
372
373# TODO: %ghost logfile(s)
3727377d 374
a10cd471 375%files setup
00ff8410
SP
376%defattr(644,root,root,755)
377%dir %{_appdir}/installer
378%{_appdir}/installer/*.php
379%{_appdir}/installer/client.js
380%{_appdir}/installer/styles.css
381%{_appdir}/installer/welcome.html
382%{_appdir}/installer/images
a0651488
ER
383%{_appdir}/config/*.php.dist
384%{_appdir}/SQL
00ff8410 385
3727377d
ER
386%files skin-default
387%defattr(644,root,root,755)
388%{_appdir}/skins/default
This page took 0.093537 seconds and 4 git commands to generate.