]> git.pld-linux.org Git - packages/eventum.git/blame - eventum.spec
up to 3.1.10-347-g3d9195fa; fixes outgoing mail headers encoding
[packages/eventum.git] / eventum.spec
CommitLineData
a659c698
JB
1#
2# Conditional build:
7bc9b641 3%bcond_with order # with experimental order patch
cddf3011 4
7e9ea0b3 5%define rel 0.3
d25cca1a
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
fae27ee6 13Version: 3.1.10
7665f424 14Release: %{?subver:1.%{subver}.%{?githash:g%{githash}.}}%{rel}
0bd66721 15License: GPL v2+
6850abd9 16Group: Applications/WWW
1beb4932
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
d25cca1a 19# Source0-md5: c48b86cd0d40381c49598bdef7bcf87d
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
fefc61ab 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
8be9fbff 411vendor robmorgan/phinx
c3fd3767 412
5b165428 413# remove backups from patching as we use globs to package files to buildroot
73c437a6 414find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
085e39c0 415
465c3ab7 416%build
ae3e48e6 417%{__make} -C localization
465c3ab7 418
bb01d732
ER
419%install
420rm -rf $RPM_BUILD_ROOT
cfc3bce6 421install -d \
6e3be5a3 422 $RPM_BUILD_ROOT{%{_webappdir}/{custom_field,templates,workflow},%{_sysconfdir},%{_bindir},%{_sbindir},%{_libdir}} \
2b135b34 423 $RPM_BUILD_ROOT/etc/{rc.d/init.d,cron.d,logrotate.d,sysconfig} \
c1e74aa1 424 $RPM_BUILD_ROOT/var/{run,cache,lib}/%{name} \
685fc383 425 $RPM_BUILD_ROOT/var/log/{archive/,}%{name} \
89522a33 426 $RPM_BUILD_ROOT/var/lib/%{name}/routed_{emails,drafts,notes} \
73de38a1 427 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
cfc3bce6 428
9a547279 429%{__make} install-eventum install-cli install-localization \
ae3e48e6 430 sysconfdir=%{_webappdir} \
7a906e31 431 localedir=%{_localedir} \
ae3e48e6 432 DESTDIR=$RPM_BUILD_ROOT
da8d6134 433
dd5b687f 434ln -s %{_webappdir} $RPM_BUILD_ROOT%{_appdir}/config
37f06e5c 435
bcb86d50 436cp -a vendor $RPM_BUILD_ROOT%{_appdir}
3ca19d87 437
29e8ea7c
ER
438# unsupported locale
439%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ht
440
fa6167ba
ER
441install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
442cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
443
ae3e48e6 444%{?with_order:cp -a htdocs/ajax $RPM_BUILD_ROOT%{_appdir}/htdocs}
9cdc5027 445
f399f1c0 446touch $RPM_BUILD_ROOT%{_webappdir}/htpasswd
1b5aae0f 447cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
87ca28ca 448cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
1b5aae0f 449cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_webappdir}/lighttpd.conf
1cce3e61
ER
450
451install -d $RPM_BUILD_ROOT/etc/sphinx
7a906e31 452#cp -p config/sphinx.conf $RPM_BUILD_ROOT/etc/sphinx/%{name}.conf
858c6f2a 453cp -p config/sphinx.conf.php $RPM_BUILD_ROOT%{_webappdir}
ae3e48e6 454
1b5aae0f
ER
455cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
456cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
457cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
458cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
1cce3e61 459cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/cron.d/%{name}-sphinx
ae3e48e6 460
2b135b34 461install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
1b5aae0f 462cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc
31dabce6 463
1b5aae0f 464cp -p %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
2b135b34 465
410d72c7 466# postfix router
858c6f2a 467install -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/router-postfix
a6d2ad69 468
92bc2f5d 469cp -p %{SOURCE17} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
cc613bc9 470
600d96a0 471%find_lang %{name}
c1e74aa1 472
bb01d732
ER
473%clean
474rm -rf $RPM_BUILD_ROOT
475
01b84746 476%pre
5132bae6
ER
477%groupadd -g 146 %{name}
478%useradd -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name}
01b84746
ER
479%addusertogroup http %{name}
480
82121306 481%post
686306de
ER
482# create empty ghost files
483# these permissions ensure the logs are write only
484for a in \
485 errors.log login_attempts.log \
2df0528f 486 eventum.log \
7b26fd71 487 auth.log cli.log \
686306de
ER
488 irc_bot_error.log irc_bot_smartirc.log \
489; do
490 test -f /var/log/%{name}/$a && continue
491 install -m 0620 -o root -g http /dev/null /var/log/%{name}/$a
08196fe2
ER
492done
493
00358bba
ER
494# run database update if configured
495test -s %{_webappdir}/config.php && \
6453eaf6 496%{_appdir}/bin/upgrade.php || :
847270fe 497
da8d6134
ER
498# nuke Smarty templates cache after upgrade
499rm -f /var/cache/eventum/*.php
500
4a751c1a
ER
501# Restart webserver on upgrade to get .mo translations reloaded.
502# actually php engines "php-fcgi" and "php-fpm" needed only, apache is restarted anyway via webapp trigger.
114241d7
ER
503%php_webserver_restart
504
82121306
ER
505%preun
506if [ "$1" = "0" ]; then
dfe0f6d6
ER
507 # nuke cache
508 rm -f /var/cache/eventum/*.php 2>/dev/null || :
509fi
cfc3bce6 510
5132bae6 511%postun
01b84746 512if [ "$1" = "0" ]; then
a6d2ad69 513 %userremove %{name}
1f52d1fe 514 %groupremove %{name}
a6d2ad69
ER
515fi
516
94bd779f 517%post setup
dee89c38
ER
518chmod 660 %{_webappdir}/{config,private_key,secret_key}.php
519chown root:http %{_webappdir}/{config,private_key,secret_key}.php
94bd779f
ER
520
521%postun setup
b4fe195b 522if [ "$1" = "0" ] && [ -f %{_webappdir}/config.php ]; then
dee89c38
ER
523 chmod 640 %{_webappdir}/{config,private_key,secret_key}.php
524 chown root:http %{_webappdir}/{config,private_key,secret_key}.php
94bd779f
ER
525fi
526
e1c0f343
ER
527%post irc
528/sbin/chkconfig --add eventum-irc
99bbe3cb 529%service eventum-irc restart "Eventum IRC Bot"
e1c0f343 530
add0e245
ER
531%preun irc
532if [ "$1" = 0 ]; then
533 %service eventum-irc stop
534 /sbin/chkconfig --del eventum-irc
535fi
536
09f58a75 537%triggerin -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 538%webapp_register apache %{_webapp}
1d760108 539
09f58a75 540%triggerun -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 541%webapp_unregister apache %{_webapp}
1d760108 542
87ca28ca 543%triggerin -- apache < 2.2.0, apache-base
bdf85dc8 544%webapp_register httpd %{_webapp}
1d760108 545
87ca28ca 546%triggerun -- apache < 2.2.0, apache-base
bdf85dc8 547%webapp_unregister httpd %{_webapp}
1d760108 548
f399f1c0
ER
549%triggerin -- lighttpd
550%webapp_register lighttpd %{_webapp}
551
552%triggerun -- lighttpd
553%webapp_unregister lighttpd %{_webapp}
554
24cfc386
ER
555%triggerpostun -- %{name} < 3.0.0-0.2
556for f in /etc/cron.d/eventum-*; do
557 # crontabs moved to bin
0ffd10e7 558 %{__sed} -i -e '
24cfc386
ER
559 s,/usr/share/eventum/crons/process_mail_queue.php,%{_appdir}/bin/process_mail_queue.php,
560 s,/usr/share/eventum/crons/download_emails.php,%{_appdir}/bin/download_emails.php,
561 s,/usr/share/eventum/crons/check_reminders.php,%{_appdir}/bin/check_reminders.php,
562 s,/usr/share/eventum/crons/monitor.php,%{_appdir}/bin/monitor.php,
563 ' $f
0ffd10e7 564done
f1269a43 565
600d96a0 566%files -f %{name}.lang
bb01d732 567%defattr(644,root,root,755)
8a37ad9d 568%attr(751,root,root) %dir %{_webappdir}
f7d1e520 569%attr(751,root,http) %dir %{_webappdir}/crm
e9a24d52 570%attr(751,root,http) %dir %{_webappdir}/custom_field
f7d1e520 571%attr(751,root,http) %dir %{_webappdir}/partner
e9a24d52
ER
572%attr(751,root,http) %dir %{_webappdir}/templates
573%attr(751,root,http) %dir %{_webappdir}/workflow
8a37ad9d
ER
574%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf
575%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf
f399f1c0 576%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/lighttpd.conf
e570944f
ER
577%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/config.php
578%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php
dee89c38 579%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/secret_key.php
e570944f 580%attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/setup.php
f399f1c0 581%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/htpasswd
d2e501e8 582
7e9ea0b3 583%dir %attr(731,root,http) /var/log/%{name}
e570944f 584%attr(620,root,http) %ghost /var/log/%{name}/*
3c6aa7a9 585%dir %attr(750,root,root) /var/log/archive/%{name}
8fd047ac 586%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
35f9d6a3 587
5132bae6 588%dir %{_appdir}
37f06e5c
ER
589%{_appdir}/config
590
7a906e31 591%dir %{_appdir}/bin
7a906e31 592%attr(755,root,root) %{_appdir}/bin/process_all_emails.php
6453eaf6 593%attr(755,root,root) %{_appdir}/bin/upgrade.php
7a906e31 594
4b01e826 595%{_appdir}/autoload.php
1beb4932 596%{_appdir}/globals.php
ae3e48e6 597%{_appdir}/init.php
1beb4932 598%{_appdir}/phinx.php
cfc3bce6
ER
599%dir %{_appdir}/htdocs
600%{_appdir}/htdocs/*.php
da8d6134 601%{_appdir}/htdocs/*.ico
7bc9b641 602%{_appdir}/htdocs/ajax
cfc3bce6
ER
603%{_appdir}/htdocs/css
604%{_appdir}/htdocs/customer
605%{_appdir}/htdocs/images
606%{_appdir}/htdocs/js
607%{_appdir}/htdocs/manage
608%{_appdir}/htdocs/reports
609%{_appdir}/htdocs/rpc
7a906e31 610%{_appdir}/htdocs/components
9748a8c3 611%{_appdir}/templates
847270fe 612
c9165420 613%dir %{_appdir}/upgrade
7a906e31 614%{_appdir}/upgrade/*.sql
847270fe 615%{_appdir}/upgrade/patches
8be9fbff
ER
616%dir %{_appdir}/db
617%dir %{_appdir}/db/migrations
618%{_appdir}/db/migrations/*.php
847270fe 619
8772b0d6 620%{_appdir}/res
e8b7cc70 621%{_appdir}/src
8772b0d6 622%{_appdir}/vendor
ae3e48e6
ER
623%dir %{_appdir}/lib
624%{_appdir}/lib/eventum
ae3e48e6 625%exclude %{_appdir}/lib/eventum/class.monitor.php
00e339ff 626
5132bae6
ER
627%dir %{_libdir}
628
73de38a1 629%{systemdtmpfilesdir}/%{name}.conf
5132bae6
ER
630
631%dir /var/lib/%{name}
e570944f
ER
632%dir %attr(730,root,http) /var/run/%{name}
633%dir %attr(730,root,http) /var/cache/%{name}
ab983aaa 634
89522a33 635# saved mail copies
e570944f
ER
636%attr(770,root,http) %dir /var/lib/%{name}/routed_emails
637%attr(770,root,http) %dir /var/lib/%{name}/routed_drafts
638%attr(770,root,http) %dir /var/lib/%{name}/routed_notes
d2e501e8 639
ab983aaa
ER
640%files setup
641%defattr(644,root,root,755)
cfc3bce6 642%{_appdir}/htdocs/setup
0da8e1f2 643
d4a553ea 644%files doc
06ddb94b 645%defattr(644,root,root,755)
d4a553ea
ER
646%doc docs/*
647%{_examplesdir}/%{name}-%{version}
648
0da8e1f2
ER
649%files mail-queue
650%defattr(644,root,root,755)
7a906e31 651%attr(755,root,root) %{_appdir}/bin/process_mail_queue.php
f56655e1 652%attr(755,root,root) %{_appdir}/bin/truncate_mail_queue.php
ea084bcb
ER
653%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
654
655%files mail-download
656%defattr(644,root,root,755)
7a906e31 657%attr(755,root,root) %{_appdir}/bin/download_emails.php
ea084bcb 658%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
5cb2e61d 659
cd719538
ER
660%files reminder
661%defattr(644,root,root,755)
7a906e31 662%attr(755,root,root) %{_appdir}/bin/check_reminders.php
cd719538
ER
663%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
664
665%files monitor
666%defattr(644,root,root,755)
ae3e48e6 667%{_appdir}/lib/eventum/class.monitor.php
7a906e31 668%attr(755,root,root) %{_appdir}/bin/monitor.php
cd719538
ER
669%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
670
a6d2ad69
ER
671%files router-postfix
672%defattr(644,root,root,755)
410d72c7 673%attr(755,root,root) %{_libdir}/router-postfix
a6d2ad69 674
cd719538
ER
675%files irc
676%defattr(644,root,root,755)
77b3db3b 677%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/irc_config.php
01b84746 678%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/eventum-irc
35bb76a6 679%attr(755,root,root) %{_appdir}/bin/irc-bot.php
cd719538
ER
680%attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
681
abd490e4
ER
682%files cli
683%defattr(644,root,root,755)
ae3e48e6 684%doc cli/eventumrc
4a74b463 685%attr(755,root,root) %{_bindir}/%{name}
abd490e4 686
1cce3e61
ER
687%files sphinx
688%defattr(644,root,root,755)
689%{_webappdir}/sphinx.conf.php
7a906e31 690#%attr(750,root,http) %config(noreplace) %verify(not md5 mtime size) /etc/sphinx/%{name}.conf
1cce3e61 691%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-sphinx
This page took 0.344054 seconds and 4 git commands to generate.