]> git.pld-linux.org Git - packages/eventum.git/blame - eventum.spec
update zf and symfony autoloaders
[packages/eventum.git] / eventum.spec
CommitLineData
a659c698
JB
1#
2# Conditional build:
7bc9b641 3%bcond_with order # with experimental order patch
cddf3011 4
0cca2d24 5%define rel 1.2
376f0835
ER
6%define subver 60
7%define githash 788184f
9d207070 8%define php_min_version 5.3.7
b3857e8b 9%include /usr/lib/rpm/macros.php
c96aabf5 10Summary: Eventum Issue / Bug tracking system
9f49cf47 11Summary(pl.UTF-8): Eventum - system śledzenia spraw/błędów
bb01d732 12Name: eventum
0f58c3d0 13Version: 3.0.10
7665f424 14Release: %{?subver:1.%{subver}.%{?githash:g%{githash}.}}%{rel}
0bd66721 15License: GPL v2+
6850abd9 16Group: Applications/WWW
376f0835
ER
17#Source0: https://github.com/eventum/eventum/releases/download/v%{version}/%{name}-%{version}.tar.gz
18Source0: %{name}-%{version}-%{subver}-g%{githash}.tar.gz
19# Source0-md5: 23a1fc1e680a859fb872fbe6e521a5ab
82121306 20Source1: %{name}-apache.conf
cd719538
ER
21Source2: %{name}-mail-queue.cron
22Source3: %{name}-mail-download.cron
23Source4: %{name}-reminder.cron
24Source5: %{name}-monitor.cron
25Source6: %{name}-cvs.php
cd719538 26Source8: %{name}-irc.init
73f6a3e6 27Source9: %{name}-irc.sysconfig
1cce3e61 28Source10: sphinx.crontab
cfcdd0a9
ER
29Source13: %{name}-router-postfix.sh
30Source14: %{name}.logrotate
31Source15: %{name}-lighttpd.conf
d0dabd47
ER
32Source16: http://www.isocra.com/images/updown2.gif
33# Source16-md5: deb6eeb2552ba757d3a949ed10c4107d
cc613bc9 34Source17: %{name}.tmpfiles
4f627938 35Patch2: %{name}-order.patch
7a906e31
ER
36#Patch3: group-users.patch
37#Patch4: https://github.com/glensc/eventum/compare/cf_escape.patch
14ff3418 38# packaging patches that probably never go upstream
ac27ba92
ER
39Patch100: %{name}-paths.patch
40Patch101: %{name}-cvs-config.patch
cfcdd0a9 41Patch107: %{name}-gettext.patch
3ca19d87 42Patch108: autoload.patch
a6016bab
ER
43# some tests
44Patch200: %{name}-fixed-nav.patch
3cf7d1aa 45URL: http://eventum.mysql.org/
447ff246 46BuildRequires: /usr/bin/php
376f0835 47BuildRequires: gettext-tools
7a906e31 48BuildRequires: php(core) >= %{php_min_version}
b3857e8b 49BuildRequires: rpm-php-pearprov >= 4.0.2-98
5500a61e 50BuildRequires: rpmbuild(macros) >= 1.654
4068cb73 51BuildRequires: sed >= 4.0
5132bae6
ER
52Requires(postun): /usr/sbin/groupdel
53Requires(postun): /usr/sbin/userdel
54Requires(pre): /bin/id
55Requires(pre): /usr/bin/getgid
56Requires(pre): /usr/sbin/groupadd
57Requires(pre): /usr/sbin/useradd
0b88d857 58Requires: fonts-TTF-RedHat-liberation
01d8dfff 59Requires: php(core) >= %{php_min_version}
2f331c68 60Requires: php(filter)
2f331c68
ER
61Requires: php(iconv)
62Requires: php(imap)
63Requires: php(json)
64Requires: php(mbstring)
8c038b49 65Requires: php(mysqli)
2f331c68
ER
66Requires: php(pcre)
67Requires: php(session)
5dbd4bf5
ER
68Requires: php-Smarty >= 3.1
69Requires: php-Smarty-plugin-gettext
9d207070 70Requires: php-ZendFramework-Config >= 2.4
19d84727 71Requires: php-monolog >= 1.17.2
71b01fde 72Requires: php-pear-DB
71b01fde 73Requires: php-pear-Mail
723da18a 74Requires: php-pear-Mail_Mime
fb0b2f83 75Requires: php-pear-Mail_mimeDecode
71b01fde 76Requires: php-pear-Math_Stats
71b01fde 77Requires: php-pear-Net_SMTP
71b01fde
ER
78Requires: php-pear-Net_Socket
79Requires: php-pear-Net_URL
3223fb64 80Requires: php-pear-PEAR-core
71b01fde
ER
81Requires: php-pear-Text_Diff
82Requires: php-pear-XML_RPC
19d84727
ER
83Requires: php-psr-Log >= 1.0.0-2
84Requires: php-symfony2-HttpFoundation >= 2.7.7
0b88d857 85Requires: phplot >= 5.8.0
bdf85dc8 86Requires: webapps
f399f1c0
ER
87Requires: webserver(access)
88Requires: webserver(alias)
897bdb2c 89Requires: webserver(indexfile)
61351540 90Requires: webserver(php) >= 4.2.0
462ee1a6 91Suggests: localedb
383eed8e
ER
92Suggests: php(mcrypt)
93Suggests: php(openssl)
73de38a1 94Suggests: php-pear-Net_LDAP2
191d9c61 95Suggests: php-pear-Net_POP3
06ddb94b 96Suggests: webserver(setenv)
5132bae6
ER
97Provides: group(eventum)
98Provides: user(eventum)
99Obsoletes: eventum-base < 3.0.3-1.305
4e2cf70d
ER
100Obsoletes: eventum-route-drafts < 3.0.8-1.1
101Obsoletes: eventum-route-emails < 3.0.8-1.1
102Obsoletes: eventum-route-notes < 3.0.8-1.1
bd70ea88 103Conflicts: logrotate < 3.8.0
35fa3cf8 104BuildArch: noarch
bb01d732
ER
105BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
106
4b01e826 107%define _noautoreq_pear ../init.php ../../init.php init.php /usr/share/eventum/init.php /etc/webapps/.* %{_appdir}/.* .*Smarty.class.php Services/JSON.php class.date_helper.php sphinxapi.php Net/LDAP2.* Auth/SASL.* Util.php smarty_internal.*
03410d49
ER
108
109# exclude optional php dependencies
899100ff 110%define _noautophp php-gnupg php-hash php-pecl-http php-tk
03410d49 111
5500a61e 112%define _noautoreq %{_noautophp}
3223fb64 113
1d760108 114%define _libdir %{_prefix}/lib/%{name}
71f56750 115%define _appdir %{_datadir}/%{name}
d1c44829 116%define _smartydir %{php_data_dir}/Smarty
bdf85dc8
ER
117%define _webapps /etc/webapps
118%define _webapp %{name}
8a37ad9d
ER
119%define _webappdir %{_webapps}/%{_webapp}
120%define _sysconfdir /etc/%{name}
bb01d732
ER
121
122%description
123Eventum is a user-friendly and flexible issue tracking system that can
124be used by a support department to track incoming technical support
125requests, or by a software development team to quickly organize tasks
126and bugs. Eventum is used by the MySQL AB Technical Support team, and
127has allowed us to dramatically improve our response times.
128
d8cfa9f0
JR
129%description -l pl.UTF-8
130Eventum to przyjazny dla użytkownika system śledzenia spraw, który
131może być używany przez dział obsługi do śledzenia przychodzących żądań
132obsługi technicznej albo przez zespół tworzący oprogramowanie do
133szybkiej organizacji zadań i błędów. Eventum jest używany przez zespół
134Technical Support MySQL AB i umożliwił im znacząco poprawić czasy
4068cb73
JB
135reakcji.
136
ab983aaa 137%package setup
4068cb73 138Summary: Eventum setup package
9f49cf47 139Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji Eventum
ab983aaa 140Group: Applications/WWW
5b165428 141Requires: %{name} = %{version}-%{release}
ab983aaa
ER
142
143%description setup
144Install this package to configure initial Eventum installation. You
145should uninstall this package when you're done, as it considered
146insecure to keep the setup files in place.
147
d8cfa9f0
JR
148%description setup -l pl.UTF-8
149Ten pakiet należy zainstalować w celu wstępnej konfiguracji Eventum po
150pierwszej instalacji. Potem należy go odinstalować, jako że
151pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
4068cb73 152
d4a553ea
ER
153%package doc
154Summary: Eventum documentation and Wiki
155Group: Documentation
156
157%description doc
158Eventum documentation and copy of Wiki.
159
0da8e1f2 160%package mail-queue
30689148 161Summary: Eventum mail queue process
9f49cf47 162Summary(pl.UTF-8): Przetwarzanie kolejki poczty Eventum
0da8e1f2 163Group: Applications/WWW
5b165428 164Requires: %{name} = %{version}-%{release}
0da8e1f2
ER
165Requires: crondaemon
166
167%description mail-queue
168Beginning with the first release of Eventum, emails are not directly
169sent out from the various scripts, but rather added to a mail queue
170table that is processed by a cron job. If an email cannot be sent, it
171will be marked as such in the mail queue log, and the cron job script
172will re-try to send it again the next time it runs.
173
174This package contains the cron job.
175
d8cfa9f0
JR
176%description mail-queue -l pl.UTF-8
177Od pierwszego wydania Eventum poczta nie jest wysyłana bezpośrednio z
178różnych skryptów, lecz dodawana do kolejki przetwarzanej z crona.
179Jeśli poczta nie może być wysłana, będzie odpowiednio oznaczona w logu
180kolejki poczty, a skrypt z crona będzie próbował wysłać ją ponownie
181następnym razem.
0181746f 182
30689148 183Ten pakiet zawiera zadanie dla crona.
184
ea084bcb 185%package mail-download
30689148 186Summary: Eventum email download
9f49cf47 187Summary(pl.UTF-8): Ściąganie poczty Eventum
ea084bcb 188Group: Applications/WWW
5b165428 189Requires: %{name} = %{version}-%{release}
ea084bcb
ER
190Requires: crondaemon
191
192%description mail-download
193In order for Eventum's email integration feature to work, you need to
194setup a cron job to run the script every so often.
195
196This package contains the cron job.
197
d8cfa9f0
JR
198%description mail-download -l pl.UTF-8
199Aby integracja poczty elektronicznej w Eventum działała, trzeba
200ustawić zadanie crona, aby uruchamiał odpowiedni skrypt wystarczająco
201często.
0181746f
JB
202
203Ten pakiet zawiera zadanie dla crona.
204
cd719538
ER
205%package reminder
206Summary: Eventum Reminder System
9f49cf47 207Summary(pl.UTF-8): System przypominania dla Eventum
cd719538 208Group: Applications/WWW
5b165428 209Requires: %{name} = %{version}-%{release}
cd719538
ER
210Requires: crondaemon
211
212%description reminder
213The reminder system was designed with the objective as serving as a
214safe net for issues that need attention. Depending on what
215configuration you create, you may have several reminders (or alerts)
216be sent out whenever an issue needs attention, for whatever parameter
217you may deem necessary.
218
219This package contains the cron job.
220
d8cfa9f0
JR
221%description reminder -l pl.UTF-8
222System przypominania został zaprojektowany tak, aby służył jako
223bezpieczna sieć dla spraw wymagających uwagi. W zależności od
224konfiguracji można ustawić różne przypominajki (lub alarmy) wysyłane
225przy każdej sprawie wymagającej uwagi lub przy parametrze, który można
226uważać za potrzebny.
6341f096
JB
227
228Ten pakiet zawiera zadanie dla crona.
229
cd719538
ER
230%package monitor
231Summary: Eventum Heartbeat Monitor
9f49cf47 232Summary(pl.UTF-8): Monitor życia dla Eventum
cd719538 233Group: Applications/WWW
5b165428 234Requires: %{name} = %{version}-%{release}
cd719538 235Requires: crondaemon
2f331c68 236Requires: php(posix)
cd719538
ER
237
238%description monitor
239The heartbeat monitor is a feature designed for the administrator that
240wants to be alerted whenever a common problem in Eventum is detected,
241like the database server not being available anymore, or maybe when
242the recommended permissions for certain configuration files are
243changed.
244
245Please note that before running the heartbeat monitor, you may need to
246customize some of the checks to be appropriate for your own system,
247particularly the permission and file checks on
248Monitor::checkConfiguration().
249
250This package contains the cron job.
251
d8cfa9f0
JR
252%description monitor -l pl.UTF-8
253Monitor życia to funkcjonalność zaprojektowana dla administratora
254chcącego być alarmowanym przy każdym wykryciu popularnego problemu z
255Eventum, jak nie działanie serwera bazy danych albo zmiana uprawnień
256do plików konfiguracyjnych.
6341f096 257
d8cfa9f0
JR
258Należy zauważyć, że przed uruchomieniem tego monitora może być
259konieczne dostosowanie niektórych testów do systemu, w szczególności
260testów uprawnień i plików w Monitor::checkConfiguration().
6341f096
JB
261
262Ten pakiet zawiera zadanie dla crona.
263
a6d2ad69
ER
264%package router-postfix
265Summary: Eventum Mail Routing - Postfix
9f49cf47 266Summary(pl.UTF-8): Przekazywanie poczty Eventum - Postfix
a6d2ad69 267Group: Applications/Mail
5b165428 268Requires: %{name} = %{version}-%{release}
a6d2ad69 269Requires: postfix
8bc4bcd1
ER
270Provides: eventum(router)
271Obsoletes: eventum(router)
a6d2ad69
ER
272
273%description router-postfix
274This package provides way of routing notes and emails back to Eventum
275via Postfix.
276
e1bb3563
ER
277The Postfix configuration instructions you can find from
278<http://eventum.mysql.org/wiki/index.php/Setting_up_email_routing_with_postfix>.
279
d8cfa9f0
JR
280%description router-postfix -l pl.UTF-8
281Ten pakiet udostępnia metodę przekazywania notatek i listów do Eventum
995fa554
JB
282przez Postfiksa.
283
d8cfa9f0 284Opis konfiguracji Postfiksa można znaleźć pod adresem
a659c698
JB
285<http://eventum.mysql.org/wiki/index.php/Setting_up_email_routing_with_postfix>.
286
cd719538
ER
287%package irc
288Summary: Eventum IRC Notification Bot
9f49cf47 289Summary(pl.UTF-8): IRC-owy bot powiadamiający dla Eventum
cd719538 290Group: Applications/WWW
b79fc4aa 291Requires(post,preun): /sbin/chkconfig
5b165428 292Requires: %{name} = %{version}-%{release}
7c68bc62 293Requires: php(pcntl)
2f331c68 294Requires: php(sockets)
f8f981f8 295Requires: php-pear-Net_SmartIRC >= 1.1.9
e1c0f343 296Requires: rc-scripts >= 0.4.0.18
cd719538
ER
297
298%description irc
299The IRC notification bot is a nice feature for remote teams that want
300to handle issues and want to have a quick and easy way to get simple
301notifications. Right now the bot notifies of the following actions:
302- New Issues
303- Blocked emails
304- Issues that got their assignment list changed
305
306NOTE: You will need to manually edit the bot.php script to set your
307appropriate preferences, like IRC server and channel that the bot
308should join.
309
d8cfa9f0
JR
310%description irc -l pl.UTF-8
311IRC-owy bot powiadamiający to miła funkcjonalność dla zdalnych
312zespołów chcących obsługiwać sprawy i mieć szybki i łatwy sposób na
313uzyskiwanie prostych powiadomień. Aktualnie bot powiadamia o
314następujących zdarzeniach:
6341f096
JB
315- nowych sprawach
316- zablokowanych listach
d8cfa9f0 317- sprawach, dla których zmieniła się lista powiązań
6341f096 318
d8cfa9f0
JR
319UWAGA: w celu wprowadzenia własnych ustawień, takich jak serwer IRC i
320kanał używany przez bota, trzeba ręcznie zmodyfikować skrypt bot.php .
6341f096 321
abd490e4
ER
322%package cli
323Summary: Eventum command-line interface
9f49cf47 324Summary(pl.UTF-8): Interfejs linii poleceń dla Eventum
abd490e4 325Group: Applications/WWW
01d8dfff 326Requires: php(core) >= %{php_min_version}
4a74b463 327Requires: php(phar)
71b01fde 328Requires: php-pear-XML_RPC
abd490e4
ER
329
330%description cli
331The Eventum command-line interface allows you to access most of the
332features of the web interface straight from your command shell.
abd490e4 333
d8cfa9f0
JR
334%description cli -l pl.UTF-8
335Interfejs linii poleceń Eventum pozwala na dostęp do większości
336funkcji interfejsu WWW prosto z linii poleceń powłoki.
958cd5a0 337
5cb2e61d 338%package scm
30689148 339Summary: Eventum SCM integration
9f49cf47 340Summary(pl.UTF-8): Integracja SCM dla Eventum
5cb2e61d 341Group: Applications/WWW
01d8dfff 342Requires: php(core) >= %{php_min_version}
d710a6df 343Requires: php(json)
2f331c68 344Requires: php(pcre)
f2151907
ER
345Requires: php(spl)
346Suggests: cvs
347Suggests: git-core
c28270d0 348Suggests: php(openssl)
f2151907 349Suggests: subversion
5cb2e61d
ER
350
351%description scm
352This feature allows your software development teams to integrate your
353Source Control Management system with your Issue Tracking System.
354
355The integration is implemented in such a way that it will be forward
356compatible with pretty much any SCM system, such as CVS.
357
0181746f 358For installation see
a392a259 359</eventum/help.php?topic=scm_integration_installation>.
0181746f 360
d8cfa9f0
JR
361%description scm -l pl.UTF-8
362Ten pakiet pozwala zespołom programistów na integrację systemu
363zarządzania źródłami (SCM - Source Control Management) z systemem
364śledzenia spraw.
0181746f 365
d8cfa9f0
JR
366Integracja jest zaimplementowana tak, aby być kompatybilna w przód z
367prawie każdym systemem SCM, jak np. CVS.
0181746f 368
d8cfa9f0 369Szczegóły na temat instalacji można przeczytać pod
a392a259 370</eventum/help.php?topic=scm_integration_installation>.
5cb2e61d 371
1cce3e61
ER
372%package sphinx
373Summary: Eventum Sphinx Search
374Group: Applications/WWW
375Requires: %{name} = %{version}-%{release}
376Requires: crondaemon
377Requires: sphinx
378
379%description sphinx
380Sphinx search integration for Eventum.
381
382This package contains the cron job.
383
bb01d732 384%prep
4b01e826 385%setup -q -n %{name}-%{version}%{?githash:-%{subver}-g%{githash}}
5b165428 386
fa6167ba
ER
387mv docs/examples .
388
9487d524 389# bug fixes / features
4f627938 390%{?with_order:%patch2 -p1}
7a906e31
ER
391#%patch3 -p0
392#%patch4 -p1
57e65e62 393
7a906e31 394%{?with_order:cp -p %{SOURCE16} htdocs/images}
422dcc8e 395
a6016bab 396#%patch200 -p1
ac27ba92 397
1cce3e61
ER
398# produce default sphinx config
399# must be run before paths.patch
7a906e31 400%if 0
1cce3e61
ER
401cat <<'EOF' > config/config.php
402<?php
403define('APP_SQL_DBTYPE', 'mysql');
404define('APP_SQL_DBHOST', 'localhost:/var/lib/mysql/mysql.sock');
405define('APP_SQL_DBPORT', 3306);
406define('APP_SQL_DBNAME', 'eventum');
407define('APP_SQL_DBUSER', 'mysql');
408define('APP_SQL_DBPASS', '');
409define('APP_TABLE_PREFIX', 'eventum_');
410EOF
411php config/sphinx.conf.php > config/sphinx.conf
54b9a2df 412rm config/config.php
7a906e31 413%endif
1cce3e61 414
ac27ba92
ER
415# packaging
416%patch100 -p1
c28270d0 417%patch101 -p1
ac27ba92 418%patch107 -p1
3ca19d87 419%patch108 -p1
0b3b58dd 420
54b9a2df 421rm htdocs/.htaccess.dist
4e2cf70d
ER
422# deprecated in favour of process_all_emails.php
423rm bin/route_*.php
54b9a2df 424
bcb86d50
ER
425# cleanup vendor. keep only needed libraries.
426# (the rest are packaged with system packages)
427mv vendor vendor.dist
428vendor() {
429 local path dir
430 for path; do
431 dir=$(dirname $path)
432 test -d vendor/$dir || mkdir -p vendor/$dir
433 mv vendor.dist/$path vendor/$path
434 done
435}
436vendor autoload.php
437vendor composer/autoload_{classmap,files,namespaces,real,psr4}.php
438vendor composer/ClassLoader.php
439vendor ircmaxell/{password-compat,random-lib,security-lib}
60c51158 440vendor defuse/php-encryption
2b06a7b8 441vendor ramsey/array_column
626ebcc8 442vendor willdurand/email-reply-parser
376f0835 443vendor symfony/polyfill-php55
c3fd3767 444
5b165428 445# remove backups from patching as we use globs to package files to buildroot
73c437a6 446find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
085e39c0 447
465c3ab7 448%build
ae3e48e6 449%{__make} -C localization
465c3ab7 450
bb01d732
ER
451%install
452rm -rf $RPM_BUILD_ROOT
cfc3bce6 453install -d \
6e3be5a3 454 $RPM_BUILD_ROOT{%{_webappdir}/{custom_field,templates,workflow},%{_sysconfdir},%{_bindir},%{_sbindir},%{_libdir}} \
2b135b34 455 $RPM_BUILD_ROOT/etc/{rc.d/init.d,cron.d,logrotate.d,sysconfig} \
c1e74aa1 456 $RPM_BUILD_ROOT/var/{run,cache,lib}/%{name} \
685fc383 457 $RPM_BUILD_ROOT/var/log/{archive/,}%{name} \
89522a33 458 $RPM_BUILD_ROOT/var/lib/%{name}/routed_{emails,drafts,notes} \
73de38a1 459 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
cfc3bce6 460
35bb76a6 461%{__make} install-eventum install-cli install-scm install-localization \
ae3e48e6 462 sysconfdir=%{_webappdir} \
7a906e31 463 localedir=%{_localedir} \
ae3e48e6 464 DESTDIR=$RPM_BUILD_ROOT
da8d6134 465
dd5b687f 466ln -s %{_webappdir} $RPM_BUILD_ROOT%{_appdir}/config
37f06e5c 467
bcb86d50 468cp -a vendor $RPM_BUILD_ROOT%{_appdir}
3ca19d87 469
29e8ea7c
ER
470# unsupported locale
471%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ht
472
fa6167ba
ER
473install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
474cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
475
ae3e48e6 476%{?with_order:cp -a htdocs/ajax $RPM_BUILD_ROOT%{_appdir}/htdocs}
9cdc5027 477
f399f1c0 478touch $RPM_BUILD_ROOT%{_webappdir}/htpasswd
1b5aae0f 479cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
87ca28ca 480cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
1b5aae0f 481cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_webappdir}/lighttpd.conf
1cce3e61
ER
482
483install -d $RPM_BUILD_ROOT/etc/sphinx
7a906e31 484#cp -p config/sphinx.conf $RPM_BUILD_ROOT/etc/sphinx/%{name}.conf
858c6f2a 485cp -p config/sphinx.conf.php $RPM_BUILD_ROOT%{_webappdir}
ae3e48e6 486
1b5aae0f
ER
487cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
488cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
489cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
490cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
1cce3e61 491cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/cron.d/%{name}-sphinx
ae3e48e6 492
22a41ac0 493cp -p config/irc_config.dist.php $RPM_BUILD_ROOT%{_webappdir}/irc_config.php
ae3e48e6 494
2b135b34 495install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
1b5aae0f 496cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc
31dabce6 497
1b5aae0f 498cp -p %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
2b135b34 499
410d72c7 500# postfix router
858c6f2a 501install -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/router-postfix
a6d2ad69 502
92bc2f5d 503cp -p %{SOURCE17} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
cc613bc9 504
600d96a0 505%find_lang %{name}
c1e74aa1 506
ae3e48e6 507# scm
7a906e31 508cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/scm.php
ae3e48e6 509
bb01d732
ER
510%clean
511rm -rf $RPM_BUILD_ROOT
512
01b84746 513%pre
5132bae6
ER
514%groupadd -g 146 %{name}
515%useradd -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name}
01b84746
ER
516%addusertogroup http %{name}
517
82121306 518%post
686306de
ER
519# create empty ghost files
520# these permissions ensure the logs are write only
521for a in \
522 errors.log login_attempts.log \
2df0528f 523 eventum.log \
686306de
ER
524 cli.log \
525 irc_bot_error.log irc_bot_smartirc.log \
526; do
527 test -f /var/log/%{name}/$a && continue
528 install -m 0620 -o root -g http /dev/null /var/log/%{name}/$a
08196fe2
ER
529done
530
00358bba
ER
531# run database update if configured
532test -s %{_webappdir}/config.php && \
6453eaf6 533%{_appdir}/bin/upgrade.php || :
847270fe 534
da8d6134
ER
535# nuke Smarty templates cache after upgrade
536rm -f /var/cache/eventum/*.php
537
4a751c1a
ER
538# Restart webserver on upgrade to get .mo translations reloaded.
539# actually php engines "php-fcgi" and "php-fpm" needed only, apache is restarted anyway via webapp trigger.
114241d7
ER
540%php_webserver_restart
541
82121306
ER
542%preun
543if [ "$1" = "0" ]; then
dfe0f6d6
ER
544 # nuke cache
545 rm -f /var/cache/eventum/*.php 2>/dev/null || :
546fi
cfc3bce6 547
5132bae6 548%postun
01b84746 549if [ "$1" = "0" ]; then
a6d2ad69 550 %userremove %{name}
1f52d1fe 551 %groupremove %{name}
a6d2ad69
ER
552fi
553
94bd779f 554%post setup
8a37ad9d 555chmod 660 %{_webappdir}/{config,private_key}.php
253ca53d 556chown root:http %{_webappdir}/{config,private_key}.php
94bd779f
ER
557
558%postun setup
b4fe195b 559if [ "$1" = "0" ] && [ -f %{_webappdir}/config.php ]; then
8a37ad9d 560 chmod 640 %{_webappdir}/{config,private_key}.php
253ca53d 561 chown root:http %{_webappdir}/{config,private_key}.php
94bd779f
ER
562fi
563
e1c0f343
ER
564%post irc
565/sbin/chkconfig --add eventum-irc
99bbe3cb 566%service eventum-irc restart "Eventum IRC Bot"
e1c0f343 567
add0e245
ER
568%preun irc
569if [ "$1" = 0 ]; then
570 %service eventum-irc stop
571 /sbin/chkconfig --del eventum-irc
572fi
573
09f58a75 574%triggerin -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 575%webapp_register apache %{_webapp}
1d760108 576
09f58a75 577%triggerun -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 578%webapp_unregister apache %{_webapp}
1d760108 579
87ca28ca 580%triggerin -- apache < 2.2.0, apache-base
bdf85dc8 581%webapp_register httpd %{_webapp}
1d760108 582
87ca28ca 583%triggerun -- apache < 2.2.0, apache-base
bdf85dc8 584%webapp_unregister httpd %{_webapp}
1d760108 585
f399f1c0
ER
586%triggerin -- lighttpd
587%webapp_register lighttpd %{_webapp}
588
589%triggerun -- lighttpd
590%webapp_unregister lighttpd %{_webapp}
591
24cfc386
ER
592%triggerpostun -- %{name} < 3.0.0-0.2
593for f in /etc/cron.d/eventum-*; do
594 # crontabs moved to bin
0ffd10e7 595 %{__sed} -i -e '
24cfc386
ER
596 s,/usr/share/eventum/crons/process_mail_queue.php,%{_appdir}/bin/process_mail_queue.php,
597 s,/usr/share/eventum/crons/download_emails.php,%{_appdir}/bin/download_emails.php,
598 s,/usr/share/eventum/crons/check_reminders.php,%{_appdir}/bin/check_reminders.php,
599 s,/usr/share/eventum/crons/monitor.php,%{_appdir}/bin/monitor.php,
600 ' $f
0ffd10e7 601done
f1269a43 602
600d96a0 603%files -f %{name}.lang
bb01d732 604%defattr(644,root,root,755)
8a37ad9d 605%attr(751,root,root) %dir %{_webappdir}
6e3be5a3
ER
606%attr(751,root,root) %dir %{_webappdir}/custom_field
607%attr(751,root,root) %dir %{_webappdir}/templates
608%attr(751,root,root) %dir %{_webappdir}/workflow
8a37ad9d
ER
609%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf
610%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf
f399f1c0 611%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/lighttpd.conf
e570944f
ER
612%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/config.php
613%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php
614%attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/setup.php
f399f1c0 615%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/htpasswd
d2e501e8 616
686306de 617%dir %attr(711,root,http) /var/log/%{name}
e570944f 618%attr(620,root,http) %ghost /var/log/%{name}/*
3c6aa7a9 619%dir %attr(750,root,root) /var/log/archive/%{name}
8fd047ac 620%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
35f9d6a3 621
5132bae6 622%dir %{_appdir}
37f06e5c
ER
623%{_appdir}/config
624
7a906e31 625%dir %{_appdir}/bin
7a906e31 626%attr(755,root,root) %{_appdir}/bin/process_all_emails.php
6453eaf6 627%attr(755,root,root) %{_appdir}/bin/upgrade.php
7a906e31 628
4b01e826 629%{_appdir}/autoload.php
ae3e48e6 630%{_appdir}/init.php
cfc3bce6
ER
631%dir %{_appdir}/htdocs
632%{_appdir}/htdocs/*.php
da8d6134 633%{_appdir}/htdocs/*.ico
7bc9b641 634%{_appdir}/htdocs/ajax
cfc3bce6
ER
635%{_appdir}/htdocs/css
636%{_appdir}/htdocs/customer
637%{_appdir}/htdocs/images
638%{_appdir}/htdocs/js
639%{_appdir}/htdocs/manage
640%{_appdir}/htdocs/reports
641%{_appdir}/htdocs/rpc
7a906e31 642%{_appdir}/htdocs/components
9748a8c3 643%{_appdir}/templates
847270fe 644
c9165420 645%dir %{_appdir}/upgrade
7a906e31 646%{_appdir}/upgrade/*.sql
847270fe
ER
647%{_appdir}/upgrade/patches
648
bcb86d50 649%{_appdir}/vendor
e8b7cc70 650%{_appdir}/src
ae3e48e6
ER
651%dir %{_appdir}/lib
652%{_appdir}/lib/eventum
ae3e48e6 653%exclude %{_appdir}/lib/eventum/class.monitor.php
00e339ff 654
5132bae6
ER
655%dir %{_libdir}
656
73de38a1 657%{systemdtmpfilesdir}/%{name}.conf
5132bae6
ER
658
659%dir /var/lib/%{name}
e570944f
ER
660%dir %attr(730,root,http) /var/run/%{name}
661%dir %attr(730,root,http) /var/cache/%{name}
ab983aaa 662
89522a33 663# saved mail copies
e570944f
ER
664%attr(770,root,http) %dir /var/lib/%{name}/routed_emails
665%attr(770,root,http) %dir /var/lib/%{name}/routed_drafts
666%attr(770,root,http) %dir /var/lib/%{name}/routed_notes
d2e501e8 667
ab983aaa
ER
668%files setup
669%defattr(644,root,root,755)
cfc3bce6 670%{_appdir}/htdocs/setup
0da8e1f2 671
d4a553ea 672%files doc
06ddb94b 673%defattr(644,root,root,755)
d4a553ea
ER
674%doc docs/*
675%{_examplesdir}/%{name}-%{version}
676
0da8e1f2
ER
677%files mail-queue
678%defattr(644,root,root,755)
7a906e31 679%attr(755,root,root) %{_appdir}/bin/process_mail_queue.php
f56655e1 680%attr(755,root,root) %{_appdir}/bin/truncate_mail_queue.php
ea084bcb
ER
681%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
682
683%files mail-download
684%defattr(644,root,root,755)
7a906e31 685%attr(755,root,root) %{_appdir}/bin/download_emails.php
ea084bcb 686%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
5cb2e61d 687
cd719538
ER
688%files reminder
689%defattr(644,root,root,755)
7a906e31 690%attr(755,root,root) %{_appdir}/bin/check_reminders.php
cd719538
ER
691%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
692
693%files monitor
694%defattr(644,root,root,755)
ae3e48e6 695%{_appdir}/lib/eventum/class.monitor.php
7a906e31 696%attr(755,root,root) %{_appdir}/bin/monitor.php
cd719538
ER
697%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
698
a6d2ad69
ER
699%files router-postfix
700%defattr(644,root,root,755)
410d72c7 701%attr(755,root,root) %{_libdir}/router-postfix
a6d2ad69 702
cd719538
ER
703%files irc
704%defattr(644,root,root,755)
77b3db3b 705%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/irc_config.php
01b84746 706%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/eventum-irc
35bb76a6 707%attr(755,root,root) %{_appdir}/bin/irc-bot.php
cd719538
ER
708%attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
709
abd490e4
ER
710%files cli
711%defattr(644,root,root,755)
ae3e48e6 712%doc cli/eventumrc
4a74b463 713%attr(755,root,root) %{_bindir}/%{name}
abd490e4 714
5cb2e61d
ER
715%files scm
716%defattr(644,root,root,755)
c28270d0 717%attr(751,root,root) %dir %{_sysconfdir}
ca6b8520 718%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scm.php
ae3e48e6 719%attr(755,root,root) %{_sbindir}/eventum-cvs-hook
f2151907 720%attr(755,root,root) %{_sbindir}/eventum-git-hook
ae3e48e6 721%attr(755,root,root) %{_sbindir}/eventum-svn-hook
c28270d0 722%attr(755,root,root) %{_sbindir}/helpers.php
1cce3e61
ER
723
724%files sphinx
725%defattr(644,root,root,755)
726%{_webappdir}/sphinx.conf.php
7a906e31 727#%attr(750,root,http) %config(noreplace) %verify(not md5 mtime size) /etc/sphinx/%{name}.conf
1cce3e61 728%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-sphinx
This page took 0.309924 seconds and 4 git commands to generate.