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