]> git.pld-linux.org Git - packages/roundcubemail.git/blame - roundcubemail.spec
- merge 0.5 from DEVEL
[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
5d53966e
SP
11#
12%bcond_with spamfilter # Build with spamfilter patch
b9aeba97 13%bcond_with postfixadmin # Build with postfixadmin support patch
51610214 14%bcond_with password_anon_ldap_bind # apply with password-anon-ldap-bind patch.
5d53966e 15
2c65974f 16%define rcpfa_ver 1.0.5
e2c7ca4f 17%define php_min_version 5.2.3
e2c7ca4f 18%include /usr/lib/rpm/macros.php
600b6f8b 19Summary: RoundCube Webmail
07c0744d 20Summary(pl.UTF-8): RoundCube Webmail - poczta przez WWW
600b6f8b 21Name: roundcubemail
1353aee8
ER
22Version: 0.5
23Release: 1
600b6f8b 24License: GPL v2
d3874ddf 25Group: Applications/Mail
22e93b97 26Source0: http://downloads.sourceforge.net/roundcubemail/%{name}-%{version}.tar.gz
1353aee8 27# Source0-md5: 66111e52784221c56c477adb60cc7f5c
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
600b6f8b 40URL: http://www.roundcube.net/
e2c7ca4f 41BuildRequires: rpm-php-pearprov >= 4.4.2-11
1353aee8 42BuildRequires: rpmbuild(macros) >= 1.566
a87cdb0e 43BuildRequires: sed >= 4.0
3727377d 44Requires: %{name}-skin
e2c7ca4f
ER
45Requires: php-common >= 4:%{php_min_version}
46Requires: php-date
47Requires: php-dom
e0fe6c29 48Requires: php-iconv
e2c7ca4f 49Requires: php-imap
e2c7ca4f 50Requires: php-pcre
b8598ece 51Requires: php-pear-DB
b3ac8b6a 52Requires: php-pear-Mail_Mime
1353aee8 53Requires: php-pear-Net_IDNA2 >= 0.1.1
b3ac8b6a 54Requires: php-pear-Net_SMTP
e2c7ca4f
ER
55Requires: php-session
56Requires: php-simplexml
57Requires: php-sockets
58Requires: php-spl
59Requires: php-xml
22e93b97 60Requires: rpm-whiteout >= 1.22
600b6f8b 61Requires: webapps
22e93b97 62Requires: webserver(alias)
114a69ab 63Requires: webserver(indexfile)
22e93b97 64Requires: webserver(php)
83f90f35 65Suggests: php(fileinfo)
e2c7ca4f 66Suggests: php-gd
83f90f35 67Suggests: php-json
e2c7ca4f
ER
68Suggests: php-mbstring
69Suggests: php-mcrypt
70Suggests: php-openssl
83f90f35 71Suggests: php-pear-Auth_SASL
ddd8e01c 72Suggests: php-pear-Net_LDAP2
83f90f35
ER
73Suggests: php-pear-Net_Sieve
74Suggests: php-pear-Net_Socket
75Suggests: php-xml
7e68a9e0 76Conflicts: logrotate < 3.7-4
600b6f8b
PG
77BuildArch: noarch
78BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
79
80%define _webapps /etc/webapps
5737afb2 81%define _webapp roundcube
600b6f8b
PG
82%define _sysconfdir %{_webapps}/%{_webapp}
83%define _appdir %{_datadir}/%{_webapp}
84%define _appdatadir /var/lib/roundcube
8f3a4fab 85%define _applogdir /var/log/roundcube
e324f8fc 86%define _archivelogdir /var/log/archive/roundcube
600b6f8b 87
6a5cb541
ER
88%define find_lang sh %{SOURCE5} %{buildroot}
89
e2c7ca4f
ER
90# bad depsolver
91%define _noautopear pear
92
93# exclude optional php dependencies
83f90f35 94%define _noautophp php-sqlite php-mysql php-mysqli php-pgsql php-hash php-json php-xml
e2c7ca4f
ER
95
96# put it together for rpmbuild
97%define _noautoreq %{?_noautophp} %{?_noautopear}
98
600b6f8b
PG
99%description
100RoundCube Webmail is a browser-based multilingual IMAP client with an
101application-like user interface. It provides full functionality you
102expect from an e-mail client, including MIME support, address book,
103folder manipulation and message filters. RoundCube Webmail is written
104in PHP and requires the MySQL database. The user interface is fully
105skinnable using XHTML and CSS 2.
106
d9bffeff
JR
107%description -l pl.UTF-8
108RoundCube Webmail to oparty na przeglądarce wielojęzyczny klient PHP z
109interfejsem użytkownika podobnym do aplikacji. Udostępnia pełną
110funkcjonalność jakiej można oczekiwać od klienta pocztowego, w tym
111obsługę MIME, książkę adresową, operacje na folderach i filtry
112wiadomości. RoundCube Webmail jest napisany w PHP i wymaga bazy danych
113MySQL. Interfejs użytkownika można w pełni obudować skórką przy użyciu
5d23c484
JB
114XHTML-a i CSS 2.
115
a10cd471 116%package setup
00ff8410 117Summary: Installer script for RoundCube Webmail
a210006f 118Summary(pl.UTF-8): Skrypt instalacyjny RoundCube Webmaila
00ff8410 119Group: Applications/WWW
8b170957 120Requires: %{name} = %{version}-%{release}
00ff8410 121
a10cd471 122%description setup
a210006f
JB
123This package provides installer script for RoundCube Webmail.
124
125%description setup -l pl.UTF-8
126Ten pakiet zawiera skrypt instalacyjny RoundCube Webmaila.
00ff8410 127
3727377d
ER
128%package skin-default
129Summary: Default skin for RoundCube Webmail
205b27a0 130Summary(pl.UTF-8): Domyślna skórka dla RoundCube Webmaila
3727377d 131Group: Applications/WWW
220183ec 132Requires: %{name} = %{version}-%{release}
3727377d
ER
133Provides: %{name}-skin
134
135%description skin-default
136Default skin for RoundCube Webmail.
137
205b27a0
JB
138%description skin-default -l pl.UTF-8
139Domyślna skórka dla RoundCube Webmaila.
140
600b6f8b 141%prep
6511b436 142%setup -q %{?with_postfixadmin:-a 4}
600b6f8b 143%patch0 -p1
5d53966e 144%if %{with spamfilter}
6511b436 145%patch1 -p1
5d53966e 146%endif
1e701d3b 147%if %{with postfixadmin}
2c65974f 148#patch2 -p1
1e701d3b 149%endif
1353aee8 150#%patch3 -p1
51610214 151%if %{with password_anon_ldap_bind}
7859ddcb 152%patch4 -p1
153%endif
e0fe6c29 154%patch5 -p1
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
169
e0fe6c29
ER
170# rm utf8.class and deps, we use iconv extension
171rm program/lib/utf8.class.php
172rm -r program/lib/encoding
173
83f90f35
ER
174# php-pear-PEAR-core 1.9.0 (used indirectly)
175rm program/lib/PEAR.php
176rm program/lib/PEAR5.php
177
178# php-pear-Net_Socket 1.0.9 (used by password, managesieve plugins)
179rm program/lib/Net/Socket.php
180
181# php-pear-Net_SMTP 1.4.2 (nothing seem to use it)
182rm program/lib/Net/SMTP.php
183
184# php-pear-Auth_SASL 1.0.4 (used by managesieve)
185rm program/lib/Auth/SASL.php
186rm -r program/lib/Auth/SASL
187
188# php-pear-Mail_Mime 1.8.0 (nothing seems to use it)
189rm program/lib/Mail/mime.php
190rm program/lib/Mail/mimePart.php
191
192# php-pear-Net_Sieve 1.3.0
193rm plugins/managesieve/lib/Net/Sieve.php
194
1353aee8
ER
195# 0.1.1 snapshot (at least r301175)
196rm program/lib/Net/IDNA2.php
197rm -r program/lib/Net/IDNA2
198
83f90f35
ER
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 316# Note this on version upgrade
1353aee8
ER
317%triggerpostun -- %{name} < %{version}-0
318# don't do anything on --downgrade
319if [ $1 -le 1 ]; then
320 exit 0
321fi
322%banner -e %{name}-upgrade <<-EOF
5e4530ac 323Run %{_appdir}/bin/update to update to version %{version}.
83f90f35
ER
324(Be sure to have %{name}-setup installed when you run it)
325
5e4530ac
ER
326See %{_docdir}/%{name}-%{version}/UPGRADING* for more information.
327EOF
328
4fddc0f8 329%triggerin -- apache1 < 1.3.37-3, apache1-base
600b6f8b
PG
330%webapp_register apache %{_webapp}
331
4fddc0f8 332%triggerun -- apache1 < 1.3.37-3, apache1-base
600b6f8b
PG
333%webapp_unregister apache %{_webapp}
334
335%triggerin -- apache < 2.2.0, apache-base
336%webapp_register httpd %{_webapp}
337
338%triggerun -- apache < 2.2.0, apache-base
339%webapp_unregister httpd %{_webapp}
340
beb3779c
PG
341%triggerin -- lighttpd
342%webapp_register lighttpd %{_webapp}
343
344%triggerun -- lighttpd
345%webapp_unregister lighttpd %{_webapp}
346
6a5cb541 347%files -f %{name}.lang
600b6f8b 348%defattr(644,root,root,755)
a0651488 349%doc CHANGELOG INSTALL README UPGRADING
600b6f8b 350%dir %attr(750,root,http) %{_sysconfdir}
32abe254
PG
351%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
352%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
beb3779c 353%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
600b6f8b 354%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.php
496e37a6 355%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
600b6f8b 356%dir %{_appdir}
7e88f091 357%{_appdir}/*.php
6af22bc8 358%dir %{_appdir}/bin
e7167a32 359%attr(755,root,root) %{_appdir}/bin/*
600b6f8b
PG
360%dir %{_appdir}/config
361%{_appdir}/config/*.php
362%dir %{_appdir}/program
59b0d169
ER
363%{_appdir}/program/*.gif
364%{_appdir}/program/include
365%{_appdir}/program/js
366%{_appdir}/program/lib
367%{_appdir}/program/steps
59b0d169 368%{_appdir}/program/localization/index.inc
6a5cb541
ER
369
370%dir %{_appdir}/plugins
59b0d169 371
290a707d 372%dir %{_appdir}/skins
8f3a4fab 373%dir %attr(770,root,http) %{_applogdir}
e324f8fc 374%dir %attr(751,root,logs) %{_archivelogdir}
600b6f8b 375%dir %attr(770,root,http) %{_appdatadir}
6511b436
ER
376
377# TODO: %ghost logfile(s)
3727377d 378
a10cd471 379%files setup
00ff8410
SP
380%defattr(644,root,root,755)
381%dir %{_appdir}/installer
382%{_appdir}/installer/*.php
383%{_appdir}/installer/client.js
384%{_appdir}/installer/styles.css
385%{_appdir}/installer/welcome.html
386%{_appdir}/installer/images
a0651488
ER
387%{_appdir}/config/*.php.dist
388%{_appdir}/SQL
00ff8410 389
3727377d
ER
390%files skin-default
391%defattr(644,root,root,755)
392%{_appdir}/skins/default
This page took 0.092223 seconds and 4 git commands to generate.