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