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