]> git.pld-linux.org Git - packages/eventum.git/blame - eventum.spec
vendor willdurand/email-reply-parser
[packages/eventum.git] / eventum.spec
CommitLineData
a659c698
JB
1#
2# Conditional build:
7bc9b641 3%bcond_with order # with experimental order patch
cddf3011 4
626ebcc8 5%define rel 1.6
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
626ebcc8 443vendor willdurand/email-reply-parser
c3fd3767 444
5b165428 445# remove backups from patching as we use globs to package files to buildroot
73c437a6 446find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
085e39c0 447
465c3ab7 448%build
ae3e48e6 449%{__make} -C localization
465c3ab7 450
bb01d732
ER
451%install
452rm -rf $RPM_BUILD_ROOT
cfc3bce6 453install -d \
6e3be5a3 454 $RPM_BUILD_ROOT{%{_webappdir}/{custom_field,templates,workflow},%{_sysconfdir},%{_bindir},%{_sbindir},%{_libdir}} \
2b135b34 455 $RPM_BUILD_ROOT/etc/{rc.d/init.d,cron.d,logrotate.d,sysconfig} \
c1e74aa1 456 $RPM_BUILD_ROOT/var/{run,cache,lib}/%{name} \
685fc383 457 $RPM_BUILD_ROOT/var/log/{archive/,}%{name} \
89522a33 458 $RPM_BUILD_ROOT/var/lib/%{name}/routed_{emails,drafts,notes} \
73de38a1 459 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
cfc3bce6 460
35bb76a6 461%{__make} install-eventum install-cli install-scm install-localization \
ae3e48e6 462 sysconfdir=%{_webappdir} \
7a906e31 463 localedir=%{_localedir} \
ae3e48e6 464 DESTDIR=$RPM_BUILD_ROOT
da8d6134 465
dd5b687f 466ln -s %{_webappdir} $RPM_BUILD_ROOT%{_appdir}/config
37f06e5c 467
bcb86d50 468cp -a vendor $RPM_BUILD_ROOT%{_appdir}
3ca19d87 469
29e8ea7c
ER
470# unsupported locale
471%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ht
472
fa6167ba
ER
473install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
474cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
475
ae3e48e6 476%{?with_order:cp -a htdocs/ajax $RPM_BUILD_ROOT%{_appdir}/htdocs}
9cdc5027 477
f399f1c0 478touch $RPM_BUILD_ROOT%{_webappdir}/htpasswd
1b5aae0f 479cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
87ca28ca 480cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
1b5aae0f 481cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_webappdir}/lighttpd.conf
1cce3e61
ER
482
483install -d $RPM_BUILD_ROOT/etc/sphinx
7a906e31 484#cp -p config/sphinx.conf $RPM_BUILD_ROOT/etc/sphinx/%{name}.conf
858c6f2a 485cp -p config/sphinx.conf.php $RPM_BUILD_ROOT%{_webappdir}
ae3e48e6 486
1b5aae0f
ER
487cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
488cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
489cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
490cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
1cce3e61 491cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/cron.d/%{name}-sphinx
ae3e48e6 492
22a41ac0 493cp -p config/irc_config.dist.php $RPM_BUILD_ROOT%{_webappdir}/irc_config.php
ae3e48e6 494
2b135b34 495install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
1b5aae0f 496cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc
31dabce6 497
1b5aae0f 498cp -p %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
2b135b34 499
410d72c7 500# postfix router
858c6f2a 501install -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/router-postfix
a6d2ad69 502
92bc2f5d 503cp -p %{SOURCE17} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
cc613bc9 504
600d96a0 505%find_lang %{name}
c1e74aa1 506
ae3e48e6 507# scm
7a906e31 508cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/scm.php
ae3e48e6 509
bb01d732
ER
510%clean
511rm -rf $RPM_BUILD_ROOT
512
01b84746 513%pre
5132bae6
ER
514%groupadd -g 146 %{name}
515%useradd -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name}
01b84746
ER
516%addusertogroup http %{name}
517
82121306 518%post
686306de
ER
519# create empty ghost files
520# these permissions ensure the logs are write only
521for a in \
522 errors.log login_attempts.log \
2df0528f 523 eventum.log \
686306de
ER
524 cli.log \
525 irc_bot_error.log irc_bot_smartirc.log \
526; do
527 test -f /var/log/%{name}/$a && continue
528 install -m 0620 -o root -g http /dev/null /var/log/%{name}/$a
08196fe2
ER
529done
530
00358bba
ER
531# run database update if configured
532test -s %{_webappdir}/config.php && \
6453eaf6 533%{_appdir}/bin/upgrade.php || :
847270fe 534
da8d6134
ER
535# nuke Smarty templates cache after upgrade
536rm -f /var/cache/eventum/*.php
537
4a751c1a
ER
538# Restart webserver on upgrade to get .mo translations reloaded.
539# actually php engines "php-fcgi" and "php-fpm" needed only, apache is restarted anyway via webapp trigger.
114241d7
ER
540%php_webserver_restart
541
82121306
ER
542%preun
543if [ "$1" = "0" ]; then
dfe0f6d6
ER
544 # nuke cache
545 rm -f /var/cache/eventum/*.php 2>/dev/null || :
546fi
cfc3bce6 547
5132bae6 548%postun
01b84746 549if [ "$1" = "0" ]; then
a6d2ad69 550 %userremove %{name}
1f52d1fe 551 %groupremove %{name}
a6d2ad69
ER
552fi
553
94bd779f 554%post setup
8a37ad9d 555chmod 660 %{_webappdir}/{config,private_key}.php
253ca53d 556chown root:http %{_webappdir}/{config,private_key}.php
94bd779f
ER
557
558%postun setup
b4fe195b 559if [ "$1" = "0" ] && [ -f %{_webappdir}/config.php ]; then
8a37ad9d 560 chmod 640 %{_webappdir}/{config,private_key}.php
253ca53d 561 chown root:http %{_webappdir}/{config,private_key}.php
94bd779f
ER
562fi
563
e1c0f343
ER
564%post irc
565/sbin/chkconfig --add eventum-irc
99bbe3cb 566%service eventum-irc restart "Eventum IRC Bot"
e1c0f343 567
add0e245
ER
568%preun irc
569if [ "$1" = 0 ]; then
570 %service eventum-irc stop
571 /sbin/chkconfig --del eventum-irc
572fi
573
09f58a75 574%triggerin -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 575%webapp_register apache %{_webapp}
1d760108 576
09f58a75 577%triggerun -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 578%webapp_unregister apache %{_webapp}
1d760108 579
87ca28ca 580%triggerin -- apache < 2.2.0, apache-base
bdf85dc8 581%webapp_register httpd %{_webapp}
1d760108 582
87ca28ca 583%triggerun -- apache < 2.2.0, apache-base
bdf85dc8 584%webapp_unregister httpd %{_webapp}
1d760108 585
f399f1c0
ER
586%triggerin -- lighttpd
587%webapp_register lighttpd %{_webapp}
588
589%triggerun -- lighttpd
590%webapp_unregister lighttpd %{_webapp}
591
24cfc386
ER
592%triggerpostun -- %{name} < 3.0.0-0.2
593for f in /etc/cron.d/eventum-*; do
594 # crontabs moved to bin
0ffd10e7 595 %{__sed} -i -e '
24cfc386
ER
596 s,/usr/share/eventum/crons/process_mail_queue.php,%{_appdir}/bin/process_mail_queue.php,
597 s,/usr/share/eventum/crons/download_emails.php,%{_appdir}/bin/download_emails.php,
598 s,/usr/share/eventum/crons/check_reminders.php,%{_appdir}/bin/check_reminders.php,
599 s,/usr/share/eventum/crons/monitor.php,%{_appdir}/bin/monitor.php,
600 ' $f
0ffd10e7 601done
f1269a43 602
600d96a0 603%files -f %{name}.lang
bb01d732 604%defattr(644,root,root,755)
8a37ad9d 605%attr(751,root,root) %dir %{_webappdir}
6e3be5a3
ER
606%attr(751,root,root) %dir %{_webappdir}/custom_field
607%attr(751,root,root) %dir %{_webappdir}/templates
608%attr(751,root,root) %dir %{_webappdir}/workflow
8a37ad9d
ER
609%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf
610%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf
f399f1c0 611%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/lighttpd.conf
e570944f
ER
612%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/config.php
613%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php
614%attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/setup.php
f399f1c0 615%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/htpasswd
d2e501e8 616
686306de 617%dir %attr(711,root,http) /var/log/%{name}
e570944f 618%attr(620,root,http) %ghost /var/log/%{name}/*
3c6aa7a9 619%dir %attr(750,root,root) /var/log/archive/%{name}
8fd047ac 620%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
35f9d6a3 621
5132bae6 622%dir %{_appdir}
37f06e5c
ER
623%{_appdir}/config
624
7a906e31 625%dir %{_appdir}/bin
7a906e31 626%attr(755,root,root) %{_appdir}/bin/process_all_emails.php
6453eaf6 627%attr(755,root,root) %{_appdir}/bin/upgrade.php
7a906e31 628
4b01e826 629%{_appdir}/autoload.php
ae3e48e6 630%{_appdir}/init.php
cfc3bce6
ER
631%dir %{_appdir}/htdocs
632%{_appdir}/htdocs/*.php
da8d6134 633%{_appdir}/htdocs/*.ico
7bc9b641 634%{_appdir}/htdocs/ajax
cfc3bce6
ER
635%{_appdir}/htdocs/css
636%{_appdir}/htdocs/customer
637%{_appdir}/htdocs/images
638%{_appdir}/htdocs/js
639%{_appdir}/htdocs/manage
640%{_appdir}/htdocs/reports
641%{_appdir}/htdocs/rpc
7a906e31 642%{_appdir}/htdocs/components
9748a8c3 643%{_appdir}/templates
847270fe 644
c9165420 645%dir %{_appdir}/upgrade
7a906e31 646%{_appdir}/upgrade/*.sql
847270fe
ER
647%{_appdir}/upgrade/patches
648
bcb86d50 649%{_appdir}/vendor
e8b7cc70 650%{_appdir}/src
ae3e48e6
ER
651%dir %{_appdir}/lib
652%{_appdir}/lib/eventum
ae3e48e6 653%exclude %{_appdir}/lib/eventum/class.monitor.php
00e339ff 654
5132bae6
ER
655%dir %{_libdir}
656
73de38a1 657%{systemdtmpfilesdir}/%{name}.conf
5132bae6
ER
658
659%dir /var/lib/%{name}
e570944f
ER
660%dir %attr(730,root,http) /var/run/%{name}
661%dir %attr(730,root,http) /var/cache/%{name}
ab983aaa 662
89522a33 663# saved mail copies
e570944f
ER
664%attr(770,root,http) %dir /var/lib/%{name}/routed_emails
665%attr(770,root,http) %dir /var/lib/%{name}/routed_drafts
666%attr(770,root,http) %dir /var/lib/%{name}/routed_notes
d2e501e8 667
ab983aaa
ER
668%files setup
669%defattr(644,root,root,755)
cfc3bce6 670%{_appdir}/htdocs/setup
0da8e1f2 671
d4a553ea 672%files doc
06ddb94b 673%defattr(644,root,root,755)
d4a553ea
ER
674%doc docs/*
675%{_examplesdir}/%{name}-%{version}
676
0da8e1f2
ER
677%files mail-queue
678%defattr(644,root,root,755)
7a906e31 679%attr(755,root,root) %{_appdir}/bin/process_mail_queue.php
f56655e1 680%attr(755,root,root) %{_appdir}/bin/truncate_mail_queue.php
ea084bcb
ER
681%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
682
683%files mail-download
684%defattr(644,root,root,755)
7a906e31 685%attr(755,root,root) %{_appdir}/bin/download_emails.php
ea084bcb 686%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
5cb2e61d 687
cd719538
ER
688%files reminder
689%defattr(644,root,root,755)
7a906e31 690%attr(755,root,root) %{_appdir}/bin/check_reminders.php
cd719538
ER
691%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
692
693%files monitor
694%defattr(644,root,root,755)
ae3e48e6 695%{_appdir}/lib/eventum/class.monitor.php
7a906e31 696%attr(755,root,root) %{_appdir}/bin/monitor.php
cd719538
ER
697%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
698
a6d2ad69
ER
699%files router-postfix
700%defattr(644,root,root,755)
410d72c7 701%attr(755,root,root) %{_libdir}/router-postfix
a6d2ad69 702
cd719538
ER
703%files irc
704%defattr(644,root,root,755)
77b3db3b 705%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/irc_config.php
01b84746 706%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/eventum-irc
35bb76a6 707%attr(755,root,root) %{_appdir}/bin/irc-bot.php
cd719538
ER
708%attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
709
abd490e4
ER
710%files cli
711%defattr(644,root,root,755)
ae3e48e6 712%doc cli/eventumrc
4a74b463 713%attr(755,root,root) %{_bindir}/%{name}
abd490e4 714
5cb2e61d
ER
715%files scm
716%defattr(644,root,root,755)
c28270d0 717%attr(751,root,root) %dir %{_sysconfdir}
ca6b8520 718%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scm.php
ae3e48e6 719%attr(755,root,root) %{_sbindir}/eventum-cvs-hook
f2151907 720%attr(755,root,root) %{_sbindir}/eventum-git-hook
ae3e48e6 721%attr(755,root,root) %{_sbindir}/eventum-svn-hook
c28270d0 722%attr(755,root,root) %{_sbindir}/helpers.php
1cce3e61
ER
723
724%files sphinx
725%defattr(644,root,root,755)
726%{_webappdir}/sphinx.conf.php
7a906e31 727#%attr(750,root,http) %config(noreplace) %verify(not md5 mtime size) /etc/sphinx/%{name}.conf
1cce3e61 728%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-sphinx
This page took 0.326016 seconds and 4 git commands to generate.