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