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