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