]> git.pld-linux.org Git - packages/eventum.git/blame - eventum.spec
add HSTS sample
[packages/eventum.git] / eventum.spec
CommitLineData
a659c698
JB
1#
2# Conditional build:
7bc9b641 3%bcond_with order # with experimental order patch
cddf3011 4
7665f424 5%define rel 1
bc092120
ER
6#define subver 105
7#define githash 9c49ee5
7a906e31 8%define php_min_version 5.3.3
b3857e8b 9%include /usr/lib/rpm/macros.php
c96aabf5 10Summary: Eventum Issue / Bug tracking system
9f49cf47 11Summary(pl.UTF-8): Eventum - system śledzenia spraw/błędów
bb01d732 12Name: eventum
bc092120 13Version: 3.0.3
7665f424 14Release: %{?subver:1.%{subver}.%{?githash:g%{githash}.}}%{rel}
a881bbb0 15License: GPL v2
6850abd9 16Group: Applications/WWW
7665f424 17Source0: https://github.com/eventum/eventum/releases/download/v%{version}/%{name}-%{version}.tar.gz
bc092120 18# Source0-md5: 0ecee925e49d96cc827e99089848f55a
7665f424 19#Source0: %{name}-%{version}-%{subver}-g%{githash}.tar.gz
82121306 20Source1: %{name}-apache.conf
cd719538
ER
21Source2: %{name}-mail-queue.cron
22Source3: %{name}-mail-download.cron
23Source4: %{name}-reminder.cron
24Source5: %{name}-monitor.cron
25Source6: %{name}-cvs.php
26Source7: %{name}-irc.php
27Source8: %{name}-irc.init
73f6a3e6 28Source9: %{name}-irc.sysconfig
1cce3e61 29Source10: sphinx.crontab
cfcdd0a9
ER
30Source13: %{name}-router-postfix.sh
31Source14: %{name}.logrotate
32Source15: %{name}-lighttpd.conf
d0dabd47
ER
33Source16: http://www.isocra.com/images/updown2.gif
34# Source16-md5: deb6eeb2552ba757d3a949ed10c4107d
cc613bc9 35Source17: %{name}.tmpfiles
4f627938 36Patch2: %{name}-order.patch
7a906e31
ER
37#Patch3: group-users.patch
38#Patch4: https://github.com/glensc/eventum/compare/cf_escape.patch
14ff3418 39# packaging patches that probably never go upstream
ac27ba92
ER
40Patch100: %{name}-paths.patch
41Patch101: %{name}-cvs-config.patch
4c823356 42Patch105: %{name}-bot-reconnect.patch
cfcdd0a9 43Patch107: %{name}-gettext.patch
3ca19d87 44Patch108: autoload.patch
a6016bab
ER
45# some tests
46Patch200: %{name}-fixed-nav.patch
3cf7d1aa 47URL: http://eventum.mysql.org/
447ff246 48BuildRequires: /usr/bin/php
4b01e826 49BuildRequires: gettext-devel
7a906e31 50BuildRequires: php(core) >= %{php_min_version}
b3857e8b 51BuildRequires: rpm-php-pearprov >= 4.0.2-98
5500a61e 52BuildRequires: rpmbuild(macros) >= 1.654
4068cb73 53BuildRequires: sed >= 4.0
5b165428 54Requires: %{name}-base = %{version}-%{release}
0b88d857 55Requires: fonts-TTF-RedHat-liberation
01d8dfff 56Requires: php(core) >= %{php_min_version}
2f331c68 57Requires: php(filter)
2f331c68
ER
58Requires: php(iconv)
59Requires: php(imap)
60Requires: php(json)
61Requires: php(mbstring)
8c038b49 62Requires: php(mysqli)
2f331c68
ER
63Requires: php(pcre)
64Requires: php(session)
5dbd4bf5
ER
65Requires: php-Smarty >= 3.1
66Requires: php-Smarty-plugin-gettext
71b01fde 67Requires: php-pear-DB
71b01fde 68Requires: php-pear-Mail
723da18a 69Requires: php-pear-Mail_Mime
fb0b2f83 70Requires: php-pear-Mail_mimeDecode
71b01fde
ER
71Requires: php-pear-Math_Stats
72Requires: php-pear-Net_DIME
71b01fde 73Requires: php-pear-Net_SMTP
71b01fde
ER
74Requires: php-pear-Net_Socket
75Requires: php-pear-Net_URL
76Requires: php-pear-Net_UserAgent_Detect
3223fb64 77Requires: php-pear-PEAR-core
71b01fde
ER
78Requires: php-pear-Text_Diff
79Requires: php-pear-XML_RPC
0b88d857 80Requires: phplot >= 5.8.0
bdf85dc8 81Requires: webapps
f399f1c0
ER
82Requires: webserver(access)
83Requires: webserver(alias)
897bdb2c 84Requires: webserver(indexfile)
61351540 85Requires: webserver(php) >= 4.2.0
462ee1a6 86Suggests: localedb
73de38a1 87Suggests: php-pear-Net_LDAP2
06ddb94b 88Suggests: webserver(setenv)
bd70ea88 89Conflicts: logrotate < 3.8.0
35fa3cf8 90BuildArch: noarch
bb01d732
ER
91BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
92
4b01e826 93%define _noautoreq_pear ../init.php ../../init.php init.php /usr/share/eventum/init.php /etc/webapps/.* %{_appdir}/.* .*Smarty.class.php Services/JSON.php class.date_helper.php sphinxapi.php Net/LDAP2.* Auth/SASL.* Util.php smarty_internal.*
03410d49
ER
94
95# exclude optional php dependencies
899100ff 96%define _noautophp php-gnupg php-hash php-pecl-http php-tk
03410d49 97
5500a61e 98%define _noautoreq %{_noautophp}
3223fb64 99
1d760108 100%define _libdir %{_prefix}/lib/%{name}
71f56750 101%define _appdir %{_datadir}/%{name}
d1c44829 102%define _smartydir %{php_data_dir}/Smarty
bdf85dc8
ER
103%define _webapps /etc/webapps
104%define _webapp %{name}
8a37ad9d
ER
105%define _webappdir %{_webapps}/%{_webapp}
106%define _sysconfdir /etc/%{name}
bb01d732
ER
107
108%description
109Eventum is a user-friendly and flexible issue tracking system that can
110be used by a support department to track incoming technical support
111requests, or by a software development team to quickly organize tasks
112and bugs. Eventum is used by the MySQL AB Technical Support team, and
113has allowed us to dramatically improve our response times.
114
d8cfa9f0
JR
115%description -l pl.UTF-8
116Eventum to przyjazny dla użytkownika system śledzenia spraw, który
117może być używany przez dział obsługi do śledzenia przychodzących żądań
118obsługi technicznej albo przez zespół tworzący oprogramowanie do
119szybkiej organizacji zadań i błędów. Eventum jest używany przez zespół
120Technical Support MySQL AB i umożliwił im znacząco poprawić czasy
4068cb73
JB
121reakcji.
122
d2e501e8
ER
123%package base
124Summary: Eventum base package
9f49cf47 125Summary(pl.UTF-8): Podstawowy pakiet Eventum
d2e501e8 126Group: Applications/WWW
3223fb64
ER
127Requires(postun): /usr/sbin/groupdel
128Requires(postun): /usr/sbin/userdel
5bbd68c9
ER
129Requires(pre): /bin/id
130Requires(pre): /usr/bin/getgid
5bbd68c9 131Requires(pre): /usr/sbin/groupadd
3223fb64 132Requires(pre): /usr/sbin/useradd
9f768793 133Provides: group(eventum)
d080edb6 134Provides: user(eventum)
d2e501e8
ER
135
136%description base
137This package contains base directory structure for Eventum.
138
d8cfa9f0
JR
139%description base -l pl.UTF-8
140Ten pakiet zawiera podstawową strukturę katalogów dla Eventum.
1bb5e749 141
ab983aaa 142%package setup
4068cb73 143Summary: Eventum setup package
9f49cf47 144Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji Eventum
ab983aaa 145Group: Applications/WWW
5b165428 146Requires: %{name} = %{version}-%{release}
ab983aaa
ER
147
148%description setup
149Install this package to configure initial Eventum installation. You
150should uninstall this package when you're done, as it considered
151insecure to keep the setup files in place.
152
d8cfa9f0
JR
153%description setup -l pl.UTF-8
154Ten pakiet należy zainstalować w celu wstępnej konfiguracji Eventum po
155pierwszej instalacji. Potem należy go odinstalować, jako że
156pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
4068cb73 157
d4a553ea
ER
158%package doc
159Summary: Eventum documentation and Wiki
160Group: Documentation
161
162%description doc
163Eventum documentation and copy of Wiki.
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}
4a74b463 405Requires: php(phar)
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
01d8dfff 420Requires: php(core) >= %{php_min_version}
d710a6df 421Requires: php(json)
2f331c68 422Requires: php(pcre)
f2151907
ER
423Requires: php(spl)
424Suggests: cvs
425Suggests: git-core
c28270d0 426Suggests: php(openssl)
f2151907 427Suggests: subversion
5cb2e61d
ER
428
429%description scm
430This feature allows your software development teams to integrate your
431Source Control Management system with your Issue Tracking System.
432
433The integration is implemented in such a way that it will be forward
434compatible with pretty much any SCM system, such as CVS.
435
0181746f 436For installation see
a392a259 437</eventum/help.php?topic=scm_integration_installation>.
0181746f 438
d8cfa9f0
JR
439%description scm -l pl.UTF-8
440Ten pakiet pozwala zespołom programistów na integrację systemu
441zarządzania źródłami (SCM - Source Control Management) z systemem
442śledzenia spraw.
0181746f 443
d8cfa9f0
JR
444Integracja jest zaimplementowana tak, aby być kompatybilna w przód z
445prawie każdym systemem SCM, jak np. CVS.
0181746f 446
d8cfa9f0 447Szczegóły na temat instalacji można przeczytać pod
a392a259 448</eventum/help.php?topic=scm_integration_installation>.
5cb2e61d 449
1cce3e61
ER
450%package sphinx
451Summary: Eventum Sphinx Search
452Group: Applications/WWW
453Requires: %{name} = %{version}-%{release}
454Requires: crondaemon
455Requires: sphinx
456
457%description sphinx
458Sphinx search integration for Eventum.
459
460This package contains the cron job.
461
bb01d732 462%prep
4b01e826 463%setup -q -n %{name}-%{version}%{?githash:-%{subver}-g%{githash}}
5b165428 464
fa6167ba
ER
465mv docs/examples .
466
f1269a43
ER
467# GPL v2
468rm docs/COPYING
469
9487d524 470# bug fixes / features
4f627938 471%{?with_order:%patch2 -p1}
7a906e31
ER
472#%patch3 -p0
473#%patch4 -p1
57e65e62 474
7a906e31 475%{?with_order:cp -p %{SOURCE16} htdocs/images}
422dcc8e 476
a6016bab 477#%patch200 -p1
ac27ba92 478
1cce3e61
ER
479# produce default sphinx config
480# must be run before paths.patch
7a906e31 481%if 0
1cce3e61
ER
482cat <<'EOF' > config/config.php
483<?php
484define('APP_SQL_DBTYPE', 'mysql');
485define('APP_SQL_DBHOST', 'localhost:/var/lib/mysql/mysql.sock');
486define('APP_SQL_DBPORT', 3306);
487define('APP_SQL_DBNAME', 'eventum');
488define('APP_SQL_DBUSER', 'mysql');
489define('APP_SQL_DBPASS', '');
490define('APP_TABLE_PREFIX', 'eventum_');
491EOF
492php config/sphinx.conf.php > config/sphinx.conf
493rm -f config/config.php
7a906e31 494%endif
1cce3e61 495
ac27ba92
ER
496# packaging
497%patch100 -p1
c28270d0 498%patch101 -p1
ac27ba92 499%patch105 -p1
ac27ba92 500%patch107 -p1
3ca19d87 501%patch108 -p1
0b3b58dd 502
25123ce7 503%{__sed} -i -e "
25123ce7 504s;define('CONFIG_PATH'.*');define('CONFIG_PATH', '%{_webappdir}');
ae3e48e6 505" upgrade/{*/,}*.php
c3fd3767 506
5b165428 507# remove backups from patching as we use globs to package files to buildroot
73c437a6 508find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
085e39c0 509
465c3ab7 510%build
ae3e48e6 511%{__make} -C localization
465c3ab7 512
bb01d732
ER
513%install
514rm -rf $RPM_BUILD_ROOT
cfc3bce6 515install -d \
6e3be5a3 516 $RPM_BUILD_ROOT{%{_webappdir}/{custom_field,templates,workflow},%{_sysconfdir},%{_bindir},%{_sbindir},%{_libdir}} \
2b135b34 517 $RPM_BUILD_ROOT/etc/{rc.d/init.d,cron.d,logrotate.d,sysconfig} \
c1e74aa1 518 $RPM_BUILD_ROOT/var/{run,cache,lib}/%{name} \
685fc383 519 $RPM_BUILD_ROOT/var/log/{archive/,}%{name} \
89522a33 520 $RPM_BUILD_ROOT/var/lib/%{name}/routed_{emails,drafts,notes} \
761ae7dd 521 $RPM_BUILD_ROOT%{_appdir}/{include,htdocs/misc,upgrade} \
73de38a1 522 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
cfc3bce6 523
4b01e826 524%{__make} install-eventum install-cli install-irc install-scm install-localization \
ae3e48e6 525 sysconfdir=%{_webappdir} \
7a906e31 526 localedir=%{_localedir} \
ae3e48e6 527 DESTDIR=$RPM_BUILD_ROOT
da8d6134 528
3ca19d87
ER
529install -d $RPM_BUILD_ROOT%{_appdir}/vendor
530cp -a vendor/autoload.php vendor/composer $RPM_BUILD_ROOT%{_appdir}/vendor
5301be53
ER
531rm $RPM_BUILD_ROOT%{_appdir}/vendor/composer/include_paths.php
532rm $RPM_BUILD_ROOT%{_appdir}/vendor/composer/autoload_psr4.php
3ca19d87 533
29e8ea7c
ER
534# unsupported locale
535%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ht
536
fa6167ba
ER
537install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
538cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
539
ae3e48e6 540%{?with_order:cp -a htdocs/ajax $RPM_BUILD_ROOT%{_appdir}/htdocs}
9cdc5027 541
f399f1c0 542touch $RPM_BUILD_ROOT%{_webappdir}/htpasswd
1b5aae0f 543cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
87ca28ca 544cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
1b5aae0f 545cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_webappdir}/lighttpd.conf
1cce3e61
ER
546
547install -d $RPM_BUILD_ROOT/etc/sphinx
7a906e31 548#cp -p config/sphinx.conf $RPM_BUILD_ROOT/etc/sphinx/%{name}.conf
858c6f2a 549cp -p config/sphinx.conf.php $RPM_BUILD_ROOT%{_webappdir}
ae3e48e6 550
1b5aae0f
ER
551cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
552cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
553cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
554cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
1cce3e61 555cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/cron.d/%{name}-sphinx
ae3e48e6 556
1b5aae0f 557cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_webappdir}/irc_config.php
ae3e48e6 558
2b135b34 559install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
1b5aae0f 560cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc
31dabce6 561
1b5aae0f 562cp -p %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
2b135b34 563
410d72c7 564# postfix router
858c6f2a 565install -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/router-postfix
a6d2ad69 566
92bc2f5d 567cp -p %{SOURCE17} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
cc613bc9 568
600d96a0 569%find_lang %{name}
c1e74aa1 570
ae3e48e6 571# scm
7a906e31 572cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/scm.php
ae3e48e6 573
bb01d732
ER
574%clean
575rm -rf $RPM_BUILD_ROOT
576
01b84746
ER
577%pre
578%addusertogroup http %{name}
579
82121306 580%post
08196fe2
ER
581# greate empty ghost files
582for a in cli.log errors.log irc_bot.log login_attempts.log; do
583 if [ ! -f /var/log/%{name}/$a ]; then
2b135b34 584 install -m 0620 -o root -g eventum /dev/null /var/log/%{name}/$a
08196fe2
ER
585 fi
586done
587
00358bba
ER
588# run database update if configured
589test -s %{_webappdir}/config.php && \
847270fe
ER
590%{_appdir}/upgrade/update-database.php || :
591
da8d6134
ER
592# nuke Smarty templates cache after upgrade
593rm -f /var/cache/eventum/*.php
594
4a751c1a
ER
595# Restart webserver on upgrade to get .mo translations reloaded.
596# actually php engines "php-fcgi" and "php-fpm" needed only, apache is restarted anyway via webapp trigger.
114241d7
ER
597%php_webserver_restart
598
82121306
ER
599%preun
600if [ "$1" = "0" ]; then
dfe0f6d6
ER
601 # nuke cache
602 rm -f /var/cache/eventum/*.php 2>/dev/null || :
603fi
cfc3bce6 604
01b84746 605%pre base
1d760108
ER
606%groupadd -P %{name}-base -g 146 %{name}
607%useradd -P %{name}-base -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name}
01b84746
ER
608
609%postun base
610if [ "$1" = "0" ]; then
a6d2ad69 611 %userremove %{name}
1f52d1fe 612 %groupremove %{name}
a6d2ad69
ER
613fi
614
94bd779f 615%post setup
8a37ad9d 616chmod 660 %{_webappdir}/{config,private_key}.php
253ca53d 617chown root:http %{_webappdir}/{config,private_key}.php
94bd779f
ER
618
619%postun setup
b4fe195b 620if [ "$1" = "0" ] && [ -f %{_webappdir}/config.php ]; then
8a37ad9d 621 chmod 640 %{_webappdir}/{config,private_key}.php
253ca53d 622 chown root:http %{_webappdir}/{config,private_key}.php
94bd779f
ER
623fi
624
e1c0f343
ER
625%post irc
626/sbin/chkconfig --add eventum-irc
99bbe3cb 627%service eventum-irc restart "Eventum IRC Bot"
e1c0f343 628
add0e245
ER
629%preun irc
630if [ "$1" = 0 ]; then
631 %service eventum-irc stop
632 /sbin/chkconfig --del eventum-irc
633fi
634
09f58a75 635%triggerin -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 636%webapp_register apache %{_webapp}
1d760108 637
09f58a75 638%triggerun -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 639%webapp_unregister apache %{_webapp}
1d760108 640
87ca28ca 641%triggerin -- apache < 2.2.0, apache-base
bdf85dc8 642%webapp_register httpd %{_webapp}
1d760108 643
87ca28ca 644%triggerun -- apache < 2.2.0, apache-base
bdf85dc8 645%webapp_unregister httpd %{_webapp}
1d760108 646
f399f1c0
ER
647%triggerin -- lighttpd
648%webapp_register lighttpd %{_webapp}
649
650%triggerun -- lighttpd
651%webapp_unregister lighttpd %{_webapp}
652
24cfc386
ER
653%triggerpostun -- %{name} < 3.0.0-0.2
654for f in /etc/cron.d/eventum-*; do
655 # crontabs moved to bin
0ffd10e7 656 %{__sed} -i -e '
24cfc386
ER
657 s,/usr/share/eventum/crons/process_mail_queue.php,%{_appdir}/bin/process_mail_queue.php,
658 s,/usr/share/eventum/crons/download_emails.php,%{_appdir}/bin/download_emails.php,
659 s,/usr/share/eventum/crons/check_reminders.php,%{_appdir}/bin/check_reminders.php,
660 s,/usr/share/eventum/crons/monitor.php,%{_appdir}/bin/monitor.php,
661 ' $f
0ffd10e7 662done
f1269a43 663
600d96a0 664%files -f %{name}.lang
bb01d732 665%defattr(644,root,root,755)
8a37ad9d 666%attr(751,root,root) %dir %{_webappdir}
6e3be5a3
ER
667%attr(751,root,root) %dir %{_webappdir}/custom_field
668%attr(751,root,root) %dir %{_webappdir}/templates
669%attr(751,root,root) %dir %{_webappdir}/workflow
8a37ad9d
ER
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
7a906e31 683%dir %{_appdir}/bin
7a906e31
ER
684%attr(755,root,root) %{_appdir}/bin/process_all_emails.php
685
4b01e826 686%{_appdir}/autoload.php
ae3e48e6 687%{_appdir}/init.php
cfc3bce6
ER
688%dir %{_appdir}/htdocs
689%{_appdir}/htdocs/*.php
da8d6134 690%{_appdir}/htdocs/*.ico
7bc9b641 691%{_appdir}/htdocs/ajax
cfc3bce6
ER
692%{_appdir}/htdocs/css
693%{_appdir}/htdocs/customer
694%{_appdir}/htdocs/images
695%{_appdir}/htdocs/js
696%{_appdir}/htdocs/manage
7bc9b641 697%{_appdir}/htdocs/misc
cfc3bce6
ER
698%{_appdir}/htdocs/reports
699%{_appdir}/htdocs/rpc
7a906e31 700%{_appdir}/htdocs/components
9748a8c3 701%{_appdir}/templates
847270fe 702
c9165420 703%dir %{_appdir}/upgrade
7a906e31
ER
704%{_appdir}/upgrade/flush_compiled_templates.php
705%{_appdir}/upgrade/*.sql
847270fe 706%attr(755,root,root) %{_appdir}/upgrade/update-database.php
73de38a1 707%attr(755,root,root) %{_appdir}/upgrade/ldap_import.php
7a906e31
ER
708%attr(755,root,root) %{_appdir}/upgrade/ldap_update_users.php
709%attr(755,root,root) %{_appdir}/upgrade/scm_trac_import.php
847270fe
ER
710%{_appdir}/upgrade/patches
711
3ca19d87
ER
712%dir %{_appdir}/vendor
713%dir %{_appdir}/vendor/composer
714%{_appdir}/vendor/autoload.php
715%{_appdir}/vendor/composer/ClassLoader.php
716%{_appdir}/vendor/composer/autoload_*.php
3ca19d87 717
ae3e48e6
ER
718%dir %{_appdir}/lib
719%{_appdir}/lib/eventum
ae3e48e6 720%exclude %{_appdir}/lib/eventum/class.monitor.php
00e339ff 721
73de38a1 722%{systemdtmpfilesdir}/%{name}.conf
e570944f
ER
723%dir %attr(730,root,http) /var/run/%{name}
724%dir %attr(730,root,http) /var/cache/%{name}
ab983aaa 725
d2e501e8
ER
726%files base
727%defattr(644,root,root,755)
728%attr(751,root,root) %dir %{_sysconfdir}
a392a259 729%dir %{_libdir}
cfc3bce6 730%dir %{_appdir}
098cbb72 731%dir /var/lib/%{name}
89522a33 732# saved mail copies
e570944f
ER
733%attr(770,root,http) %dir /var/lib/%{name}/routed_emails
734%attr(770,root,http) %dir /var/lib/%{name}/routed_drafts
735%attr(770,root,http) %dir /var/lib/%{name}/routed_notes
d2e501e8 736
ab983aaa
ER
737%files setup
738%defattr(644,root,root,755)
cfc3bce6 739%{_appdir}/htdocs/setup
0da8e1f2 740
d4a553ea 741%files doc
06ddb94b 742%defattr(644,root,root,755)
d4a553ea
ER
743%doc docs/*
744%{_examplesdir}/%{name}-%{version}
745
0da8e1f2
ER
746%files mail-queue
747%defattr(644,root,root,755)
7a906e31 748%attr(755,root,root) %{_appdir}/bin/process_mail_queue.php
f56655e1 749%attr(755,root,root) %{_appdir}/bin/truncate_mail_queue.php
ea084bcb
ER
750%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
751
752%files mail-download
753%defattr(644,root,root,755)
7a906e31 754%attr(755,root,root) %{_appdir}/bin/download_emails.php
ea084bcb 755%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
5cb2e61d 756
cd719538
ER
757%files reminder
758%defattr(644,root,root,755)
7a906e31 759%attr(755,root,root) %{_appdir}/bin/check_reminders.php
cd719538
ER
760%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
761
762%files monitor
763%defattr(644,root,root,755)
ae3e48e6 764%{_appdir}/lib/eventum/class.monitor.php
7a906e31 765%attr(755,root,root) %{_appdir}/bin/monitor.php
cd719538
ER
766%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
767
5b165428
ER
768%files route-drafts
769%defattr(644,root,root,755)
7a906e31 770%attr(755,root,root) %{_appdir}/bin/route_drafts.php
5b165428 771
cd719538
ER
772%files route-emails
773%defattr(644,root,root,755)
7a906e31 774%attr(755,root,root) %{_appdir}/bin/route_emails.php
cd719538
ER
775
776%files route-notes
777%defattr(644,root,root,755)
7a906e31 778%attr(755,root,root) %{_appdir}/bin/route_notes.php
cd719538 779
a6d2ad69
ER
780%files router-postfix
781%defattr(644,root,root,755)
410d72c7 782%attr(755,root,root) %{_libdir}/router-postfix
a6d2ad69 783
cd719538
ER
784%files irc
785%defattr(644,root,root,755)
77b3db3b 786%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/irc_config.php
01b84746 787%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/eventum-irc
ae3e48e6 788%attr(755,root,root) %{_sbindir}/%{name}-irc-bot
cd719538
ER
789%attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
790
abd490e4
ER
791%files cli
792%defattr(644,root,root,755)
ae3e48e6 793%doc cli/eventumrc
4a74b463 794%attr(755,root,root) %{_bindir}/%{name}
abd490e4 795
5cb2e61d
ER
796%files scm
797%defattr(644,root,root,755)
c28270d0 798%attr(751,root,root) %dir %{_sysconfdir}
ca6b8520 799%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scm.php
ae3e48e6 800%attr(755,root,root) %{_sbindir}/eventum-cvs-hook
f2151907 801%attr(755,root,root) %{_sbindir}/eventum-git-hook
ae3e48e6 802%attr(755,root,root) %{_sbindir}/eventum-svn-hook
c28270d0 803%attr(755,root,root) %{_sbindir}/helpers.php
1cce3e61
ER
804
805%files sphinx
806%defattr(644,root,root,755)
807%{_webappdir}/sphinx.conf.php
7a906e31 808#%attr(750,root,http) %config(noreplace) %verify(not md5 mtime size) /etc/sphinx/%{name}.conf
1cce3e61 809%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-sphinx
This page took 0.385526 seconds and 4 git commands to generate.