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