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 # - 64bit platforms beware? http://bugs.php.net/bug.php?id=30215 (it's actually Smarty related problem)
11 %bcond_with qmail # build the router-qmail subpackage
12 %bcond_with order_patch # with custom issue order patch
14 #define _snap 20060330
18 %include /usr/lib/rpm/macros.php
19 Summary: Eventum Issue / Bug tracking system
20 Summary(pl): Eventum - system ¶ledzenia spraw/b³êdów
23 Release: %{?_snap:0.%{_snap}.}%{?_rc:%{_rc}.}%{_rel}
25 Group: Applications/WWW
26 #Source0: http://downloads.mysql.com/snapshots/eventum/%{name}-nightly-%{_snap}.tar.gz
27 Source0: http://mysql.dataphone.se/Downloads/eventum/%{name}-%{version}.tar.gz
28 # Source0-md5: e1845de39b4d9bd30ddec9c26031a7d5
29 Source1: %{name}-apache.conf
30 Source2: %{name}-mail-queue.cron
31 Source3: %{name}-mail-download.cron
32 Source4: %{name}-reminder.cron
33 Source5: %{name}-monitor.cron
34 Source6: %{name}-cvs.php
35 Source7: %{name}-irc.php
36 Source8: %{name}-irc.init
37 Source9: %{name}-irc.sysconfig
38 Source10: %{name}-config.php
39 Source11: %{name}-router-qmail.sh
40 Source12: %{name}-config-setup.php
41 Source13: %{name}-upgrade.sh
42 Source14: %{name}-router-postfix.sh
43 Source15: %{name}.logrotate
44 Patch0: %{name}-lf.patch
45 Patch1: %{name}-perms.patch
46 Patch2: %{name}-cli-wr-separated.patch
47 Patch3: %{name}-scm-parse-response.patch
48 Patch4: %{name}-double-decode.patch
49 Patch5: %{name}-route-mem.patch
50 Patch6: %{name}-scm-pluscharisbad.patch
51 Patch7: %{name}-scm-updates.patch
52 Patch8: %{name}-close-signature.patch
53 Patch9: %{name}-list-sorting.patch
54 Patch10: %{name}-workflow-handlenewnote-note_id.patch
55 Patch11: %{name}-order4b.patch
56 Patch12: %{name}-cli-errorcheck.patch
57 Patch13: %{name}-combined.patch
58 Patch14: %{name}-xml-inline.patch
59 Patch15: %{name}-timetracking-advanced-logic.patch
60 Patch16: %{name}-timedisplay.patch
61 Patch17: %{name}-bug-17267.patch
62 Patch18: %{name}-compact-issue-display.patch
63 Patch19: %{name}-fixed-nav.patch
64 Patch20: %{name}-scm-ssl.patch
65 Patch21: %{name}-scm-quick-out.patch
66 # packaging patches that probably never go upstream
67 Patch100: %{name}-paths.patch
68 Patch101: %{name}-cvs-config.patch
69 Patch102: %{name}-irc-mem.patch
70 Patch103: %{name}-irc-config.patch
71 Patch104: %{name}-PEAR.patch
72 Patch105: %{name}-httpclient-clientside.patch
73 Patch106: %{name}-bot-reconnect.patch
74 Patch107: %{name}-private-key.patch
75 URL: http://dev.mysql.com/downloads/other/eventum/
76 BuildRequires: rpm-php-pearprov >= 4.0.2-98
77 BuildRequires: rpmbuild(macros) >= 1.268
78 BuildRequires: sed >= 4.0
79 Requires(triggerpostun): /usr/bin/php
80 Requires(triggerpostun): sed >= 4.0
81 Requires: %{name}-base = %{version}-%{release}
82 Requires: Smarty >= 2.6.10-4
83 Requires: apache(mod_dir)
84 Requires: php >= 3:4.2.0
89 Requires: php-pear-Benchmark
91 Requires: php-pear-Date
92 Requires: php-pear-HTTP_Request
93 Requires: php-pear-Mail
94 Requires: php-pear-Mail_Mime
95 Requires: php-pear-Math_Stats
96 Requires: php-pear-Net_DIME
97 Requires: php-pear-Net_SMTP
98 Requires: php-pear-Net_Socket
99 Requires: php-pear-Net_URL
100 Requires: php-pear-Net_UserAgent_Detect
101 Requires: php-pear-PEAR-core
102 Requires: php-pear-Text_Diff
103 Requires: php-pear-XML_RPC
104 Requires: php-session
107 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
109 %define _noautoreq 'pear(/etc/webapps/.*)' 'pear(jpgraph_dir.php)' 'pear(.*Smarty.class.php)'
111 %define _libdir %{_prefix}/lib/%{name}
112 %define _appdir %{_datadir}/%{name}
113 %define _smartyplugindir %{_appdir}/include/smarty
114 %define _smartydir /usr/share/php/Smarty
115 %define _webapps /etc/webapps
116 %define _webapp %{name}
117 %define _webappdir %{_webapps}/%{_webapp}
118 %define _sysconfdir /etc/%{name}
121 Eventum is a user-friendly and flexible issue tracking system that can
122 be used by a support department to track incoming technical support
123 requests, or by a software development team to quickly organize tasks
124 and bugs. Eventum is used by the MySQL AB Technical Support team, and
125 has allowed us to dramatically improve our response times.
128 Eventum to przyjazny dla u¿ytkownika system ¶ledzenia spraw, który
129 mo¿e byæ u¿ywany przez dzia³ obs³ugi do ¶ledzenia przychodz±cych ¿±dañ
130 obs³ugi technicznej albo przez zespó³ tworz±cy oprogramowanie do
131 szybkiej organizacji zadañ i b³êdów. Eventum jest u¿ywany przez zespó³
132 Technical Support MySQL AB i umo¿liwi³ im znacz±co poprawiæ czasy
136 Summary: Eventum base package
137 Summary(pl): Podstawowy pakiet Eventum
138 Group: Applications/WWW
139 Requires(postun): /usr/sbin/groupdel
140 Requires(postun): /usr/sbin/userdel
141 Requires(pre): /bin/id
142 Requires(pre): /usr/bin/getgid
143 Requires(pre): /usr/sbin/groupadd
144 Requires(pre): /usr/sbin/useradd
145 Provides: group(eventum)
146 Provides: user(eventum)
149 This package contains base directory structure for Eventum.
151 %description base -l pl
152 Ten pakiet zawiera podstawow± strukturê katalogów dla Eventum.
155 Summary: Eventum setup package
156 Summary(pl): Pakiet do wstêpnej konfiguracji Eventum
157 Group: Applications/WWW
158 Requires: %{name} = %{version}-%{release}
161 Install this package to configure initial Eventum installation. You
162 should uninstall this package when you're done, as it considered
163 insecure to keep the setup files in place.
165 %description setup -l pl
166 Ten pakiet nale¿y zainstalowaæ w celu wstêpnej konfiguracji Eventum po
167 pierwszej instalacji. Potem nale¿y go odinstalowaæ, jako ¿e
168 pozostawienie plików instalacyjnych mog³oby byæ niebezpieczne.
171 Summary: Eventum mail queue process
172 Summary(pl): Przetwarzanie kolejki poczty Eventum
173 Group: Applications/WWW
174 Requires: %{name} = %{version}-%{release}
177 %description mail-queue
178 Beginning with the first release of Eventum, emails are not directly
179 sent out from the various scripts, but rather added to a mail queue
180 table that is processed by a cron job. If an email cannot be sent, it
181 will be marked as such in the mail queue log, and the cron job script
182 will re-try to send it again the next time it runs.
184 This package contains the cron job.
186 %description mail-queue -l pl
187 Od pierwszego wydania Eventum poczta nie jest wysy³ana bezpo¶rednio z
188 ró¿nych skryptów, lecz dodawana do kolejki przetwarzanej z crona.
189 Je¶li poczta nie mo¿e byæ wys³ana, bêdzie odpowiednio oznaczona w logu
190 kolejki poczty, a skrypt z crona bêdzie próbowa³ wys³aæ j± ponownie
193 Ten pakiet zawiera zadanie dla crona.
195 %package mail-download
196 Summary: Eventum email download
197 Summary(pl): ¦ci±ganie poczty Eventum
198 Group: Applications/WWW
199 Requires: %{name} = %{version}-%{release}
202 %description mail-download
203 In order for Eventum's email integration feature to work, you need to
204 setup a cron job to run the script every so often.
206 This package contains the cron job.
208 %description mail-download -l pl
209 Aby integracja poczty elektronicznej w Eventum dzia³a³a, trzeba
210 ustawiæ zadanie crona, aby uruchamia³ odpowiedni skrypt wystarczaj±co
213 Ten pakiet zawiera zadanie dla crona.
216 Summary: Eventum Reminder System
217 Summary(pl): System przypominania dla Eventum
218 Group: Applications/WWW
219 Requires: %{name} = %{version}-%{release}
222 %description reminder
223 The reminder system was designed with the objective as serving as a
224 safe net for issues that need attention. Depending on what
225 configuration you create, you may have several reminders (or alerts)
226 be sent out whenever an issue needs attention, for whatever parameter
227 you may deem necessary.
229 This package contains the cron job.
231 %description reminder -l pl
232 System przypominania zosta³ zaprojektowany tak, aby s³u¿y³ jako
233 bezpieczna sieæ dla spraw wymagaj±cych uwagi. W zale¿no¶ci od
234 konfiguracji mo¿na ustawiæ ró¿ne przypominajki (lub alarmy) wysy³ane
235 przy ka¿dej sprawie wymagaj±cej uwagi lub przy parametrze, który mo¿na
238 Ten pakiet zawiera zadanie dla crona.
241 Summary: Eventum Heartbeat Monitor
242 Summary(pl): Monitor ¿ycia dla Eventum
243 Group: Applications/WWW
244 Requires: %{name} = %{version}-%{release}
249 The heartbeat monitor is a feature designed for the administrator that
250 wants to be alerted whenever a common problem in Eventum is detected,
251 like the database server not being available anymore, or maybe when
252 the recommended permissions for certain configuration files are
255 Please note that before running the heartbeat monitor, you may need to
256 customize some of the checks to be appropriate for your own system,
257 particularly the permission and file checks on
258 Monitor::checkConfiguration().
260 This package contains the cron job.
262 %description monitor -l pl
263 Monitor ¿ycia to funkcjonalno¶æ zaprojektowana dla administratora
264 chc±cego byæ alarmowanym przy ka¿dym wykryciu popularnego problemu z
265 Eventum, jak nie dzia³anie serwera bazy danych albo zmiana uprawnieñ
266 do plików konfiguracyjnych.
268 Nale¿y zauwa¿yæ, ¿e przed uruchomieniem tego monitora mo¿e byæ
269 konieczne dostosowanie niektórych testów do systemu, w szczególno¶ci
270 testów uprawnieñ i plików w Monitor::checkConfiguration().
272 Ten pakiet zawiera zadanie dla crona.
274 %package route-drafts
275 Summary: Eventum Draft Routing
276 Summary(pl): Przekazywanie szkiców dla Eventum
277 Group: Applications/WWW
278 Requires: %{name} = %{version}-%{release}
279 Requires: eventum(router)
281 %description route-drafts
282 The draft routing feature is used to automatically associate a thread
283 of drafts into an Eventum issue. By setting up qmail (or even Postfix)
284 to deliver emails sent to a specific address (usually
285 draft-<number>@<domain>) to the above script, users are able to send
286 drafts written in their mail client to be stored in Eventum. These
287 drafts will NOT broadcasted to the notification list.
289 %description route-drafts -l pl
290 Przekazywanie szkiców s³u¿y do automatycznego wi±zania w±tku szkiców z
291 problemem w Eventum. Ustawiaj±c qmaila (czy nawet Postfiksa), aby
292 dostarcza³ pocztê wys³an± na podany adres (zwykle
293 draft-<liczba>@<domena>) do tego skryptu umo¿liwia siê u¿ytkownikom
294 wysy³anie szkiców napisanych w ich kliencie pocztowym do zapisania w
295 Eventum. Szkice te NIE bêd± wysy³ane na listê powiadomieñ.
297 %package route-emails
298 Summary: Eventum Email Routing
299 Summary(pl): Przekazywanie poczty dla Eventum
300 Group: Applications/WWW
301 Requires: %{name} = %{version}-%{release}
302 Requires: eventum(router)
304 %description route-emails
305 The email routing feature is used to automatically associate a thread
306 of emails into an Eventum issue. By setting up qmail (or even postfix)
307 to deliver emails sent to a specific address (usually
308 issue-<number>@<domain>) to the above script, users are able to use
309 their email clients to reply to emails coming from Eventum, and those
310 replies will be automatically associated with the issue and
311 broadcasted to the entire notification list.
313 %description route-emails -l pl
314 Funkcjonalno¶æ przekazywania poczty s³u¿y do automatycznego wi±zania
315 w±tku listów ze spraw± w Eventum. Po ustawieniu qmaila (czy nawet
316 postfiksa), aby dostarcza³ listy wysy³ane na pewien adres (zwykle
317 issue-<numer>@<domena>) na powy¿szy skrypt, u¿ytkownicy bêd± mogli
318 u¿ywaæ klientów pocztowych do odpowiadania na listy przychodz±ce z
319 Eventum, a odpowiedzi te bêd± automatycznie wi±zane ze spraw± i
320 rozprowadzane do ca³ej listy og³oszeniowej.
323 Summary: Eventum Note Routing
324 Summary(pl): Przekazywanie notatek dla Eventum
325 Group: Applications/WWW
326 Requires: %{name} = %{version}-%{release}
327 Requires: eventum(router)
329 %description route-notes
330 The note routing feature is used to automatically associate a thread
331 of notes into an Eventum issue. By setting up qmail (or even postfix)
332 to deliver emails sent to a specific address (usually
333 note-<number>@<domain>) to the above script, users are able to use
334 their email clients to reply to internal notes coming from Eventum,
335 and those replies will be automatically associated with the issue and
336 broadcasted to the notification list staff members.
338 %description route-notes -l pl
339 Funkcjonalno¶æ przekazywania notatek s³u¿y do automatycznego wi±zania
340 w±tku notatek ze spraw± w Eventum. Po ustawieniu qmaila (czy nawet
341 postfiksa), aby dostarcza³ listy wysy³ane na pewien adres (zwykle
342 note-<numer>@<domena>) na powy¿szy skrypt, u¿ytkownicy bêd± mogli
343 u¿ywaæ klientów pocztowych do odpowiadania na wewnêtrzne notatki
344 pochodz±ce od Eventu, a odpowiedzi te bêd± automatycznie wi±zane ze
345 spraw± i rozprowadzane do cz³onków personelu listy og³oszeniowej.
347 %package router-qmail
348 Summary: Eventum Mail Routing - qmail
349 Summary(pl): Przekazywanie poczty Eventum - qmail
350 Group: Applications/Mail
351 # loose dep is intentional. qmail subpackage isn't built on PLD
352 # builders and there really nothing changes.
353 Requires: %{name} >= %{version}-%{release}
354 Requires: qmail >= 1.03
355 Provides: eventum(router)
356 Obsoletes: eventum(router)
358 %description router-qmail
359 This package provides way of routing notes and emails back to Eventum
362 %description router-qmail -l pl
363 Ten pakiet udostêpnia metodê przekazywania notatek i listów do Eventum
366 %package router-postfix
367 Summary: Eventum Mail Routing - Postfix
368 Summary(pl): Przekazywanie poczty Eventum - Postfix
369 Group: Applications/Mail
370 Requires: %{name} = %{version}-%{release}
372 Provides: eventum(router)
373 Obsoletes: eventum(router)
375 %description router-postfix
376 This package provides way of routing notes and emails back to Eventum
379 The Postfix configuration instructions you can find from
380 <http://eventum.mysql.org/wiki/index.php/Setting_up_email_routing_with_postfix>.
382 %description router-postfix -l pl
383 Ten pakiet udostêpnia metodê przekazywania notatek i listów do Eventum
386 Opis konfiguracji Postfiksa mo¿na znale¼æ pod adresem
387 <http://eventum.mysql.org/wiki/index.php/Setting_up_email_routing_with_postfix>.
390 Summary: Eventum IRC Notification Bot
391 Summary(pl): IRC-owy bot powiadamiaj±cy dla Eventum
392 Group: Applications/WWW
393 Requires(post,preun): /sbin/chkconfig
394 Requires(triggerpostun): sed >= 4.0
395 Requires: %{name} = %{version}-%{release}
396 Requires: php-pear-Net_SmartIRC
397 Requires: php-sockets
398 Requires: rc-scripts >= 0.4.0.18
401 The IRC notification bot is a nice feature for remote teams that want
402 to handle issues and want to have a quick and easy way to get simple
403 notifications. Right now the bot notifies of the following actions:
406 - Issues that got their assignment list changed
408 NOTE: You will need to manually edit the bot.php script to set your
409 appropriate preferences, like IRC server and channel that the bot
412 %description irc -l pl
413 IRC-owy bot powiadamiaj±cy to mi³a funkcjonalno¶æ dla zdalnych
414 zespo³ów chc±cych obs³ugiwaæ sprawy i mieæ szybki i ³atwy sposób na
415 uzyskiwanie prostych powiadomieñ. Aktualnie bot powiadamia o
416 nastêpuj±cych zdarzeniach:
418 - zablokowanych listach
419 - sprawach, dla których zmieni³a siê lista powi±zañ
421 UWAGA: w celu wprowadzenia w³asnych ustawieñ, takich jak serwer IRC i
422 kana³ u¿ywany przez bota, trzeba rêcznie zmodyfikowaæ skrypt bot.php .
425 Summary: Eventum command-line interface
426 Summary(pl): Interfejs linii poleceñ dla Eventum
427 Group: Applications/WWW
428 Requires: %{name}-base = %{version}-%{release}
430 Requires: php-common >= 3:4.1.0
431 Requires: php-pear-XML_RPC
434 The Eventum command-line interface allows you to access most of the
435 features of the web interface straight from your command shell.
437 %description cli -l pl
438 Interfejs linii poleceñ Eventum pozwala na dostêp do wiêkszo¶ci
439 funkcji interfejsu WWW prosto z linii poleceñ pow³oki.
442 Summary: Eventum SCM integration
443 Summary(pl): Integracja SCM dla Eventum
444 Group: Applications/WWW
445 Requires: %{name}-base = %{version}-%{release}
447 Requires: php-common >= 3:4.1.0
451 This feature allows your software development teams to integrate your
452 Source Control Management system with your Issue Tracking System.
454 The integration is implemented in such a way that it will be forward
455 compatible with pretty much any SCM system, such as CVS.
458 </eventum/help.php?topic=scm_integration_installation>.
460 %description scm -l pl
461 Ten pakiet pozwala zespo³om programistów na integracjê systemu
462 zarz±dzania ¼ród³ami (SCM - Source Control Management) z systemem
465 Integracja jest zaimplementowana tak, aby byæ kompatybilna w przód z
466 prawie ka¿dym systemem SCM, jak np. CVS.
468 Szczegó³y na temat instalacji mo¿na przeczytaæ pod
469 </eventum/help.php?topic=scm_integration_installation>.
472 %setup -q %{?_snap:-n %{name}-%{_snap}}
474 find . -type f -print0 | xargs -0 sed -i -e 's,\r$,,'
476 rm -f setup.conf.php # not to be installed by *.php glob
477 rm -rf misc/upgrade/*v1.[123]* # too old to support in PLD Linux
478 rm -f misc/upgrade/flush_compiled_templates.php
479 rm -rf misc/upgrade/*/upgrade_config.php # not needed in PLD Linux
481 # sample, not used in eventum
482 rm -f rpc/xmlrpc_client.php
496 %{?with_order_patch:%patch11 -p1}
518 cat <<'EOF'> mysql-permissions.sql
519 # use this schema if you want to grant permissions manually instead of using setup
520 # this schema is extracted from setup/index.php.
521 GRANT SELECT, UPDATE, DELETE, INSERT, ALTER, DROP, CREATE, INDEX ON eventum.* TO 'eventum'@'localhost' IDENTIFIED BY 'password';
524 sed -e '1s,#!.*/bin/php -q,#!%{_bindir}/php,' misc/cli/eventum > %{name}-cli
525 sed -e '1i#!%{_bindir}/php' misc/scm/process_cvs_commits.php > %{name}-scm
526 sed -e '1i#!%{_bindir}/php' misc/irc/bot.php > %{name}-bot
527 mv misc/cli/eventumrc_example eventumrc
528 sed -i -e '1i#!%{_bindir}/php' misc/*.php
530 mv include/private_key.php private_key.php.in
532 # replace in remaining scripts config.inc.php to system one
533 grep -rl 'include_once(".*config.inc.php")' . | xargs sed -i -e '
534 s,include_once(".*config.inc.php"),include_once("%{_webappdir}/core.php"),
537 grep -rl 'APP_INC_PATH..*"private_key.php"' . | xargs sed -i -e '
538 s,include_once(APP_INC_PATH.*"private_key.php"),include_once("%{_webappdir}/private_key.php"),
541 # remove backups from patching as we use globs to package files to buildroot
542 find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
545 rm -rf $RPM_BUILD_ROOT
547 $RPM_BUILD_ROOT{%{_webappdir},%{_sysconfdir},%{_bindir},%{_sbindir},%{_libdir}} \
548 $RPM_BUILD_ROOT/etc/{rc.d/init.d,cron.d,sysconfig} \
549 $RPM_BUILD_ROOT/var/{run,cache,lib}/%{name} \
550 $RPM_BUILD_ROOT/var/log/{archiv/,}%{name} \
551 $RPM_BUILD_ROOT/var/lib/%{name}/routed_{emails,drafts,notes} \
552 $RPM_BUILD_ROOT%{_appdir}/{include,htdocs/misc,upgrade} \
554 cp -a *.php css customer images js manage reports rpc setup $RPM_BUILD_ROOT%{_appdir}/htdocs
555 cp -a misc/*.html $RPM_BUILD_ROOT%{_appdir}/htdocs/misc
556 cp -a misc/*.php $RPM_BUILD_ROOT%{_appdir}
557 cp -a templates $RPM_BUILD_ROOT%{_appdir}
558 cp -a include/{customer,custom_field,jpgraph,workflow} $RPM_BUILD_ROOT%{_appdir}/include
559 cp -a include/*.php $RPM_BUILD_ROOT%{_appdir}/include
560 cp -a logs/* $RPM_BUILD_ROOT/var/log/%{name}
561 cp -a misc/upgrade $RPM_BUILD_ROOT%{_appdir}
563 cp -a favicon.ico $RPM_BUILD_ROOT%{_appdir}/htdocs/favicon.ico
564 install %{SOURCE12} $RPM_BUILD_ROOT%{_appdir}/htdocs/setup/config.inc.php
565 install %{SOURCE13} $RPM_BUILD_ROOT%{_appdir}/upgrade/upgrade.sh
568 install -d $RPM_BUILD_ROOT%{_appdir}/cli
569 cp -a misc/cli/include/class.{misc,command_line}.php $RPM_BUILD_ROOT%{_appdir}/cli
570 cp -a misc/cli/config.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/cli.php
571 install %{name}-cli $RPM_BUILD_ROOT%{_bindir}/%{name}
572 install %{name}-bot $RPM_BUILD_ROOT%{_sbindir}
575 install %{name}-scm $RPM_BUILD_ROOT%{_libdir}/scm
576 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/cvs.php
579 cp -a private_key.php.in $RPM_BUILD_ROOT%{_webappdir}/private_key.php
581 install %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
582 install %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
583 install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
584 install %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
585 install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
586 install %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
587 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/irc.php
588 install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
589 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc
592 s,%%{APP_VERSION}%%,%{version}%{?_snap:-%{_snap}}%{?_rc:-%{_rc}},
593 s,%%{PHP_PEAR_DIR}%%,%{php_pear_dir},
594 s,%%{APP_PATH}%%,%{_appdir},
595 s,%%{SMARTY_DIR}%%,%{_smartydir},
596 s,%%{SYSCONFDIR}%%,%{_webappdir},
597 ' %{SOURCE10} > $RPM_BUILD_ROOT%{_webappdir}/core.php
600 > $RPM_BUILD_ROOT%{_webappdir}/setup.php
601 mv $RPM_BUILD_ROOT{%{_appdir}/htdocs/config.inc,%{_webappdir}/config}.php
603 install -d $RPM_BUILD_ROOT%{_smartyplugindir}
604 # These plugins are not in Smarty package (Smarty-2.6.2-3)
606 include/Smarty/plugins/function.{calendar,get_{display_style,innerhtml,textarea_size}}.php \
607 include/Smarty/plugins/modifier.highlight_quoted.php \
608 $RPM_BUILD_ROOT%{_smartyplugindir}
612 d=$RPM_BUILD_ROOT/var/lib/%{name}
613 echo 'root' > $d/.qmail
614 echo 'root' > $d/.qmail-default
615 echo '| %{_libdir}/router-qmail drafts' > $d/.qmail-draft-default
616 echo '| %{_libdir}/router-qmail emails 1' > $d/.qmail-issue-default
617 echo '| %{_libdir}/router-qmail notes' > $d/.qmail-note-default
618 install %{SOURCE11} $RPM_BUILD_ROOT%{_libdir}/router-qmail
621 install %{SOURCE14} $RPM_BUILD_ROOT%{_libdir}/router-postfix
623 install -D %{SOURCE15} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
626 rm -rf $RPM_BUILD_ROOT
629 %addusertogroup http %{name}
632 # check if the package is configured.
633 if grep -q 'header("Location: setup/")' %{_webappdir}/config.php; then
634 if [ -f %{_appdir}/htdocs/setup/index.php ]; then
635 %banner %{name} -e <<EOF
637 You haven't yet configured Eventum!
638 Please open in browser <http://localhost/eventum/>
639 If you need access from elsewhere, you need to edit
640 %{_webappdir}/apache.conf and restart apache.
642 IMPORTANT: When You have configured Eventum, please uninstall the
643 setup package, so that %{name}-setup is able to secure your Eventum
649 %banner %{name} -e <<EOF
651 You haven't yet configured Eventum!
653 To setup eventum, please install %{name}-setup and open in browser
654 <http://localhost/eventum/>.
655 If you need access from elsewhere, you need to edit
656 %{_webappdir}/apache.conf and restart apache.
658 IMPORTANT: When You have configured Eventum, please uninstall the
659 setup package, so that %{name}-setup is able to secure your Eventum
666 elif grep -q 'DEFAULTPRIVATEKEY' %{_webappdir}/private_key.php; then
667 %banner %{name} -e <<EOF
669 You have default private key installed!
671 Install %{name}-setup and open up http://yourserver/eventum/setup/
672 -- that will help you setup initial config.
674 when have configured Eventum, please uninstall the setup package,
675 so that %{name}-setup is able to secure your Eventum installation.
678 elif [ -d %{_appdir}/setup ]; then
679 %banner %{name} -e <<EOF
681 If you have have configured Eventum, please uninstall the setup package,
682 so that %{name}-setup is able to secure your Eventum installation.
687 # nuke Smarty templates cache after upgrade
688 rm -f /var/cache/eventum/*.php
691 if [ "$1" = "0" ]; then
693 rm -f /var/cache/eventum/*.php 2>/dev/null || :
697 %groupadd -P %{name}-base -g 146 %{name}
698 %useradd -P %{name}-base -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name}
701 if [ "$1" = "0" ]; then
707 CF=/etc/qmail/control/virtualdomains
708 if ! grep -q ':%{name}\b' $CF 2>/dev/null; then
709 FQDN=$(awk -F'"' '/define/ && $2 ~ /APP_HOSTNAME/ {print $4}' %{_webappdir}/config.php 2>/dev/null)
710 [ "$FQDN" ] || FQDN=$(hostname -f 2>/dev/null || echo localhost)
712 echo "#${FQDN}:%{name}" >> $CF
714 %banner %{name}-qmail -e <<EOF
716 Added "#${FQDN}:%{name}" to $CF,
717 Please verify that it is correct and restart qmail:
718 # service qmail reload
720 Consult qmail-send(8) for more information on virtualdomains.
726 if [ "$1" = "0" ]; then
727 sed -i -e '/:%{name}\b/d' /etc/qmail/control/virtualdomains
731 chmod 660 %{_webappdir}/{config,private_key}.php
732 chown root:eventum %{_webappdir}/{config,private_key}.php
735 if [ "$1" = "0" ]; then
736 chmod 640 %{_webappdir}/{config,private_key}.php
737 chown root:eventum %{_webappdir}/{config,private_key}.php
741 /sbin/chkconfig --add eventum-irc
742 %service eventum-irc restart "Eventum IRC Bot"
745 if [ "$1" = 0 ]; then
746 %service eventum-irc stop
747 /sbin/chkconfig --del eventum-irc
750 %triggerin -- apache1
751 %webapp_register apache %{_webapp}
753 %triggerun -- apache1
754 %webapp_unregister apache %{_webapp}
756 %triggerin -- apache < 2.2.0, apache-base
757 %webapp_register httpd %{_webapp}
759 %triggerun -- apache < 2.2.0, apache-base
760 %webapp_unregister httpd %{_webapp}
763 # only one upgrade trigger is called if you're upgrading over two
764 # versions, say 1.5 to 1.5.3, only 1.5.3 trigger is called.
765 # use common trigger (the highest version and rpmvercmp from poldek?)
766 %triggerpostun -- eventum < 1.5.1-0.257
767 %{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.5_to_v1.5.1 <<EOF
768 database_changes.php Perform database changes
771 %triggerpostun -- eventum < 1.5.2-0.289
772 %{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.5.1_to_v1.5.2 <<EOF
773 database_changes.php Perform database changes
774 set_priority_ranks.php Fix the ranking of priority values
777 %triggerpostun -- eventum < 1.5.3-0.291
778 %{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.5.2_to_v1.5.3 <<EOF
779 database_changes.php Perform database changes
782 %triggerpostun -- eventum < 1.5.4-1.12
783 %{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.5.3_to_v1.5.4 <<EOF
784 database_changes.php Perform database changes
787 %triggerpostun -- eventum < 1.6.0-RC2.6
788 %{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.5.5_to_v1.6.0 <<EOF
789 database_changes.php Perform database changes
790 upgrade_saved_searches.php Upgrade existing custom filters (saved searches)
793 %triggerpostun -- eventum < 1.6.1-0.2
794 %{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.6.0_to_v1.6.1 <<EOF
795 database_changes.php Perform database changes
798 %triggerpostun irc -- eventum-irc < 1.6.1-3.14
800 s,\$irc_host,$irc_server_hostname,
801 s,\$irc_port,$irc_server_port,
802 s,\$irc_nick,$nickname,
803 s,\$irc_realname,$realname,
804 s,\$irc_username,$username,
805 s,\$irc_password,$password,
806 ' /etc/eventum/irc.php
808 %triggerpostun -- eventum < 1.7.0-2.0.48
809 # migrate from apache-config macros
810 if [ -f /etc/%{name}/apache.conf.rpmsave ]; then
811 if [ -d /etc/apache/webapps.d ]; then
812 cp -f %{_webapps}/%{_webapp}/apache.conf{,.rpmnew}
813 cp -f /etc/%{name}/apache.conf.rpmsave %{_webapps}/%{_webapp}/apache.conf
816 if [ -d /etc/httpd/webapps.d ]; then
817 cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew}
818 cp -f /etc/%{name}/apache.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf
822 if [ -L /etc/apache/conf.d/99_%{_webapp}.conf ]; then
823 /usr/sbin/webapp register apache %{_webapp}
824 rm -f /etc/apache/conf.d/99_%{_webapp}.conf
825 %service -q apache reload
827 if [ -L /etc/httpd/httpd.conf/99_%{_webapp}.conf ]; then
828 /usr/sbin/webapp register httpd %{_webapp}
829 rm -f /etc/httpd/httpd.conf/99_%{_webapp}.conf
830 %service -q httpd reload
833 %{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.6.1_to_v1.7.0 <<EOF
834 database_changes.php Perform database changes
835 set_root_message_ids.php Set iss_root_message_id
839 for i in apache.conf config.php private_key.php setup.php; do
840 if [ -f /etc/eventum/$i.rpmsave ]; then
841 mv -f %{_webappdir}/$i{,.rpmnew}
842 mv -f /etc/eventum/$i.rpmsave %{_webappdir}/$i
846 %triggerpostun cli -- %{name}-cli < 1.7.0-3.4
847 if [ -f %{_webappdir}/cli.php.rpmsave ]; then
848 mv -f %{_sysconfdir}/cli.php{,.rpmnew}
849 mv -f %{_webappdir}/cli.php.rpmsave %{_sysconfdir}/cli.php
852 %triggerpostun irc -- %{name}-irc < 1.7.0-3.4
853 if [ -f %{_webappdir}/irc.php.rpmsave ]; then
854 mv -f %{_sysconfdir}/irc.php{,.rpmnew}
855 mv -f %{_webappdir}/irc.php.rpmsave %{_sysconfdir}/irc.php
859 %defattr(644,root,root,755)
860 %doc ChangeLog FAQ INSTALL README UPGRADE CONTRIB
861 %doc docs/* setup/schema.sql mysql-permissions.sql
862 %attr(751,root,root) %dir %{_webappdir}
863 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf
864 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf
865 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/config.php
866 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php
867 %attr(660,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/setup.php
868 %attr(640,root,eventum) %config %verify(not mtime) %{_webappdir}/core.php
870 %dir %attr(731,root,eventum) /var/log/%{name}
871 %attr(620,root,eventum) %ghost /var/log/%{name}/*
872 %dir %attr(750,root,root) /var/log/archiv/%{name}
873 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
875 %dir %{_appdir}/htdocs
876 %{_appdir}/htdocs/*.php
877 %{_appdir}/htdocs/*.ico
878 %{_appdir}/htdocs/css
879 %{_appdir}/htdocs/customer
880 %{_appdir}/htdocs/images
882 %{_appdir}/htdocs/manage
883 %{_appdir}/htdocs/reports
884 %{_appdir}/htdocs/rpc
885 %{_appdir}/htdocs/misc
887 %dir %{_appdir}/upgrade
888 %attr(755,root,root) %{_appdir}/upgrade/upgrade.sh
889 %{_appdir}/upgrade/[!u]*
892 %dir %{_appdir}/include
893 %{_appdir}/include/customer
894 %{_appdir}/include/custom_field
895 %{_appdir}/include/jpgraph
896 %{_appdir}/include/workflow
897 %{_appdir}/include/class.[!m]*.php
898 %{_appdir}/include/class.mail.php
899 %{_appdir}/include/class.mail_queue.php
900 %{_appdir}/include/class.mime_helper.php
901 %{_appdir}/include/class.misc.php
902 %{_appdir}/include/db_access.php
904 %dir %attr(730,root,eventum) /var/run/%{name}
905 %dir %attr(730,root,eventum) /var/cache/%{name}
908 %defattr(644,root,root,755)
909 %attr(751,root,root) %dir %{_sysconfdir}
912 # qmail will ignore user, if it's home directory is not owned
913 %attr(750,eventum,eventum) %dir /var/lib/%{name}
915 %attr(770,root,eventum) %dir /var/lib/%{name}/routed_emails
916 %attr(770,root,eventum) %dir /var/lib/%{name}/routed_drafts
917 %attr(770,root,eventum) %dir /var/lib/%{name}/routed_notes
920 %defattr(644,root,root,755)
921 %{_appdir}/htdocs/setup
924 %defattr(644,root,root,755)
925 %attr(755,root,root) %{_appdir}/process_mail_queue.php
926 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
929 %defattr(644,root,root,755)
930 %attr(755,root,root) %{_appdir}/download_emails.php
931 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
934 %defattr(644,root,root,755)
935 %attr(755,root,root) %{_appdir}/check_reminders.php
936 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
939 %defattr(644,root,root,755)
940 %{_appdir}/include/class.monitor.php
941 %attr(755,root,root) %{_appdir}/monitor.php
942 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
945 %defattr(644,root,root,755)
946 %attr(755,root,root) %{_appdir}/route_drafts.php
949 %defattr(644,root,root,755)
950 %attr(755,root,root) %{_appdir}/route_emails.php
953 %defattr(644,root,root,755)
954 %attr(755,root,root) %{_appdir}/route_notes.php
958 %defattr(644,root,root,755)
959 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /var/lib/%{name}/.qmail*
960 %attr(755,root,root) %{_libdir}/router-qmail
963 %files router-postfix
964 %defattr(644,root,root,755)
965 %attr(755,root,root) %{_libdir}/router-postfix
968 %defattr(644,root,root,755)
969 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/irc.php
970 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/eventum-irc
971 %attr(755,root,root) %{_sbindir}/%{name}-bot
972 %attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
975 %defattr(644,root,root,755)
977 %attr(644,root,root) %config %verify(not md5 mtime size) %{_sysconfdir}/cli.php
978 %attr(755,root,root) %{_bindir}/%{name}
982 %defattr(644,root,root,755)
983 %attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvs.php
984 %attr(755,root,root) %{_libdir}/scm