]> git.pld-linux.org Git - packages/roundcubemail.git/blame - roundcubemail.spec
- s/indexcontacts.sh/indexcontacts/g bin/update; rel 2
[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
4dc5a7cb 24Release: 2
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
4dc5a7cb
SP
167%{__sed} -i s/indexcontacts.sh/indexcontacts/g bin/update
168
a517b18b
ER
169# unpacked js sources
170find -name '*.src' | xargs rm -v
971afbf3
ER
171# tools to pack js
172rm -f bin/{jsshrink,jsunshrink}
a517b18b 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
1353aee8
ER
199# 0.1.1 snapshot (at least r301175)
200rm program/lib/Net/IDNA2.php
201rm -r program/lib/Net/IDNA2
202
83f90f35
ER
203# now empty dirs
204rmdir program/lib/Auth
205rmdir program/lib/Mail
206rmdir program/lib/Net
207rmdir plugins/managesieve/lib/Net
208
209# unknown MDB2 version (newer than released 2.5.0b2, or modified by rc)
210#rm program/lib/MDB2.php
211
6a5cb541
ER
212# pear package junk
213rm -v plugins/*/package.xml
214
b9aeba97 215mv config/db.inc.php.dist config/db.inc.php
216mv config/main.inc.php.dist config/main.inc.php
217%if %{with postfixadmin}
fb493b0a 218mv rcpfa-%{rcpfa_ver} rcpfa
2c65974f
PG
219cd rcpfa
220cp code/forwarding.html ../skins/default/templates
221cp code/password.html ../skins/default/templates
222cp code/vacation.html ../skins/default/templates
223cp code/pfa_forwarding.inc ../program/steps/settings
224cp code/pfa_password.inc ../program/steps/settings
225cp code/pfa_vacation.inc ../program/steps/settings
226cp code/pfa.php ../program/include
227
228patch -d .. -p1 < diffs/app.js.diff
229patch -d .. -p1 < diffs/db.inc.php.diff
230patch -d .. -p1 < diffs/func.inc.diff
231patch -d .. -p1 < diffs/index.php.diff
232patch -d .. -p1 < diffs/labels.inc.diff
233patch -d .. -p1 < diffs/main.inc.diff
234patch -d .. -p1 < diffs/main.inc.php.diff
235patch -d .. -p1 < diffs/messages.inc.diff
236patch -d .. -p1 < diffs/rcube_user.php.diff
237patch -d .. -p1 < diffs/settingstabs.html.diff
b9aeba97 238%endif
6f843021 239
600b6f8b
PG
240%install
241rm -rf $RPM_BUILD_ROOT
e324f8fc 242install -d $RPM_BUILD_ROOT{%{_appdatadir},%{_applogdir},%{_archivelogdir},%{_sysconfdir}} \
98cf2bae 243 $RPM_BUILD_ROOT{%{_appdir}/{bin,config,installer,program,skins},/etc/logrotate.d}
600b6f8b
PG
244
245# Main application part:
59b0d169 246cp -a program/* $RPM_BUILD_ROOT%{_appdir}/program
e7167a32 247cp -a bin/* $RPM_BUILD_ROOT%{_appdir}/bin
59b0d169 248cp -a index.php $RPM_BUILD_ROOT%{_appdir}
600b6f8b 249
3727377d 250# Skins installation
59b0d169 251cp -a skins/* $RPM_BUILD_ROOT%{_appdir}/skins
600b6f8b 252
98cf2bae
SP
253# Installer part
254cp -a installer/* $RPM_BUILD_ROOT%{_appdir}/installer
a0651488
ER
255cp -a config/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php.dist
256cp -a config/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php.dist
257cp -a SQL $RPM_BUILD_ROOT%{_appdir}
98cf2bae 258
2a88dca9 259# Plugins
260cp -a plugins $RPM_BUILD_ROOT%{_appdir}/plugins
261
600b6f8b 262## Configuration:
a0651488
ER
263cp -a config/db.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/db.inc.php
264cp -a config/main.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/main.inc.php
600b6f8b
PG
265ln -sf %{_sysconfdir}/db.inc.php $RPM_BUILD_ROOT%{_appdir}/config/db.inc.php
266ln -sf %{_sysconfdir}/main.inc.php $RPM_BUILD_ROOT%{_appdir}/config/main.inc.php
267
e2c7ca4f
ER
268cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
269cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
270cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
271cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
32abe254 272
6a5cb541
ER
273# find locales
274%find_lang %{name}.lang
275# sed -ne 's/%lang(\([^)]\+\).*/\1/p' %{name}.lang | sort -u | grep _
276
277# now package plugins using filelist as well, as due lang tagging the files
278# section will go unmanageable
279for p in $RPM_BUILD_ROOT%{_appdir}/plugins/*; do
280 echo "%dir ${p#$RPM_BUILD_ROOT}"
281 for p in $p/*; do
282 d=${p##*/}
283 p=${p#$RPM_BUILD_ROOT}
284 case "$d" in
285 localization)
286 continue
287 ;;
288 README | Changelog | config.inc.php.dist)
289 echo "%doc $p"
290 ;;
291 *)
292 echo "$p"
293 ;;
294 esac
295 done
296done > plugins.lang
297cat plugins.lang >> %{name}.lang
298
5d23c484
JB
299%clean
300rm -rf $RPM_BUILD_ROOT
301
a87cdb0e
ER
302%pretrans
303if [ ! -f %{_sysconfdir}/db.inc.php -o ! -f %{_sysconfdir}/main.inc.php ]; then
304 # import configs from previously manually installed site
305 d=/home/services/httpd/html/config
4e2ae79b
ER
306 if [ -f $d/db.inc.php -o -f $d/main.inc.php ]; then
307 echo >&2 "Importing site configs from $d"
308 mkdir -p %{_sysconfdir}
309 if [ -f $d/db.inc.php ]; then
310 [ -f %{_sysconfdir}/db.inc.php ] && mv -f %{_sysconfdir}/db.inc.php{,.rpmorig}
311 cp -af $d/db.inc.php %{_sysconfdir}/db.inc.php
312 fi
313 if [ -f $d/main.inc.php ]; then
314 [ -f %{_sysconfdir}/main.inc.php ] && mv -f %{_sysconfdir}/main.inc.php{,.rpmorig}
315 cp -af $d/main.inc.php %{_sysconfdir}/main.inc.php
316 fi
a87cdb0e
ER
317 fi
318fi
319
5e4530ac 320# Note this on version upgrade
1353aee8
ER
321%triggerpostun -- %{name} < %{version}-0
322# don't do anything on --downgrade
323if [ $1 -le 1 ]; then
324 exit 0
325fi
326%banner -e %{name}-upgrade <<-EOF
5e4530ac 327Run %{_appdir}/bin/update to update to version %{version}.
83f90f35
ER
328(Be sure to have %{name}-setup installed when you run it)
329
5e4530ac
ER
330See %{_docdir}/%{name}-%{version}/UPGRADING* for more information.
331EOF
332
4fddc0f8 333%triggerin -- apache1 < 1.3.37-3, apache1-base
600b6f8b
PG
334%webapp_register apache %{_webapp}
335
4fddc0f8 336%triggerun -- apache1 < 1.3.37-3, apache1-base
600b6f8b
PG
337%webapp_unregister apache %{_webapp}
338
339%triggerin -- apache < 2.2.0, apache-base
340%webapp_register httpd %{_webapp}
341
342%triggerun -- apache < 2.2.0, apache-base
343%webapp_unregister httpd %{_webapp}
344
beb3779c
PG
345%triggerin -- lighttpd
346%webapp_register lighttpd %{_webapp}
347
348%triggerun -- lighttpd
349%webapp_unregister lighttpd %{_webapp}
350
6a5cb541 351%files -f %{name}.lang
600b6f8b 352%defattr(644,root,root,755)
a0651488 353%doc CHANGELOG INSTALL README UPGRADING
600b6f8b 354%dir %attr(750,root,http) %{_sysconfdir}
32abe254
PG
355%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
356%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
beb3779c 357%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
600b6f8b 358%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.php
496e37a6 359%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
600b6f8b 360%dir %{_appdir}
7e88f091 361%{_appdir}/*.php
6af22bc8 362%dir %{_appdir}/bin
e7167a32 363%attr(755,root,root) %{_appdir}/bin/*
600b6f8b
PG
364%dir %{_appdir}/config
365%{_appdir}/config/*.php
366%dir %{_appdir}/program
59b0d169
ER
367%{_appdir}/program/*.gif
368%{_appdir}/program/include
369%{_appdir}/program/js
370%{_appdir}/program/lib
371%{_appdir}/program/steps
59b0d169 372%{_appdir}/program/localization/index.inc
6a5cb541
ER
373
374%dir %{_appdir}/plugins
59b0d169 375
290a707d 376%dir %{_appdir}/skins
8f3a4fab 377%dir %attr(770,root,http) %{_applogdir}
e324f8fc 378%dir %attr(751,root,logs) %{_archivelogdir}
600b6f8b 379%dir %attr(770,root,http) %{_appdatadir}
6511b436
ER
380
381# TODO: %ghost logfile(s)
3727377d 382
a10cd471 383%files setup
00ff8410
SP
384%defattr(644,root,root,755)
385%dir %{_appdir}/installer
386%{_appdir}/installer/*.php
387%{_appdir}/installer/client.js
388%{_appdir}/installer/styles.css
389%{_appdir}/installer/welcome.html
390%{_appdir}/installer/images
a0651488
ER
391%{_appdir}/config/*.php.dist
392%{_appdir}/SQL
00ff8410 393
3727377d
ER
394%files skin-default
395%defattr(644,root,root,755)
396%{_appdir}/skins/default
This page took 0.633332 seconds and 4 git commands to generate.