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