2 # - where to put templates_c (templates cache dir)? /var/run/eventum? /var/run/php/eventum? /var/cache/eventum?
3 # - php5 is not tested, but not placing hard conflict on it, as it prevents php4 & php coinstallation
4 # - discard bundled packages (from INSTALL):
5 # - JpGraph 1.5.3 (last GPL version)
7 # - dTree 2.0.5 (http://www.destroydrop.com/javascript/tree/)
8 # - dynCalendar.js (http://www.phpguru.org/dyncalendar.html)
9 # - overLIB 3.5.1 (http://www.bosrup.com/web/overlib/)
10 # - A few other small javascript libraries
11 # - Command-line Interface (misc/cli/eventum)
12 # - create eventum-router-qmail, eventum-router-postfix for -route-mails and -route-notes
13 # - need start-stop-daemon (from dpkg for now)
14 # - use eventum user for irc bot?
17 #define _snap 20050117
20 %define _source http://downloads.mysql.com/snapshots/%{name}/%{name}-nightly-%{_snap}.tar.gz
22 %define _source http://mysql.wildyou.net/Downloads/%{name}/%{name}-%{version}.tar.gz
27 Summary: Eventum Issue - a bug tracking system
28 Summary(pl): Eventum - system ¶ledzenia spraw/b³êdów
31 Release: %{?_snap:0.%{_snap}.}%{_rel}
33 Group: Applications/WWW
35 # Source0-md5: 361c1355e46a6bbfa54e420964ec92cf
36 Source1: %{name}-apache.conf
37 Source2: %{name}-mail-queue.cron
38 Source3: %{name}-mail-download.cron
39 Source4: %{name}-reminder.cron
40 Source5: %{name}-monitor.cron
41 Source6: %{name}-cvs.php
42 Source7: %{name}-irc.php
43 Source8: %{name}-irc.init
44 Patch0: %{name}-paths.patch
45 Patch1: %{name}-clock-status.patch
46 Patch2: %{name}-scm-encode.patch
47 Patch3: %{name}-cvs-config.patch
48 Patch4: %{name}-irc-config.patch
49 URL: http://dev.mysql.com/downloads/other/eventum/index.html
50 BuildRequires: rpmbuild(macros) >= 1.177
51 BuildRequires: sed >= 4.0
52 Requires: php >= 4.1.0
57 Requires: Smarty >= 2.6.2
58 #Requires: apache-mod_dir
59 # conflict with non-confdir apache
60 Conflicts: apache1 < 1.3.33-1.1
61 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63 %define _sysconfdir /etc/%{name}
64 %define _appdir %{_datadir}/%{name}
65 %define _smartyplugindir %{php_pear_dir}/Smarty/plugins
67 %define _apache1dir /etc/apache
68 %define _apache2dir /etc/httpd
71 Eventum is a user-friendly and flexible issue tracking system that can
72 be used by a support department to track incoming technical support
73 requests, or by a software development team to quickly organize tasks
74 and bugs. Eventum is used by the MySQL AB Technical Support team, and
75 has allowed us to dramatically improve our response times.
78 Eventum to przyjazny dla u¿ytkownika system ¶ledzenia spraw, który
79 mo¿e byæ u¿ywany przez dzia³ obs³ugi do ¶ledzenia przychodz±cych ¿±dañ
80 obs³ugi technicznej albo przez zespó³ tworz±cy oprogramowanie do
81 szybkiej organizacji zadañ i b³êdów. Eventum jest u¿ywany przez zespó³
82 Technical Support MySQL AB i umo¿liwi³ im znacz±co poprawiæ czasy
86 Summary: Eventum setup package
87 Summary(pl): Pakiet do wstêpnej konfiguracji Eventum
88 Group: Applications/WWW
89 PreReq: %{name} = %{epoch}:%{version}-%{release}
92 Install this package to configure initial Eventum installation. You
93 should uninstall this package when you're done, as it considered
94 insecure to keep the setup files in place.
96 %description setup -l pl
97 Ten pakiet nale¿y zainstalowaæ w celu wstêpnej konfiguracji Eventum po
98 pierwszej instalacji. Potem nale¿y go odinstalowaæ, jako ¿e
99 pozostawienie plików instalacyjnych mog³oby byæ niebezpieczne.
102 Summary: Eventum mail queue process
103 Summary(pl): Przetwarzanie kolejki poczty Eventum
104 Group: Applications/WWW
105 Requires: %{name} = %{epoch}:%{version}-%{release}
107 Requires: php4 >= 4.1.0
109 %description mail-queue
110 Beginning with the first release of Eventum, emails are not directly
111 sent out from the various scripts, but rather added to a mail queue
112 table that is processed by a cron job. If an email cannot be sent, it
113 will be marked as such in the mail queue log, and the cron job script
114 will re-try to send it again the next time it runs.
116 This package contains the cron job.
118 %description mail-queue -l pl
119 Od pierwszego wydania Eventum poczta nie jest wysy³ana bezpo¶rednio z
120 ró¿nych skryptów, lecz dodawana do kolejki przetwarzanej z crona.
121 Je¶li poczta nie mo¿e byæ wys³ana, bêdzie odpowiednio oznaczona w logu
122 kolejki poczty, a skrypt z crona bêdzie próbowa³ wys³aæ j± ponownie
125 Ten pakiet zawiera zadanie dla crona.
127 %package mail-download
128 Summary: Eventum email download
129 Summary(pl): ¦ci±ganie poczty Eventum
130 Group: Applications/WWW
131 Requires: %{name} = %{epoch}:%{version}-%{release}
133 Requires: php4 >= 4.1.0
135 %description mail-download
136 In order for Eventum's email integration feature to work, you need to
137 setup a cron job to run the script every so often.
139 This package contains the cron job.
141 %description mail-download -l pl
142 Aby integracja poczty elektronicznej w Eventum dzia³a³a, trzeba
143 ustawiæ zadanie crona, aby uruchamia³ odpowiedni skrypt wystarczaj±co
146 Ten pakiet zawiera zadanie dla crona.
149 Summary: Eventum Reminder System
150 Summary(pl): System przypominania dla Eventum
151 Group: Applications/WWW
152 Requires: %{name} = %{epoch}:%{version}-%{release}
153 Requires: php4 >= 4.1.0
156 %description reminder
157 The reminder system was designed with the objective as serving as a
158 safe net for issues that need attention. Depending on what
159 configuration you create, you may have several reminders (or alerts)
160 be sent out whenever an issue needs attention, for whatever parameter
161 you may deem necessary.
163 This package contains the cron job.
165 %description reminder -l pl
166 System przypominania zosta³ zaprojektowany tak, aby s³u¿y³ jako
167 bezpieczna sieæ dla spraw wymagaj±cych uwagi. W zale¿no¶ci od
168 konfiguracji mo¿na ustawiæ ró¿ne przypominajki (lub alarmy) wysy³ane
169 przy ka¿dej sprawie wymagaj±cej uwagi lub przy parametrze, który mo¿na
172 Ten pakiet zawiera zadanie dla crona.
175 Summary: Eventum Heartbeat Monitor
176 Summary(pl): Monitor ¿ycia dla Eventum
177 Group: Applications/WWW
178 Requires: %{name} = %{epoch}:%{version}-%{release}
179 Requires: php4 >= 4.1.0
183 The heartbeat monitor is a feature designed for the administrator that
184 wants to be alerted whenever a common problem in Eventum is detected,
185 like the database server not being available anymore, or maybe when
186 the recommended permissions for certain configuration files are
189 Please note that before running the heartbeat monitor, you may need to
190 customize some of the checks to be appropriate for your own system,
191 particularly the permission and file checks on
192 Monitor::checkConfiguration().
194 This package contains the cron job.
196 %description monitor -l pl
197 Monitor ¿ycia to funkcjonalno¶æ zaprojektowana dla administratora
198 chc±cego byæ alarmowanym przy ka¿dym wykryciu popularnego problemu z
199 Eventum, jak nie dzia³anie serwera bazy danych albo zmiana uprawnieñ
200 do plików konfiguracyjnych.
202 Nale¿y zauwa¿yæ, ¿e przed uruchomieniem tego monitora mo¿e byæ
203 konieczne dostosowanie niektórych testów do systemu, w szczególno¶ci
204 testów uprawnieñ i plików w Monitor::checkConfiguration().
206 Ten pakiet zawiera zadanie dla crona.
208 %package route-emails
209 Summary: Eventum Email Routing
210 Summary(pl): Przekazywanie poczty dla Eventum
211 Group: Applications/WWW
212 Requires: %{name} = %{epoch}:%{version}-%{release}
213 Requires: php4 >= 4.1.0
214 #Requires: eventum-router
216 %description route-emails
217 The email routing feature is used to automatically associate a thread
218 of emails into an Eventum issue. By setting up qmail (or even postfix)
219 to deliver emails sent to a specific address (usually
220 issue-<number>@<domain>) to the above script, users are able to use
221 their email clients to reply to emails coming from Eventum, and those
222 replies will be automatically associated with the issue and
223 broadcasted to the entire notification list.
225 %description route-emails -l pl
226 Funkcjonalno¶æ przekazywania poczty s³u¿y do automatycznego wi±zania
227 w±tku listów ze spraw± w Eventum. Po ustawieniu qmaila (czy nawet
228 postfiksa), aby dostarcza³ listy wysy³ane na pewien adres (zwykle
229 issue-<numer>@<domena>) na powy¿szy skrypt, u¿ytkownicy bêd± mogli
230 u¿ywaæ klientów pocztowych do odpowiadania na listy przychodz±ce z
231 Eventum, a odpowiedzi te bêd± automatycznie wi±zane ze spraw± i
232 rozprowadzane do ca³ej listy og³oszeniowej.
235 Summary: Eventum Note Routing
236 Summary(pl): Przekazywanie notatek dla Eventum
237 Group: Applications/WWW
238 Requires: %{name} = %{epoch}:%{version}-%{release}
239 Requires: php4 >= 4.1.0
240 #Requires: eventum-router
242 %description route-notes
243 The note routing feature is used to automatically associate a thread
244 of notes into an Eventum issue. By setting up qmail (or even postfix)
245 to deliver emails sent to a specific address (usually
246 note-<number>@<domain>) to the above script, users are able to use
247 their email clients to reply to internal notes coming from Eventum,
248 and those replies will be automatically associated with the issue and
249 broadcasted to the notification list staff members.
251 %description route-notes -l pl
252 Funkcjonalno¶æ przekazywania notatek s³u¿y do automatycznego wi±zania
253 w±tku notatek ze spraw± w Eventum. Po ustawieniu qmaila (czy nawet
254 postfiksa), aby dostarcza³ listy wysy³ane na pewien adres (zwykle
255 note-<numer>@<domena>) na powy¿szy skrypt, u¿ytkownicy bêd± mogli
256 u¿ywaæ klientów pocztowych do odpowiadania na wewnêtrzne notatki
257 pochodz±ce od Eventu, a odpowiedzi te bêd± automatycznie wi±zane ze
258 spraw± i rozprowadzane do cz³onków personelu listy og³oszeniowej.
261 Summary: Eventum IRC Notification Bot
262 Summary(pl): IRC-owy bot powiadamiaj±cy dla Eventum
263 Group: Applications/WWW
264 Requires: %{name} = %{epoch}:%{version}-%{release}
265 Requires: php4 >= 4.1.0
266 # FIXME just need start-stop-daemon
270 The IRC notification bot is a nice feature for remote teams that want
271 to handle issues and want to have a quick and easy way to get simple
272 notifications. Right now the bot notifies of the following actions:
275 - Issues that got their assignment list changed
277 NOTE: You will need to manually edit the bot.php script to set your
278 appropriate preferences, like IRC server and channel that the bot
281 %description irc -l pl
282 IRC-owy bot powiadamiaj±cy to mi³a funkcjonalno¶æ dla zdalnych
283 zespo³ów chc±cych obs³ugiwaæ sprawy i mieæ szybki i ³atwy sposób na
284 uzyskiwanie prostych powiadomieñ. Aktualnie bot powiadamia o
285 nastêpuj±cych zdarzeniach:
287 - zablokowanych listach
288 - sprawach, dla których zmieni³a siê lista powi±zañ
290 UWAGA: w celu wprowadzenia w³asnych ustawieñ, takich jak serwer IRC i
291 kana³ u¿ywany przez bota, trzeba rêcznie zmodyfikowaæ skrypt bot.php .
294 Summary: Eventum command-line interface
295 Summary(pl): Interfejs linii poleceñ dla Eventum
296 Group: Applications/WWW
297 Requires: %{name} = %{epoch}:%{version}-%{release}
298 Requires: php4 >= 4.1.0
301 #Requires: php4-openssl
304 The Eventum command-line interface allows you to access most of the
305 features of the web interface straight from your command shell.
307 %description cli -l pl
308 Interfejs linii poleceñ Eventum pozwala na dostêp do wiêkszo¶ci
309 funkcji interfejsu WWW prosto z linii poleceñ pow³oki.
312 Summary: Eventum SCM integration
313 Summary(pl): Integracja SCM dla Eventum
314 Group: Applications/WWW
315 Requires: %{name} = %{epoch}:%{version}-%{release}
316 Requires: php4 >= 4.1.0
319 This feature allows your software development teams to integrate your
320 Source Control Management system with your Issue Tracking System.
322 The integration is implemented in such a way that it will be forward
323 compatible with pretty much any SCM system, such as CVS.
326 /eventum/help.php?topic=scm_integration_installation .
328 %description scm -l pl
329 Ten pakiet pozwala zespo³om programistów na integracjê systemu
330 zarz±dzania ¼ród³ami (SCM - Source Control Management) z systemem
333 Integracja jest zaimplementowana tak, aby byæ kompatybilna w przód z
334 prawie ka¿dym systemem SCM, jak np. CVS.
336 Szczegó³y na temat instalacji mo¿na przeczytaæ pod
337 /eventum/help.php?topic=scm_integration_installation .
340 %setup -q %{?_snap:-n %{name}-%{_snap}}
350 rm -rf $RPM_BUILD_ROOT
351 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},/etc/{rc.d/init.d,cron.d},%{_appdir}/{locks,templates_c},/var/log}
353 cp -a . $RPM_BUILD_ROOT%{_appdir}
354 # argsh! say no words
355 find $RPM_BUILD_ROOT%{_appdir} -type f -print0 | xargs -0 sed -i -e 's,
358 $,,' misc/cli/eventumrc_example > eventumrc
360 > $RPM_BUILD_ROOT%{_appdir}/setup.conf.php
362 sed -i -e 's,/usr/local/bin/php,/usr/bin/php4,' $RPM_BUILD_ROOT%{_appdir}/misc/cli/eventum
364 # change private key, so we can easily grep
366 s,$private_key\s*=\s*".*";,$private_key = "DEFAULTPRIVATEKEYPLEASERUNSETUP!";,
367 ' $RPM_BUILD_ROOT%{_appdir}/include/private_key.php
369 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
370 install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
371 install %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
372 install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
373 install %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
374 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/cvs.php
375 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/irc.php
376 install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
379 mv $RPM_BUILD_ROOT%{_appdir}/config.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/config.php
380 mv $RPM_BUILD_ROOT%{_appdir}/setup.conf.php $RPM_BUILD_ROOT%{_sysconfdir}/setup.php
381 mv $RPM_BUILD_ROOT%{_appdir}/include/private_key.php $RPM_BUILD_ROOT%{_sysconfdir}
382 mv $RPM_BUILD_ROOT%{_appdir}/misc/cli/config.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/cli.php
383 ln -s %{_sysconfdir}/config.php $RPM_BUILD_ROOT%{_appdir}/config.inc.php
384 ln -s %{_sysconfdir}/setup.php $RPM_BUILD_ROOT%{_appdir}/setup.conf.php
385 ln -s %{_sysconfdir}/private_key.php $RPM_BUILD_ROOT%{_appdir}/include/private_key.php
388 mv $RPM_BUILD_ROOT%{_appdir}/logs $RPM_BUILD_ROOT/var/log/%{name}
391 rm -f $RPM_BUILD_ROOT%{_appdir}/{COPYING,ChangeLog,FAQ,INSTALL,README,UPGRADE}
392 rm -rf $RPM_BUILD_ROOT%{_appdir}/{docs,misc/upgrade}
395 rm -rf $RPM_BUILD_ROOT%{_appdir}/include/Smarty
396 install -d $RPM_BUILD_ROOT%{_smartyplugindir}
397 # These plugins are not in Smarty package (Smarty-2.6.2-3)
398 cp -a include/Smarty/plugins/function.{calendar,get_display_style,get_innerhtml,get_textarea_size}.php $RPM_BUILD_ROOT%{_smartyplugindir}
401 mv $RPM_BUILD_ROOT%{_appdir}/misc/cli/eventum $RPM_BUILD_ROOT%{_bindir}
402 rm -f $RPM_BUILD_ROOT%{_appdir}/misc/cli/eventumrc_example
405 rm -rf $RPM_BUILD_ROOT
409 if [ -f %{_apache1dir}/apache.conf ]; then
410 ln -sf %{_sysconfdir}/apache.conf %{_apache1dir}/conf.d/99_%{name}.conf
411 if [ -f /var/lock/subsys/apache ]; then
412 /etc/rc.d/init.d/apache restart 1>&2
416 if [ -d %{_apache2dir}/httpd.conf ]; then
417 ln -sf %{_sysconfdir}/apache.conf %{_apache2dir}/httpd.conf/99_%{name}.conf
418 if [ -f /var/lock/subsys/httpd ]; then
419 /etc/rc.d/init.d/httpd restart 1>&2
423 # check if the package is configured.
424 if grep -q 'header("Location: setup/")' %{_sysconfdir}/config.php; then
425 %banner %{name} -e <<EOF
427 You haven't yet configured Eventum!
429 Install %{name}-setup and open up http://yourserver/eventum/
430 -- that will help you setup initial config.
432 when have configured Eventum, please uninstall the setup package,
433 so that %{name}-setup is able to secure your Eventum installation.
438 elif grep -q 'DEFAULTPRIVATEKEY' %{_sysconfdir}/private_key.php; then
439 %banner %{name} -e <<EOF
441 You have default private key installed!
443 Install %{name}-setup and open up http://yourserver/eventum/setup/
444 -- that will help you setup initial config.
446 when have configured Eventum, please uninstall the setup package,
447 so that %{name}-setup is able to secure your Eventum installation.
450 elif [ -d %{_appdir}/setup ]; then
451 %banner %{name} -e <<EOF
453 If you have have configured Eventum, please uninstall the setup package,
454 so that %{name}-setup is able to secure your Eventum installation.
461 if [ "$1" = "0" ]; then
463 if [ -f %{_apache1dir}/apache.conf ]; then
464 rm -f %{_apache1dir}/conf.d/99_%{name}.conf
465 if [ -f /var/lock/subsys/apache ]; then
466 /etc/rc.d/init.d/apache restart 1>&2
470 if [ -d %{_apache2dir}/httpd.conf ]; then
471 rm -f %{_apache1dir}/httpd.conf/99_%{name}.conf
472 if [ -f /var/lock/subsys/httpd ]; then
473 /etc/rc.d/init.d/httpd restart 1>&2
479 chmod 660 %{_sysconfdir}/{config,private_key}.php
480 chown root:http %{_sysconfdir}/{config,private_key}.php
483 if [ "$1" = "0" ]; then
484 chmod 640 %{_sysconfdir}/{config,private_key}.php
485 chown root:http %{_sysconfdir}/{config,private_key}.php
489 %defattr(644,root,root,755)
490 %doc ChangeLog FAQ INSTALL README UPGRADE misc/upgrade docs/*
491 %attr(751,root,root) %dir %{_sysconfdir}
492 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
493 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
494 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/private_key.php
495 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/setup.php
497 %dir %attr(731,root,http) /var/log/%{name}
498 %attr(620,root,http) %ghost /var/log/%{name}/*
500 %{_smartyplugindir}/*
513 %dir %attr(730,root,http) %{_appdir}/locks
515 %dir %{_appdir}/include
516 %{_appdir}/include/customer
517 %{_appdir}/include/jpgraph
518 %{_appdir}/include/pear
519 %{_appdir}/include/workflow
520 %{_appdir}/include/*.php
522 %dir %attr(730,root,http) %{_appdir}/templates_c
525 %{_appdir}/misc/blank.html
528 %defattr(644,root,root,755)
532 %defattr(644,root,root,755)
533 %{_appdir}/misc/process_mail_queue.php
534 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
537 %defattr(644,root,root,755)
538 %{_appdir}/misc/download_emails.php
539 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
542 %defattr(644,root,root,755)
543 %{_appdir}/misc/check_reminders.php
544 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
547 %defattr(644,root,root,755)
548 %{_appdir}/misc/monitor.php
549 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
552 %defattr(644,root,root,755)
553 %{_appdir}/misc/route_emails.php
556 %defattr(644,root,root,755)
557 %{_appdir}/misc/route_drafts.php
558 %{_appdir}/misc/route_notes.php
561 %defattr(644,root,root,755)
562 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/irc.php
564 %attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
567 %defattr(644,root,root,755)
569 %attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cli.php
570 %attr(755,root,root) %{_bindir}/*
571 %dir %{_appdir}/misc/cli
572 %{_appdir}/misc/cli/include
575 %defattr(644,root,root,755)
576 %attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvs.php
577 %dir %{_appdir}/misc/scm
578 %{_appdir}/misc/scm/process_cvs_commits.php