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