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