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