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