36a02d3d9ddf3f56362814c1a0b812670d994824
[packages/eventum.git] / eventum.spec
1 #
2 # Conditional build:
3 %bcond_with     order   # with experimental order patch
4
5 %define         rel             1
6 #define         subver  187
7 #define         githash acd7038
8 %define         php_min_version 5.3.7
9 %include        /usr/lib/rpm/macros.php
10 Summary:        Eventum Issue / Bug tracking system
11 Summary(pl.UTF-8):      Eventum - system śledzenia spraw/błędów
12 Name:           eventum
13 Version:        3.0.10
14 Release:        %{?subver:1.%{subver}.%{?githash:g%{githash}.}}%{rel}
15 License:        GPL v2+
16 Group:          Applications/WWW
17 Source0:        https://github.com/eventum/eventum/releases/download/v%{version}/%{name}-%{version}.tar.gz
18 # Source0-md5:  a82c8e741892b09679722fc72a9f25bd
19 #Source0:       %{name}-%{version}-%{subver}-g%{githash}.tar.gz
20 Source1:        %{name}-apache.conf
21 Source2:        %{name}-mail-queue.cron
22 Source3:        %{name}-mail-download.cron
23 Source4:        %{name}-reminder.cron
24 Source5:        %{name}-monitor.cron
25 Source6:        %{name}-cvs.php
26 Source8:        %{name}-irc.init
27 Source9:        %{name}-irc.sysconfig
28 Source10:       sphinx.crontab
29 Source13:       %{name}-router-postfix.sh
30 Source14:       %{name}.logrotate
31 Source15:       %{name}-lighttpd.conf
32 Source16:       http://www.isocra.com/images/updown2.gif
33 # Source16-md5: deb6eeb2552ba757d3a949ed10c4107d
34 Source17:       %{name}.tmpfiles
35 Patch2:         %{name}-order.patch
36 #Patch3:                group-users.patch
37 #Patch4:                https://github.com/glensc/eventum/compare/cf_escape.patch
38 # packaging patches that probably never go upstream
39 Patch100:       %{name}-paths.patch
40 Patch101:       %{name}-cvs-config.patch
41 Patch107:       %{name}-gettext.patch
42 Patch108:       autoload.patch
43 # some tests
44 Patch200:       %{name}-fixed-nav.patch
45 URL:            http://eventum.mysql.org/
46 BuildRequires:  /usr/bin/php
47 BuildRequires:  gettext-devel
48 BuildRequires:  php(core) >= %{php_min_version}
49 BuildRequires:  rpm-php-pearprov >= 4.0.2-98
50 BuildRequires:  rpmbuild(macros) >= 1.654
51 BuildRequires:  sed >= 4.0
52 Requires(postun):       /usr/sbin/groupdel
53 Requires(postun):       /usr/sbin/userdel
54 Requires(pre):  /bin/id
55 Requires(pre):  /usr/bin/getgid
56 Requires(pre):  /usr/sbin/groupadd
57 Requires(pre):  /usr/sbin/useradd
58 Requires:       fonts-TTF-RedHat-liberation
59 Requires:       php(core) >= %{php_min_version}
60 Requires:       php(filter)
61 Requires:       php(iconv)
62 Requires:       php(imap)
63 Requires:       php(json)
64 Requires:       php(mbstring)
65 Requires:       php(mysqli)
66 Requires:       php(pcre)
67 Requires:       php(session)
68 Requires:       php-Smarty >= 3.1
69 Requires:       php-Smarty-plugin-gettext
70 Requires:       php-ZendFramework-Config >= 2.4
71 Requires:       php-monolog >= 1.17.2
72 Requires:       php-pear-DB
73 Requires:       php-pear-Mail
74 Requires:       php-pear-Mail_Mime
75 Requires:       php-pear-Mail_mimeDecode
76 Requires:       php-pear-Math_Stats
77 Requires:       php-pear-Net_DIME
78 Requires:       php-pear-Net_SMTP
79 Requires:       php-pear-Net_Socket
80 Requires:       php-pear-Net_URL
81 Requires:       php-pear-Net_UserAgent_Detect
82 Requires:       php-pear-PEAR-core
83 Requires:       php-pear-Text_Diff
84 Requires:       php-pear-XML_RPC
85 Requires:       php-psr-Log >= 1.0.0-2
86 Requires:       php-symfony2-HttpFoundation >= 2.7.7
87 Requires:       phplot >= 5.8.0
88 Requires:       webapps
89 Requires:       webserver(access)
90 Requires:       webserver(alias)
91 Requires:       webserver(indexfile)
92 Requires:       webserver(php) >= 4.2.0
93 Suggests:       localedb
94 Suggests:       php(mcrypt)
95 Suggests:       php(openssl)
96 Suggests:       php-pear-Net_LDAP2
97 Suggests:       webserver(setenv)
98 Provides:       group(eventum)
99 Provides:       user(eventum)
100 Obsoletes:      eventum-base < 3.0.3-1.305
101 Obsoletes:      eventum-route-drafts < 3.0.8-1.1
102 Obsoletes:      eventum-route-emails < 3.0.8-1.1
103 Obsoletes:      eventum-route-notes < 3.0.8-1.1
104 Conflicts:      logrotate < 3.8.0
105 BuildArch:      noarch
106 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
107
108 %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.*
109
110 # exclude optional php dependencies
111 %define         _noautophp      php-gnupg php-hash php-pecl-http php-tk
112
113 %define         _noautoreq      %{_noautophp}
114
115 %define         _libdir         %{_prefix}/lib/%{name}
116 %define         _appdir         %{_datadir}/%{name}
117 %define         _smartydir      %{php_data_dir}/Smarty
118 %define         _webapps        /etc/webapps
119 %define         _webapp         %{name}
120 %define         _webappdir      %{_webapps}/%{_webapp}
121 %define         _sysconfdir     /etc/%{name}
122
123 %description
124 Eventum is a user-friendly and flexible issue tracking system that can
125 be used by a support department to track incoming technical support
126 requests, or by a software development team to quickly organize tasks
127 and bugs. Eventum is used by the MySQL AB Technical Support team, and
128 has allowed us to dramatically improve our response times.
129
130 %description -l pl.UTF-8
131 Eventum to przyjazny dla użytkownika system śledzenia spraw, który
132 może być używany przez dział obsługi do śledzenia przychodzących żądań
133 obsługi technicznej albo przez zespół tworzący oprogramowanie do
134 szybkiej organizacji zadań i błędów. Eventum jest używany przez zespół
135 Technical Support MySQL AB i umożliwił im znacząco poprawić czasy
136 reakcji.
137
138 %package setup
139 Summary:        Eventum setup package
140 Summary(pl.UTF-8):      Pakiet do wstępnej konfiguracji Eventum
141 Group:          Applications/WWW
142 Requires:       %{name} = %{version}-%{release}
143
144 %description setup
145 Install this package to configure initial Eventum installation. You
146 should uninstall this package when you're done, as it considered
147 insecure to keep the setup files in place.
148
149 %description setup -l pl.UTF-8
150 Ten pakiet należy zainstalować w celu wstępnej konfiguracji Eventum po
151 pierwszej instalacji. Potem należy go odinstalować, jako że
152 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
153
154 %package doc
155 Summary:        Eventum documentation and Wiki
156 Group:          Documentation
157
158 %description doc
159 Eventum documentation and copy of Wiki.
160
161 %package mail-queue
162 Summary:        Eventum mail queue process
163 Summary(pl.UTF-8):      Przetwarzanie kolejki poczty Eventum
164 Group:          Applications/WWW
165 Requires:       %{name} = %{version}-%{release}
166 Requires:       crondaemon
167
168 %description mail-queue
169 Beginning with the first release of Eventum, emails are not directly
170 sent out from the various scripts, but rather added to a mail queue
171 table that is processed by a cron job. If an email cannot be sent, it
172 will be marked as such in the mail queue log, and the cron job script
173 will re-try to send it again the next time it runs.
174
175 This package contains the cron job.
176
177 %description mail-queue -l pl.UTF-8
178 Od pierwszego wydania Eventum poczta nie jest wysyłana bezpośrednio z
179 różnych skryptów, lecz dodawana do kolejki przetwarzanej z crona.
180 Jeśli poczta nie może być wysłana, będzie odpowiednio oznaczona w logu
181 kolejki poczty, a skrypt z crona będzie próbował wysłać ją ponownie
182 następnym razem.
183
184 Ten pakiet zawiera zadanie dla crona.
185
186 %package mail-download
187 Summary:        Eventum email download
188 Summary(pl.UTF-8):      Ściąganie poczty Eventum
189 Group:          Applications/WWW
190 Requires:       %{name} = %{version}-%{release}
191 Requires:       crondaemon
192
193 %description mail-download
194 In order for Eventum's email integration feature to work, you need to
195 setup a cron job to run the script every so often.
196
197 This package contains the cron job.
198
199 %description mail-download -l pl.UTF-8
200 Aby integracja poczty elektronicznej w Eventum działała, trzeba
201 ustawić zadanie crona, aby uruchamiał odpowiedni skrypt wystarczająco
202 często.
203
204 Ten pakiet zawiera zadanie dla crona.
205
206 %package reminder
207 Summary:        Eventum Reminder System
208 Summary(pl.UTF-8):      System przypominania dla Eventum
209 Group:          Applications/WWW
210 Requires:       %{name} = %{version}-%{release}
211 Requires:       crondaemon
212
213 %description reminder
214 The reminder system was designed with the objective as serving as a
215 safe net for issues that need attention. Depending on what
216 configuration you create, you may have several reminders (or alerts)
217 be sent out whenever an issue needs attention, for whatever parameter
218 you may deem necessary.
219
220 This package contains the cron job.
221
222 %description reminder -l pl.UTF-8
223 System przypominania został zaprojektowany tak, aby służył jako
224 bezpieczna sieć dla spraw wymagających uwagi. W zależności od
225 konfiguracji można ustawić różne przypominajki (lub alarmy) wysyłane
226 przy każdej sprawie wymagającej uwagi lub przy parametrze, który można
227 uważać za potrzebny.
228
229 Ten pakiet zawiera zadanie dla crona.
230
231 %package monitor
232 Summary:        Eventum Heartbeat Monitor
233 Summary(pl.UTF-8):      Monitor życia dla Eventum
234 Group:          Applications/WWW
235 Requires:       %{name} = %{version}-%{release}
236 Requires:       crondaemon
237 Requires:       php(posix)
238
239 %description monitor
240 The heartbeat monitor is a feature designed for the administrator that
241 wants to be alerted whenever a common problem in Eventum is detected,
242 like the database server not being available anymore, or maybe when
243 the recommended permissions for certain configuration files are
244 changed.
245
246 Please note that before running the heartbeat monitor, you may need to
247 customize some of the checks to be appropriate for your own system,
248 particularly the permission and file checks on
249 Monitor::checkConfiguration().
250
251 This package contains the cron job.
252
253 %description monitor -l pl.UTF-8
254 Monitor życia to funkcjonalność zaprojektowana dla administratora
255 chcącego być alarmowanym przy każdym wykryciu popularnego problemu z
256 Eventum, jak nie działanie serwera bazy danych albo zmiana uprawnień
257 do plików konfiguracyjnych.
258
259 Należy zauważyć, że przed uruchomieniem tego monitora może być
260 konieczne dostosowanie niektórych testów do systemu, w szczególności
261 testów uprawnień i plików w Monitor::checkConfiguration().
262
263 Ten pakiet zawiera zadanie dla crona.
264
265 %package router-postfix
266 Summary:        Eventum Mail Routing - Postfix
267 Summary(pl.UTF-8):      Przekazywanie poczty Eventum - Postfix
268 Group:          Applications/Mail
269 Requires:       %{name} = %{version}-%{release}
270 Requires:       postfix
271 Provides:       eventum(router)
272 Obsoletes:      eventum(router)
273
274 %description router-postfix
275 This package provides way of routing notes and emails back to Eventum
276 via Postfix.
277
278 The Postfix configuration instructions you can find from
279 <http://eventum.mysql.org/wiki/index.php/Setting_up_email_routing_with_postfix>.
280
281 %description router-postfix -l pl.UTF-8
282 Ten pakiet udostępnia metodę przekazywania notatek i listów do Eventum
283 przez Postfiksa.
284
285 Opis konfiguracji Postfiksa można znaleźć pod adresem
286 <http://eventum.mysql.org/wiki/index.php/Setting_up_email_routing_with_postfix>.
287
288 %package irc
289 Summary:        Eventum IRC Notification Bot
290 Summary(pl.UTF-8):      IRC-owy bot powiadamiający dla Eventum
291 Group:          Applications/WWW
292 Requires(post,preun):   /sbin/chkconfig
293 Requires:       %{name} = %{version}-%{release}
294 Requires:       php(pcntl)
295 Requires:       php(sockets)
296 Requires:       php-pear-Net_SmartIRC >= 1.1.9
297 Requires:       rc-scripts >= 0.4.0.18
298
299 %description irc
300 The IRC notification bot is a nice feature for remote teams that want
301 to handle issues and want to have a quick and easy way to get simple
302 notifications. Right now the bot notifies of the following actions:
303 - New Issues
304 - Blocked emails
305 - Issues that got their assignment list changed
306
307 NOTE: You will need to manually edit the bot.php script to set your
308 appropriate preferences, like IRC server and channel that the bot
309 should join.
310
311 %description irc -l pl.UTF-8
312 IRC-owy bot powiadamiający to miła funkcjonalność dla zdalnych
313 zespołów chcących obsługiwać sprawy i mieć szybki i łatwy sposób na
314 uzyskiwanie prostych powiadomień. Aktualnie bot powiadamia o
315 następujących zdarzeniach:
316 - nowych sprawach
317 - zablokowanych listach
318 - sprawach, dla których zmieniła się lista powiązań
319
320 UWAGA: w celu wprowadzenia własnych ustawień, takich jak serwer IRC i
321 kanał używany przez bota, trzeba ręcznie zmodyfikować skrypt bot.php .
322
323 %package cli
324 Summary:        Eventum command-line interface
325 Summary(pl.UTF-8):      Interfejs linii poleceń dla Eventum
326 Group:          Applications/WWW
327 Requires:       php(core) >= %{php_min_version}
328 Requires:       php(phar)
329 Requires:       php-pear-XML_RPC
330
331 %description cli
332 The Eventum command-line interface allows you to access most of the
333 features of the web interface straight from your command shell.
334
335 %description cli -l pl.UTF-8
336 Interfejs linii poleceń Eventum pozwala na dostęp do większości
337 funkcji interfejsu WWW prosto z linii poleceń powłoki.
338
339 %package scm
340 Summary:        Eventum SCM integration
341 Summary(pl.UTF-8):      Integracja SCM dla Eventum
342 Group:          Applications/WWW
343 Requires:       php(core) >= %{php_min_version}
344 Requires:       php(json)
345 Requires:       php(pcre)
346 Requires:       php(spl)
347 Suggests:       cvs
348 Suggests:       git-core
349 Suggests:       php(openssl)
350 Suggests:       subversion
351
352 %description scm
353 This feature allows your software development teams to integrate your
354 Source Control Management system with your Issue Tracking System.
355
356 The integration is implemented in such a way that it will be forward
357 compatible with pretty much any SCM system, such as CVS.
358
359 For installation see
360 </eventum/help.php?topic=scm_integration_installation>.
361
362 %description scm -l pl.UTF-8
363 Ten pakiet pozwala zespołom programistów na integrację systemu
364 zarządzania źródłami (SCM - Source Control Management) z systemem
365 śledzenia spraw.
366
367 Integracja jest zaimplementowana tak, aby być kompatybilna w przód z
368 prawie każdym systemem SCM, jak np. CVS.
369
370 Szczegóły na temat instalacji można przeczytać pod
371 </eventum/help.php?topic=scm_integration_installation>.
372
373 %package sphinx
374 Summary:        Eventum Sphinx Search
375 Group:          Applications/WWW
376 Requires:       %{name} = %{version}-%{release}
377 Requires:       crondaemon
378 Requires:       sphinx
379
380 %description sphinx
381 Sphinx search integration for Eventum.
382
383 This package contains the cron job.
384
385 %prep
386 %setup -q -n %{name}-%{version}%{?githash:-%{subver}-g%{githash}}
387
388 mv docs/examples .
389
390 # bug fixes / features
391 %{?with_order:%patch2 -p1}
392 #%patch3 -p0
393 #%patch4 -p1
394
395 %{?with_order:cp -p %{SOURCE16} htdocs/images}
396
397 #%patch200 -p1
398
399 # produce default sphinx config
400 # must be run before paths.patch
401 %if 0
402 cat <<'EOF' > config/config.php
403 <?php
404 define('APP_SQL_DBTYPE', 'mysql');
405 define('APP_SQL_DBHOST', 'localhost:/var/lib/mysql/mysql.sock');
406 define('APP_SQL_DBPORT', 3306);
407 define('APP_SQL_DBNAME', 'eventum');
408 define('APP_SQL_DBUSER', 'mysql');
409 define('APP_SQL_DBPASS', '');
410 define('APP_TABLE_PREFIX', 'eventum_');
411 EOF
412 php config/sphinx.conf.php > config/sphinx.conf
413 rm config/config.php
414 %endif
415
416 # packaging
417 %patch100 -p1
418 %patch101 -p1
419 %patch107 -p1
420 %patch108 -p1
421
422 rm htdocs/.htaccess.dist
423 # deprecated in favour of process_all_emails.php
424 rm bin/route_*.php
425
426 # cleanup vendor. keep only needed libraries.
427 # (the rest are packaged with system packages)
428 mv vendor vendor.dist
429 vendor() {
430         local path dir
431         for path; do
432                 dir=$(dirname $path)
433                 test -d vendor/$dir || mkdir -p vendor/$dir
434                 mv vendor.dist/$path vendor/$path
435         done
436 }
437 vendor autoload.php
438 vendor composer/autoload_{classmap,files,namespaces,real,psr4}.php
439 vendor composer/ClassLoader.php
440 vendor ircmaxell/{password-compat,random-lib,security-lib}
441 vendor defuse/php-encryption
442 vendor ramsey/array_column
443 vendor willdurand/email-reply-parser
444
445 # remove backups from patching as we use globs to package files to buildroot
446 find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
447
448 %build
449 %{__make} -C localization
450
451 %install
452 rm -rf $RPM_BUILD_ROOT
453 install -d \
454         $RPM_BUILD_ROOT{%{_webappdir}/{custom_field,templates,workflow},%{_sysconfdir},%{_bindir},%{_sbindir},%{_libdir}} \
455         $RPM_BUILD_ROOT/etc/{rc.d/init.d,cron.d,logrotate.d,sysconfig} \
456         $RPM_BUILD_ROOT/var/{run,cache,lib}/%{name} \
457         $RPM_BUILD_ROOT/var/log/{archive/,}%{name} \
458         $RPM_BUILD_ROOT/var/lib/%{name}/routed_{emails,drafts,notes} \
459         $RPM_BUILD_ROOT%{systemdtmpfilesdir}
460
461 %{__make} install-eventum install-cli install-scm install-localization \
462         sysconfdir=%{_webappdir} \
463         localedir=%{_localedir} \
464         DESTDIR=$RPM_BUILD_ROOT
465
466 ln -s %{_webappdir} $RPM_BUILD_ROOT%{_appdir}/config
467
468 cp -a vendor $RPM_BUILD_ROOT%{_appdir}
469
470 # unsupported locale
471 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ht
472
473 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
474 cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
475
476 %{?with_order:cp -a htdocs/ajax $RPM_BUILD_ROOT%{_appdir}/htdocs}
477
478 touch $RPM_BUILD_ROOT%{_webappdir}/htpasswd
479 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
480 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
481 cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_webappdir}/lighttpd.conf
482
483 install -d $RPM_BUILD_ROOT/etc/sphinx
484 #cp -p config/sphinx.conf $RPM_BUILD_ROOT/etc/sphinx/%{name}.conf
485 cp -p config/sphinx.conf.php $RPM_BUILD_ROOT%{_webappdir}
486
487 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
488 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
489 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
490 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
491 cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/cron.d/%{name}-sphinx
492
493 cp -p config/irc_config.dist.php $RPM_BUILD_ROOT%{_webappdir}/irc_config.php
494
495 install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
496 cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc
497
498 cp -p %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
499
500 # postfix router
501 install -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/router-postfix
502
503 cp -p %{SOURCE17} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
504
505 %find_lang %{name}
506
507 # scm
508 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/scm.php
509
510 %clean
511 rm -rf $RPM_BUILD_ROOT
512
513 %pre
514 %groupadd -g 146 %{name}
515 %useradd -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name}
516 %addusertogroup http %{name}
517
518 %post
519 # create empty ghost files
520 # these permissions ensure the logs are write only
521 for a in \
522         errors.log login_attempts.log \
523         eventum.log \
524         cli.log \
525         irc_bot_error.log irc_bot_smartirc.log \
526 ; do
527         test -f /var/log/%{name}/$a && continue
528         install -m 0620 -o root -g http /dev/null /var/log/%{name}/$a
529 done
530
531 # run database update if configured
532 test -s %{_webappdir}/config.php && \
533 %{_appdir}/bin/upgrade.php || :
534
535 # nuke Smarty templates cache after upgrade
536 rm -f /var/cache/eventum/*.php
537
538 # Restart webserver on upgrade to get .mo translations reloaded.
539 # actually php engines "php-fcgi" and "php-fpm" needed only, apache is restarted anyway via webapp trigger.
540 %php_webserver_restart
541
542 %preun
543 if [ "$1" = "0" ]; then
544         # nuke cache
545         rm -f /var/cache/eventum/*.php 2>/dev/null || :
546 fi
547
548 %postun
549 if [ "$1" = "0" ]; then
550         %userremove %{name}
551         %groupremove %{name}
552 fi
553
554 %post setup
555 chmod 660 %{_webappdir}/{config,private_key}.php
556 chown root:http %{_webappdir}/{config,private_key}.php
557
558 %postun setup
559 if [ "$1" = "0" ] && [ -f %{_webappdir}/config.php ]; then
560         chmod 640 %{_webappdir}/{config,private_key}.php
561         chown root:http %{_webappdir}/{config,private_key}.php
562 fi
563
564 %post irc
565 /sbin/chkconfig --add eventum-irc
566 %service eventum-irc restart "Eventum IRC Bot"
567
568 %preun irc
569 if [ "$1" = 0 ]; then
570         %service eventum-irc stop
571         /sbin/chkconfig --del eventum-irc
572 fi
573
574 %triggerin -- apache1 < 1.3.37-3, apache1-base
575 %webapp_register apache %{_webapp}
576
577 %triggerun -- apache1 < 1.3.37-3, apache1-base
578 %webapp_unregister apache %{_webapp}
579
580 %triggerin -- apache < 2.2.0, apache-base
581 %webapp_register httpd %{_webapp}
582
583 %triggerun -- apache < 2.2.0, apache-base
584 %webapp_unregister httpd %{_webapp}
585
586 %triggerin -- lighttpd
587 %webapp_register lighttpd %{_webapp}
588
589 %triggerun -- lighttpd
590 %webapp_unregister lighttpd %{_webapp}
591
592 %triggerpostun -- %{name} < 3.0.0-0.2
593 for f in /etc/cron.d/eventum-*; do
594         # crontabs moved to bin
595         %{__sed} -i -e '
596                 s,/usr/share/eventum/crons/process_mail_queue.php,%{_appdir}/bin/process_mail_queue.php,
597                 s,/usr/share/eventum/crons/download_emails.php,%{_appdir}/bin/download_emails.php,
598                 s,/usr/share/eventum/crons/check_reminders.php,%{_appdir}/bin/check_reminders.php,
599                 s,/usr/share/eventum/crons/monitor.php,%{_appdir}/bin/monitor.php,
600         ' $f
601 done
602
603 %files -f %{name}.lang
604 %defattr(644,root,root,755)
605 %attr(751,root,root) %dir %{_webappdir}
606 %attr(751,root,root) %dir %{_webappdir}/custom_field
607 %attr(751,root,root) %dir %{_webappdir}/templates
608 %attr(751,root,root) %dir %{_webappdir}/workflow
609 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf
610 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf
611 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/lighttpd.conf
612 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/config.php
613 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php
614 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/setup.php
615 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/htpasswd
616
617 %dir %attr(711,root,http) /var/log/%{name}
618 %attr(620,root,http) %ghost /var/log/%{name}/*
619 %dir %attr(750,root,root) /var/log/archive/%{name}
620 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
621
622 %dir %{_appdir}
623 %{_appdir}/config
624
625 %dir %{_appdir}/bin
626 %attr(755,root,root) %{_appdir}/bin/process_all_emails.php
627 %attr(755,root,root) %{_appdir}/bin/upgrade.php
628
629 %{_appdir}/autoload.php
630 %{_appdir}/init.php
631 %dir %{_appdir}/htdocs
632 %{_appdir}/htdocs/*.php
633 %{_appdir}/htdocs/*.ico
634 %{_appdir}/htdocs/ajax
635 %{_appdir}/htdocs/css
636 %{_appdir}/htdocs/customer
637 %{_appdir}/htdocs/images
638 %{_appdir}/htdocs/js
639 %{_appdir}/htdocs/manage
640 %{_appdir}/htdocs/reports
641 %{_appdir}/htdocs/rpc
642 %{_appdir}/htdocs/components
643 %{_appdir}/templates
644
645 %dir %{_appdir}/upgrade
646 %{_appdir}/upgrade/*.sql
647 %{_appdir}/upgrade/patches
648
649 %{_appdir}/vendor
650 %{_appdir}/src
651 %dir %{_appdir}/lib
652 %{_appdir}/lib/eventum
653 %exclude %{_appdir}/lib/eventum/class.monitor.php
654
655 %dir %{_libdir}
656
657 %{systemdtmpfilesdir}/%{name}.conf
658
659 %dir /var/lib/%{name}
660 %dir %attr(730,root,http) /var/run/%{name}
661 %dir %attr(730,root,http) /var/cache/%{name}
662
663 # saved mail copies
664 %attr(770,root,http) %dir /var/lib/%{name}/routed_emails
665 %attr(770,root,http) %dir /var/lib/%{name}/routed_drafts
666 %attr(770,root,http) %dir /var/lib/%{name}/routed_notes
667
668 %files setup
669 %defattr(644,root,root,755)
670 %{_appdir}/htdocs/setup
671
672 %files doc
673 %defattr(644,root,root,755)
674 %doc docs/*
675 %{_examplesdir}/%{name}-%{version}
676
677 %files mail-queue
678 %defattr(644,root,root,755)
679 %attr(755,root,root) %{_appdir}/bin/process_mail_queue.php
680 %attr(755,root,root) %{_appdir}/bin/truncate_mail_queue.php
681 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
682
683 %files mail-download
684 %defattr(644,root,root,755)
685 %attr(755,root,root) %{_appdir}/bin/download_emails.php
686 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
687
688 %files reminder
689 %defattr(644,root,root,755)
690 %attr(755,root,root) %{_appdir}/bin/check_reminders.php
691 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
692
693 %files monitor
694 %defattr(644,root,root,755)
695 %{_appdir}/lib/eventum/class.monitor.php
696 %attr(755,root,root) %{_appdir}/bin/monitor.php
697 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
698
699 %files router-postfix
700 %defattr(644,root,root,755)
701 %attr(755,root,root) %{_libdir}/router-postfix
702
703 %files irc
704 %defattr(644,root,root,755)
705 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/irc_config.php
706 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/eventum-irc
707 %attr(755,root,root) %{_appdir}/bin/irc-bot.php
708 %attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
709
710 %files cli
711 %defattr(644,root,root,755)
712 %doc cli/eventumrc
713 %attr(755,root,root) %{_bindir}/%{name}
714
715 %files scm
716 %defattr(644,root,root,755)
717 %attr(751,root,root) %dir %{_sysconfdir}
718 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scm.php
719 %attr(755,root,root) %{_sbindir}/eventum-cvs-hook
720 %attr(755,root,root) %{_sbindir}/eventum-git-hook
721 %attr(755,root,root) %{_sbindir}/eventum-svn-hook
722 %attr(755,root,root) %{_sbindir}/helpers.php
723
724 %files sphinx
725 %defattr(644,root,root,755)
726 %{_webappdir}/sphinx.conf.php
727 #%attr(750,root,http) %config(noreplace) %verify(not md5 mtime size) /etc/sphinx/%{name}.conf
728 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-sphinx
This page took 0.114256 seconds and 2 git commands to generate.