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}-rpm.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 Patch5: %{name}-system-pkg.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 SCM integration
295 Summary(pl): Integracja SCM dla Eventum
296 Group: Applications/WWW
297 Requires: %{name} = %{epoch}:%{version}-%{release}
298 Requires: php4 >= 4.1.0
301 This feature allows your software development teams to integrate your
302 Source Control Management system with your Issue Tracking System.
304 The integration is implemented in such a way that it will be forward
305 compatible with pretty much any SCM system, such as CVS.
308 /eventum/help.php?topic=scm_integration_installation .
310 %description scm -l pl
311 Ten pakiet pozwala zespo³om programistów na integracjê systemu
312 zarz±dzania ¼ród³ami (SCM - Source Control Management) z systemem
315 Integracja jest zaimplementowana tak, aby byæ kompatybilna w przód z
316 prawie ka¿dym systemem SCM, jak np. CVS.
318 Szczegó³y na temat instalacji mo¿na przeczytaæ pod
319 /eventum/help.php?topic=scm_integration_installation .
322 %setup -q %{?_snap:-n %{name}-%{_snap}}
333 rm -rf $RPM_BUILD_ROOT
334 install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,cron.d},%{_appdir}/{locks,templates_c},/var/log}
336 cp -a . $RPM_BUILD_ROOT%{_appdir}
338 > $RPM_BUILD_ROOT%{_appdir}/setup.conf.php
340 sed -i -e 's,/usr/local/bin/php,/usr/bin/php4,' $RPM_BUILD_ROOT%{_appdir}/misc/cli/eventum
342 # change private key, so we can easily grep
344 s,$private_key\s*=\s*".*";,$private_key = "DEFAULTPRIVATEKEYPLEASERUNSETUP!";,
345 ' $RPM_BUILD_ROOT%{_appdir}/include/private_key.php
347 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
348 install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
349 install %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
350 install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
351 install %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
352 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/cvs.php
353 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/irc.php
354 install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
357 mv $RPM_BUILD_ROOT%{_appdir}/{config.inc.php,setup.conf.php} $RPM_BUILD_ROOT%{_sysconfdir}
358 ln -s %{_sysconfdir}/config.inc.php $RPM_BUILD_ROOT%{_appdir}
359 ln -s %{_sysconfdir}/setup.conf.php $RPM_BUILD_ROOT%{_appdir}
360 mv $RPM_BUILD_ROOT%{_appdir}/include/private_key.php $RPM_BUILD_ROOT%{_sysconfdir}
361 ln -s %{_sysconfdir}/private_key.php $RPM_BUILD_ROOT%{_appdir}/include/private_key.php
364 mv $RPM_BUILD_ROOT%{_appdir}/logs $RPM_BUILD_ROOT/var/log/%{name}
365 ln -s /var/log/%{name} $RPM_BUILD_ROOT%{_appdir}/logs
368 rm -f $RPM_BUILD_ROOT%{_appdir}/{COPYING,ChangeLog,FAQ,INSTALL,README,UPGRADE}
369 rm -rf $RPM_BUILD_ROOT%{_appdir}/{docs,misc/upgrade}
372 rm -rf $RPM_BUILD_ROOT%{_appdir}/include/Smarty
373 install -d $RPM_BUILD_ROOT%{_smartyplugindir}
374 # These plugins are not in Smarty package (Smarty-2.6.2-3)
375 cp -a include/Smarty/plugins/function.{calendar,get_display_style,get_innerhtml,get_textarea_size}.php $RPM_BUILD_ROOT%{_smartyplugindir}
378 rm -rf $RPM_BUILD_ROOT
382 if [ -f %{_apache1dir}/apache.conf ]; then
383 ln -sf %{_sysconfdir}/apache.conf %{_apache1dir}/conf.d/99_%{name}.conf
384 if [ -f /var/lock/subsys/apache ]; then
385 /etc/rc.d/init.d/apache restart 1>&2
389 if [ -d %{_apache2dir}/httpd.conf ]; then
390 ln -sf %{_sysconfdir}/apache.conf %{_apache2dir}/httpd.conf/99_%{name}.conf
391 if [ -f /var/lock/subsys/httpd ]; then
392 /etc/rc.d/init.d/httpd restart 1>&2
396 # check if the package is configured.
397 if grep -q 'header("Location: setup/")' %{_sysconfdir}/config.inc.php; then
398 %banner %{name} -e <<EOF
400 You haven't yet configured Eventum!
402 Install %{name}-setup and open up http://yourserver/eventum/
403 -- that will help you setup initial config.
405 when have configured Eventum, please uninstall the setup package,
406 so that %{name}-setup is able to secure your Eventum installation.
411 elif grep -q 'DEFAULTPRIVATEKEY' %{_sysconfdir}/private_key.php; then
412 %banner %{name} -e <<EOF
414 You have default private key installed!
416 Install %{name}-setup and open up http://yourserver/eventum/setup/
417 -- that will help you setup initial config.
419 when have configured Eventum, please uninstall the setup package,
420 so that %{name}-setup is able to secure your Eventum installation.
423 elif [ -d %{_appdir}/setup ]; then
424 %banner %{name} -e <<EOF
426 If you have have configured Eventum, please uninstall the setup package,
427 so that %{name}-setup is able to secure your Eventum installation.
434 if [ "$1" = "0" ]; then
436 if [ -f %{_apache1dir}/apache.conf ]; then
437 rm -f %{_apache1dir}/conf.d/99_%{name}.conf
438 if [ -f /var/lock/subsys/apache ]; then
439 /etc/rc.d/init.d/apache restart 1>&2
443 if [ -d %{_apache2dir}/httpd.conf ]; then
444 rm -f %{_apache1dir}/httpd.conf/99_%{name}.conf
445 if [ -f /var/lock/subsys/httpd ]; then
446 /etc/rc.d/init.d/httpd restart 1>&2
452 chmod 660 %{_sysconfdir}/{config.inc,private_key}.php
453 chown root:http %{_sysconfdir}/{config.inc,private_key}.php
456 if [ "$1" = "0" ]; then
457 chmod 640 %{_sysconfdir}/{config.inc,private_key}.php
458 chown root:http %{_sysconfdir}/{config.inc,private_key}.php
462 %defattr(644,root,root,755)
463 %doc ChangeLog FAQ INSTALL README UPGRADE misc/upgrade docs/*
464 %attr(751,root,root) %dir %{_sysconfdir}
465 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
466 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.inc.php
467 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/private_key.php
468 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/setup.conf.php
470 %dir %attr(731,root,http) /var/log/%{name}
471 %attr(620,root,http) %ghost /var/log/%{name}/*
473 %{_smartyplugindir}/*
487 %dir %attr(730,root,http) %{_appdir}/locks
489 %dir %{_appdir}/include
490 %{_appdir}/include/customer
491 %{_appdir}/include/jpgraph
492 %{_appdir}/include/pear
493 %{_appdir}/include/workflow
494 %{_appdir}/include/*.php
496 %dir %attr(730,root,http) %{_appdir}/templates_c
500 %{_appdir}/misc/blank.html
503 %defattr(644,root,root,755)
507 %defattr(644,root,root,755)
508 %{_appdir}/misc/process_mail_queue.php
509 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
512 %defattr(644,root,root,755)
513 %{_appdir}/misc/download_emails.php
514 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
517 %defattr(644,root,root,755)
518 %{_appdir}/misc/check_reminders.php
519 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
522 %defattr(644,root,root,755)
523 %{_appdir}/misc/monitor.php
524 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
527 %defattr(644,root,root,755)
528 %{_appdir}/misc/route_emails.php
531 %defattr(644,root,root,755)
532 %{_appdir}/misc/route_drafts.php
533 %{_appdir}/misc/route_notes.php
536 %defattr(644,root,root,755)
537 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/irc.php
539 %attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
542 %defattr(644,root,root,755)
543 %attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvs.php
544 %dir %{_appdir}/misc/scm
545 %{_appdir}/misc/scm/process_cvs_commits.php