]> git.pld-linux.org Git - packages/eventum.git/blob - eventum.spec
- php 4.4.0 fixes, cleaned up patches
[packages/eventum.git] / eventum.spec
1 # TODO
2 # - system pear is incompatible, at least pear DB class seems broke 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)
6 #  - dTree 2.0.5 (http://www.destroydrop.com/javascript/tree/)
7 #  - dynCalendar.js (http://www.phpguru.org/dyncalendar.html)
8 #  - overLIB 3.5.1 (http://www.bosrup.com/web/overlib/)
9 #  - A few other small javascript libraries
10 # - 64bit platforms beware? http://bugs.php.net/bug.php?id=30215 (it's actually Smarty related problem)
11
12 %bcond_with     pear    # build with system PEAR packages (or use bundled ones)
13 %bcond_with     qmail   # build the router-qmail subpackage
14
15 # snapshot: DATE
16 #define _snap 20050227
17
18 # release candidate
19 #define _rc             RC1
20
21 %define _rel    4.4
22
23 %if 0%{?_rc:1}
24 %define _source http://pessoal.org/%{name}-%{version}-%{_rc}.tar.gz
25 %else
26 %if 0%{?_snap}
27 %define _source http://downloads.mysql.com/snapshots/%{name}/%{name}-nightly-%{_snap}.tar.gz
28 %else
29 %define _source http://mysql.dataphone.se/Downloads/%{name}/%{name}-%{version}.tar.gz
30 %endif
31 %endif
32
33 Summary:        Eventum Issue / Bug tracking system
34 Summary(pl):    Eventum - system ¶ledzenia spraw/b³êdów
35 Name:           eventum
36 Version:        1.6.1
37 Release:        %{?_snap:0.%{_snap}.}%{?_rc:%{_rc}.}%{_rel}
38 License:        GPL
39 Group:          Applications/WWW
40 Source0:        %{_source}
41 # Source0-md5:  bb05ecdb46b02580ffe892e270e536b3
42 Source1:        %{name}-apache.conf
43 Source2:        %{name}-mail-queue.cron
44 Source3:        %{name}-mail-download.cron
45 Source4:        %{name}-reminder.cron
46 Source5:        %{name}-monitor.cron
47 Source6:        %{name}-cvs.php
48 Source7:        %{name}-irc.php
49 Source8:        %{name}-irc.init
50 Source9:        %{name}-irc.sysconfig
51 Source10:       %{name}-config.php
52 Source11:       %{name}-router-qmail.sh
53 Source12:       http://dev.mysql.com/common/favicon.ico
54 # Source12-md5: 858be0130832da4144c08d4b59116411
55 Source13:       %{name}-config-setup.php
56 Source14:       %{name}-upgrade.sh
57 Patch0:         %{name}-paths.patch
58 Patch1:         %{name}-cvs-config.patch
59 Patch2:         %{name}-irc-config.patch
60 Patch3:         %{name}-PEAR.patch
61 Patch4:         http://glen.alkohol.ee/pld/%{name}-reply-subject.patch
62 Patch5:         %{name}-lf.patch
63 Patch6:         http://glen.alkohol.ee/pld/%{name}-maq-subject.patch
64 Patch7:         %{name}-bot-reconnect.patch
65 Patch9:         http://glen.alkohol.ee/pld/eventum-httpclient-clientside.patch
66 Patch10:        %{name}-hl-quot-fix.patch
67 Patch11:        eventum-cli-wr-separated.patch
68 Patch12:        eventum-php440.patch
69 URL:            http://dev.mysql.com/downloads/other/eventum/
70 BuildRequires:  rpmbuild(macros) >= 1.223
71 BuildRequires:  sed >= 4.0
72 Requires:       php >= 4.2.0
73 Requires:       php-gd
74 Requires:       php-imap
75 Requires:       php-mysql
76 Requires:       php-pcre
77 Requires:       php-session
78 Requires:       %{name}-base = %{epoch}:%{version}-%{release}
79 Requires:       Smarty >= 2.6.2
80 %if %{with pear}
81 Requires:       php-pear-Benchmark
82 Requires:       php-pear-DB
83 Requires:       php-pear-Date
84 Requires:       php-pear-HTTP_Request
85 Requires:       php-pear-Mail
86 Requires:       php-pear-Math_Stats
87 Requires:       php-pear-Net_DIME
88 Requires:       php-pear-Net_POP3
89 Requires:       php-pear-Net_SMTP
90 Requires:       php-pear-Net_Socket
91 Requires:       php-pear-Net_URL
92 Requires:       php-pear-Net_UserAgent_Detect
93 Requires:       php-pear-PEAR
94 Requires:       php-pear-Text_Diff
95 Requires:       php-pear-XML_RPC
96 %endif
97 Requires:       apache >= 1.3.33-2
98 Requires:       apache(mod_dir)
99 Requires(triggerpostun):        sed >= 4.0
100 BuildArch:      noarch
101 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
102
103 %define         _sysconfdir     /etc/%{name}
104 %define         _libdir         %{_prefix}/lib/%{name}
105 %define         _appdir %{_datadir}/%{name}
106 %define         _smartyplugindir        %{php_pear_dir}/Smarty/plugins
107
108 %description
109 Eventum is a user-friendly and flexible issue tracking system that can
110 be used by a support department to track incoming technical support
111 requests, or by a software development team to quickly organize tasks
112 and bugs. Eventum is used by the MySQL AB Technical Support team, and
113 has allowed us to dramatically improve our response times.
114
115 %description -l pl
116 Eventum to przyjazny dla u¿ytkownika system ¶ledzenia spraw, który
117 mo¿e byæ u¿ywany przez dzia³ obs³ugi do ¶ledzenia przychodz±cych ¿±dañ
118 obs³ugi technicznej albo przez zespó³ tworz±cy oprogramowanie do
119 szybkiej organizacji zadañ i b³êdów. Eventum jest u¿ywany przez zespó³
120 Technical Support MySQL AB i umo¿liwi³ im znacz±co poprawiæ czasy
121 reakcji.
122
123 %package base
124 Summary:        Eventum base package
125 Summary(pl):    Podstawowy pakiet Eventum
126 Group:          Applications/WWW
127 Requires(pre):  /bin/id
128 Requires(pre):  /usr/bin/getgid
129 Requires(pre):  /usr/sbin/useradd
130 Requires(pre):  /usr/sbin/groupadd
131 Requires(postun):       /usr/sbin/userdel
132 Requires(postun):       /usr/sbin/groupdel
133 Provides:       user(eventum)
134 Provides:       group(eventum)
135
136 %description base
137 This package contains base directory structure for Eventum.
138
139 %description base -l pl
140 Ten pakiet zawiera podstawow± strukturê katalogów dla Eventum.
141
142 %package setup
143 Summary:        Eventum setup package
144 Summary(pl):    Pakiet do wstêpnej konfiguracji Eventum
145 Group:          Applications/WWW
146 PreReq:         %{name} = %{epoch}:%{version}-%{release}
147
148 %description setup
149 Install this package to configure initial Eventum installation. You
150 should uninstall this package when you're done, as it considered
151 insecure to keep the setup files in place.
152
153 %description setup -l pl
154 Ten pakiet nale¿y zainstalowaæ w celu wstêpnej konfiguracji Eventum po
155 pierwszej instalacji. Potem nale¿y go odinstalowaæ, jako ¿e
156 pozostawienie plików instalacyjnych mog³oby byæ niebezpieczne.
157
158 %package mail-queue
159 Summary:        Eventum mail queue process
160 Summary(pl):    Przetwarzanie kolejki poczty Eventum
161 Group:          Applications/WWW
162 Requires:       %{name} = %{epoch}:%{version}-%{release}
163 Requires:       crondaemon
164 Requires:       php >= 4.1.0
165
166 %description mail-queue
167 Beginning with the first release of Eventum, emails are not directly
168 sent out from the various scripts, but rather added to a mail queue
169 table that is processed by a cron job. If an email cannot be sent, it
170 will be marked as such in the mail queue log, and the cron job script
171 will re-try to send it again the next time it runs.
172
173 This package contains the cron job.
174
175 %description mail-queue -l pl
176 Od pierwszego wydania Eventum poczta nie jest wysy³ana bezpo¶rednio z
177 ró¿nych skryptów, lecz dodawana do kolejki przetwarzanej z crona.
178 Je¶li poczta nie mo¿e byæ wys³ana, bêdzie odpowiednio oznaczona w logu
179 kolejki poczty, a skrypt z crona bêdzie próbowa³ wys³aæ j± ponownie
180 nastêpnym razem.
181
182 Ten pakiet zawiera zadanie dla crona.
183
184 %package mail-download
185 Summary:        Eventum email download
186 Summary(pl):    ¦ci±ganie poczty Eventum
187 Group:          Applications/WWW
188 Requires:       %{name} = %{epoch}:%{version}-%{release}
189 Requires:       crondaemon
190 Requires:       php >= 4.1.0
191
192 %description mail-download
193 In order for Eventum's email integration feature to work, you need to
194 setup a cron job to run the script every so often.
195
196 This package contains the cron job.
197
198 %description mail-download -l pl
199 Aby integracja poczty elektronicznej w Eventum dzia³a³a, trzeba
200 ustawiæ zadanie crona, aby uruchamia³ odpowiedni skrypt wystarczaj±co
201 czêsto.
202
203 Ten pakiet zawiera zadanie dla crona.
204
205 %package reminder
206 Summary:        Eventum Reminder System
207 Summary(pl):    System przypominania dla Eventum
208 Group:          Applications/WWW
209 Requires:       %{name} = %{epoch}:%{version}-%{release}
210 Requires:       php >= 4.1.0
211 Requires:       crondaemon
212
213 %description reminder
214 The reminder system was designed with the objective as serving as a
215 safe net for issues that need attention. Depending on what
216 configuration you create, you may have several reminders (or alerts)
217 be sent out whenever an issue needs attention, for whatever parameter
218 you may deem necessary.
219
220 This package contains the cron job.
221
222 %description reminder -l pl
223 System przypominania zosta³ zaprojektowany tak, aby s³u¿y³ jako
224 bezpieczna sieæ dla spraw wymagaj±cych uwagi. W zale¿no¶ci od
225 konfiguracji mo¿na ustawiæ ró¿ne przypominajki (lub alarmy) wysy³ane
226 przy ka¿dej sprawie wymagaj±cej uwagi lub przy parametrze, który mo¿na
227 uwa¿aæ za potrzebny.
228
229 Ten pakiet zawiera zadanie dla crona.
230
231 %package monitor
232 Summary:        Eventum Heartbeat Monitor
233 Summary(pl):    Monitor ¿ycia dla Eventum
234 Group:          Applications/WWW
235 Requires:       %{name} = %{epoch}:%{version}-%{release}
236 Requires:       php >= 4.1.0
237 Requires:       php-posix
238 Requires:       crondaemon
239
240 %description monitor
241 The heartbeat monitor is a feature designed for the administrator that
242 wants to be alerted whenever a common problem in Eventum is detected,
243 like the database server not being available anymore, or maybe when
244 the recommended permissions for certain configuration files are
245 changed.
246
247 Please note that before running the heartbeat monitor, you may need to
248 customize some of the checks to be appropriate for your own system,
249 particularly the permission and file checks on
250 Monitor::checkConfiguration().
251
252 This package contains the cron job.
253
254 %description monitor -l pl
255 Monitor ¿ycia to funkcjonalno¶æ zaprojektowana dla administratora
256 chc±cego byæ alarmowanym przy ka¿dym wykryciu popularnego problemu z
257 Eventum, jak nie dzia³anie serwera bazy danych albo zmiana uprawnieñ
258 do plików konfiguracyjnych.
259
260 Nale¿y zauwa¿yæ, ¿e przed uruchomieniem tego monitora mo¿e byæ
261 konieczne dostosowanie niektórych testów do systemu, w szczególno¶ci
262 testów uprawnieñ i plików w Monitor::checkConfiguration().
263
264 Ten pakiet zawiera zadanie dla crona.
265
266 %package route-emails
267 Summary:        Eventum Email Routing
268 Summary(pl):    Przekazywanie poczty dla Eventum
269 Group:          Applications/WWW
270 Requires:       %{name} = %{epoch}:%{version}-%{release}
271 Requires:       php >= 4.1.0
272 Requires:       eventum(router)
273
274 %description route-emails
275 The email routing feature is used to automatically associate a thread
276 of emails into an Eventum issue. By setting up qmail (or even postfix)
277 to deliver emails sent to a specific address (usually
278 issue-<number>@<domain>) to the above script, users are able to use
279 their email clients to reply to emails coming from Eventum, and those
280 replies will be automatically associated with the issue and
281 broadcasted to the entire notification list.
282
283 %description route-emails -l pl
284 Funkcjonalno¶æ przekazywania poczty s³u¿y do automatycznego wi±zania
285 w±tku listów ze spraw± w Eventum. Po ustawieniu qmaila (czy nawet
286 postfiksa), aby dostarcza³ listy wysy³ane na pewien adres (zwykle
287 issue-<numer>@<domena>) na powy¿szy skrypt, u¿ytkownicy bêd± mogli
288 u¿ywaæ klientów pocztowych do odpowiadania na listy przychodz±ce z
289 Eventum, a odpowiedzi te bêd± automatycznie wi±zane ze spraw± i
290 rozprowadzane do ca³ej listy og³oszeniowej.
291
292 %package route-notes
293 Summary:        Eventum Note Routing
294 Summary(pl):    Przekazywanie notatek dla Eventum
295 Group:          Applications/WWW
296 Requires:       %{name} = %{epoch}:%{version}-%{release}
297 Requires:       php >= 4.1.0
298 Requires:       eventum(router)
299
300 %description route-notes
301 The note routing feature is used to automatically associate a thread
302 of notes into an Eventum issue. By setting up qmail (or even postfix)
303 to deliver emails sent to a specific address (usually
304 note-<number>@<domain>) to the above script, users are able to use
305 their email clients to reply to internal notes coming from Eventum,
306 and those replies will be automatically associated with the issue and
307 broadcasted to the notification list staff members.
308
309 %description route-notes -l pl
310 Funkcjonalno¶æ przekazywania notatek s³u¿y do automatycznego wi±zania
311 w±tku notatek ze spraw± w Eventum. Po ustawieniu qmaila (czy nawet
312 postfiksa), aby dostarcza³ listy wysy³ane na pewien adres (zwykle
313 note-<numer>@<domena>) na powy¿szy skrypt, u¿ytkownicy bêd± mogli
314 u¿ywaæ klientów pocztowych do odpowiadania na wewnêtrzne notatki
315 pochodz±ce od Eventu, a odpowiedzi te bêd± automatycznie wi±zane ze
316 spraw± i rozprowadzane do cz³onków personelu listy og³oszeniowej.
317
318 %package router-qmail
319 Summary:        Eventum Mail Routing - qmail
320 Summary(pl):    Przekazywanie poczty Eventum - qmail
321 Group:          Applications/Mail
322 # loose dep is intentional. qmail subpackage isn't built on PLD
323 # builders and there really nothing changes.
324 Requires:       %{name} >= %{epoch}:%{version}-%{release}
325 Requires:       qmail >= 1.03
326 Provides:       eventum(router)
327 Obsoletes:      eventum(router)
328
329 %description router-qmail
330 This package provides way of routing notes and emails back to Eventum
331 via qmail.
332
333 %description router-qmail -l pl
334 Ten pakiet udostêpnia metodê przekazywania notatek i listów do Eventum
335 przez qmaila.
336
337 %package router-postfix
338 Summary:        Eventum Mail Routing - Postfix
339 Summary(pl):    Przekazywanie poczty Eventum - Postfix
340 Group:          Applications/Mail
341 Requires:       %{name} = %{epoch}:%{version}-%{release}
342 Requires:       postfix
343 Provides:       eventum(router)
344 Obsoletes:      eventum(router)
345
346 %description router-postfix
347 This package provides way of routing notes and emails back to Eventum
348 via Postfix.
349
350 %description router-postfix -l pl
351 Ten pakiet udostêpnia metodê przekazywania notatek i listów do Eventum
352 przez Postfiksa.
353
354 %package irc
355 Summary:        Eventum IRC Notification Bot
356 Summary(pl):    IRC-owy bot powiadamiaj±cy dla Eventum
357 Group:          Applications/WWW
358 Requires(triggerpostun):        sed >= 4.0
359 Requires:       %{name} = %{epoch}:%{version}-%{release}
360 Requires:       php >= 4.1.0
361 Requires:       php-sockets
362 #Requires:      php-pear-Net_SmartIRC
363 Requires:       rc-scripts >= 0.4.0.18
364
365 %description irc
366 The IRC notification bot is a nice feature for remote teams that want
367 to handle issues and want to have a quick and easy way to get simple
368 notifications. Right now the bot notifies of the following actions:
369 - New Issues
370 - Blocked emails
371 - Issues that got their assignment list changed
372
373 NOTE: You will need to manually edit the bot.php script to set your
374 appropriate preferences, like IRC server and channel that the bot
375 should join.
376
377 %description irc -l pl
378 IRC-owy bot powiadamiaj±cy to mi³a funkcjonalno¶æ dla zdalnych
379 zespo³ów chc±cych obs³ugiwaæ sprawy i mieæ szybki i ³atwy sposób na
380 uzyskiwanie prostych powiadomieñ. Aktualnie bot powiadamia o
381 nastêpuj±cych zdarzeniach:
382 - nowych sprawach
383 - zablokowanych listach
384 - sprawach, dla których zmieni³a siê lista powi±zañ
385
386 UWAGA: w celu wprowadzenia w³asnych ustawieñ, takich jak serwer IRC i
387 kana³ u¿ywany przez bota, trzeba rêcznie zmodyfikowaæ skrypt bot.php .
388
389 %package cli
390 Summary:        Eventum command-line interface
391 Summary(pl):    Interfejs linii poleceñ dla Eventum
392 Group:          Applications/WWW
393 Requires:       %{name}-base = %{epoch}:%{version}-%{release}
394 Requires:       php >= 4.1.0
395 Requires:       php-cli
396 Requires:       php-curl
397 Requires:       php-xml
398 Requires:       php-pear-XML_RPC
399
400 %description cli
401 The Eventum command-line interface allows you to access most of the
402 features of the web interface straight from your command shell.
403
404 %description cli -l pl
405 Interfejs linii poleceñ Eventum pozwala na dostêp do wiêkszo¶ci
406 funkcji interfejsu WWW prosto z linii poleceñ pow³oki.
407
408 %package scm
409 Summary:        Eventum SCM integration
410 Summary(pl):    Integracja SCM dla Eventum
411 Group:          Applications/WWW
412 Requires:       %{name}-base = %{epoch}:%{version}-%{release}
413 Requires:       php-cli >= 4.1.0
414 Requires:       php-pcre
415
416 %description scm
417 This feature allows your software development teams to integrate your
418 Source Control Management system with your Issue Tracking System.
419
420 The integration is implemented in such a way that it will be forward
421 compatible with pretty much any SCM system, such as CVS.
422
423 For installation see
424 </eventum/help.php?topic=scm_integration_installation>.
425
426 %description scm -l pl
427 Ten pakiet pozwala zespo³om programistów na integracjê systemu
428 zarz±dzania ¼ród³ami (SCM - Source Control Management) z systemem
429 ¶ledzenia spraw.
430
431 Integracja jest zaimplementowana tak, aby byæ kompatybilna w przód z
432 prawie ka¿dym systemem SCM, jak np. CVS.
433
434 Szczegó³y na temat instalacji mo¿na przeczytaæ pod
435 </eventum/help.php?topic=scm_integration_installation>.
436
437 %prep
438 %setup -q %{?_snap:-n %{name}-%{_snap}}
439 # undos the source
440 find . -type f -print0 | xargs -0 sed -i -e 's,
441 $,,'
442
443 rm -f setup.conf.php
444 rm -rf misc/upgrade/*v1.[123]* # too old to support in PLD
445 rm -rf misc/upgrade/flush_compiled_templates.php
446
447 # using system package
448 #rm -rf include/pear/Net/SmartIRC*
449
450 # packaging
451 %patch0 -p1 -b .paths
452 %patch1 -p1
453 %patch2 -p1 -b .irc-config
454 %{?with_pear:%patch3 -p1 -b .PEAR}
455
456 # bug fixes.
457 %patch4 -p1
458 %patch5 -p1
459 %patch6 -p1
460 %patch7 -p1
461 %patch9 -p1
462 %patch10 -p1
463 %patch11 -p1
464 %patch12 -p1
465
466 # replace in remaining scripts config.inc.php to system one
467 grep -rl 'include_once(".*config.inc.php")' . | xargs sed -i -e '
468         s,include_once(".*config.inc.php"),include_once("%{_sysconfdir}/core.php"),
469 '
470
471 grep -rl 'APP_INC_PATH..*"private_key.php"' . | xargs sed -i -e '
472         s,include_once(APP_INC_PATH.*"private_key.php"),include_once("%{_sysconfdir}/private_key.php"),
473 '
474 find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
475
476 %install
477 rm -rf $RPM_BUILD_ROOT
478 install -d \
479         $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_libdir}} \
480         $RPM_BUILD_ROOT/etc/{rc.d/init.d,cron.d,sysconfig} \
481         $RPM_BUILD_ROOT/var/{run,log,cache,lib}/%{name} \
482         $RPM_BUILD_ROOT/var/lib/%{name}/routed_emails \
483         $RPM_BUILD_ROOT%{_appdir}/{include,htdocs/misc,upgrade} \
484
485 cp -a *.php css customer images js manage reports rpc setup $RPM_BUILD_ROOT%{_appdir}/htdocs
486 cp -a misc/*.html $RPM_BUILD_ROOT%{_appdir}/htdocs/misc
487 cp -a misc/*.php $RPM_BUILD_ROOT%{_appdir}
488 cp -a misc/irc $RPM_BUILD_ROOT%{_appdir}
489 cp -a templates $RPM_BUILD_ROOT%{_appdir}
490 cp -a include/{customer,jpgraph,pear,workflow} $RPM_BUILD_ROOT%{_appdir}/include
491 cp -a include/*.php $RPM_BUILD_ROOT%{_appdir}/include
492 cp -a logs/* $RPM_BUILD_ROOT/var/log/%{name}
493 cp -a misc/upgrade $RPM_BUILD_ROOT%{_appdir}
494
495 install %{SOURCE12} $RPM_BUILD_ROOT%{_appdir}/htdocs/favicon.ico
496 install %{SOURCE13} $RPM_BUILD_ROOT%{_appdir}/htdocs/setup/config.inc.php
497 install %{SOURCE14} $RPM_BUILD_ROOT%{_appdir}/upgrade/upgrade.sh
498
499 # cli
500 install -d $RPM_BUILD_ROOT%{_appdir}/cli
501 install misc/cli/include/class.{misc,command_line}.php $RPM_BUILD_ROOT%{_appdir}/cli
502 install misc/cli/config.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/cli.php
503 sed -e '1s,#!.*/bin/php,#!%{_bindir}/php4,' \
504         misc/cli/eventum > $RPM_BUILD_ROOT%{_bindir}/%{name}
505 cp -f misc/cli/eventumrc_example eventumrc
506
507 # scm
508 echo '#!%{_bindir}/php4 -q' > %{name}-scm
509 cat misc/scm/process_cvs_commits.php >> %{name}-scm
510 install %{name}-scm $RPM_BUILD_ROOT%{_libdir}/scm
511
512 # private key
513 mv $RPM_BUILD_ROOT{%{_appdir}/include/private_key.php,%{_sysconfdir}}
514 # change private key, so we can easily grep
515 sed -i -e '
516 s,$private_key\s*=\s*".*";,$private_key = "DEFAULTPRIVATEKEYPLEASERUNSETUP!";,
517 ' $RPM_BUILD_ROOT%{_sysconfdir}/private_key.php
518
519 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
520 install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
521 install %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
522 install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
523 install %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
524 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/cvs.php
525 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/irc.php
526 install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
527 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc
528 sed -e 's,%%{APP_VERSION}%%,%{version}%{?_snap:-%{_snap}},' \
529         %{SOURCE10} > $RPM_BUILD_ROOT%{_sysconfdir}/core.php
530
531 # config
532 > $RPM_BUILD_ROOT%{_sysconfdir}/setup.php
533 mv $RPM_BUILD_ROOT{%{_appdir}/htdocs/config.inc,%{_sysconfdir}/config}.php
534
535 # sample, not used in eventum
536 rm -f $RPM_BUILD_ROOT%{_appdir}/htdocs/rpc/xmlrpc_client.php
537
538 %if %{with pear}
539 # provided by PEAR
540 rm -rf $RPM_BUILD_ROOT%{_appdir}/include/pear
541 %endif
542
543 # use system Smarty
544 rm -rf $RPM_BUILD_ROOT%{_appdir}/include/Smarty
545 install -d $RPM_BUILD_ROOT%{_smartyplugindir}
546 # These plugins are not in Smarty package (Smarty-2.6.2-3)
547 cp -a \
548         include/Smarty/plugins/function.{calendar,get_{display_style,innerhtml,textarea_size}}.php \
549         include/Smarty/plugins/modifier.highlight_quoted.php \
550         $RPM_BUILD_ROOT%{_smartyplugindir}
551
552 # qmail router
553 %if %{with qmail}
554 d=$RPM_BUILD_ROOT/var/lib/%{name}
555 echo 'root' > $d/.qmail
556 echo 'root' > $d/.qmail-default
557 echo '| %{_libdir}/router-qmail drafts' > $d/.qmail-draft-default
558 echo '| %{_libdir}/router-qmail emails 1' > $d/.qmail-issue-default
559 echo '| %{_libdir}/router-qmail notes' > $d/.qmail-note-default
560 install %{SOURCE11} $RPM_BUILD_ROOT%{_libdir}/router-qmail
561 %endif
562
563 %clean
564 rm -rf $RPM_BUILD_ROOT
565
566 %pre
567 %addusertogroup http %{name}
568
569 %post
570 # check if the package is configured.
571 if grep -q 'header("Location: setup/")' %{_sysconfdir}/config.php; then
572 if [ -f %{_appdir}/htdocs/setup/index.php ]; then
573 %banner %{name} -e <<EOF
574
575 You haven't yet configured Eventum!
576 Please open in browser <http://localhost/eventum/>
577 If you need access from elsewhere, you need to edit
578 %{_sysconfdir}/apache.conf and restart apache.
579
580 IMPORTANT: When You have configured Eventum, please uninstall the
581 setup package, so that %{name}-setup is able to secure your Eventum
582 installation.
583
584 EOF
585 #' vim stupidity.
586 else
587 %banner %{name} -e <<EOF
588
589 You haven't yet configured Eventum!
590
591 To setup eventum, please install %{name}-setup and open in browser
592 <http://localhost/eventum/>.
593 If you need access from elsewhere, you need to edit
594 %{_sysconfdir}/apache.conf and restart apache.
595
596 IMPORTANT: When You have configured Eventum, please uninstall the
597 setup package, so that %{name}-setup is able to secure your Eventum
598 installation.
599
600 EOF
601 #' vim stupidity.
602 fi
603
604 elif grep -q 'DEFAULTPRIVATEKEY' %{_sysconfdir}/private_key.php; then
605 %banner %{name} -e <<EOF
606
607 You have default private key installed!
608
609 Install %{name}-setup and open up http://yourserver/eventum/setup/
610 -- that will help you setup initial config.
611
612 when have configured Eventum, please uninstall the setup package,
613 so that %{name}-setup is able to secure your Eventum installation.
614
615 EOF
616         elif [ -d %{_appdir}/setup ]; then
617 %banner %{name} -e <<EOF
618
619 If you have have configured Eventum, please uninstall the setup package,
620 so that %{name}-setup is able to secure your Eventum installation.
621
622 EOF
623 fi
624
625 # nuke Smarty templates cache after upgrade
626 rm -f /var/cache/eventum/*.php
627
628 %preun
629 if [ "$1" = "0" ]; then
630         # nuke cache
631         rm -f /var/cache/eventum/*.php 2>/dev/null || :
632 fi
633
634 %pre base
635 %groupadd -P %{name}-base -g 146 %{name}
636 %useradd -P %{name}-base -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name}
637
638 %postun base
639 if [ "$1" = "0" ]; then
640         %userremove %{name}
641         %groupremove %{name}
642 fi
643
644 %if %{with qmail}
645 %post router-qmail
646 CF=/etc/qmail/control/virtualdomains
647 if ! grep -q ':%{name}\b' $CF 2>/dev/null; then
648         FQDN=$(awk -F'"' '/define/ && $2 ~ /APP_HOSTNAME/ {print $4}' %{_sysconfdir}/config.php 2>/dev/null)
649         [ "$FQDN" ] || FQDN=$(hostname -f 2>/dev/null || echo localhost)
650         umask 022
651         echo "#${FQDN}:%{name}" >> $CF
652
653 %banner %{name}-qmail -e <<EOF
654
655 Added "#${FQDN}:%{name}" to $CF,
656 Please verify that it is correct and restart qmail:
657 # service qmail reload
658
659 Consult qmail-send(8) for more information on virtualdomains.
660
661 EOF
662 fi
663
664 %preun router-qmail
665 if [ "$1" = "0" ]; then
666         sed -i -e '/:%{name}\b/d' /etc/qmail/control/virtualdomains
667 fi
668 %endif
669
670 %post setup
671 chmod 660 %{_sysconfdir}/{config,private_key}.php
672 chown root:eventum %{_sysconfdir}/{config,private_key}.php
673
674 %postun setup
675 if [ "$1" = "0" ]; then
676         chmod 640 %{_sysconfdir}/{config,private_key}.php
677         chown root:eventum %{_sysconfdir}/{config,private_key}.php
678 fi
679
680 %post irc
681 /sbin/chkconfig --add eventum-irc
682 if [ -f /var/lock/subsys/eventum-irc ]; then
683         /etc/rc.d/init.d/eventum-irc restart >&2
684 else
685         echo "Run \"/etc/rc.d/init.d/eventum-irc start\" to start Eventum IRC Bot." >&2
686 fi
687
688 %triggerin -- apache1 >= 1.3.33-2
689 %apache_config_install -v 1 -c %{_sysconfdir}/apache.conf
690
691 %triggerun -- apache1 >= 1.3.33-2
692 %apache_config_uninstall -v 1
693
694 %triggerin -- apache >= 2.0.0
695 %apache_config_install -v 2 -c %{_sysconfdir}/apache.conf
696
697 %triggerun -- apache >= 2.0.0
698 %apache_config_uninstall -v 2
699
700 # FIXME
701 # only one upgrade trigger is called if you're upgrading over two
702 # versions, say 1.5 to 1.5.3, only 1.5.3 trigger is called.
703 # use common trigger (the highest version and rpmvercmp from poldek?)
704 %triggerpostun -- eventum < 1.5.1-0.257
705 %{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.5_to_v1.5.1 <<EOF
706 database_changes.php Perform database changes
707 EOF
708
709 %triggerpostun -- eventum < 1.5.2-0.289
710 %{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.5.1_to_v1.5.2 <<EOF
711 database_changes.php Perform database changes
712 set_priority_ranks.php Fix the ranking of priority values
713 EOF
714
715 %triggerpostun -- eventum < 1.5.3-0.291
716 %{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.5.2_to_v1.5.3 <<EOF
717 database_changes.php Perform database changes
718 EOF
719
720 %triggerpostun -- eventum < 1.5.4-1.12
721 %{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.5.3_to_v1.5.4 <<EOF
722 database_changes.php Perform database changes
723 EOF
724
725 %triggerpostun -- eventum < 1.6.0-RC2.6
726 %{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.5.5_to_v1.6.0 <<EOF
727 database_changes.php Perform database changes
728 upgrade_saved_searches.php Upgrade existing custom filters (saved searches)
729 EOF
730
731 %triggerpostun -- eventum < 1.6.1-0.2
732 %{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.6.0_to_v1.6.1 <<EOF
733 database_changes.php Perform database changes
734 EOF
735
736 %triggerpostun irc -- eventum-irc < 1.6.1-3.14
737 sed -i -e '
738 s,\$irc_host,$irc_server_hostname,
739 s,\$irc_port,$irc_server_port,
740 s,\$irc_nick,$nickname,
741 s,\$irc_realname,$realname,
742 s,\$irc_username,$username,
743 s,\$irc_password,$password,
744 ' /etc/eventum/irc.php
745
746 %files
747 %defattr(644,root,root,755)
748 %doc ChangeLog FAQ INSTALL README UPGRADE
749 %doc docs/* rpc/xmlrpc_client.php setup/schema.sql
750 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
751 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
752 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/private_key.php
753 %attr(660,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/setup.php
754 %attr(640,root,eventum) %config %verify(not mtime) %{_sysconfdir}/core.php
755
756 %dir %attr(731,root,eventum) /var/log/%{name}
757 %attr(620,root,eventum) %ghost /var/log/%{name}/*
758
759 %dir %{_appdir}/htdocs
760 %{_appdir}/htdocs/*.php
761 %{_appdir}/htdocs/*.ico
762 %{_appdir}/htdocs/css
763 %{_appdir}/htdocs/customer
764 %{_appdir}/htdocs/images
765 %{_appdir}/htdocs/js
766 %{_appdir}/htdocs/manage
767 %{_appdir}/htdocs/reports
768 %{_appdir}/htdocs/rpc
769 %{_appdir}/htdocs/misc
770
771 %{_appdir}/templates
772 %dir %{_appdir}/upgrade
773 %attr(755,root,root) %{_appdir}/upgrade/upgrade.sh
774 %{_appdir}/upgrade/[!u]*
775
776 %{_smartyplugindir}/*
777 %if %{without pear}
778 %{_appdir}/include/pear
779 %endif
780
781 %dir %{_appdir}/include
782 %{_appdir}/include/customer
783 %{_appdir}/include/jpgraph
784 %{_appdir}/include/workflow
785 %{_appdir}/include/class.[!m]*.php
786 %{_appdir}/include/class.mail.php
787 %{_appdir}/include/class.mail_queue.php
788 %{_appdir}/include/class.mime_helper.php
789 %{_appdir}/include/class.misc.php
790 %{_appdir}/include/db_access.php
791
792 %dir %attr(730,root,eventum) /var/run/%{name}
793 %dir %attr(730,root,eventum) /var/cache/%{name}
794
795 %files base
796 %defattr(644,root,root,755)
797 %attr(751,root,root) %dir %{_sysconfdir}
798 %dir %{_libdir}
799 %dir %{_appdir}
800 # qmail will ignore user, if it's home directory is not owned
801 %attr(750,eventum,eventum) %dir /var/lib/%{name}
802 # for saved routed emails
803 %attr(770,root,eventum) %dir /var/lib/%{name}/routed_emails
804
805 %files setup
806 %defattr(644,root,root,755)
807 %{_appdir}/htdocs/setup
808
809 %files mail-queue
810 %defattr(644,root,root,755)
811 %{_appdir}/process_mail_queue.php
812 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
813
814 %files mail-download
815 %defattr(644,root,root,755)
816 %{_appdir}/download_emails.php
817 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
818
819 %files reminder
820 %defattr(644,root,root,755)
821 %{_appdir}/check_reminders.php
822 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
823
824 %files monitor
825 %defattr(644,root,root,755)
826 %{_appdir}/include/class.monitor.php
827 %{_appdir}/monitor.php
828 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
829
830 %files route-emails
831 %defattr(644,root,root,755)
832 %{_appdir}/route_emails.php
833
834 %files route-notes
835 %defattr(644,root,root,755)
836 %{_appdir}/route_drafts.php
837 %{_appdir}/route_notes.php
838
839 %if %{with qmail}
840 %files router-qmail
841 %defattr(644,root,root,755)
842 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /var/lib/%{name}/.qmail*
843 %attr(755,root,root) %{_libdir}/router-qmail
844 %endif
845
846 %files router-postfix
847 %defattr(644,root,root,755)
848
849 %files irc
850 %defattr(644,root,root,755)
851 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/irc.php
852 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/eventum-irc
853 %{_appdir}/irc
854 %attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
855
856 %files cli
857 %defattr(644,root,root,755)
858 %doc eventumrc
859 %attr(644,root,root) %config %verify(not md5 mtime size) %{_sysconfdir}/cli.php
860 %attr(755,root,root) %{_bindir}/%{name}
861 %{_appdir}/cli
862
863 %files scm
864 %defattr(644,root,root,755)
865 %attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvs.php
866 %attr(755,root,root) %{_libdir}/scm
This page took 0.129605 seconds and 4 git commands to generate.