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