]> git.pld-linux.org Git - packages/roundcubemail.git/blame - roundcubemail.spec
- updated to 0.6
[packages/roundcubemail.git] / roundcubemail.spec
CommitLineData
600b6f8b 1# TODO:
1353aee8
ER
2# - use gpl-dependant tarball, instead of full tarball and removing all bundled libs again?
3# see: http://www.roundcubeforum.net/3-news-announcements/32-news-announcements/6601-roundcube-news-new-version-0-4-beta-released.html
83f90f35 4# - move bin/* to -setup which are related to upgrading/setup
a87cdb0e 5# - use system js/tiny_mce
e0fe6c29
ER
6# - use system js/jquery
7# - use system magic db: program/lib/magic
32abe254 8# - package: http://blog.ilohamail.org/ and remove boundled classess from it
a0651488 9# - Some php-database backend. Suggests?
7859ddcb 10# - test/finish and then enable by default password-anon-ldap-bind patch
33db8acb 11# - bconds does not work for a long time
5d53966e 12#
3f52c0ee 13%bcond_with spamfilter # Build with spamfilter patch
14%bcond_with postfixadmin # Build with postfixadmin support patch
15%bcond_with password_anon_ldap_bind # apply with password-anon-ldap-bind patch.
5d53966e 16
2c65974f 17%define rcpfa_ver 1.0.5
e2c7ca4f 18%define php_min_version 5.2.3
e2c7ca4f 19%include /usr/lib/rpm/macros.php
600b6f8b 20Summary: RoundCube Webmail
07c0744d 21Summary(pl.UTF-8): RoundCube Webmail - poczta przez WWW
600b6f8b 22Name: roundcubemail
fc1562b1 23Version: 0.6
5ffbaba9 24Release: 1
600b6f8b 25License: GPL v2
d3874ddf 26Group: Applications/Mail
22e93b97 27Source0: http://downloads.sourceforge.net/roundcubemail/%{name}-%{version}.tar.gz
fc1562b1 28# Source0-md5: bdb9039d6fb95614a609aa1cb6476cf9
62103fec 29Source1: apache.conf
94ca3383 30Source2: %{name}.logrotate
62103fec 31Source3: lighttpd.conf
2c65974f
PG
32Source4: http://nejc.skoberne.net/wp-content/uploads/2008/11/rcpfa-105.tgz
33# Source4-md5: dc23bcd894f693db74fce53b09ab58d6
6a5cb541 34Source5: find-lang.sh
600b6f8b 35Patch0: %{name}-config.patch
6511b436
ER
36Patch1: %{name}-spam.patch
37Patch2: %{name}-postfixadmin-pl_locales.patch
38Patch3: %{name}-faq-page.patch
7859ddcb 39Patch4: %{name}-password-anon-ldap-bind.patch
600b6f8b 40URL: http://www.roundcube.net/
e2c7ca4f 41BuildRequires: rpm-php-pearprov >= 4.4.2-11
0bbcc424 42BuildRequires: rpm-pythonprov
1353aee8 43BuildRequires: rpmbuild(macros) >= 1.566
a87cdb0e 44BuildRequires: sed >= 4.0
3727377d 45Requires: %{name}-skin
e2c7ca4f
ER
46Requires: php-common >= 4:%{php_min_version}
47Requires: php-date
48Requires: php-dom
e0fe6c29 49Requires: php-iconv
e2c7ca4f 50Requires: php-imap
e2c7ca4f 51Requires: php-pcre
b8598ece 52Requires: php-pear-DB
47920129 53Requires: php-pear-Mail_Mime >= 1.8.0
1353aee8 54Requires: php-pear-Net_IDNA2 >= 0.1.1
b3ac8b6a 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
1353aee8 151#%patch3 -p1
51610214 152%if %{with password_anon_ldap_bind}
7859ddcb 153%patch4 -p1
154%endif
e1206cba 155
5737afb2
ER
156find -name .svn | xargs -r rm -rf
157
a87cdb0e 158# undos the source
e7167a32
ER
159%undos -f php,inc,js,css
160
161# kill extensions and fill proper shebang
162%{__sed} -i -e '1s,^#!.*php,#!%{__php},' bin/*.sh
163for a in bin/*.sh; do
164 mv $a ${a%.sh}
165done
a87cdb0e 166
a517b18b
ER
167# unpacked js sources
168find -name '*.src' | xargs rm -v
971afbf3
ER
169# tools to pack js
170rm -f bin/{jsshrink,jsunshrink}
a517b18b 171
e0fe6c29
ER
172# rm utf8.class and deps, we use iconv extension
173rm program/lib/utf8.class.php
174rm -r program/lib/encoding
175
83f90f35
ER
176# php-pear-PEAR-core 1.9.0 (used indirectly)
177rm program/lib/PEAR.php
178rm program/lib/PEAR5.php
179
180# php-pear-Net_Socket 1.0.9 (used by password, managesieve plugins)
181rm program/lib/Net/Socket.php
182
183# php-pear-Net_SMTP 1.4.2 (nothing seem to use it)
184rm program/lib/Net/SMTP.php
185
186# php-pear-Auth_SASL 1.0.4 (used by managesieve)
187rm program/lib/Auth/SASL.php
188rm -r program/lib/Auth/SASL
189
190# php-pear-Mail_Mime 1.8.0 (nothing seems to use it)
191rm program/lib/Mail/mime.php
192rm program/lib/Mail/mimePart.php
193
194# php-pear-Net_Sieve 1.3.0
195rm plugins/managesieve/lib/Net/Sieve.php
196
1353aee8
ER
197# 0.1.1 snapshot (at least r301175)
198rm program/lib/Net/IDNA2.php
199rm -r program/lib/Net/IDNA2
200
83f90f35
ER
201# now empty dirs
202rmdir program/lib/Auth
203rmdir program/lib/Mail
204rmdir program/lib/Net
205rmdir plugins/managesieve/lib/Net
206
207# unknown MDB2 version (newer than released 2.5.0b2, or modified by rc)
208#rm program/lib/MDB2.php
209
6a5cb541
ER
210# pear package junk
211rm -v plugins/*/package.xml
212
b9aeba97 213mv config/db.inc.php.dist config/db.inc.php
214mv config/main.inc.php.dist config/main.inc.php
215%if %{with postfixadmin}
fb493b0a 216mv rcpfa-%{rcpfa_ver} rcpfa
2c65974f
PG
217cd rcpfa
218cp code/forwarding.html ../skins/default/templates
219cp code/password.html ../skins/default/templates
220cp code/vacation.html ../skins/default/templates
221cp code/pfa_forwarding.inc ../program/steps/settings
222cp code/pfa_password.inc ../program/steps/settings
223cp code/pfa_vacation.inc ../program/steps/settings
224cp code/pfa.php ../program/include
225
226patch -d .. -p1 < diffs/app.js.diff
227patch -d .. -p1 < diffs/db.inc.php.diff
228patch -d .. -p1 < diffs/func.inc.diff
229patch -d .. -p1 < diffs/index.php.diff
230patch -d .. -p1 < diffs/labels.inc.diff
231patch -d .. -p1 < diffs/main.inc.diff
232patch -d .. -p1 < diffs/main.inc.php.diff
233patch -d .. -p1 < diffs/messages.inc.diff
234patch -d .. -p1 < diffs/rcube_user.php.diff
235patch -d .. -p1 < diffs/settingstabs.html.diff
b9aeba97 236%endif
6f843021 237
600b6f8b
PG
238%install
239rm -rf $RPM_BUILD_ROOT
e324f8fc 240install -d $RPM_BUILD_ROOT{%{_appdatadir},%{_applogdir},%{_archivelogdir},%{_sysconfdir}} \
98cf2bae 241 $RPM_BUILD_ROOT{%{_appdir}/{bin,config,installer,program,skins},/etc/logrotate.d}
600b6f8b
PG
242
243# Main application part:
59b0d169 244cp -a program/* $RPM_BUILD_ROOT%{_appdir}/program
e7167a32 245cp -a bin/* $RPM_BUILD_ROOT%{_appdir}/bin
59b0d169 246cp -a index.php $RPM_BUILD_ROOT%{_appdir}
600b6f8b 247
3727377d 248# Skins installation
59b0d169 249cp -a skins/* $RPM_BUILD_ROOT%{_appdir}/skins
600b6f8b 250
98cf2bae
SP
251# Installer part
252cp -a installer/* $RPM_BUILD_ROOT%{_appdir}/installer
a0651488
ER
253cp -a config/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php.dist
254cp -a config/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php.dist
255cp -a SQL $RPM_BUILD_ROOT%{_appdir}
98cf2bae 256
2a88dca9 257# Plugins
258cp -a plugins $RPM_BUILD_ROOT%{_appdir}/plugins
259
600b6f8b 260## Configuration:
a0651488
ER
261cp -a config/db.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/db.inc.php
262cp -a config/main.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/main.inc.php
600b6f8b
PG
263ln -sf %{_sysconfdir}/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php
264ln -sf %{_sysconfdir}/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php
265
e2c7ca4f
ER
266cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
267cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
268cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
269cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
32abe254 270
6a5cb541
ER
271# find locales
272%find_lang %{name}.lang
273# sed -ne 's/%lang(\([^)]\+\).*/\1/p' %{name}.lang | sort -u | grep _
274
275# now package plugins using filelist as well, as due lang tagging the files
276# section will go unmanageable
277for p in $RPM_BUILD_ROOT%{_appdir}/plugins/*; do
278 echo "%dir ${p#$RPM_BUILD_ROOT}"
279 for p in $p/*; do
280 d=${p##*/}
281 p=${p#$RPM_BUILD_ROOT}
282 case "$d" in
283 localization)
284 continue
285 ;;
286 README | Changelog | config.inc.php.dist)
287 echo "%doc $p"
288 ;;
289 *)
290 echo "$p"
291 ;;
292 esac
293 done
294done > plugins.lang
295cat plugins.lang >> %{name}.lang
296
5d23c484
JB
297%clean
298rm -rf $RPM_BUILD_ROOT
299
a87cdb0e
ER
300%pretrans
301if [ ! -f %{_sysconfdir}/db.inc.php -o ! -f %{_sysconfdir}/main.inc.php ]; then
302 # import configs from previously manually installed site
303 d=/home/services/httpd/html/config
4e2ae79b
ER
304 if [ -f $d/db.inc.php -o -f $d/main.inc.php ]; then
305 echo >&2 "Importing site configs from $d"
306 mkdir -p %{_sysconfdir}
307 if [ -f $d/db.inc.php ]; then
308 [ -f %{_sysconfdir}/db.inc.php ] && mv -f %{_sysconfdir}/db.inc.php{,.rpmorig}
309 cp -af $d/db.inc.php %{_sysconfdir}/db.inc.php
310 fi
311 if [ -f $d/main.inc.php ]; then
312 [ -f %{_sysconfdir}/main.inc.php ] && mv -f %{_sysconfdir}/main.inc.php{,.rpmorig}
313 cp -af $d/main.inc.php %{_sysconfdir}/main.inc.php
314 fi
a87cdb0e
ER
315 fi
316fi
317
5e4530ac 318# Note this on version upgrade
1353aee8
ER
319%triggerpostun -- %{name} < %{version}-0
320# don't do anything on --downgrade
321if [ $1 -le 1 ]; then
322 exit 0
323fi
324%banner -e %{name}-upgrade <<-EOF
5e4530ac 325Run %{_appdir}/bin/update to update to version %{version}.
83f90f35
ER
326(Be sure to have %{name}-setup installed when you run it)
327
5e4530ac
ER
328See %{_docdir}/%{name}-%{version}/UPGRADING* for more information.
329EOF
330
4fddc0f8 331%triggerin -- apache1 < 1.3.37-3, apache1-base
600b6f8b
PG
332%webapp_register apache %{_webapp}
333
4fddc0f8 334%triggerun -- apache1 < 1.3.37-3, apache1-base
600b6f8b
PG
335%webapp_unregister apache %{_webapp}
336
337%triggerin -- apache < 2.2.0, apache-base
338%webapp_register httpd %{_webapp}
339
340%triggerun -- apache < 2.2.0, apache-base
341%webapp_unregister httpd %{_webapp}
342
beb3779c
PG
343%triggerin -- lighttpd
344%webapp_register lighttpd %{_webapp}
345
346%triggerun -- lighttpd
347%webapp_unregister lighttpd %{_webapp}
348
6a5cb541 349%files -f %{name}.lang
600b6f8b 350%defattr(644,root,root,755)
a0651488 351%doc CHANGELOG INSTALL README UPGRADING
600b6f8b 352%dir %attr(750,root,http) %{_sysconfdir}
32abe254
PG
353%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
354%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
beb3779c 355%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
600b6f8b 356%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.php
496e37a6 357%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
600b6f8b 358%dir %{_appdir}
7e88f091 359%{_appdir}/*.php
6af22bc8 360%dir %{_appdir}/bin
e7167a32 361%attr(755,root,root) %{_appdir}/bin/*
600b6f8b
PG
362%dir %{_appdir}/config
363%{_appdir}/config/*.php
364%dir %{_appdir}/program
59b0d169
ER
365%{_appdir}/program/*.gif
366%{_appdir}/program/include
367%{_appdir}/program/js
368%{_appdir}/program/lib
369%{_appdir}/program/steps
59b0d169 370%{_appdir}/program/localization/index.inc
6a5cb541
ER
371
372%dir %{_appdir}/plugins
59b0d169 373
290a707d 374%dir %{_appdir}/skins
8f3a4fab 375%dir %attr(770,root,http) %{_applogdir}
e324f8fc 376%dir %attr(751,root,logs) %{_archivelogdir}
600b6f8b 377%dir %attr(770,root,http) %{_appdatadir}
6511b436
ER
378
379# TODO: %ghost logfile(s)
3727377d 380
a10cd471 381%files setup
00ff8410
SP
382%defattr(644,root,root,755)
383%dir %{_appdir}/installer
384%{_appdir}/installer/*.php
385%{_appdir}/installer/client.js
386%{_appdir}/installer/styles.css
387%{_appdir}/installer/welcome.html
388%{_appdir}/installer/images
a0651488
ER
389%{_appdir}/config/*.php.dist
390%{_appdir}/SQL
00ff8410 391
3727377d
ER
392%files skin-default
393%defattr(644,root,root,755)
394%{_appdir}/skins/default
This page took 0.14003 seconds and 4 git commands to generate.