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