]> git.pld-linux.org Git - packages/roundcubemail.git/blame - roundcubemail.spec
- BR: rpm-pythonprov
[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 22Version: 0.5
bf1c8685 23Release: 3
600b6f8b 24License: GPL v2
d3874ddf 25Group: Applications/Mail
22e93b97 26Source0: http://downloads.sourceforge.net/roundcubemail/%{name}-%{version}.tar.gz
1353aee8 27# Source0-md5: 66111e52784221c56c477adb60cc7f5c
62103fec 28Source1: apache.conf
94ca3383 29Source2: %{name}.logrotate
62103fec 30Source3: 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
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
b3ac8b6a 53Requires: php-pear-Mail_Mime
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
e0fe6c29 155%patch5 -p1
e1206cba 156
5737afb2
ER
157find -name .svn | xargs -r rm -rf
158
a87cdb0e 159# undos the source
e7167a32
ER
160%undos -f php,inc,js,css
161
162# kill extensions and fill proper shebang
163%{__sed} -i -e '1s,^#!.*php,#!%{__php},' bin/*.sh
164for a in bin/*.sh; do
165 mv $a ${a%.sh}
166done
a87cdb0e 167
a517b18b
ER
168# unpacked js sources
169find -name '*.src' | xargs rm -v
170
e0fe6c29
ER
171# rm utf8.class and deps, we use iconv extension
172rm program/lib/utf8.class.php
173rm -r program/lib/encoding
174
83f90f35
ER
175# php-pear-PEAR-core 1.9.0 (used indirectly)
176rm program/lib/PEAR.php
177rm program/lib/PEAR5.php
178
179# php-pear-Net_Socket 1.0.9 (used by password, managesieve plugins)
180rm program/lib/Net/Socket.php
181
182# php-pear-Net_SMTP 1.4.2 (nothing seem to use it)
183rm program/lib/Net/SMTP.php
184
185# php-pear-Auth_SASL 1.0.4 (used by managesieve)
186rm program/lib/Auth/SASL.php
187rm -r program/lib/Auth/SASL
188
189# php-pear-Mail_Mime 1.8.0 (nothing seems to use it)
190rm program/lib/Mail/mime.php
191rm program/lib/Mail/mimePart.php
192
193# php-pear-Net_Sieve 1.3.0
194rm plugins/managesieve/lib/Net/Sieve.php
195
1353aee8
ER
196# 0.1.1 snapshot (at least r301175)
197rm program/lib/Net/IDNA2.php
198rm -r program/lib/Net/IDNA2
199
83f90f35
ER
200# now empty dirs
201rmdir program/lib/Auth
202rmdir program/lib/Mail
203rmdir program/lib/Net
204rmdir plugins/managesieve/lib/Net
205
206# unknown MDB2 version (newer than released 2.5.0b2, or modified by rc)
207#rm program/lib/MDB2.php
208
6a5cb541
ER
209# pear package junk
210rm -v plugins/*/package.xml
211
b9aeba97 212mv config/db.inc.php.dist config/db.inc.php
213mv config/main.inc.php.dist config/main.inc.php
214%if %{with postfixadmin}
fb493b0a 215mv rcpfa-%{rcpfa_ver} rcpfa
2c65974f
PG
216cd rcpfa
217cp code/forwarding.html ../skins/default/templates
218cp code/password.html ../skins/default/templates
219cp code/vacation.html ../skins/default/templates
220cp code/pfa_forwarding.inc ../program/steps/settings
221cp code/pfa_password.inc ../program/steps/settings
222cp code/pfa_vacation.inc ../program/steps/settings
223cp code/pfa.php ../program/include
224
225patch -d .. -p1 < diffs/app.js.diff
226patch -d .. -p1 < diffs/db.inc.php.diff
227patch -d .. -p1 < diffs/func.inc.diff
228patch -d .. -p1 < diffs/index.php.diff
229patch -d .. -p1 < diffs/labels.inc.diff
230patch -d .. -p1 < diffs/main.inc.diff
231patch -d .. -p1 < diffs/main.inc.php.diff
232patch -d .. -p1 < diffs/messages.inc.diff
233patch -d .. -p1 < diffs/rcube_user.php.diff
234patch -d .. -p1 < diffs/settingstabs.html.diff
b9aeba97 235%endif
6f843021 236
600b6f8b
PG
237%install
238rm -rf $RPM_BUILD_ROOT
e324f8fc 239install -d $RPM_BUILD_ROOT{%{_appdatadir},%{_applogdir},%{_archivelogdir},%{_sysconfdir}} \
98cf2bae 240 $RPM_BUILD_ROOT{%{_appdir}/{bin,config,installer,program,skins},/etc/logrotate.d}
600b6f8b
PG
241
242# Main application part:
59b0d169 243cp -a program/* $RPM_BUILD_ROOT%{_appdir}/program
e7167a32 244cp -a bin/* $RPM_BUILD_ROOT%{_appdir}/bin
59b0d169 245cp -a index.php $RPM_BUILD_ROOT%{_appdir}
600b6f8b 246
3727377d 247# Skins installation
59b0d169 248cp -a skins/* $RPM_BUILD_ROOT%{_appdir}/skins
600b6f8b 249
98cf2bae
SP
250# Installer part
251cp -a installer/* $RPM_BUILD_ROOT%{_appdir}/installer
a0651488
ER
252cp -a config/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php.dist
253cp -a config/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php.dist
254cp -a SQL $RPM_BUILD_ROOT%{_appdir}
98cf2bae 255
2a88dca9 256# Plugins
257cp -a plugins $RPM_BUILD_ROOT%{_appdir}/plugins
258
600b6f8b 259## Configuration:
a0651488
ER
260cp -a config/db.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/db.inc.php
261cp -a config/main.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/main.inc.php
600b6f8b
PG
262ln -sf %{_sysconfdir}/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php
263ln -sf %{_sysconfdir}/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php
264
e2c7ca4f
ER
265cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
266cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
267cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
268cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
32abe254 269
6a5cb541
ER
270# find locales
271%find_lang %{name}.lang
272# sed -ne 's/%lang(\([^)]\+\).*/\1/p' %{name}.lang | sort -u | grep _
273
274# now package plugins using filelist as well, as due lang tagging the files
275# section will go unmanageable
276for p in $RPM_BUILD_ROOT%{_appdir}/plugins/*; do
277 echo "%dir ${p#$RPM_BUILD_ROOT}"
278 for p in $p/*; do
279 d=${p##*/}
280 p=${p#$RPM_BUILD_ROOT}
281 case "$d" in
282 localization)
283 continue
284 ;;
285 README | Changelog | config.inc.php.dist)
286 echo "%doc $p"
287 ;;
288 *)
289 echo "$p"
290 ;;
291 esac
292 done
293done > plugins.lang
294cat plugins.lang >> %{name}.lang
295
5d23c484
JB
296%clean
297rm -rf $RPM_BUILD_ROOT
298
a87cdb0e
ER
299%pretrans
300if [ ! -f %{_sysconfdir}/db.inc.php -o ! -f %{_sysconfdir}/main.inc.php ]; then
301 # import configs from previously manually installed site
302 d=/home/services/httpd/html/config
4e2ae79b
ER
303 if [ -f $d/db.inc.php -o -f $d/main.inc.php ]; then
304 echo >&2 "Importing site configs from $d"
305 mkdir -p %{_sysconfdir}
306 if [ -f $d/db.inc.php ]; then
307 [ -f %{_sysconfdir}/db.inc.php ] && mv -f %{_sysconfdir}/db.inc.php{,.rpmorig}
308 cp -af $d/db.inc.php %{_sysconfdir}/db.inc.php
309 fi
310 if [ -f $d/main.inc.php ]; then
311 [ -f %{_sysconfdir}/main.inc.php ] && mv -f %{_sysconfdir}/main.inc.php{,.rpmorig}
312 cp -af $d/main.inc.php %{_sysconfdir}/main.inc.php
313 fi
a87cdb0e
ER
314 fi
315fi
316
5e4530ac 317# Note this on version upgrade
1353aee8
ER
318%triggerpostun -- %{name} < %{version}-0
319# don't do anything on --downgrade
320if [ $1 -le 1 ]; then
321 exit 0
322fi
323%banner -e %{name}-upgrade <<-EOF
5e4530ac 324Run %{_appdir}/bin/update to update to version %{version}.
83f90f35
ER
325(Be sure to have %{name}-setup installed when you run it)
326
5e4530ac
ER
327See %{_docdir}/%{name}-%{version}/UPGRADING* for more information.
328EOF
329
4fddc0f8 330%triggerin -- apache1 < 1.3.37-3, apache1-base
600b6f8b
PG
331%webapp_register apache %{_webapp}
332
4fddc0f8 333%triggerun -- apache1 < 1.3.37-3, apache1-base
600b6f8b
PG
334%webapp_unregister apache %{_webapp}
335
336%triggerin -- apache < 2.2.0, apache-base
337%webapp_register httpd %{_webapp}
338
339%triggerun -- apache < 2.2.0, apache-base
340%webapp_unregister httpd %{_webapp}
341
beb3779c
PG
342%triggerin -- lighttpd
343%webapp_register lighttpd %{_webapp}
344
345%triggerun -- lighttpd
346%webapp_unregister lighttpd %{_webapp}
347
6a5cb541 348%files -f %{name}.lang
600b6f8b 349%defattr(644,root,root,755)
a0651488 350%doc CHANGELOG INSTALL README UPGRADING
600b6f8b 351%dir %attr(750,root,http) %{_sysconfdir}
32abe254
PG
352%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
353%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
beb3779c 354%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
600b6f8b 355%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.php
496e37a6 356%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
600b6f8b 357%dir %{_appdir}
7e88f091 358%{_appdir}/*.php
6af22bc8 359%dir %{_appdir}/bin
e7167a32 360%attr(755,root,root) %{_appdir}/bin/*
600b6f8b
PG
361%dir %{_appdir}/config
362%{_appdir}/config/*.php
363%dir %{_appdir}/program
59b0d169
ER
364%{_appdir}/program/*.gif
365%{_appdir}/program/include
366%{_appdir}/program/js
367%{_appdir}/program/lib
368%{_appdir}/program/steps
59b0d169 369%{_appdir}/program/localization/index.inc
6a5cb541
ER
370
371%dir %{_appdir}/plugins
59b0d169 372
290a707d 373%dir %{_appdir}/skins
8f3a4fab 374%dir %attr(770,root,http) %{_applogdir}
e324f8fc 375%dir %attr(751,root,logs) %{_archivelogdir}
600b6f8b 376%dir %attr(770,root,http) %{_appdatadir}
6511b436
ER
377
378# TODO: %ghost logfile(s)
3727377d 379
a10cd471 380%files setup
00ff8410
SP
381%defattr(644,root,root,755)
382%dir %{_appdir}/installer
383%{_appdir}/installer/*.php
384%{_appdir}/installer/client.js
385%{_appdir}/installer/styles.css
386%{_appdir}/installer/welcome.html
387%{_appdir}/installer/images
a0651488
ER
388%{_appdir}/config/*.php.dist
389%{_appdir}/SQL
00ff8410 390
3727377d
ER
391%files skin-default
392%defattr(644,root,root,755)
393%{_appdir}/skins/default
This page took 0.113888 seconds and 4 git commands to generate.