]> git.pld-linux.org Git - packages/eventum.git/blame - eventum.spec
up to 3.0.6-329-gc0f6819, package src
[packages/eventum.git] / eventum.spec
CommitLineData
a659c698
JB
1#
2# Conditional build:
7bc9b641 3%bcond_with order # with experimental order patch
cddf3011 4
e8b7cc70
ER
5%define rel 1.4
6%define subver 329
7%define githash c0f6819
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
72454921 13Version: 3.0.6
7665f424 14Release: %{?subver:1.%{subver}.%{?githash:g%{githash}.}}%{rel}
a881bbb0 15License: GPL v2
6850abd9 16Group: Applications/WWW
b7efaebc
ER
17#Source0: https://github.com/eventum/eventum/releases/download/v%{version}/%{name}-%{version}.tar.gz
18Source0: %{name}-%{version}-%{subver}-g%{githash}.tar.gz
e8b7cc70 19# Source0-md5: 34cd716ef4c94d6d10cec3cc4d7ccdf0
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 \
586 cli.log \
587 irc_bot_error.log irc_bot_smartirc.log \
588; do
589 test -f /var/log/%{name}/$a && continue
590 install -m 0620 -o root -g http /dev/null /var/log/%{name}/$a
08196fe2
ER
591done
592
00358bba
ER
593# run database update if configured
594test -s %{_webappdir}/config.php && \
6453eaf6 595%{_appdir}/bin/upgrade.php || :
847270fe 596
da8d6134
ER
597# nuke Smarty templates cache after upgrade
598rm -f /var/cache/eventum/*.php
599
4a751c1a
ER
600# Restart webserver on upgrade to get .mo translations reloaded.
601# actually php engines "php-fcgi" and "php-fpm" needed only, apache is restarted anyway via webapp trigger.
114241d7
ER
602%php_webserver_restart
603
82121306
ER
604%preun
605if [ "$1" = "0" ]; then
dfe0f6d6
ER
606 # nuke cache
607 rm -f /var/cache/eventum/*.php 2>/dev/null || :
608fi
cfc3bce6 609
5132bae6 610%postun
01b84746 611if [ "$1" = "0" ]; then
a6d2ad69 612 %userremove %{name}
1f52d1fe 613 %groupremove %{name}
a6d2ad69
ER
614fi
615
94bd779f 616%post setup
8a37ad9d 617chmod 660 %{_webappdir}/{config,private_key}.php
253ca53d 618chown root:http %{_webappdir}/{config,private_key}.php
94bd779f
ER
619
620%postun setup
b4fe195b 621if [ "$1" = "0" ] && [ -f %{_webappdir}/config.php ]; then
8a37ad9d 622 chmod 640 %{_webappdir}/{config,private_key}.php
253ca53d 623 chown root:http %{_webappdir}/{config,private_key}.php
94bd779f
ER
624fi
625
e1c0f343
ER
626%post irc
627/sbin/chkconfig --add eventum-irc
99bbe3cb 628%service eventum-irc restart "Eventum IRC Bot"
e1c0f343 629
add0e245
ER
630%preun irc
631if [ "$1" = 0 ]; then
632 %service eventum-irc stop
633 /sbin/chkconfig --del eventum-irc
634fi
635
09f58a75 636%triggerin -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 637%webapp_register apache %{_webapp}
1d760108 638
09f58a75 639%triggerun -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 640%webapp_unregister apache %{_webapp}
1d760108 641
87ca28ca 642%triggerin -- apache < 2.2.0, apache-base
bdf85dc8 643%webapp_register httpd %{_webapp}
1d760108 644
87ca28ca 645%triggerun -- apache < 2.2.0, apache-base
bdf85dc8 646%webapp_unregister httpd %{_webapp}
1d760108 647
f399f1c0
ER
648%triggerin -- lighttpd
649%webapp_register lighttpd %{_webapp}
650
651%triggerun -- lighttpd
652%webapp_unregister lighttpd %{_webapp}
653
24cfc386
ER
654%triggerpostun -- %{name} < 3.0.0-0.2
655for f in /etc/cron.d/eventum-*; do
656 # crontabs moved to bin
0ffd10e7 657 %{__sed} -i -e '
24cfc386
ER
658 s,/usr/share/eventum/crons/process_mail_queue.php,%{_appdir}/bin/process_mail_queue.php,
659 s,/usr/share/eventum/crons/download_emails.php,%{_appdir}/bin/download_emails.php,
660 s,/usr/share/eventum/crons/check_reminders.php,%{_appdir}/bin/check_reminders.php,
661 s,/usr/share/eventum/crons/monitor.php,%{_appdir}/bin/monitor.php,
662 ' $f
0ffd10e7 663done
f1269a43 664
600d96a0 665%files -f %{name}.lang
bb01d732 666%defattr(644,root,root,755)
8a37ad9d 667%attr(751,root,root) %dir %{_webappdir}
6e3be5a3
ER
668%attr(751,root,root) %dir %{_webappdir}/custom_field
669%attr(751,root,root) %dir %{_webappdir}/templates
670%attr(751,root,root) %dir %{_webappdir}/workflow
8a37ad9d
ER
671%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf
672%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf
f399f1c0 673%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/lighttpd.conf
e570944f
ER
674%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/config.php
675%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php
676%attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/setup.php
f399f1c0 677%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/htpasswd
d2e501e8 678
686306de 679%dir %attr(711,root,http) /var/log/%{name}
e570944f 680%attr(620,root,http) %ghost /var/log/%{name}/*
3c6aa7a9 681%dir %attr(750,root,root) /var/log/archive/%{name}
8fd047ac 682%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
35f9d6a3 683
5132bae6 684%dir %{_appdir}
37f06e5c
ER
685%{_appdir}/config
686
7a906e31 687%dir %{_appdir}/bin
7a906e31 688%attr(755,root,root) %{_appdir}/bin/process_all_emails.php
6453eaf6 689%attr(755,root,root) %{_appdir}/bin/upgrade.php
7a906e31 690
4b01e826 691%{_appdir}/autoload.php
ae3e48e6 692%{_appdir}/init.php
cfc3bce6
ER
693%dir %{_appdir}/htdocs
694%{_appdir}/htdocs/*.php
da8d6134 695%{_appdir}/htdocs/*.ico
7bc9b641 696%{_appdir}/htdocs/ajax
cfc3bce6
ER
697%{_appdir}/htdocs/css
698%{_appdir}/htdocs/customer
699%{_appdir}/htdocs/images
700%{_appdir}/htdocs/js
701%{_appdir}/htdocs/manage
702%{_appdir}/htdocs/reports
703%{_appdir}/htdocs/rpc
7a906e31 704%{_appdir}/htdocs/components
9748a8c3 705%{_appdir}/templates
847270fe 706
c9165420 707%dir %{_appdir}/upgrade
7a906e31
ER
708%{_appdir}/upgrade/flush_compiled_templates.php
709%{_appdir}/upgrade/*.sql
73de38a1 710%attr(755,root,root) %{_appdir}/upgrade/ldap_import.php
7a906e31
ER
711%attr(755,root,root) %{_appdir}/upgrade/ldap_update_users.php
712%attr(755,root,root) %{_appdir}/upgrade/scm_trac_import.php
847270fe
ER
713%{_appdir}/upgrade/patches
714
bcb86d50 715%{_appdir}/vendor
e8b7cc70 716%{_appdir}/src
ae3e48e6
ER
717%dir %{_appdir}/lib
718%{_appdir}/lib/eventum
ae3e48e6 719%exclude %{_appdir}/lib/eventum/class.monitor.php
00e339ff 720
5132bae6
ER
721%dir %{_libdir}
722
73de38a1 723%{systemdtmpfilesdir}/%{name}.conf
5132bae6
ER
724
725%dir /var/lib/%{name}
e570944f
ER
726%dir %attr(730,root,http) /var/run/%{name}
727%dir %attr(730,root,http) /var/cache/%{name}
ab983aaa 728
89522a33 729# saved mail copies
e570944f
ER
730%attr(770,root,http) %dir /var/lib/%{name}/routed_emails
731%attr(770,root,http) %dir /var/lib/%{name}/routed_drafts
732%attr(770,root,http) %dir /var/lib/%{name}/routed_notes
d2e501e8 733
ab983aaa
ER
734%files setup
735%defattr(644,root,root,755)
cfc3bce6 736%{_appdir}/htdocs/setup
0da8e1f2 737
d4a553ea 738%files doc
06ddb94b 739%defattr(644,root,root,755)
d4a553ea
ER
740%doc docs/*
741%{_examplesdir}/%{name}-%{version}
742
0da8e1f2
ER
743%files mail-queue
744%defattr(644,root,root,755)
7a906e31 745%attr(755,root,root) %{_appdir}/bin/process_mail_queue.php
f56655e1 746%attr(755,root,root) %{_appdir}/bin/truncate_mail_queue.php
ea084bcb
ER
747%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
748
749%files mail-download
750%defattr(644,root,root,755)
7a906e31 751%attr(755,root,root) %{_appdir}/bin/download_emails.php
ea084bcb 752%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
5cb2e61d 753
cd719538
ER
754%files reminder
755%defattr(644,root,root,755)
7a906e31 756%attr(755,root,root) %{_appdir}/bin/check_reminders.php
cd719538
ER
757%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
758
759%files monitor
760%defattr(644,root,root,755)
ae3e48e6 761%{_appdir}/lib/eventum/class.monitor.php
7a906e31 762%attr(755,root,root) %{_appdir}/bin/monitor.php
cd719538
ER
763%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
764
5b165428
ER
765%files route-drafts
766%defattr(644,root,root,755)
7a906e31 767%attr(755,root,root) %{_appdir}/bin/route_drafts.php
5b165428 768
cd719538
ER
769%files route-emails
770%defattr(644,root,root,755)
7a906e31 771%attr(755,root,root) %{_appdir}/bin/route_emails.php
cd719538
ER
772
773%files route-notes
774%defattr(644,root,root,755)
7a906e31 775%attr(755,root,root) %{_appdir}/bin/route_notes.php
cd719538 776
a6d2ad69
ER
777%files router-postfix
778%defattr(644,root,root,755)
410d72c7 779%attr(755,root,root) %{_libdir}/router-postfix
a6d2ad69 780
cd719538
ER
781%files irc
782%defattr(644,root,root,755)
77b3db3b 783%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/irc_config.php
01b84746 784%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/eventum-irc
35bb76a6 785%attr(755,root,root) %{_appdir}/bin/irc-bot.php
cd719538
ER
786%attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
787
abd490e4
ER
788%files cli
789%defattr(644,root,root,755)
ae3e48e6 790%doc cli/eventumrc
4a74b463 791%attr(755,root,root) %{_bindir}/%{name}
abd490e4 792
5cb2e61d
ER
793%files scm
794%defattr(644,root,root,755)
c28270d0 795%attr(751,root,root) %dir %{_sysconfdir}
ca6b8520 796%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scm.php
ae3e48e6 797%attr(755,root,root) %{_sbindir}/eventum-cvs-hook
f2151907 798%attr(755,root,root) %{_sbindir}/eventum-git-hook
ae3e48e6 799%attr(755,root,root) %{_sbindir}/eventum-svn-hook
c28270d0 800%attr(755,root,root) %{_sbindir}/helpers.php
1cce3e61
ER
801
802%files sphinx
803%defattr(644,root,root,755)
804%{_webappdir}/sphinx.conf.php
7a906e31 805#%attr(750,root,http) %config(noreplace) %verify(not md5 mtime size) /etc/sphinx/%{name}.conf
1cce3e61 806%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-sphinx
This page took 0.282658 seconds and 4 git commands to generate.