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