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