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