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