]> git.pld-linux.org Git - packages/eventum.git/blame - eventum.spec
up to 3.0.3-1.276.ga7233c3, simplified irc bot install
[packages/eventum.git] / eventum.spec
CommitLineData
a659c698
JB
1#
2# Conditional build:
7bc9b641 3%bcond_with order # with experimental order patch
cddf3011 4
f8eb4d75 5%define rel 1.8
35bb76a6
ER
6%define subver 276
7%define githash a7233c3
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
35bb76a6 19# Source0-md5: e97361f1429ba03bbd917719b6daec2b
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
cfcdd0a9 42Patch107: %{name}-gettext.patch
3ca19d87 43Patch108: autoload.patch
a6016bab
ER
44# some tests
45Patch200: %{name}-fixed-nav.patch
3cf7d1aa 46URL: http://eventum.mysql.org/
447ff246 47BuildRequires: /usr/bin/php
4b01e826 48BuildRequires: gettext-devel
7a906e31 49BuildRequires: php(core) >= %{php_min_version}
b3857e8b 50BuildRequires: rpm-php-pearprov >= 4.0.2-98
5500a61e 51BuildRequires: rpmbuild(macros) >= 1.654
4068cb73 52BuildRequires: sed >= 4.0
5b165428 53Requires: %{name}-base = %{version}-%{release}
0b88d857 54Requires: fonts-TTF-RedHat-liberation
01d8dfff 55Requires: php(core) >= %{php_min_version}
2f331c68 56Requires: php(filter)
2f331c68
ER
57Requires: php(iconv)
58Requires: php(imap)
59Requires: php(json)
60Requires: php(mbstring)
8c038b49 61Requires: php(mysqli)
2f331c68
ER
62Requires: php(pcre)
63Requires: php(session)
5dbd4bf5
ER
64Requires: php-Smarty >= 3.1
65Requires: php-Smarty-plugin-gettext
71b01fde 66Requires: php-pear-DB
71b01fde 67Requires: php-pear-Mail
723da18a 68Requires: php-pear-Mail_Mime
fb0b2f83 69Requires: php-pear-Mail_mimeDecode
71b01fde
ER
70Requires: php-pear-Math_Stats
71Requires: php-pear-Net_DIME
71b01fde 72Requires: php-pear-Net_SMTP
71b01fde
ER
73Requires: php-pear-Net_Socket
74Requires: php-pear-Net_URL
75Requires: php-pear-Net_UserAgent_Detect
3223fb64 76Requires: php-pear-PEAR-core
71b01fde
ER
77Requires: php-pear-Text_Diff
78Requires: php-pear-XML_RPC
0b88d857 79Requires: phplot >= 5.8.0
bdf85dc8 80Requires: webapps
f399f1c0
ER
81Requires: webserver(access)
82Requires: webserver(alias)
897bdb2c 83Requires: webserver(indexfile)
61351540 84Requires: webserver(php) >= 4.2.0
462ee1a6 85Suggests: localedb
73de38a1 86Suggests: php-pear-Net_LDAP2
bd70ea88 87Conflicts: logrotate < 3.8.0
35fa3cf8 88BuildArch: noarch
bb01d732
ER
89BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
90
4b01e826 91%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
92
93# exclude optional php dependencies
899100ff 94%define _noautophp php-gnupg php-hash php-pecl-http php-tk
03410d49 95
5500a61e 96%define _noautoreq %{_noautophp}
3223fb64 97
1d760108 98%define _libdir %{_prefix}/lib/%{name}
71f56750 99%define _appdir %{_datadir}/%{name}
d1c44829 100%define _smartydir %{php_data_dir}/Smarty
bdf85dc8
ER
101%define _webapps /etc/webapps
102%define _webapp %{name}
8a37ad9d
ER
103%define _webappdir %{_webapps}/%{_webapp}
104%define _sysconfdir /etc/%{name}
bb01d732
ER
105
106%description
107Eventum is a user-friendly and flexible issue tracking system that can
108be used by a support department to track incoming technical support
109requests, or by a software development team to quickly organize tasks
110and bugs. Eventum is used by the MySQL AB Technical Support team, and
111has allowed us to dramatically improve our response times.
112
d8cfa9f0
JR
113%description -l pl.UTF-8
114Eventum to przyjazny dla użytkownika system śledzenia spraw, który
115może być używany przez dział obsługi do śledzenia przychodzących żądań
116obsługi technicznej albo przez zespół tworzący oprogramowanie do
117szybkiej organizacji zadań i błędów. Eventum jest używany przez zespół
118Technical Support MySQL AB i umożliwił im znacząco poprawić czasy
4068cb73
JB
119reakcji.
120
d2e501e8
ER
121%package base
122Summary: Eventum base package
9f49cf47 123Summary(pl.UTF-8): Podstawowy pakiet Eventum
d2e501e8 124Group: Applications/WWW
3223fb64
ER
125Requires(postun): /usr/sbin/groupdel
126Requires(postun): /usr/sbin/userdel
5bbd68c9
ER
127Requires(pre): /bin/id
128Requires(pre): /usr/bin/getgid
5bbd68c9 129Requires(pre): /usr/sbin/groupadd
3223fb64 130Requires(pre): /usr/sbin/useradd
9f768793 131Provides: group(eventum)
d080edb6 132Provides: user(eventum)
d2e501e8
ER
133
134%description base
135This package contains base directory structure for Eventum.
136
d8cfa9f0
JR
137%description base -l pl.UTF-8
138Ten pakiet zawiera podstawową strukturę katalogów dla Eventum.
1bb5e749 139
ab983aaa 140%package setup
4068cb73 141Summary: Eventum setup package
9f49cf47 142Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji Eventum
ab983aaa 143Group: Applications/WWW
5b165428 144Requires: %{name} = %{version}-%{release}
ab983aaa
ER
145
146%description setup
147Install this package to configure initial Eventum installation. You
148should uninstall this package when you're done, as it considered
149insecure to keep the setup files in place.
150
d8cfa9f0
JR
151%description setup -l pl.UTF-8
152Ten pakiet należy zainstalować w celu wstępnej konfiguracji Eventum po
153pierwszej instalacji. Potem należy go odinstalować, jako że
154pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
4068cb73 155
d4a553ea
ER
156%package doc
157Summary: Eventum documentation and Wiki
158Group: Documentation
159
160%description doc
161Eventum documentation and copy of Wiki.
162
0da8e1f2 163%package mail-queue
30689148 164Summary: Eventum mail queue process
9f49cf47 165Summary(pl.UTF-8): Przetwarzanie kolejki poczty Eventum
0da8e1f2 166Group: Applications/WWW
5b165428 167Requires: %{name} = %{version}-%{release}
0da8e1f2
ER
168Requires: crondaemon
169
170%description mail-queue
171Beginning with the first release of Eventum, emails are not directly
172sent out from the various scripts, but rather added to a mail queue
173table that is processed by a cron job. If an email cannot be sent, it
174will be marked as such in the mail queue log, and the cron job script
175will re-try to send it again the next time it runs.
176
177This package contains the cron job.
178
d8cfa9f0
JR
179%description mail-queue -l pl.UTF-8
180Od pierwszego wydania Eventum poczta nie jest wysyłana bezpośrednio z
181różnych skryptów, lecz dodawana do kolejki przetwarzanej z crona.
182Jeśli poczta nie może być wysłana, będzie odpowiednio oznaczona w logu
183kolejki poczty, a skrypt z crona będzie próbował wysłać ją ponownie
184następnym razem.
0181746f 185
30689148 186Ten pakiet zawiera zadanie dla crona.
187
ea084bcb 188%package mail-download
30689148 189Summary: Eventum email download
9f49cf47 190Summary(pl.UTF-8): Ściąganie poczty Eventum
ea084bcb 191Group: Applications/WWW
5b165428 192Requires: %{name} = %{version}-%{release}
ea084bcb
ER
193Requires: crondaemon
194
195%description mail-download
196In order for Eventum's email integration feature to work, you need to
197setup a cron job to run the script every so often.
198
199This package contains the cron job.
200
d8cfa9f0
JR
201%description mail-download -l pl.UTF-8
202Aby integracja poczty elektronicznej w Eventum działała, trzeba
203ustawić zadanie crona, aby uruchamiał odpowiedni skrypt wystarczająco
204często.
0181746f
JB
205
206Ten pakiet zawiera zadanie dla crona.
207
cd719538
ER
208%package reminder
209Summary: Eventum Reminder System
9f49cf47 210Summary(pl.UTF-8): System przypominania dla Eventum
cd719538 211Group: Applications/WWW
5b165428 212Requires: %{name} = %{version}-%{release}
cd719538
ER
213Requires: crondaemon
214
215%description reminder
216The reminder system was designed with the objective as serving as a
217safe net for issues that need attention. Depending on what
218configuration you create, you may have several reminders (or alerts)
219be sent out whenever an issue needs attention, for whatever parameter
220you may deem necessary.
221
222This package contains the cron job.
223
d8cfa9f0
JR
224%description reminder -l pl.UTF-8
225System przypominania został zaprojektowany tak, aby służył jako
226bezpieczna sieć dla spraw wymagających uwagi. W zależności od
227konfiguracji można ustawić różne przypominajki (lub alarmy) wysyłane
228przy każdej sprawie wymagającej uwagi lub przy parametrze, który można
229uważać za potrzebny.
6341f096
JB
230
231Ten pakiet zawiera zadanie dla crona.
232
cd719538
ER
233%package monitor
234Summary: Eventum Heartbeat Monitor
9f49cf47 235Summary(pl.UTF-8): Monitor życia dla Eventum
cd719538 236Group: Applications/WWW
5b165428 237Requires: %{name} = %{version}-%{release}
cd719538 238Requires: crondaemon
2f331c68 239Requires: php(posix)
cd719538
ER
240
241%description monitor
242The heartbeat monitor is a feature designed for the administrator that
243wants to be alerted whenever a common problem in Eventum is detected,
244like the database server not being available anymore, or maybe when
245the recommended permissions for certain configuration files are
246changed.
247
248Please note that before running the heartbeat monitor, you may need to
249customize some of the checks to be appropriate for your own system,
250particularly the permission and file checks on
251Monitor::checkConfiguration().
252
253This package contains the cron job.
254
d8cfa9f0
JR
255%description monitor -l pl.UTF-8
256Monitor życia to funkcjonalność zaprojektowana dla administratora
257chcącego być alarmowanym przy każdym wykryciu popularnego problemu z
258Eventum, jak nie działanie serwera bazy danych albo zmiana uprawnień
259do plików konfiguracyjnych.
6341f096 260
d8cfa9f0
JR
261Należy zauważyć, że przed uruchomieniem tego monitora może być
262konieczne dostosowanie niektórych testów do systemu, w szczególności
263testów uprawnień i plików w Monitor::checkConfiguration().
6341f096
JB
264
265Ten pakiet zawiera zadanie dla crona.
266
5b165428
ER
267%package route-drafts
268Summary: Eventum Draft Routing
9f49cf47 269Summary(pl.UTF-8): Przekazywanie szkiców dla Eventum
5b165428
ER
270Group: Applications/WWW
271Requires: %{name} = %{version}-%{release}
5b165428
ER
272Requires: eventum(router)
273
274%description route-drafts
71f56750 275The draft routing feature is used to automatically associate a thread
098cbb72
ER
276of drafts into an Eventum issue. By setting up Postfix to deliver
277emails sent to a specific address (usually draft-<number>@<domain>) to
278the above script, users are able to send drafts written in their mail
279client to be stored in Eventum. These drafts will NOT broadcasted to
280the notification list.
5b165428 281
d8cfa9f0
JR
282%description route-drafts -l pl.UTF-8
283Przekazywanie szkiców służy do automatycznego wiązania wątku szkiców z
098cbb72
ER
284problemem w Eventum. Ustawiając Postfiksa, aby dostarczał pocztę
285wysłaną na podany adres (zwykle draft-<liczba>@<domena>) do tego
286skryptu umożliwia się użytkownikom wysyłanie szkiców napisanych w ich
287kliencie pocztowym do zapisania w Eventum. Szkice te NIE będą wysyłane
288na listę powiadomień.
5410173f 289
cd719538
ER
290%package route-emails
291Summary: Eventum Email Routing
9f49cf47 292Summary(pl.UTF-8): Przekazywanie poczty dla Eventum
cd719538 293Group: Applications/WWW
5b165428 294Requires: %{name} = %{version}-%{release}
8bc4bcd1 295Requires: eventum(router)
cd719538
ER
296
297%description route-emails
298The email routing feature is used to automatically associate a thread
098cbb72
ER
299of emails into an Eventum issue. By setting up Postfix to deliver
300emails sent to a specific address (usually issue-<number>@<domain>) to
301the above script, users are able to use their email clients to reply
302to emails coming from Eventum, and those replies will be automatically
303associated with the issue and broadcasted to the entire notification
304list.
cd719538 305
d8cfa9f0
JR
306%description route-emails -l pl.UTF-8
307Funkcjonalność przekazywania poczty służy do automatycznego wiązania
098cbb72
ER
308wątku listów ze sprawą w Eventum. Po ustawieniu czy nawet Postfiksa,
309aby dostarczał listy wysyłane na pewien adres (zwykle
d8cfa9f0
JR
310issue-<numer>@<domena>) na powyższy skrypt, użytkownicy będą mogli
311używać klientów pocztowych do odpowiadania na listy przychodzące z
312Eventum, a odpowiedzi te będą automatycznie wiązane ze sprawą i
313rozprowadzane do całej listy ogłoszeniowej.
6341f096 314
cd719538
ER
315%package route-notes
316Summary: Eventum Note Routing
9f49cf47 317Summary(pl.UTF-8): Przekazywanie notatek dla Eventum
cd719538 318Group: Applications/WWW
5b165428 319Requires: %{name} = %{version}-%{release}
8bc4bcd1 320Requires: eventum(router)
cd719538
ER
321
322%description route-notes
323The note routing feature is used to automatically associate a thread
098cbb72
ER
324of notes into an Eventum issue. By setting up Postfix to deliver
325emails sent to a specific address (usually note-<number>@<domain>) to
326the above script, users are able to use their email clients to reply
327to internal notes coming from Eventum, and those replies will be
328automatically associated with the issue and broadcasted to the
329notification list staff members.
cd719538 330
d8cfa9f0
JR
331%description route-notes -l pl.UTF-8
332Funkcjonalność przekazywania notatek służy do automatycznego wiązania
098cbb72
ER
333wątku notatek ze sprawą w Eventum. Po ustawieniu Postfiksa, aby
334dostarczał listy wysyłane na pewien adres (zwykle
d8cfa9f0
JR
335note-<numer>@<domena>) na powyższy skrypt, użytkownicy będą mogli
336używać klientów pocztowych do odpowiadania na wewnętrzne notatki
337pochodzące od Eventu, a odpowiedzi te będą automatycznie wiązane ze
338sprawą i rozprowadzane do członków personelu listy ogłoszeniowej.
6341f096 339
a6d2ad69
ER
340%package router-postfix
341Summary: Eventum Mail Routing - Postfix
9f49cf47 342Summary(pl.UTF-8): Przekazywanie poczty Eventum - Postfix
a6d2ad69 343Group: Applications/Mail
5b165428 344Requires: %{name} = %{version}-%{release}
a6d2ad69 345Requires: postfix
8bc4bcd1
ER
346Provides: eventum(router)
347Obsoletes: eventum(router)
a6d2ad69
ER
348
349%description router-postfix
350This package provides way of routing notes and emails back to Eventum
351via Postfix.
352
e1bb3563
ER
353The Postfix configuration instructions you can find from
354<http://eventum.mysql.org/wiki/index.php/Setting_up_email_routing_with_postfix>.
355
d8cfa9f0
JR
356%description router-postfix -l pl.UTF-8
357Ten pakiet udostępnia metodę przekazywania notatek i listów do Eventum
995fa554
JB
358przez Postfiksa.
359
d8cfa9f0 360Opis konfiguracji Postfiksa można znaleźć pod adresem
a659c698
JB
361<http://eventum.mysql.org/wiki/index.php/Setting_up_email_routing_with_postfix>.
362
cd719538
ER
363%package irc
364Summary: Eventum IRC Notification Bot
9f49cf47 365Summary(pl.UTF-8): IRC-owy bot powiadamiający dla Eventum
cd719538 366Group: Applications/WWW
b79fc4aa 367Requires(post,preun): /sbin/chkconfig
5b165428 368Requires: %{name} = %{version}-%{release}
2f331c68 369Requires: php(sockets)
71f56750 370Requires: php-pear-Net_SmartIRC
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
1b5aae0f 566cp -p %{SOURCE7} $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
08196fe2
ER
590# greate empty ghost files
591for a in cli.log errors.log irc_bot.log login_attempts.log; do
592 if [ ! -f /var/log/%{name}/$a ]; then
2b135b34 593 install -m 0620 -o root -g eventum /dev/null /var/log/%{name}/$a
08196fe2
ER
594 fi
595done
596
00358bba
ER
597# run database update if configured
598test -s %{_webappdir}/config.php && \
847270fe
ER
599%{_appdir}/upgrade/update-database.php || :
600
da8d6134
ER
601# nuke Smarty templates cache after upgrade
602rm -f /var/cache/eventum/*.php
603
4a751c1a
ER
604# Restart webserver on upgrade to get .mo translations reloaded.
605# actually php engines "php-fcgi" and "php-fpm" needed only, apache is restarted anyway via webapp trigger.
114241d7
ER
606%php_webserver_restart
607
82121306
ER
608%preun
609if [ "$1" = "0" ]; then
dfe0f6d6
ER
610 # nuke cache
611 rm -f /var/cache/eventum/*.php 2>/dev/null || :
612fi
cfc3bce6 613
01b84746 614%pre base
1d760108
ER
615%groupadd -P %{name}-base -g 146 %{name}
616%useradd -P %{name}-base -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name}
01b84746
ER
617
618%postun base
619if [ "$1" = "0" ]; then
a6d2ad69 620 %userremove %{name}
1f52d1fe 621 %groupremove %{name}
a6d2ad69
ER
622fi
623
94bd779f 624%post setup
8a37ad9d 625chmod 660 %{_webappdir}/{config,private_key}.php
253ca53d 626chown root:http %{_webappdir}/{config,private_key}.php
94bd779f
ER
627
628%postun setup
b4fe195b 629if [ "$1" = "0" ] && [ -f %{_webappdir}/config.php ]; then
8a37ad9d 630 chmod 640 %{_webappdir}/{config,private_key}.php
253ca53d 631 chown root:http %{_webappdir}/{config,private_key}.php
94bd779f
ER
632fi
633
e1c0f343
ER
634%post irc
635/sbin/chkconfig --add eventum-irc
99bbe3cb 636%service eventum-irc restart "Eventum IRC Bot"
e1c0f343 637
add0e245
ER
638%preun irc
639if [ "$1" = 0 ]; then
640 %service eventum-irc stop
641 /sbin/chkconfig --del eventum-irc
642fi
643
09f58a75 644%triggerin -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 645%webapp_register apache %{_webapp}
1d760108 646
09f58a75 647%triggerun -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 648%webapp_unregister apache %{_webapp}
1d760108 649
87ca28ca 650%triggerin -- apache < 2.2.0, apache-base
bdf85dc8 651%webapp_register httpd %{_webapp}
1d760108 652
87ca28ca 653%triggerun -- apache < 2.2.0, apache-base
bdf85dc8 654%webapp_unregister httpd %{_webapp}
1d760108 655
f399f1c0
ER
656%triggerin -- lighttpd
657%webapp_register lighttpd %{_webapp}
658
659%triggerun -- lighttpd
660%webapp_unregister lighttpd %{_webapp}
661
24cfc386
ER
662%triggerpostun -- %{name} < 3.0.0-0.2
663for f in /etc/cron.d/eventum-*; do
664 # crontabs moved to bin
0ffd10e7 665 %{__sed} -i -e '
24cfc386
ER
666 s,/usr/share/eventum/crons/process_mail_queue.php,%{_appdir}/bin/process_mail_queue.php,
667 s,/usr/share/eventum/crons/download_emails.php,%{_appdir}/bin/download_emails.php,
668 s,/usr/share/eventum/crons/check_reminders.php,%{_appdir}/bin/check_reminders.php,
669 s,/usr/share/eventum/crons/monitor.php,%{_appdir}/bin/monitor.php,
670 ' $f
0ffd10e7 671done
f1269a43 672
600d96a0 673%files -f %{name}.lang
bb01d732 674%defattr(644,root,root,755)
8a37ad9d 675%attr(751,root,root) %dir %{_webappdir}
6e3be5a3
ER
676%attr(751,root,root) %dir %{_webappdir}/custom_field
677%attr(751,root,root) %dir %{_webappdir}/templates
678%attr(751,root,root) %dir %{_webappdir}/workflow
8a37ad9d
ER
679%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf
680%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf
f399f1c0 681%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/lighttpd.conf
e570944f
ER
682%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/config.php
683%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php
684%attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/setup.php
f399f1c0 685%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/htpasswd
d2e501e8 686
e570944f
ER
687%dir %attr(731,root,http) /var/log/%{name}
688%attr(620,root,http) %ghost /var/log/%{name}/*
3c6aa7a9 689%dir %attr(750,root,root) /var/log/archive/%{name}
8fd047ac 690%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
35f9d6a3 691
37f06e5c
ER
692%{_appdir}/config
693
7a906e31 694%dir %{_appdir}/bin
7a906e31
ER
695%attr(755,root,root) %{_appdir}/bin/process_all_emails.php
696
4b01e826 697%{_appdir}/autoload.php
ae3e48e6 698%{_appdir}/init.php
cfc3bce6
ER
699%dir %{_appdir}/htdocs
700%{_appdir}/htdocs/*.php
da8d6134 701%{_appdir}/htdocs/*.ico
7bc9b641 702%{_appdir}/htdocs/ajax
cfc3bce6
ER
703%{_appdir}/htdocs/css
704%{_appdir}/htdocs/customer
705%{_appdir}/htdocs/images
706%{_appdir}/htdocs/js
707%{_appdir}/htdocs/manage
7bc9b641 708%{_appdir}/htdocs/misc
cfc3bce6
ER
709%{_appdir}/htdocs/reports
710%{_appdir}/htdocs/rpc
7a906e31 711%{_appdir}/htdocs/components
9748a8c3 712%{_appdir}/templates
847270fe 713
c9165420 714%dir %{_appdir}/upgrade
7a906e31
ER
715%{_appdir}/upgrade/flush_compiled_templates.php
716%{_appdir}/upgrade/*.sql
847270fe 717%attr(755,root,root) %{_appdir}/upgrade/update-database.php
73de38a1 718%attr(755,root,root) %{_appdir}/upgrade/ldap_import.php
7a906e31
ER
719%attr(755,root,root) %{_appdir}/upgrade/ldap_update_users.php
720%attr(755,root,root) %{_appdir}/upgrade/scm_trac_import.php
847270fe
ER
721%{_appdir}/upgrade/patches
722
bcb86d50 723%{_appdir}/vendor
b01e96c4 724
ae3e48e6
ER
725%dir %{_appdir}/lib
726%{_appdir}/lib/eventum
ae3e48e6 727%exclude %{_appdir}/lib/eventum/class.monitor.php
00e339ff 728
73de38a1 729%{systemdtmpfilesdir}/%{name}.conf
e570944f
ER
730%dir %attr(730,root,http) /var/run/%{name}
731%dir %attr(730,root,http) /var/cache/%{name}
ab983aaa 732
d2e501e8
ER
733%files base
734%defattr(644,root,root,755)
735%attr(751,root,root) %dir %{_sysconfdir}
a392a259 736%dir %{_libdir}
cfc3bce6 737%dir %{_appdir}
098cbb72 738%dir /var/lib/%{name}
89522a33 739# saved mail copies
e570944f
ER
740%attr(770,root,http) %dir /var/lib/%{name}/routed_emails
741%attr(770,root,http) %dir /var/lib/%{name}/routed_drafts
742%attr(770,root,http) %dir /var/lib/%{name}/routed_notes
d2e501e8 743
ab983aaa
ER
744%files setup
745%defattr(644,root,root,755)
cfc3bce6 746%{_appdir}/htdocs/setup
0da8e1f2 747
d4a553ea
ER
748%files doc
749%doc docs/*
750%{_examplesdir}/%{name}-%{version}
751
0da8e1f2
ER
752%files mail-queue
753%defattr(644,root,root,755)
7a906e31 754%attr(755,root,root) %{_appdir}/bin/process_mail_queue.php
f56655e1 755%attr(755,root,root) %{_appdir}/bin/truncate_mail_queue.php
ea084bcb
ER
756%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
757
758%files mail-download
759%defattr(644,root,root,755)
7a906e31 760%attr(755,root,root) %{_appdir}/bin/download_emails.php
ea084bcb 761%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
5cb2e61d 762
cd719538
ER
763%files reminder
764%defattr(644,root,root,755)
7a906e31 765%attr(755,root,root) %{_appdir}/bin/check_reminders.php
cd719538
ER
766%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
767
768%files monitor
769%defattr(644,root,root,755)
ae3e48e6 770%{_appdir}/lib/eventum/class.monitor.php
7a906e31 771%attr(755,root,root) %{_appdir}/bin/monitor.php
cd719538
ER
772%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
773
5b165428
ER
774%files route-drafts
775%defattr(644,root,root,755)
7a906e31 776%attr(755,root,root) %{_appdir}/bin/route_drafts.php
5b165428 777
cd719538
ER
778%files route-emails
779%defattr(644,root,root,755)
7a906e31 780%attr(755,root,root) %{_appdir}/bin/route_emails.php
cd719538
ER
781
782%files route-notes
783%defattr(644,root,root,755)
7a906e31 784%attr(755,root,root) %{_appdir}/bin/route_notes.php
cd719538 785
a6d2ad69
ER
786%files router-postfix
787%defattr(644,root,root,755)
410d72c7 788%attr(755,root,root) %{_libdir}/router-postfix
a6d2ad69 789
cd719538
ER
790%files irc
791%defattr(644,root,root,755)
77b3db3b 792%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/irc_config.php
01b84746 793%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/eventum-irc
35bb76a6 794%attr(755,root,root) %{_appdir}/bin/irc-bot.php
cd719538
ER
795%attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
796
abd490e4
ER
797%files cli
798%defattr(644,root,root,755)
ae3e48e6 799%doc cli/eventumrc
4a74b463 800%attr(755,root,root) %{_bindir}/%{name}
abd490e4 801
5cb2e61d
ER
802%files scm
803%defattr(644,root,root,755)
c28270d0 804%attr(751,root,root) %dir %{_sysconfdir}
ca6b8520 805%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scm.php
ae3e48e6 806%attr(755,root,root) %{_sbindir}/eventum-cvs-hook
f2151907 807%attr(755,root,root) %{_sbindir}/eventum-git-hook
ae3e48e6 808%attr(755,root,root) %{_sbindir}/eventum-svn-hook
c28270d0 809%attr(755,root,root) %{_sbindir}/helpers.php
1cce3e61
ER
810
811%files sphinx
812%defattr(644,root,root,755)
813%{_webappdir}/sphinx.conf.php
7a906e31 814#%attr(750,root,http) %config(noreplace) %verify(not md5 mtime size) /etc/sphinx/%{name}.conf
1cce3e61 815%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-sphinx
This page took 0.303904 seconds and 4 git commands to generate.