]> git.pld-linux.org Git - packages/eventum.git/blame - eventum.spec
fix broken makefile
[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
4a8e5b9e
ER
6#define subver 347
7#define githash 3d9195fa
ba4977c0 8%define php_min_version 5.5.0
b3857e8b 9%include /usr/lib/rpm/macros.php
c96aabf5 10Summary: Eventum Issue / Bug tracking system
9f49cf47 11Summary(pl.UTF-8): Eventum - system śledzenia spraw/błędów
bb01d732 12Name: eventum
5b11cbb2 13Version: 3.2.1
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
5b11cbb2 18# Source0-md5: 056b56b2cc5e2673ccbdc5cb65678798
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
ER
67Requires: php-ZendFramework-Loader >= 2.4
68Requires: php-ZendFramework-Mail >= 2.4.9-2
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
f8fbafe6
ER
354# hotfix
355# https://github.com/eventum/eventum/commit/e86bc0ccb5d1ea0b784a2a2e3c409fa00cb78ae2
356sed -i -e '/upgrade/d' Makefile
357
fa6167ba
ER
358mv docs/examples .
359
9487d524 360# bug fixes / features
4f627938 361%{?with_order:%patch2 -p1}
7a906e31
ER
362#%patch3 -p0
363#%patch4 -p1
57e65e62 364
7a906e31 365%{?with_order:cp -p %{SOURCE16} htdocs/images}
422dcc8e 366
a6016bab 367#%patch200 -p1
ac27ba92 368
1cce3e61
ER
369# produce default sphinx config
370# must be run before paths.patch
7a906e31 371%if 0
1cce3e61
ER
372cat <<'EOF' > config/config.php
373<?php
374define('APP_SQL_DBTYPE', 'mysql');
375define('APP_SQL_DBHOST', 'localhost:/var/lib/mysql/mysql.sock');
376define('APP_SQL_DBPORT', 3306);
377define('APP_SQL_DBNAME', 'eventum');
378define('APP_SQL_DBUSER', 'mysql');
379define('APP_SQL_DBPASS', '');
380define('APP_TABLE_PREFIX', 'eventum_');
381EOF
382php config/sphinx.conf.php > config/sphinx.conf
54b9a2df 383rm config/config.php
7a906e31 384%endif
1cce3e61 385
ac27ba92
ER
386# packaging
387%patch100 -p1
ac27ba92 388%patch107 -p1
3ca19d87 389%patch108 -p1
0b3b58dd 390
54b9a2df 391rm htdocs/.htaccess.dist
dee89c38
ER
392
393mv config/irc_config{.dist.php,.php}
394rm config/config.dist.php
54b9a2df 395
bcb86d50
ER
396# cleanup vendor. keep only needed libraries.
397# (the rest are packaged with system packages)
398mv vendor vendor.dist
399vendor() {
400 local path dir
401 for path; do
402 dir=$(dirname $path)
403 test -d vendor/$dir || mkdir -p vendor/$dir
404 mv vendor.dist/$path vendor/$path
405 done
406}
407vendor autoload.php
408vendor composer/autoload_{classmap,files,namespaces,real,psr4}.php
409vendor composer/ClassLoader.php
a8005c48 410vendor ircmaxell/{random-lib,security-lib}
60c51158 411vendor defuse/php-encryption
626ebcc8 412vendor willdurand/email-reply-parser
2f4f114e 413vendor theorchard/monolog-cascade
4d5632cc 414vendor malkusch/lock
9b6df4e7 415vendor phpxmlrpc/phpxmlrpc
8be9fbff 416vendor robmorgan/phinx
c3fd3767 417
5b165428 418# remove backups from patching as we use globs to package files to buildroot
73c437a6 419find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
085e39c0 420
465c3ab7 421%build
ae3e48e6 422%{__make} -C localization
465c3ab7 423
bb01d732
ER
424%install
425rm -rf $RPM_BUILD_ROOT
cfc3bce6 426install -d \
6e3be5a3 427 $RPM_BUILD_ROOT{%{_webappdir}/{custom_field,templates,workflow},%{_sysconfdir},%{_bindir},%{_sbindir},%{_libdir}} \
2b135b34 428 $RPM_BUILD_ROOT/etc/{rc.d/init.d,cron.d,logrotate.d,sysconfig} \
c1e74aa1 429 $RPM_BUILD_ROOT/var/{run,cache,lib}/%{name} \
685fc383 430 $RPM_BUILD_ROOT/var/log/{archive/,}%{name} \
89522a33 431 $RPM_BUILD_ROOT/var/lib/%{name}/routed_{emails,drafts,notes} \
73de38a1 432 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
cfc3bce6 433
9a547279 434%{__make} install-eventum install-cli install-localization \
ae3e48e6 435 sysconfdir=%{_webappdir} \
7a906e31 436 localedir=%{_localedir} \
ae3e48e6 437 DESTDIR=$RPM_BUILD_ROOT
da8d6134 438
dd5b687f 439ln -s %{_webappdir} $RPM_BUILD_ROOT%{_appdir}/config
37f06e5c 440
bcb86d50 441cp -a vendor $RPM_BUILD_ROOT%{_appdir}
3ca19d87 442
29e8ea7c
ER
443# unsupported locale
444%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ht
445
fa6167ba
ER
446install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
447cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
448
ae3e48e6 449%{?with_order:cp -a htdocs/ajax $RPM_BUILD_ROOT%{_appdir}/htdocs}
9cdc5027 450
f399f1c0 451touch $RPM_BUILD_ROOT%{_webappdir}/htpasswd
1b5aae0f 452cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
87ca28ca 453cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
1b5aae0f 454cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_webappdir}/lighttpd.conf
1cce3e61
ER
455
456install -d $RPM_BUILD_ROOT/etc/sphinx
7a906e31 457#cp -p config/sphinx.conf $RPM_BUILD_ROOT/etc/sphinx/%{name}.conf
858c6f2a 458cp -p config/sphinx.conf.php $RPM_BUILD_ROOT%{_webappdir}
ae3e48e6 459
1b5aae0f
ER
460cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
461cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
462cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
463cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
1cce3e61 464cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/cron.d/%{name}-sphinx
ae3e48e6 465
2b135b34 466install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
1b5aae0f 467cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc
31dabce6 468
1b5aae0f 469cp -p %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
2b135b34 470
410d72c7 471# postfix router
858c6f2a 472install -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/router-postfix
a6d2ad69 473
92bc2f5d 474cp -p %{SOURCE17} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
cc613bc9 475
600d96a0 476%find_lang %{name}
c1e74aa1 477
bb01d732
ER
478%clean
479rm -rf $RPM_BUILD_ROOT
480
01b84746 481%pre
5132bae6
ER
482%groupadd -g 146 %{name}
483%useradd -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name}
01b84746
ER
484%addusertogroup http %{name}
485
82121306 486%post
686306de
ER
487# create empty ghost files
488# these permissions ensure the logs are write only
489for a in \
490 errors.log login_attempts.log \
2df0528f 491 eventum.log \
7b26fd71 492 auth.log cli.log \
686306de
ER
493 irc_bot_error.log irc_bot_smartirc.log \
494; do
495 test -f /var/log/%{name}/$a && continue
496 install -m 0620 -o root -g http /dev/null /var/log/%{name}/$a
08196fe2
ER
497done
498
00358bba
ER
499# run database update if configured
500test -s %{_webappdir}/config.php && \
6453eaf6 501%{_appdir}/bin/upgrade.php || :
847270fe 502
da8d6134
ER
503# nuke Smarty templates cache after upgrade
504rm -f /var/cache/eventum/*.php
505
4a751c1a
ER
506# Restart webserver on upgrade to get .mo translations reloaded.
507# actually php engines "php-fcgi" and "php-fpm" needed only, apache is restarted anyway via webapp trigger.
114241d7
ER
508%php_webserver_restart
509
82121306
ER
510%preun
511if [ "$1" = "0" ]; then
dfe0f6d6
ER
512 # nuke cache
513 rm -f /var/cache/eventum/*.php 2>/dev/null || :
514fi
cfc3bce6 515
5132bae6 516%postun
01b84746 517if [ "$1" = "0" ]; then
a6d2ad69 518 %userremove %{name}
1f52d1fe 519 %groupremove %{name}
a6d2ad69
ER
520fi
521
94bd779f 522%post setup
dee89c38
ER
523chmod 660 %{_webappdir}/{config,private_key,secret_key}.php
524chown root:http %{_webappdir}/{config,private_key,secret_key}.php
94bd779f
ER
525
526%postun setup
b4fe195b 527if [ "$1" = "0" ] && [ -f %{_webappdir}/config.php ]; then
dee89c38
ER
528 chmod 640 %{_webappdir}/{config,private_key,secret_key}.php
529 chown root:http %{_webappdir}/{config,private_key,secret_key}.php
94bd779f
ER
530fi
531
e1c0f343
ER
532%post irc
533/sbin/chkconfig --add eventum-irc
99bbe3cb 534%service eventum-irc restart "Eventum IRC Bot"
e1c0f343 535
add0e245
ER
536%preun irc
537if [ "$1" = 0 ]; then
538 %service eventum-irc stop
539 /sbin/chkconfig --del eventum-irc
540fi
541
09f58a75 542%triggerin -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 543%webapp_register apache %{_webapp}
1d760108 544
09f58a75 545%triggerun -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 546%webapp_unregister apache %{_webapp}
1d760108 547
87ca28ca 548%triggerin -- apache < 2.2.0, apache-base
bdf85dc8 549%webapp_register httpd %{_webapp}
1d760108 550
87ca28ca 551%triggerun -- apache < 2.2.0, apache-base
bdf85dc8 552%webapp_unregister httpd %{_webapp}
1d760108 553
f399f1c0
ER
554%triggerin -- lighttpd
555%webapp_register lighttpd %{_webapp}
556
557%triggerun -- lighttpd
558%webapp_unregister lighttpd %{_webapp}
559
24cfc386
ER
560%triggerpostun -- %{name} < 3.0.0-0.2
561for f in /etc/cron.d/eventum-*; do
562 # crontabs moved to bin
0ffd10e7 563 %{__sed} -i -e '
24cfc386
ER
564 s,/usr/share/eventum/crons/process_mail_queue.php,%{_appdir}/bin/process_mail_queue.php,
565 s,/usr/share/eventum/crons/download_emails.php,%{_appdir}/bin/download_emails.php,
566 s,/usr/share/eventum/crons/check_reminders.php,%{_appdir}/bin/check_reminders.php,
567 s,/usr/share/eventum/crons/monitor.php,%{_appdir}/bin/monitor.php,
568 ' $f
0ffd10e7 569done
f1269a43 570
600d96a0 571%files -f %{name}.lang
bb01d732 572%defattr(644,root,root,755)
8a37ad9d 573%attr(751,root,root) %dir %{_webappdir}
f7d1e520 574%attr(751,root,http) %dir %{_webappdir}/crm
e9a24d52 575%attr(751,root,http) %dir %{_webappdir}/custom_field
f7d1e520 576%attr(751,root,http) %dir %{_webappdir}/partner
e9a24d52
ER
577%attr(751,root,http) %dir %{_webappdir}/templates
578%attr(751,root,http) %dir %{_webappdir}/workflow
8a37ad9d
ER
579%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf
580%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf
f399f1c0 581%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/lighttpd.conf
e570944f
ER
582%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/config.php
583%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php
dee89c38 584%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/secret_key.php
e570944f 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
7e9ea0b3 588%dir %attr(731,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
1beb4932 601%{_appdir}/globals.php
ae3e48e6 602%{_appdir}/init.php
1beb4932 603%{_appdir}/phinx.php
cfc3bce6
ER
604%dir %{_appdir}/htdocs
605%{_appdir}/htdocs/*.php
da8d6134 606%{_appdir}/htdocs/*.ico
7bc9b641 607%{_appdir}/htdocs/ajax
cfc3bce6
ER
608%{_appdir}/htdocs/css
609%{_appdir}/htdocs/customer
610%{_appdir}/htdocs/images
611%{_appdir}/htdocs/js
612%{_appdir}/htdocs/manage
613%{_appdir}/htdocs/reports
614%{_appdir}/htdocs/rpc
7a906e31 615%{_appdir}/htdocs/components
9748a8c3 616%{_appdir}/templates
847270fe 617
8be9fbff
ER
618%dir %{_appdir}/db
619%dir %{_appdir}/db/migrations
620%{_appdir}/db/migrations/*.php
847270fe 621
8772b0d6 622%{_appdir}/res
e8b7cc70 623%{_appdir}/src
8772b0d6 624%{_appdir}/vendor
ae3e48e6
ER
625%dir %{_appdir}/lib
626%{_appdir}/lib/eventum
ae3e48e6 627%exclude %{_appdir}/lib/eventum/class.monitor.php
00e339ff 628
5132bae6
ER
629%dir %{_libdir}
630
73de38a1 631%{systemdtmpfilesdir}/%{name}.conf
5132bae6
ER
632
633%dir /var/lib/%{name}
e570944f
ER
634%dir %attr(730,root,http) /var/run/%{name}
635%dir %attr(730,root,http) /var/cache/%{name}
ab983aaa 636
89522a33 637# saved mail copies
e570944f
ER
638%attr(770,root,http) %dir /var/lib/%{name}/routed_emails
639%attr(770,root,http) %dir /var/lib/%{name}/routed_drafts
640%attr(770,root,http) %dir /var/lib/%{name}/routed_notes
d2e501e8 641
ab983aaa
ER
642%files setup
643%defattr(644,root,root,755)
cfc3bce6 644%{_appdir}/htdocs/setup
0da8e1f2 645
d4a553ea 646%files doc
06ddb94b 647%defattr(644,root,root,755)
d4a553ea
ER
648%doc docs/*
649%{_examplesdir}/%{name}-%{version}
650
0da8e1f2
ER
651%files mail-queue
652%defattr(644,root,root,755)
7a906e31 653%attr(755,root,root) %{_appdir}/bin/process_mail_queue.php
f56655e1 654%attr(755,root,root) %{_appdir}/bin/truncate_mail_queue.php
ea084bcb
ER
655%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
656
657%files mail-download
658%defattr(644,root,root,755)
7a906e31 659%attr(755,root,root) %{_appdir}/bin/download_emails.php
ea084bcb 660%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
5cb2e61d 661
cd719538
ER
662%files reminder
663%defattr(644,root,root,755)
7a906e31 664%attr(755,root,root) %{_appdir}/bin/check_reminders.php
cd719538
ER
665%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
666
667%files monitor
668%defattr(644,root,root,755)
ae3e48e6 669%{_appdir}/lib/eventum/class.monitor.php
7a906e31 670%attr(755,root,root) %{_appdir}/bin/monitor.php
cd719538
ER
671%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
672
a6d2ad69
ER
673%files router-postfix
674%defattr(644,root,root,755)
410d72c7 675%attr(755,root,root) %{_libdir}/router-postfix
a6d2ad69 676
cd719538
ER
677%files irc
678%defattr(644,root,root,755)
77b3db3b 679%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/irc_config.php
01b84746 680%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/eventum-irc
35bb76a6 681%attr(755,root,root) %{_appdir}/bin/irc-bot.php
cd719538
ER
682%attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
683
abd490e4
ER
684%files cli
685%defattr(644,root,root,755)
ae3e48e6 686%doc cli/eventumrc
4a74b463 687%attr(755,root,root) %{_bindir}/%{name}
abd490e4 688
1cce3e61
ER
689%files sphinx
690%defattr(644,root,root,755)
691%{_webappdir}/sphinx.conf.php
7a906e31 692#%attr(750,root,http) %config(noreplace) %verify(not md5 mtime size) /etc/sphinx/%{name}.conf
1cce3e61 693%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-sphinx
This page took 0.337062 seconds and 4 git commands to generate.