]> git.pld-linux.org Git - packages/eventum.git/blame - eventum.spec
fix monolog autoloaders
[packages/eventum.git] / eventum.spec
CommitLineData
a659c698
JB
1#
2# Conditional build:
7bc9b641 3%bcond_with order # with experimental order patch
cddf3011 4
2f4f114e 5%define rel 1.6
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
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
376f0835 452vendor symfony/polyfill-php55
2f4f114e 453vendor theorchard/monolog-cascade
c3fd3767 454
5b165428 455# remove backups from patching as we use globs to package files to buildroot
73c437a6 456find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
085e39c0 457
465c3ab7 458%build
ae3e48e6 459%{__make} -C localization
465c3ab7 460
bb01d732
ER
461%install
462rm -rf $RPM_BUILD_ROOT
cfc3bce6 463install -d \
6e3be5a3 464 $RPM_BUILD_ROOT{%{_webappdir}/{custom_field,templates,workflow},%{_sysconfdir},%{_bindir},%{_sbindir},%{_libdir}} \
2b135b34 465 $RPM_BUILD_ROOT/etc/{rc.d/init.d,cron.d,logrotate.d,sysconfig} \
c1e74aa1 466 $RPM_BUILD_ROOT/var/{run,cache,lib}/%{name} \
685fc383 467 $RPM_BUILD_ROOT/var/log/{archive/,}%{name} \
89522a33 468 $RPM_BUILD_ROOT/var/lib/%{name}/routed_{emails,drafts,notes} \
73de38a1 469 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
cfc3bce6 470
35bb76a6 471%{__make} install-eventum install-cli install-scm install-localization \
ae3e48e6 472 sysconfdir=%{_webappdir} \
7a906e31 473 localedir=%{_localedir} \
ae3e48e6 474 DESTDIR=$RPM_BUILD_ROOT
da8d6134 475
dd5b687f 476ln -s %{_webappdir} $RPM_BUILD_ROOT%{_appdir}/config
37f06e5c 477
bcb86d50 478cp -a vendor $RPM_BUILD_ROOT%{_appdir}
3ca19d87 479
29e8ea7c
ER
480# unsupported locale
481%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ht
482
fa6167ba
ER
483install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
484cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
485
ae3e48e6 486%{?with_order:cp -a htdocs/ajax $RPM_BUILD_ROOT%{_appdir}/htdocs}
9cdc5027 487
f399f1c0 488touch $RPM_BUILD_ROOT%{_webappdir}/htpasswd
1b5aae0f 489cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
87ca28ca 490cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
1b5aae0f 491cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_webappdir}/lighttpd.conf
1cce3e61
ER
492
493install -d $RPM_BUILD_ROOT/etc/sphinx
7a906e31 494#cp -p config/sphinx.conf $RPM_BUILD_ROOT/etc/sphinx/%{name}.conf
858c6f2a 495cp -p config/sphinx.conf.php $RPM_BUILD_ROOT%{_webappdir}
ae3e48e6 496
1b5aae0f
ER
497cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
498cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
499cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
500cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
1cce3e61 501cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/cron.d/%{name}-sphinx
ae3e48e6 502
22a41ac0 503cp -p config/irc_config.dist.php $RPM_BUILD_ROOT%{_webappdir}/irc_config.php
ae3e48e6 504
2b135b34 505install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
1b5aae0f 506cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc
31dabce6 507
1b5aae0f 508cp -p %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
2b135b34 509
410d72c7 510# postfix router
858c6f2a 511install -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/router-postfix
a6d2ad69 512
92bc2f5d 513cp -p %{SOURCE17} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
cc613bc9 514
600d96a0 515%find_lang %{name}
c1e74aa1 516
ae3e48e6 517# scm
7a906e31 518cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/scm.php
ae3e48e6 519
bb01d732
ER
520%clean
521rm -rf $RPM_BUILD_ROOT
522
01b84746 523%pre
5132bae6
ER
524%groupadd -g 146 %{name}
525%useradd -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name}
01b84746
ER
526%addusertogroup http %{name}
527
82121306 528%post
686306de
ER
529# create empty ghost files
530# these permissions ensure the logs are write only
531for a in \
532 errors.log login_attempts.log \
2df0528f 533 eventum.log \
686306de
ER
534 cli.log \
535 irc_bot_error.log irc_bot_smartirc.log \
536; do
537 test -f /var/log/%{name}/$a && continue
538 install -m 0620 -o root -g http /dev/null /var/log/%{name}/$a
08196fe2
ER
539done
540
00358bba
ER
541# run database update if configured
542test -s %{_webappdir}/config.php && \
6453eaf6 543%{_appdir}/bin/upgrade.php || :
847270fe 544
da8d6134
ER
545# nuke Smarty templates cache after upgrade
546rm -f /var/cache/eventum/*.php
547
4a751c1a
ER
548# Restart webserver on upgrade to get .mo translations reloaded.
549# actually php engines "php-fcgi" and "php-fpm" needed only, apache is restarted anyway via webapp trigger.
114241d7
ER
550%php_webserver_restart
551
82121306
ER
552%preun
553if [ "$1" = "0" ]; then
dfe0f6d6
ER
554 # nuke cache
555 rm -f /var/cache/eventum/*.php 2>/dev/null || :
556fi
cfc3bce6 557
5132bae6 558%postun
01b84746 559if [ "$1" = "0" ]; then
a6d2ad69 560 %userremove %{name}
1f52d1fe 561 %groupremove %{name}
a6d2ad69
ER
562fi
563
94bd779f 564%post setup
8a37ad9d 565chmod 660 %{_webappdir}/{config,private_key}.php
253ca53d 566chown root:http %{_webappdir}/{config,private_key}.php
94bd779f
ER
567
568%postun setup
b4fe195b 569if [ "$1" = "0" ] && [ -f %{_webappdir}/config.php ]; then
8a37ad9d 570 chmod 640 %{_webappdir}/{config,private_key}.php
253ca53d 571 chown root:http %{_webappdir}/{config,private_key}.php
94bd779f
ER
572fi
573
e1c0f343
ER
574%post irc
575/sbin/chkconfig --add eventum-irc
99bbe3cb 576%service eventum-irc restart "Eventum IRC Bot"
e1c0f343 577
add0e245
ER
578%preun irc
579if [ "$1" = 0 ]; then
580 %service eventum-irc stop
581 /sbin/chkconfig --del eventum-irc
582fi
583
09f58a75 584%triggerin -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 585%webapp_register apache %{_webapp}
1d760108 586
09f58a75 587%triggerun -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 588%webapp_unregister apache %{_webapp}
1d760108 589
87ca28ca 590%triggerin -- apache < 2.2.0, apache-base
bdf85dc8 591%webapp_register httpd %{_webapp}
1d760108 592
87ca28ca 593%triggerun -- apache < 2.2.0, apache-base
bdf85dc8 594%webapp_unregister httpd %{_webapp}
1d760108 595
f399f1c0
ER
596%triggerin -- lighttpd
597%webapp_register lighttpd %{_webapp}
598
599%triggerun -- lighttpd
600%webapp_unregister lighttpd %{_webapp}
601
24cfc386
ER
602%triggerpostun -- %{name} < 3.0.0-0.2
603for f in /etc/cron.d/eventum-*; do
604 # crontabs moved to bin
0ffd10e7 605 %{__sed} -i -e '
24cfc386
ER
606 s,/usr/share/eventum/crons/process_mail_queue.php,%{_appdir}/bin/process_mail_queue.php,
607 s,/usr/share/eventum/crons/download_emails.php,%{_appdir}/bin/download_emails.php,
608 s,/usr/share/eventum/crons/check_reminders.php,%{_appdir}/bin/check_reminders.php,
609 s,/usr/share/eventum/crons/monitor.php,%{_appdir}/bin/monitor.php,
610 ' $f
0ffd10e7 611done
f1269a43 612
600d96a0 613%files -f %{name}.lang
bb01d732 614%defattr(644,root,root,755)
8a37ad9d 615%attr(751,root,root) %dir %{_webappdir}
6e3be5a3
ER
616%attr(751,root,root) %dir %{_webappdir}/custom_field
617%attr(751,root,root) %dir %{_webappdir}/templates
618%attr(751,root,root) %dir %{_webappdir}/workflow
8a37ad9d
ER
619%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf
620%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf
f399f1c0 621%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/lighttpd.conf
e570944f
ER
622%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/config.php
623%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php
624%attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/setup.php
f399f1c0 625%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/htpasswd
d2e501e8 626
686306de 627%dir %attr(711,root,http) /var/log/%{name}
e570944f 628%attr(620,root,http) %ghost /var/log/%{name}/*
3c6aa7a9 629%dir %attr(750,root,root) /var/log/archive/%{name}
8fd047ac 630%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
35f9d6a3 631
5132bae6 632%dir %{_appdir}
37f06e5c
ER
633%{_appdir}/config
634
7a906e31 635%dir %{_appdir}/bin
7a906e31 636%attr(755,root,root) %{_appdir}/bin/process_all_emails.php
6453eaf6 637%attr(755,root,root) %{_appdir}/bin/upgrade.php
7a906e31 638
4b01e826 639%{_appdir}/autoload.php
ae3e48e6 640%{_appdir}/init.php
cfc3bce6
ER
641%dir %{_appdir}/htdocs
642%{_appdir}/htdocs/*.php
da8d6134 643%{_appdir}/htdocs/*.ico
7bc9b641 644%{_appdir}/htdocs/ajax
cfc3bce6
ER
645%{_appdir}/htdocs/css
646%{_appdir}/htdocs/customer
647%{_appdir}/htdocs/images
648%{_appdir}/htdocs/js
649%{_appdir}/htdocs/manage
650%{_appdir}/htdocs/reports
651%{_appdir}/htdocs/rpc
7a906e31 652%{_appdir}/htdocs/components
9748a8c3 653%{_appdir}/templates
847270fe 654
c9165420 655%dir %{_appdir}/upgrade
7a906e31 656%{_appdir}/upgrade/*.sql
847270fe
ER
657%{_appdir}/upgrade/patches
658
bcb86d50 659%{_appdir}/vendor
e8b7cc70 660%{_appdir}/src
ae3e48e6
ER
661%dir %{_appdir}/lib
662%{_appdir}/lib/eventum
ae3e48e6 663%exclude %{_appdir}/lib/eventum/class.monitor.php
00e339ff 664
5132bae6
ER
665%dir %{_libdir}
666
73de38a1 667%{systemdtmpfilesdir}/%{name}.conf
5132bae6
ER
668
669%dir /var/lib/%{name}
e570944f
ER
670%dir %attr(730,root,http) /var/run/%{name}
671%dir %attr(730,root,http) /var/cache/%{name}
ab983aaa 672
89522a33 673# saved mail copies
e570944f
ER
674%attr(770,root,http) %dir /var/lib/%{name}/routed_emails
675%attr(770,root,http) %dir /var/lib/%{name}/routed_drafts
676%attr(770,root,http) %dir /var/lib/%{name}/routed_notes
d2e501e8 677
ab983aaa
ER
678%files setup
679%defattr(644,root,root,755)
cfc3bce6 680%{_appdir}/htdocs/setup
0da8e1f2 681
d4a553ea 682%files doc
06ddb94b 683%defattr(644,root,root,755)
d4a553ea
ER
684%doc docs/*
685%{_examplesdir}/%{name}-%{version}
686
0da8e1f2
ER
687%files mail-queue
688%defattr(644,root,root,755)
7a906e31 689%attr(755,root,root) %{_appdir}/bin/process_mail_queue.php
f56655e1 690%attr(755,root,root) %{_appdir}/bin/truncate_mail_queue.php
ea084bcb
ER
691%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
692
693%files mail-download
694%defattr(644,root,root,755)
7a906e31 695%attr(755,root,root) %{_appdir}/bin/download_emails.php
ea084bcb 696%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
5cb2e61d 697
cd719538
ER
698%files reminder
699%defattr(644,root,root,755)
7a906e31 700%attr(755,root,root) %{_appdir}/bin/check_reminders.php
cd719538
ER
701%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
702
703%files monitor
704%defattr(644,root,root,755)
ae3e48e6 705%{_appdir}/lib/eventum/class.monitor.php
7a906e31 706%attr(755,root,root) %{_appdir}/bin/monitor.php
cd719538
ER
707%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
708
a6d2ad69
ER
709%files router-postfix
710%defattr(644,root,root,755)
410d72c7 711%attr(755,root,root) %{_libdir}/router-postfix
a6d2ad69 712
cd719538
ER
713%files irc
714%defattr(644,root,root,755)
77b3db3b 715%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/irc_config.php
01b84746 716%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/eventum-irc
35bb76a6 717%attr(755,root,root) %{_appdir}/bin/irc-bot.php
cd719538
ER
718%attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
719
abd490e4
ER
720%files cli
721%defattr(644,root,root,755)
ae3e48e6 722%doc cli/eventumrc
4a74b463 723%attr(755,root,root) %{_bindir}/%{name}
abd490e4 724
5cb2e61d
ER
725%files scm
726%defattr(644,root,root,755)
c28270d0 727%attr(751,root,root) %dir %{_sysconfdir}
ca6b8520 728%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scm.php
ae3e48e6 729%attr(755,root,root) %{_sbindir}/eventum-cvs-hook
f2151907 730%attr(755,root,root) %{_sbindir}/eventum-git-hook
ae3e48e6 731%attr(755,root,root) %{_sbindir}/eventum-svn-hook
c28270d0 732%attr(755,root,root) %{_sbindir}/helpers.php
1cce3e61
ER
733
734%files sphinx
735%defattr(644,root,root,755)
736%{_webappdir}/sphinx.conf.php
7a906e31 737#%attr(750,root,http) %config(noreplace) %verify(not md5 mtime size) /etc/sphinx/%{name}.conf
1cce3e61 738%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-sphinx
This page took 0.317209 seconds and 4 git commands to generate.