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