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