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