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