]> git.pld-linux.org Git - packages/eventum.git/blame - eventum.spec
scm subpackage dropped; distributed separately
[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
1ea3a650
ER
6#define subver 88
7#define githash 58096f4
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
fbdeec55 13Version: 3.0.12
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
fbdeec55 18# Source0-md5: 203a772c63be1e3209eb1022e350967a
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
4e2cf70d
ER
394# deprecated in favour of process_all_emails.php
395rm bin/route_*.php
54b9a2df 396
bcb86d50
ER
397# cleanup vendor. keep only needed libraries.
398# (the rest are packaged with system packages)
399mv vendor vendor.dist
400vendor() {
401 local path dir
402 for path; do
403 dir=$(dirname $path)
404 test -d vendor/$dir || mkdir -p vendor/$dir
405 mv vendor.dist/$path vendor/$path
406 done
407}
408vendor autoload.php
409vendor composer/autoload_{classmap,files,namespaces,real,psr4}.php
410vendor composer/ClassLoader.php
411vendor ircmaxell/{password-compat,random-lib,security-lib}
60c51158 412vendor defuse/php-encryption
2b06a7b8 413vendor ramsey/array_column
626ebcc8 414vendor willdurand/email-reply-parser
2f4f114e 415vendor theorchard/monolog-cascade
e61aeca0
ER
416vendor symfony/polyfill-php55
417vendor symfony/polyfill-mbstring
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
22a41ac0 467cp -p config/irc_config.dist.php $RPM_BUILD_ROOT%{_webappdir}/irc_config.php
ae3e48e6 468
2b135b34 469install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
1b5aae0f 470cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc
31dabce6 471
1b5aae0f 472cp -p %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
2b135b34 473
410d72c7 474# postfix router
858c6f2a 475install -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/router-postfix
a6d2ad69 476
92bc2f5d 477cp -p %{SOURCE17} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
cc613bc9 478
600d96a0 479%find_lang %{name}
c1e74aa1 480
bb01d732
ER
481%clean
482rm -rf $RPM_BUILD_ROOT
483
01b84746 484%pre
5132bae6
ER
485%groupadd -g 146 %{name}
486%useradd -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name}
01b84746
ER
487%addusertogroup http %{name}
488
82121306 489%post
686306de
ER
490# create empty ghost files
491# these permissions ensure the logs are write only
492for a in \
493 errors.log login_attempts.log \
2df0528f 494 eventum.log \
686306de
ER
495 cli.log \
496 irc_bot_error.log irc_bot_smartirc.log \
497; do
498 test -f /var/log/%{name}/$a && continue
499 install -m 0620 -o root -g http /dev/null /var/log/%{name}/$a
08196fe2
ER
500done
501
00358bba
ER
502# run database update if configured
503test -s %{_webappdir}/config.php && \
6453eaf6 504%{_appdir}/bin/upgrade.php || :
847270fe 505
da8d6134
ER
506# nuke Smarty templates cache after upgrade
507rm -f /var/cache/eventum/*.php
508
4a751c1a
ER
509# Restart webserver on upgrade to get .mo translations reloaded.
510# actually php engines "php-fcgi" and "php-fpm" needed only, apache is restarted anyway via webapp trigger.
114241d7
ER
511%php_webserver_restart
512
82121306
ER
513%preun
514if [ "$1" = "0" ]; then
dfe0f6d6
ER
515 # nuke cache
516 rm -f /var/cache/eventum/*.php 2>/dev/null || :
517fi
cfc3bce6 518
5132bae6 519%postun
01b84746 520if [ "$1" = "0" ]; then
a6d2ad69 521 %userremove %{name}
1f52d1fe 522 %groupremove %{name}
a6d2ad69
ER
523fi
524
94bd779f 525%post setup
8a37ad9d 526chmod 660 %{_webappdir}/{config,private_key}.php
253ca53d 527chown root:http %{_webappdir}/{config,private_key}.php
94bd779f
ER
528
529%postun setup
b4fe195b 530if [ "$1" = "0" ] && [ -f %{_webappdir}/config.php ]; then
8a37ad9d 531 chmod 640 %{_webappdir}/{config,private_key}.php
253ca53d 532 chown root:http %{_webappdir}/{config,private_key}.php
94bd779f
ER
533fi
534
e1c0f343
ER
535%post irc
536/sbin/chkconfig --add eventum-irc
99bbe3cb 537%service eventum-irc restart "Eventum IRC Bot"
e1c0f343 538
add0e245
ER
539%preun irc
540if [ "$1" = 0 ]; then
541 %service eventum-irc stop
542 /sbin/chkconfig --del eventum-irc
543fi
544
09f58a75 545%triggerin -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 546%webapp_register apache %{_webapp}
1d760108 547
09f58a75 548%triggerun -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 549%webapp_unregister apache %{_webapp}
1d760108 550
87ca28ca 551%triggerin -- apache < 2.2.0, apache-base
bdf85dc8 552%webapp_register httpd %{_webapp}
1d760108 553
87ca28ca 554%triggerun -- apache < 2.2.0, apache-base
bdf85dc8 555%webapp_unregister httpd %{_webapp}
1d760108 556
f399f1c0
ER
557%triggerin -- lighttpd
558%webapp_register lighttpd %{_webapp}
559
560%triggerun -- lighttpd
561%webapp_unregister lighttpd %{_webapp}
562
24cfc386
ER
563%triggerpostun -- %{name} < 3.0.0-0.2
564for f in /etc/cron.d/eventum-*; do
565 # crontabs moved to bin
0ffd10e7 566 %{__sed} -i -e '
24cfc386
ER
567 s,/usr/share/eventum/crons/process_mail_queue.php,%{_appdir}/bin/process_mail_queue.php,
568 s,/usr/share/eventum/crons/download_emails.php,%{_appdir}/bin/download_emails.php,
569 s,/usr/share/eventum/crons/check_reminders.php,%{_appdir}/bin/check_reminders.php,
570 s,/usr/share/eventum/crons/monitor.php,%{_appdir}/bin/monitor.php,
571 ' $f
0ffd10e7 572done
f1269a43 573
600d96a0 574%files -f %{name}.lang
bb01d732 575%defattr(644,root,root,755)
8a37ad9d 576%attr(751,root,root) %dir %{_webappdir}
6e3be5a3
ER
577%attr(751,root,root) %dir %{_webappdir}/custom_field
578%attr(751,root,root) %dir %{_webappdir}/templates
579%attr(751,root,root) %dir %{_webappdir}/workflow
8a37ad9d
ER
580%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf
581%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf
f399f1c0 582%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/lighttpd.conf
e570944f
ER
583%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/config.php
584%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php
585%attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/setup.php
f399f1c0 586%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/htpasswd
d2e501e8 587
686306de 588%dir %attr(711,root,http) /var/log/%{name}
e570944f 589%attr(620,root,http) %ghost /var/log/%{name}/*
3c6aa7a9 590%dir %attr(750,root,root) /var/log/archive/%{name}
8fd047ac 591%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
35f9d6a3 592
5132bae6 593%dir %{_appdir}
37f06e5c
ER
594%{_appdir}/config
595
7a906e31 596%dir %{_appdir}/bin
7a906e31 597%attr(755,root,root) %{_appdir}/bin/process_all_emails.php
6453eaf6 598%attr(755,root,root) %{_appdir}/bin/upgrade.php
7a906e31 599
4b01e826 600%{_appdir}/autoload.php
ae3e48e6 601%{_appdir}/init.php
cfc3bce6
ER
602%dir %{_appdir}/htdocs
603%{_appdir}/htdocs/*.php
da8d6134 604%{_appdir}/htdocs/*.ico
7bc9b641 605%{_appdir}/htdocs/ajax
cfc3bce6
ER
606%{_appdir}/htdocs/css
607%{_appdir}/htdocs/customer
608%{_appdir}/htdocs/images
609%{_appdir}/htdocs/js
610%{_appdir}/htdocs/manage
611%{_appdir}/htdocs/reports
612%{_appdir}/htdocs/rpc
7a906e31 613%{_appdir}/htdocs/components
9748a8c3 614%{_appdir}/templates
847270fe 615
c9165420 616%dir %{_appdir}/upgrade
7a906e31 617%{_appdir}/upgrade/*.sql
847270fe
ER
618%{_appdir}/upgrade/patches
619
8772b0d6 620%{_appdir}/res
e8b7cc70 621%{_appdir}/src
8772b0d6 622%{_appdir}/vendor
ae3e48e6
ER
623%dir %{_appdir}/lib
624%{_appdir}/lib/eventum
ae3e48e6 625%exclude %{_appdir}/lib/eventum/class.monitor.php
00e339ff 626
5132bae6
ER
627%dir %{_libdir}
628
73de38a1 629%{systemdtmpfilesdir}/%{name}.conf
5132bae6
ER
630
631%dir /var/lib/%{name}
e570944f
ER
632%dir %attr(730,root,http) /var/run/%{name}
633%dir %attr(730,root,http) /var/cache/%{name}
ab983aaa 634
89522a33 635# saved mail copies
e570944f
ER
636%attr(770,root,http) %dir /var/lib/%{name}/routed_emails
637%attr(770,root,http) %dir /var/lib/%{name}/routed_drafts
638%attr(770,root,http) %dir /var/lib/%{name}/routed_notes
d2e501e8 639
ab983aaa
ER
640%files setup
641%defattr(644,root,root,755)
cfc3bce6 642%{_appdir}/htdocs/setup
0da8e1f2 643
d4a553ea 644%files doc
06ddb94b 645%defattr(644,root,root,755)
d4a553ea
ER
646%doc docs/*
647%{_examplesdir}/%{name}-%{version}
648
0da8e1f2
ER
649%files mail-queue
650%defattr(644,root,root,755)
7a906e31 651%attr(755,root,root) %{_appdir}/bin/process_mail_queue.php
f56655e1 652%attr(755,root,root) %{_appdir}/bin/truncate_mail_queue.php
ea084bcb
ER
653%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
654
655%files mail-download
656%defattr(644,root,root,755)
7a906e31 657%attr(755,root,root) %{_appdir}/bin/download_emails.php
ea084bcb 658%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
5cb2e61d 659
cd719538
ER
660%files reminder
661%defattr(644,root,root,755)
7a906e31 662%attr(755,root,root) %{_appdir}/bin/check_reminders.php
cd719538
ER
663%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
664
665%files monitor
666%defattr(644,root,root,755)
ae3e48e6 667%{_appdir}/lib/eventum/class.monitor.php
7a906e31 668%attr(755,root,root) %{_appdir}/bin/monitor.php
cd719538
ER
669%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
670
a6d2ad69
ER
671%files router-postfix
672%defattr(644,root,root,755)
410d72c7 673%attr(755,root,root) %{_libdir}/router-postfix
a6d2ad69 674
cd719538
ER
675%files irc
676%defattr(644,root,root,755)
77b3db3b 677%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/irc_config.php
01b84746 678%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/eventum-irc
35bb76a6 679%attr(755,root,root) %{_appdir}/bin/irc-bot.php
cd719538
ER
680%attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
681
abd490e4
ER
682%files cli
683%defattr(644,root,root,755)
ae3e48e6 684%doc cli/eventumrc
4a74b463 685%attr(755,root,root) %{_bindir}/%{name}
abd490e4 686
1cce3e61
ER
687%files sphinx
688%defattr(644,root,root,755)
689%{_webappdir}/sphinx.conf.php
7a906e31 690#%attr(750,root,http) %config(noreplace) %verify(not md5 mtime size) /etc/sphinx/%{name}.conf
1cce3e61 691%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-sphinx
This page took 0.294799 seconds and 4 git commands to generate.