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