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 # - eventum-router-qmail, eventum-router-postfix for -route-mails and -route-notes
13 # - need start-stop-daemon (dpkg for now)
16 #define _snap 20050117
19 %define _source http://downloads.mysql.com/snapshots/%{name}/%{name}-nightly-%{_snap}.tar.gz
21 %define _source http://mysql.wildyou.net/Downloads/%{name}/%{name}-%{version}.tar.gz
26 Summary: Eventum Issue - a bug tracking system
27 Summary(pl): Eventum - system ¶ledzenia spraw/b³êdów
30 Release: %{?_snap:0.%{_snap}.}%{_rel}
32 Group: Applications/WWW
34 # Source0-md5: 361c1355e46a6bbfa54e420964ec92cf
35 Source1: %{name}-apache.conf
36 Source2: %{name}-mail-queue.cron
37 Source3: %{name}-mail-download.cron
38 Source4: %{name}-reminder.cron
39 Source5: %{name}-monitor.cron
40 Source6: %{name}-cvs.php
41 Source7: %{name}-irc.php
42 Source8: %{name}-irc.init
43 Patch0: %{name}-paths.patch
44 Patch1: %{name}-clock-status.patch
45 Patch2: %{name}-scm-encode.patch
46 Patch3: %{name}-cvs-config.patch
47 Patch4: %{name}-irc-config.patch
48 URL: http://dev.mysql.com/downloads/other/eventum/index.html
49 BuildRequires: rpmbuild(macros) >= 1.177
50 BuildRequires: sed >= 4.0
51 Requires: php >= 4.1.0
56 Requires: Smarty >= 2.6.2
57 #Requires: apache-mod_dir
58 # conflict with non-confdir apache
59 Conflicts: apache1 < 1.3.33-1.1
60 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62 %define _sysconfdir /etc/%{name}
63 %define _appdir %{_datadir}/%{name}
64 %define _smartyplugindir %{php_pear_dir}/Smarty/plugins
66 %define _apache1dir /etc/apache
67 %define _apache2dir /etc/httpd
70 Eventum is a user-friendly and flexible issue tracking system that can
71 be used by a support department to track incoming technical support
72 requests, or by a software development team to quickly organize tasks
73 and bugs. Eventum is used by the MySQL AB Technical Support team, and
74 has allowed us to dramatically improve our response times.
77 Eventum to przyjazny dla u¿ytkownika system ¶ledzenia spraw, który
78 mo¿e byæ u¿ywany przez dzia³ obs³ugi do ¶ledzenia przychodz±cych ¿±dañ
79 obs³ugi technicznej albo przez zespó³ tworz±cy oprogramowanie do
80 szybkiej organizacji zadañ i b³êdów. Eventum jest u¿ywany przez zespó³
81 Technical Support MySQL AB i umo¿liwi³ im znacz±co poprawiæ czasy
85 Summary: Eventum setup package
86 Summary(pl): Pakiet do wstêpnej konfiguracji Eventum
87 Group: Applications/WWW
88 PreReq: %{name} = %{epoch}:%{version}-%{release}
91 Install this package to configure initial Eventum installation. You
92 should uninstall this package when you're done, as it considered
93 insecure to keep the setup files in place.
95 %description setup -l pl
96 Ten pakiet nale¿y zainstalowaæ w celu wstêpnej konfiguracji Eventum po
97 pierwszej instalacji. Potem nale¿y go odinstalowaæ, jako ¿e
98 pozostawienie plików instalacyjnych mog³oby byæ niebezpieczne.
101 Summary: Eventum mail queue process
102 Summary(pl): Przetwarzanie kolejki poczty Eventum
103 Group: Applications/WWW
104 Requires: %{name} = %{epoch}:%{version}-%{release}
106 Requires: php4 >= 4.1.0
108 %description mail-queue
109 Beginning with the first release of Eventum, emails are not directly
110 sent out from the various scripts, but rather added to a mail queue
111 table that is processed by a cron job. If an email cannot be sent, it
112 will be marked as such in the mail queue log, and the cron job script
113 will re-try to send it again the next time it runs.
115 This package contains the cron job.
117 %description mail-queue -l pl
118 Od pierwszego wydania Eventum poczta nie jest wysy³ana bezpo¶rednio z
119 ró¿nych skryptów, lecz dodawana do kolejki przetwarzanej z crona.
120 Je¶li poczta nie mo¿e byæ wys³ana, bêdzie odpowiednio oznaczona w logu
121 kolejki poczty, a skrypt z crona bêdzie próbowa³ wys³aæ j± ponownie
124 Ten pakiet zawiera zadanie dla crona.
126 %package mail-download
127 Summary: Eventum email download
128 Summary(pl): ¦ci±ganie poczty Eventum
129 Group: Applications/WWW
130 Requires: %{name} = %{epoch}:%{version}-%{release}
132 Requires: php4 >= 4.1.0
134 %description mail-download
135 In order for Eventum's email integration feature to work, you need to
136 setup a cron job to run the script every so often.
138 This package contains the cron job.
140 %description mail-download -l pl
141 Aby integracja poczty elektronicznej w Eventum dzia³a³a, trzeba
142 ustawiæ zadanie crona, aby uruchamia³ odpowiedni skrypt wystarczaj±co
145 Ten pakiet zawiera zadanie dla crona.
148 Summary: Eventum Reminder System
149 Summary(pl): System przypominania dla Eventum
150 Group: Applications/WWW
151 Requires: %{name} = %{epoch}:%{version}-%{release}
152 Requires: php4 >= 4.1.0
155 %description reminder
156 The reminder system was designed with the objective as serving as a
157 safe net for issues that need attention. Depending on what
158 configuration you create, you may have several reminders (or alerts)
159 be sent out whenever an issue needs attention, for whatever parameter
160 you may deem necessary.
162 This package contains the cron job.
164 %description reminder -l pl
165 System przypominania zosta³ zaprojektowany tak, aby s³u¿y³ jako
166 bezpieczna sieæ dla spraw wymagaj±cych uwagi. W zale¿no¶ci od
167 konfiguracji mo¿na ustawiæ ró¿ne przypominajki (lub alarmy) wysy³ane
168 przy ka¿dej sprawie wymagaj±cej uwagi lub przy parametrze, który mo¿na
171 Ten pakiet zawiera zadanie dla crona.
174 Summary: Eventum Heartbeat Monitor
175 Summary(pl): Monitor ¿ycia dla Eventum
176 Group: Applications/WWW
177 Requires: %{name} = %{epoch}:%{version}-%{release}
178 Requires: php4 >= 4.1.0
182 The heartbeat monitor is a feature designed for the administrator that
183 wants to be alerted whenever a common problem in Eventum is detected,
184 like the database server not being available anymore, or maybe when
185 the recommended permissions for certain configuration files are
188 Please note that before running the heartbeat monitor, you may need to
189 customize some of the checks to be appropriate for your own system,
190 particularly the permission and file checks on
191 Monitor::checkConfiguration().
193 This package contains the cron job.
195 %description monitor -l pl
196 Monitor ¿ycia to funkcjonalno¶æ zaprojektowana dla administratora
197 chc±cego byæ alarmowanym przy ka¿dym wykryciu popularnego problemu z
198 Eventum, jak nie dzia³anie serwera bazy danych albo zmiana uprawnieñ
199 do plików konfiguracyjnych.
201 Nale¿y zauwa¿yæ, ¿e przed uruchomieniem tego monitora mo¿e byæ
202 konieczne dostosowanie niektórych testów do systemu, w szczególno¶ci
203 testów uprawnieñ i plików w Monitor::checkConfiguration().
205 Ten pakiet zawiera zadanie dla crona.
207 %package route-emails
208 Summary: Eventum Email Routing
209 Summary(pl): Przekazywanie poczty dla Eventum
210 Group: Applications/WWW
211 Requires: %{name} = %{epoch}:%{version}-%{release}
212 Requires: php4 >= 4.1.0
213 #Requires: eventum-router
215 %description route-emails
216 The email routing feature is used to automatically associate a thread
217 of emails into an Eventum issue. By setting up qmail (or even postfix)
218 to deliver emails sent to a specific address (usually
219 issue-<number>@<domain>) to the above script, users are able to use
220 their email clients to reply to emails coming from Eventum, and those
221 replies will be automatically associated with the issue and
222 broadcasted to the entire notification list.
224 %description route-emails -l pl
225 Funkcjonalno¶æ przekazywania poczty s³u¿y do automatycznego wi±zania
226 w±tku listów ze spraw± w Eventum. Po ustawieniu qmaila (czy nawet
227 postfiksa), aby dostarcza³ listy wysy³ane na pewien adres (zwykle
228 issue-<numer>@<domena>) na powy¿szy skrypt, u¿ytkownicy bêd± mogli
229 u¿ywaæ klientów pocztowych do odpowiadania na listy przychodz±ce z
230 Eventum, a odpowiedzi te bêd± automatycznie wi±zane ze spraw± i
231 rozprowadzane do ca³ej listy og³oszeniowej.
234 Summary: Eventum Note Routing
235 Summary(pl): Przekazywanie notatek dla Eventum
236 Group: Applications/WWW
237 Requires: %{name} = %{epoch}:%{version}-%{release}
238 Requires: php4 >= 4.1.0
239 #Requires: eventum-router
241 %description route-notes
242 The note routing feature is used to automatically associate a thread
243 of notes into an Eventum issue. By setting up qmail (or even postfix)
244 to deliver emails sent to a specific address (usually
245 note-<number>@<domain>) to the above script, users are able to use
246 their email clients to reply to internal notes coming from Eventum,
247 and those replies will be automatically associated with the issue and
248 broadcasted to the notification list staff members.
250 %description route-notes -l pl
251 Funkcjonalno¶æ przekazywania notatek s³u¿y do automatycznego wi±zania
252 w±tku notatek ze spraw± w Eventum. Po ustawieniu qmaila (czy nawet
253 postfiksa), aby dostarcza³ listy wysy³ane na pewien adres (zwykle
254 note-<numer>@<domena>) na powy¿szy skrypt, u¿ytkownicy bêd± mogli
255 u¿ywaæ klientów pocztowych do odpowiadania na wewnêtrzne notatki
256 pochodz±ce od Eventu, a odpowiedzi te bêd± automatycznie wi±zane ze
257 spraw± i rozprowadzane do cz³onków personelu listy og³oszeniowej.
260 Summary: Eventum IRC Notification Bot
261 Summary(pl): IRC-owy bot powiadamiaj±cy dla Eventum
262 Group: Applications/WWW
263 Requires: %{name} = %{epoch}:%{version}-%{release}
264 Requires: php4 >= 4.1.0
265 # FIXME just need start-stop-daemon
269 The IRC notification bot is a nice feature for remote teams that want
270 to handle issues and want to have a quick and easy way to get simple
271 notifications. Right now the bot notifies of the following actions:
274 - Issues that got their assignment list changed
276 NOTE: You will need to manually edit the bot.php script to set your
277 appropriate preferences, like IRC server and channel that the bot
280 %description irc -l pl
281 IRC-owy bot powiadamiaj±cy to mi³a funkcjonalno¶æ dla zdalnych
282 zespo³ów chc±cych obs³ugiwaæ sprawy i mieæ szybki i ³atwy sposób na
283 uzyskiwanie prostych powiadomieñ. Aktualnie bot powiadamia o
284 nastêpuj±cych zdarzeniach:
286 - zablokowanych listach
287 - sprawach, dla których zmieni³a siê lista powi±zañ
289 UWAGA: w celu wprowadzenia w³asnych ustawieñ, takich jak serwer IRC i
290 kana³ u¿ywany przez bota, trzeba rêcznie zmodyfikowaæ skrypt bot.php .
293 Summary: Eventum SCM integration
294 Summary(pl): Integracja SCM dla Eventum
295 Group: Applications/WWW
296 Requires: %{name} = %{epoch}:%{version}-%{release}
297 Requires: php4 >= 4.1.0
300 This feature allows your software development teams to integrate your
301 Source Control Management system with your Issue Tracking System.
303 The integration is implemented in such a way that it will be forward
304 compatible with pretty much any SCM system, such as CVS.
307 /eventum/help.php?topic=scm_integration_installation .
309 %description scm -l pl
310 Ten pakiet pozwala zespo³om programistów na integracjê systemu
311 zarz±dzania ¼ród³ami (SCM - Source Control Management) z systemem
314 Integracja jest zaimplementowana tak, aby byæ kompatybilna w przód z
315 prawie ka¿dym systemem SCM, jak np. CVS.
317 Szczegó³y na temat instalacji mo¿na przeczytaæ pod
318 /eventum/help.php?topic=scm_integration_installation .
321 %setup -q %{?_snap:-n %{name}-%{_snap}}
331 rm -rf $RPM_BUILD_ROOT
332 install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,cron.d},%{_appdir}/{locks,templates_c},/var/log}
334 cp -a . $RPM_BUILD_ROOT%{_appdir}
336 > $RPM_BUILD_ROOT%{_appdir}/setup.conf.php
338 sed -i -e 's,/usr/local/bin/php,/usr/bin/php4,' $RPM_BUILD_ROOT%{_appdir}/misc/cli/eventum
340 # change private key, so we can easily grep
342 s,$private_key\s*=\s*".*";,$private_key = "DEFAULTPRIVATEKEYPLEASERUNSETUP!";,
343 ' $RPM_BUILD_ROOT%{_appdir}/include/private_key.php
345 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
346 install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
347 install %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
348 install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
349 install %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
350 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/cvs.php
351 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/irc.php
352 install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
355 mv $RPM_BUILD_ROOT%{_appdir}/{config.inc.php,setup.conf.php} $RPM_BUILD_ROOT%{_sysconfdir}
356 ln -s %{_sysconfdir}/config.inc.php $RPM_BUILD_ROOT%{_appdir}
357 ln -s %{_sysconfdir}/setup.conf.php $RPM_BUILD_ROOT%{_appdir}
358 mv $RPM_BUILD_ROOT%{_appdir}/include/private_key.php $RPM_BUILD_ROOT%{_sysconfdir}
359 ln -s %{_sysconfdir}/private_key.php $RPM_BUILD_ROOT%{_appdir}/include/private_key.php
362 mv $RPM_BUILD_ROOT%{_appdir}/logs $RPM_BUILD_ROOT/var/log/%{name}
365 rm -f $RPM_BUILD_ROOT%{_appdir}/{COPYING,ChangeLog,FAQ,INSTALL,README,UPGRADE}
366 rm -rf $RPM_BUILD_ROOT%{_appdir}/{docs,misc/upgrade}
369 rm -rf $RPM_BUILD_ROOT%{_appdir}/include/Smarty
370 install -d $RPM_BUILD_ROOT%{_smartyplugindir}
371 # These plugins are not in Smarty package (Smarty-2.6.2-3)
372 cp -a include/Smarty/plugins/function.{calendar,get_display_style,get_innerhtml,get_textarea_size}.php $RPM_BUILD_ROOT%{_smartyplugindir}
375 rm -rf $RPM_BUILD_ROOT
379 if [ -f %{_apache1dir}/apache.conf ]; then
380 ln -sf %{_sysconfdir}/apache.conf %{_apache1dir}/conf.d/99_%{name}.conf
381 if [ -f /var/lock/subsys/apache ]; then
382 /etc/rc.d/init.d/apache restart 1>&2
386 if [ -d %{_apache2dir}/httpd.conf ]; then
387 ln -sf %{_sysconfdir}/apache.conf %{_apache2dir}/httpd.conf/99_%{name}.conf
388 if [ -f /var/lock/subsys/httpd ]; then
389 /etc/rc.d/init.d/httpd restart 1>&2
393 # check if the package is configured.
394 if grep -q 'header("Location: setup/")' %{_sysconfdir}/config.inc.php; then
395 %banner %{name} -e <<EOF
397 You haven't yet configured Eventum!
399 Install %{name}-setup and open up http://yourserver/eventum/
400 -- that will help you setup initial config.
402 when have configured Eventum, please uninstall the setup package,
403 so that %{name}-setup is able to secure your Eventum installation.
408 elif grep -q 'DEFAULTPRIVATEKEY' %{_sysconfdir}/private_key.php; then
409 %banner %{name} -e <<EOF
411 You have default private key installed!
413 Install %{name}-setup and open up http://yourserver/eventum/setup/
414 -- that will help you setup initial config.
416 when have configured Eventum, please uninstall the setup package,
417 so that %{name}-setup is able to secure your Eventum installation.
420 elif [ -d %{_appdir}/setup ]; then
421 %banner %{name} -e <<EOF
423 If you have have configured Eventum, please uninstall the setup package,
424 so that %{name}-setup is able to secure your Eventum installation.
431 if [ "$1" = "0" ]; then
433 if [ -f %{_apache1dir}/apache.conf ]; then
434 rm -f %{_apache1dir}/conf.d/99_%{name}.conf
435 if [ -f /var/lock/subsys/apache ]; then
436 /etc/rc.d/init.d/apache restart 1>&2
440 if [ -d %{_apache2dir}/httpd.conf ]; then
441 rm -f %{_apache1dir}/httpd.conf/99_%{name}.conf
442 if [ -f /var/lock/subsys/httpd ]; then
443 /etc/rc.d/init.d/httpd restart 1>&2
449 chmod 660 %{_sysconfdir}/{config.inc,private_key}.php
450 chown root:http %{_sysconfdir}/{config.inc,private_key}.php
453 if [ "$1" = "0" ]; then
454 chmod 640 %{_sysconfdir}/{config.inc,private_key}.php
455 chown root:http %{_sysconfdir}/{config.inc,private_key}.php
459 %defattr(644,root,root,755)
460 %doc ChangeLog FAQ INSTALL README UPGRADE misc/upgrade docs/*
461 %attr(751,root,root) %dir %{_sysconfdir}
462 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
463 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.inc.php
464 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/private_key.php
465 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/setup.conf.php
467 %dir %attr(731,root,http) /var/log/%{name}
468 %attr(620,root,http) %ghost /var/log/%{name}/*
470 %{_smartyplugindir}/*
483 %dir %attr(730,root,http) %{_appdir}/locks
485 %dir %{_appdir}/include
486 %{_appdir}/include/customer
487 %{_appdir}/include/jpgraph
488 %{_appdir}/include/pear
489 %{_appdir}/include/workflow
490 %{_appdir}/include/*.php
492 %dir %attr(730,root,http) %{_appdir}/templates_c
496 %{_appdir}/misc/blank.html
499 %defattr(644,root,root,755)
503 %defattr(644,root,root,755)
504 %{_appdir}/misc/process_mail_queue.php
505 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
508 %defattr(644,root,root,755)
509 %{_appdir}/misc/download_emails.php
510 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
513 %defattr(644,root,root,755)
514 %{_appdir}/misc/check_reminders.php
515 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
518 %defattr(644,root,root,755)
519 %{_appdir}/misc/monitor.php
520 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
523 %defattr(644,root,root,755)
524 %{_appdir}/misc/route_emails.php
527 %defattr(644,root,root,755)
528 %{_appdir}/misc/route_drafts.php
529 %{_appdir}/misc/route_notes.php
532 %defattr(644,root,root,755)
533 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/irc.php
535 %attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
538 %defattr(644,root,root,755)
539 %attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvs.php
540 %dir %{_appdir}/misc/scm
541 %{_appdir}/misc/scm/process_cvs_commits.php