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