]> git.pld-linux.org Git - packages/eventum.git/blob - eventum.spec
- up to r4022, switching to uid/gid http
[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 #
9 # Conditional build:
10 %bcond_without  order   # with experimental order patch
11
12 #define snap    20060921
13 %define rev             r4022
14 %define rel             2.54
15 #define _rc             RC3
16
17 %define         php_min_version 5.1.2
18 %include        /usr/lib/rpm/macros.php
19 Summary:        Eventum Issue / Bug tracking system
20 Summary(pl.UTF-8):      Eventum - system śledzenia spraw/błędów
21 Name:           eventum
22 Version:        2.2
23 Release:        %{?_rc:%{_rc}.}%{rel}%{?snap:.%{snap}}%{?rev:.%{rev}}
24 License:        GPL
25 Group:          Applications/WWW
26 #Source0:       http://downloads.mysql.com/snapshots/eventum/%{name}-nightly-%{snap}.tar.gz
27 #Source0:       http://eventum.mysql.org/downloads/eventum-2.0.RC3.tar.gz
28 #Source0:       http://mysql.easynet.be/Downloads/eventum/%{name}-%{version}.tar.gz
29 # bzr branch lp:eventum eventum && cd eventum && make dist
30 Source0:        %{name}-%{version}-dev-%{rev}.tar.gz
31 # Source0-md5:  660e9e1e8cd45e848fc84f7d02361fb8
32 Source1:        %{name}-apache.conf
33 Source2:        %{name}-mail-queue.cron
34 Source3:        %{name}-mail-download.cron
35 Source4:        %{name}-reminder.cron
36 Source5:        %{name}-monitor.cron
37 Source6:        %{name}-cvs.php
38 Source7:        %{name}-irc.php
39 Source8:        %{name}-irc.init
40 Source9:        %{name}-irc.sysconfig
41 Source13:       %{name}-router-postfix.sh
42 Source14:       %{name}.logrotate
43 Source15:       %{name}-lighttpd.conf
44 Source16:       http://www.isocra.com/images/updown2.gif
45 # Source16-md5: deb6eeb2552ba757d3a949ed10c4107d
46 Patch0:         %{name}-lf.patch
47 Patch2:         %{name}-order.patch
48 # packaging patches that probably never go upstream
49 Patch100:       %{name}-paths.patch
50 Patch101:       %{name}-cvs-config.patch
51 Patch105:       %{name}-bot-reconnect.patch
52 Patch107:       %{name}-gettext.patch
53 # some tests
54 Patch200:       %{name}-fixed-nav.patch
55 URL:            http://eventum.mysql.org/
56 BuildRequires:  gettext-devel
57 BuildRequires:  rpm-php-pearprov >= 4.0.2-98
58 BuildRequires:  rpmbuild(macros) >= 1.461
59 BuildRequires:  sed >= 4.0
60 Requires:       %{name}-base = %{version}-%{release}
61 Requires:       Smarty >= 2.6.10-4
62 Requires:       php-common >= 4:%{php_min_version}
63 Requires:       php-gd
64 Requires:       php-iconv
65 Requires:       php-imap
66 Requires:       php-mbstring
67 Requires:       php-mysql
68 Requires:       php-pcre
69 Requires:       php-pear-DB
70 Requires:       php-pear-Date
71 Requires:       php-pear-Mail
72 Requires:       php-pear-Mail_Mime
73 Requires:       php-pear-Mail_mimeDecode
74 Requires:       php-pear-Math_Stats
75 Requires:       php-pear-Net_DIME
76 Requires:       php-pear-Net_SMTP
77 Requires:       php-pear-Net_Socket
78 Requires:       php-pear-Net_URL
79 Requires:       php-pear-Net_UserAgent_Detect
80 Requires:       php-pear-PEAR-core
81 Requires:       php-pear-Text_Diff
82 Requires:       php-pear-XML_RPC
83 Requires:       php-session
84 Requires:       smarty-gettext
85 Requires:       webapps
86 Requires:       webserver(access)
87 Requires:       webserver(alias)
88 Requires:       webserver(indexfile)
89 Requires:       webserver(php) >= 4.2.0
90 Suggests:       localedb
91 Conflicts:      logrotate < 3.7-4
92 BuildArch:      noarch
93 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
94
95 %define         _noautopear     'pear(init.php)' 'pear(/etc/webapps/.*)' 'pear(%{_appdir}/.*)' 'pear(jpgraph_dir.php)' 'pear(.*Smarty.class.php)' 'pear(Services/JSON.php)'
96
97 # exclude optional php dependencies
98 %define         _noautophp      'php(gnupg)' 'php(hash)' 'php(pecl-http)' 'php(json)' 'php(tk)'
99
100 # we don't want php(xxx) being resolved to php-xxx
101 %define         _noautoreqdep   '^php(.*)$'
102
103 %define         _noautoreq      %{_noautophp} %{_noautopear}
104
105 %define         _libdir         %{_prefix}/lib/%{name}
106 %define         _appdir         %{_datadir}/%{name}
107 %define         _smartydir      %{php_data_dir}/Smarty
108 %define         _webapps        /etc/webapps
109 %define         _webapp         %{name}
110 %define         _webappdir      %{_webapps}/%{_webapp}
111 %define         _sysconfdir     /etc/%{name}
112
113 %description
114 Eventum is a user-friendly and flexible issue tracking system that can
115 be used by a support department to track incoming technical support
116 requests, or by a software development team to quickly organize tasks
117 and bugs. Eventum is used by the MySQL AB Technical Support team, and
118 has allowed us to dramatically improve our response times.
119
120 %description -l pl.UTF-8
121 Eventum to przyjazny dla użytkownika system śledzenia spraw, który
122 może być używany przez dział obsługi do śledzenia przychodzących żądań
123 obsługi technicznej albo przez zespół tworzący oprogramowanie do
124 szybkiej organizacji zadań i błędów. Eventum jest używany przez zespół
125 Technical Support MySQL AB i umożliwił im znacząco poprawić czasy
126 reakcji.
127
128 %package base
129 Summary:        Eventum base package
130 Summary(pl.UTF-8):      Podstawowy pakiet Eventum
131 Group:          Applications/WWW
132 Requires(postun):       /usr/sbin/groupdel
133 Requires(postun):       /usr/sbin/userdel
134 Requires(pre):  /bin/id
135 Requires(pre):  /usr/bin/getgid
136 Requires(pre):  /usr/sbin/groupadd
137 Requires(pre):  /usr/sbin/useradd
138 Provides:       group(eventum)
139 Provides:       user(eventum)
140
141 %description base
142 This package contains base directory structure for Eventum.
143
144 %description base -l pl.UTF-8
145 Ten pakiet zawiera podstawową strukturę katalogów dla Eventum.
146
147 %package setup
148 Summary:        Eventum setup package
149 Summary(pl.UTF-8):      Pakiet do wstępnej konfiguracji Eventum
150 Group:          Applications/WWW
151 Requires:       %{name} = %{version}-%{release}
152
153 %description setup
154 Install this package to configure initial Eventum installation. You
155 should uninstall this package when you're done, as it considered
156 insecure to keep the setup files in place.
157
158 %description setup -l pl.UTF-8
159 Ten pakiet należy zainstalować w celu wstępnej konfiguracji Eventum po
160 pierwszej instalacji. Potem należy go odinstalować, jako że
161 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
162
163 %package mail-queue
164 Summary:        Eventum mail queue process
165 Summary(pl.UTF-8):      Przetwarzanie kolejki poczty Eventum
166 Group:          Applications/WWW
167 Requires:       %{name} = %{version}-%{release}
168 Requires:       crondaemon
169
170 %description mail-queue
171 Beginning with the first release of Eventum, emails are not directly
172 sent out from the various scripts, but rather added to a mail queue
173 table that is processed by a cron job. If an email cannot be sent, it
174 will be marked as such in the mail queue log, and the cron job script
175 will re-try to send it again the next time it runs.
176
177 This package contains the cron job.
178
179 %description mail-queue -l pl.UTF-8
180 Od pierwszego wydania Eventum poczta nie jest wysyłana bezpośrednio z
181 różnych skryptów, lecz dodawana do kolejki przetwarzanej z crona.
182 Jeśli poczta nie może być wysłana, będzie odpowiednio oznaczona w logu
183 kolejki poczty, a skrypt z crona będzie próbował wysłać ją ponownie
184 następnym razem.
185
186 Ten pakiet zawiera zadanie dla crona.
187
188 %package mail-download
189 Summary:        Eventum email download
190 Summary(pl.UTF-8):      Ściąganie poczty Eventum
191 Group:          Applications/WWW
192 Requires:       %{name} = %{version}-%{release}
193 Requires:       crondaemon
194
195 %description mail-download
196 In order for Eventum's email integration feature to work, you need to
197 setup a cron job to run the script every so often.
198
199 This package contains the cron job.
200
201 %description mail-download -l pl.UTF-8
202 Aby integracja poczty elektronicznej w Eventum działała, trzeba
203 ustawić zadanie crona, aby uruchamiał odpowiedni skrypt wystarczająco
204 często.
205
206 Ten pakiet zawiera zadanie dla crona.
207
208 %package reminder
209 Summary:        Eventum Reminder System
210 Summary(pl.UTF-8):      System przypominania dla Eventum
211 Group:          Applications/WWW
212 Requires:       %{name} = %{version}-%{release}
213 Requires:       crondaemon
214
215 %description reminder
216 The reminder system was designed with the objective as serving as a
217 safe net for issues that need attention. Depending on what
218 configuration you create, you may have several reminders (or alerts)
219 be sent out whenever an issue needs attention, for whatever parameter
220 you may deem necessary.
221
222 This package contains the cron job.
223
224 %description reminder -l pl.UTF-8
225 System przypominania został zaprojektowany tak, aby służył jako
226 bezpieczna sieć dla spraw wymagających uwagi. W zależności od
227 konfiguracji można ustawić różne przypominajki (lub alarmy) wysyłane
228 przy każdej sprawie wymagającej uwagi lub przy parametrze, który można
229 uważać za potrzebny.
230
231 Ten pakiet zawiera zadanie dla crona.
232
233 %package monitor
234 Summary:        Eventum Heartbeat Monitor
235 Summary(pl.UTF-8):      Monitor życia dla Eventum
236 Group:          Applications/WWW
237 Requires:       %{name} = %{version}-%{release}
238 Requires:       crondaemon
239 Requires:       php(posix)
240
241 %description monitor
242 The heartbeat monitor is a feature designed for the administrator that
243 wants to be alerted whenever a common problem in Eventum is detected,
244 like the database server not being available anymore, or maybe when
245 the recommended permissions for certain configuration files are
246 changed.
247
248 Please note that before running the heartbeat monitor, you may need to
249 customize some of the checks to be appropriate for your own system,
250 particularly the permission and file checks on
251 Monitor::checkConfiguration().
252
253 This package contains the cron job.
254
255 %description monitor -l pl.UTF-8
256 Monitor życia to funkcjonalność zaprojektowana dla administratora
257 chcącego być alarmowanym przy każdym wykryciu popularnego problemu z
258 Eventum, jak nie działanie serwera bazy danych albo zmiana uprawnień
259 do plików konfiguracyjnych.
260
261 Należy zauważyć, że przed uruchomieniem tego monitora może być
262 konieczne dostosowanie niektórych testów do systemu, w szczególności
263 testów uprawnień i plików w Monitor::checkConfiguration().
264
265 Ten pakiet zawiera zadanie dla crona.
266
267 %package route-drafts
268 Summary:        Eventum Draft Routing
269 Summary(pl.UTF-8):      Przekazywanie szkiców dla Eventum
270 Group:          Applications/WWW
271 Requires:       %{name} = %{version}-%{release}
272 Requires:       eventum(router)
273
274 %description route-drafts
275 The draft routing feature is used to automatically associate a thread
276 of drafts into an Eventum issue. By setting up Postfix to deliver
277 emails sent to a specific address (usually draft-<number>@<domain>) to
278 the above script, users are able to send drafts written in their mail
279 client to be stored in Eventum. These drafts will NOT broadcasted to
280 the notification list.
281
282 %description route-drafts -l pl.UTF-8
283 Przekazywanie szkiców służy do automatycznego wiązania wątku szkiców z
284 problemem w Eventum. Ustawiając Postfiksa, aby dostarczał pocztę
285 wysłaną na podany adres (zwykle draft-<liczba>@<domena>) do tego
286 skryptu umożliwia się użytkownikom wysyłanie szkiców napisanych w ich
287 kliencie pocztowym do zapisania w Eventum. Szkice te NIE będą wysyłane
288 na listę powiadomień.
289
290 %package route-emails
291 Summary:        Eventum Email Routing
292 Summary(pl.UTF-8):      Przekazywanie poczty dla Eventum
293 Group:          Applications/WWW
294 Requires:       %{name} = %{version}-%{release}
295 Requires:       eventum(router)
296
297 %description route-emails
298 The email routing feature is used to automatically associate a thread
299 of emails into an Eventum issue. By setting up Postfix to deliver
300 emails sent to a specific address (usually issue-<number>@<domain>) to
301 the above script, users are able to use their email clients to reply
302 to emails coming from Eventum, and those replies will be automatically
303 associated with the issue and broadcasted to the entire notification
304 list.
305
306 %description route-emails -l pl.UTF-8
307 Funkcjonalność przekazywania poczty służy do automatycznego wiązania
308 wątku listów ze sprawą w Eventum. Po ustawieniu czy nawet Postfiksa,
309 aby dostarczał listy wysyłane na pewien adres (zwykle
310 issue-<numer>@<domena>) na powyższy skrypt, użytkownicy będą mogli
311 używać klientów pocztowych do odpowiadania na listy przychodzące z
312 Eventum, a odpowiedzi te będą automatycznie wiązane ze sprawą i
313 rozprowadzane do całej listy ogłoszeniowej.
314
315 %package route-notes
316 Summary:        Eventum Note Routing
317 Summary(pl.UTF-8):      Przekazywanie notatek dla Eventum
318 Group:          Applications/WWW
319 Requires:       %{name} = %{version}-%{release}
320 Requires:       eventum(router)
321
322 %description route-notes
323 The note routing feature is used to automatically associate a thread
324 of notes into an Eventum issue. By setting up Postfix to deliver
325 emails sent to a specific address (usually note-<number>@<domain>) to
326 the above script, users are able to use their email clients to reply
327 to internal notes coming from Eventum, and those replies will be
328 automatically associated with the issue and broadcasted to the
329 notification list staff members.
330
331 %description route-notes -l pl.UTF-8
332 Funkcjonalność przekazywania notatek służy do automatycznego wiązania
333 wątku notatek ze sprawą w Eventum. Po ustawieniu Postfiksa, aby
334 dostarczał listy wysyłane na pewien adres (zwykle
335 note-<numer>@<domena>) na powyższy skrypt, użytkownicy będą mogli
336 używać klientów pocztowych do odpowiadania na wewnętrzne notatki
337 pochodzące od Eventu, a odpowiedzi te będą automatycznie wiązane ze
338 sprawą i rozprowadzane do członków personelu listy ogłoszeniowej.
339
340 %package router-postfix
341 Summary:        Eventum Mail Routing - Postfix
342 Summary(pl.UTF-8):      Przekazywanie poczty Eventum - Postfix
343 Group:          Applications/Mail
344 Requires:       %{name} = %{version}-%{release}
345 Requires:       postfix
346 Provides:       eventum(router)
347 Obsoletes:      eventum(router)
348
349 %description router-postfix
350 This package provides way of routing notes and emails back to Eventum
351 via Postfix.
352
353 The Postfix configuration instructions you can find from
354 <http://eventum.mysql.org/wiki/index.php/Setting_up_email_routing_with_postfix>.
355
356 %description router-postfix -l pl.UTF-8
357 Ten pakiet udostępnia metodę przekazywania notatek i listów do Eventum
358 przez Postfiksa.
359
360 Opis konfiguracji Postfiksa można znaleźć pod adresem
361 <http://eventum.mysql.org/wiki/index.php/Setting_up_email_routing_with_postfix>.
362
363 %package irc
364 Summary:        Eventum IRC Notification Bot
365 Summary(pl.UTF-8):      IRC-owy bot powiadamiający dla Eventum
366 Group:          Applications/WWW
367 Requires(post,preun):   /sbin/chkconfig
368 Requires:       %{name} = %{version}-%{release}
369 Requires:       php(sockets)
370 Requires:       php-pear-Net_SmartIRC
371 Requires:       rc-scripts >= 0.4.0.18
372
373 %description irc
374 The IRC notification bot is a nice feature for remote teams that want
375 to handle issues and want to have a quick and easy way to get simple
376 notifications. Right now the bot notifies of the following actions:
377 - New Issues
378 - Blocked emails
379 - Issues that got their assignment list changed
380
381 NOTE: You will need to manually edit the bot.php script to set your
382 appropriate preferences, like IRC server and channel that the bot
383 should join.
384
385 %description irc -l pl.UTF-8
386 IRC-owy bot powiadamiający to miła funkcjonalność dla zdalnych
387 zespołów chcących obsługiwać sprawy i mieć szybki i łatwy sposób na
388 uzyskiwanie prostych powiadomień. Aktualnie bot powiadamia o
389 następujących zdarzeniach:
390 - nowych sprawach
391 - zablokowanych listach
392 - sprawach, dla których zmieniła się lista powiązań
393
394 UWAGA: w celu wprowadzenia własnych ustawień, takich jak serwer IRC i
395 kanał używany przez bota, trzeba ręcznie zmodyfikować skrypt bot.php .
396
397 %package cli
398 Summary:        Eventum command-line interface
399 Summary(pl.UTF-8):      Interfejs linii poleceń dla Eventum
400 Group:          Applications/WWW
401 Requires:       %{name}-base = %{version}-%{release}
402 Requires:       php-cli
403 Requires:       php-common >= 4:%{php_min_version}
404 Requires:       php-pear-XML_RPC
405
406 %description cli
407 The Eventum command-line interface allows you to access most of the
408 features of the web interface straight from your command shell.
409
410 %description cli -l pl.UTF-8
411 Interfejs linii poleceń Eventum pozwala na dostęp do większości
412 funkcji interfejsu WWW prosto z linii poleceń powłoki.
413
414 %package scm
415 Summary:        Eventum SCM integration
416 Summary(pl.UTF-8):      Integracja SCM dla Eventum
417 Group:          Applications/WWW
418 Requires:       %{name}-base = %{version}-%{release}
419 Requires:       php-cli
420 Requires:       php-common >= 4:%{php_min_version}
421 Requires:       php-pcre
422
423 %description scm
424 This feature allows your software development teams to integrate your
425 Source Control Management system with your Issue Tracking System.
426
427 The integration is implemented in such a way that it will be forward
428 compatible with pretty much any SCM system, such as CVS.
429
430 For installation see
431 </eventum/help.php?topic=scm_integration_installation>.
432
433 %description scm -l pl.UTF-8
434 Ten pakiet pozwala zespołom programistów na integrację systemu
435 zarządzania źródłami (SCM - Source Control Management) z systemem
436 śledzenia spraw.
437
438 Integracja jest zaimplementowana tak, aby być kompatybilna w przód z
439 prawie każdym systemem SCM, jak np. CVS.
440
441 Szczegóły na temat instalacji można przeczytać pod
442 </eventum/help.php?topic=scm_integration_installation>.
443
444 %prep
445 %setup -q
446
447 rm -r upgrade/*v1.[123]* # too old to support in PLD Linux
448 rm -r upgrade/v{1.,2.0,2.1_}* # no longer supported in PLD Linux
449 rm upgrade/flush_compiled_templates.php
450 rm -r upgrade/{*/,}index.html # not needed in PLD Linux
451
452 # bug fixes / features
453 %patch0 -p1
454 %{?with_order:%patch2 -p1}
455
456 cp -a %{SOURCE16} htdocs/images
457
458 #%patch200 -p1
459
460 # packaging
461 %patch100 -p1
462 %patch101 -p1
463 %patch105 -p1
464 %patch107 -p1
465
466 cat <<'EOF'> mysql-permissions.sql
467 # use this schema if you want to grant permissions manually instead of using setup
468 # this schema is extracted from setup/index.php.
469 GRANT SELECT, UPDATE, DELETE, INSERT, ALTER, DROP, CREATE, INDEX ON eventum.* TO 'eventum'@'localhost' IDENTIFIED BY 'password';
470 EOF
471
472 %{__sed} -i -e "
473 s;define('CONFIG_PATH'.*');define('CONFIG_PATH', '%{_webappdir}');
474 " upgrade/{*/,}*.php
475
476 # remove backups from patching as we use globs to package files to buildroot
477 find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
478
479 %build
480 %{__make} -C localization
481
482 %install
483 rm -rf $RPM_BUILD_ROOT
484 install -d \
485         $RPM_BUILD_ROOT{%{_webappdir},%{_sysconfdir},%{_bindir},%{_sbindir},%{_libdir}} \
486         $RPM_BUILD_ROOT/etc/{rc.d/init.d,cron.d,sysconfig} \
487         $RPM_BUILD_ROOT/var/{run,cache,lib}/%{name} \
488         $RPM_BUILD_ROOT/var/log/{archive/,}%{name} \
489         $RPM_BUILD_ROOT/var/lib/%{name}/routed_{emails,drafts,notes} \
490         $RPM_BUILD_ROOT%{_appdir}/{include,htdocs/misc,upgrade} \
491
492 %{__make} install-eventum install-cli install-irc install-scm install-jpgraph install-localization \
493         sysconfdir=%{_webappdir} \
494         DESTDIR=$RPM_BUILD_ROOT
495
496 %{?with_order:cp -a htdocs/ajax $RPM_BUILD_ROOT%{_appdir}/htdocs}
497
498 touch $RPM_BUILD_ROOT%{_webappdir}/htpasswd
499 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
500 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
501 cp -a %{SOURCE15} $RPM_BUILD_ROOT%{_webappdir}/lighttpd.conf
502
503 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
504 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
505 cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
506 cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
507
508 cp -a %{SOURCE7} $RPM_BUILD_ROOT%{_webappdir}/irc_config.php
509
510 cp -a %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
511 cp -a %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc
512
513 # postfix router
514 install %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/router-postfix
515
516 install -D %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
517
518 %find_lang %{name}
519
520 # scm
521 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/scm.php
522
523 # old compat
524 ln -s %{_sbindir}/eventum-cvs-hook $RPM_BUILD_ROOT%{_libdir}/process_cvs_commits
525 ln -s %{_sbindir}/eventum-svn-hook $RPM_BUILD_ROOT%{_libdir}/process_svn_commits
526
527 # skip pear for cli
528 rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/cli
529 cp -a cli/lib/eventum $RPM_BUILD_ROOT%{_datadir}/%{name}/cli
530
531 %clean
532 rm -rf $RPM_BUILD_ROOT
533
534 %pre
535 %addusertogroup http %{name}
536
537 %post
538 # check if the package is configured.
539 if grep -q "Header('Location: setup/')" %{_webappdir}/config.php; then
540 if [ -f %{_appdir}/htdocs/setup/index.php ]; then
541 %banner %{name} -e <<EOF
542
543 You haven't yet configured Eventum!
544 Please open in browser <http://localhost/eventum/>
545 If you need access from elsewhere, you need to edit
546 %{_webappdir}/apache.conf and restart apache.
547
548 IMPORTANT: When You have configured Eventum, please uninstall the
549 setup package, so that %{name}-setup is able to secure your Eventum
550 installation.
551
552 EOF
553 #' vim syntax hack
554 else
555 %banner %{name} -e <<EOF
556
557 You haven't yet configured Eventum!
558
559 To setup eventum, please install %{name}-setup and open in browser
560 <http://localhost/eventum/>.
561 If you need access from elsewhere, you need to edit
562 %{_webappdir}/*.conf depending on webserver and restart the webserver.
563
564 IMPORTANT: When You have configured Eventum, please uninstall the
565 setup package, so that %{name}-setup is able to secure your Eventum
566 installation.
567
568 EOF
569 #' vim syntax hack
570 fi
571
572 elif grep -q 'DEFAULTPRIVATEKEY' %{_webappdir}/private_key.php; then
573 %banner %{name} -e <<EOF
574
575 You have default private key installed!
576
577 Install %{name}-setup and open up http://yourserver/eventum/setup/
578 -- that will help you setup initial config.
579
580 when have configured Eventum, please uninstall the setup package,
581 so that %{name}-setup is able to secure your Eventum installation.
582
583 EOF
584         elif [ -d %{_appdir}/setup ]; then
585 %banner %{name} -e <<EOF
586
587 If you have have configured Eventum, please uninstall the setup package,
588 so that %{name}-setup is able to secure your Eventum installation.
589
590 EOF
591 fi
592
593 # greate empty ghost files
594 for a in cli.log errors.log irc_bot.log login_attempts.log; do
595         if [ ! -f /var/log/%{name}/$a ]; then
596                 install -m620 -oroot -geventum /dev/null /var/log/%{name}/$a
597         fi
598 done
599
600 # database update
601 %{_appdir}/upgrade/update-database.php || :
602
603 # nuke Smarty templates cache after upgrade
604 rm -f /var/cache/eventum/*.php
605
606 %preun
607 if [ "$1" = "0" ]; then
608         # nuke cache
609         rm -f /var/cache/eventum/*.php 2>/dev/null || :
610 fi
611
612 %pre base
613 %groupadd -P %{name}-base -g 146 %{name}
614 %useradd -P %{name}-base -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name}
615
616 %postun base
617 if [ "$1" = "0" ]; then
618         %userremove %{name}
619         %groupremove %{name}
620 fi
621
622 %post setup
623 chmod 660 %{_webappdir}/{config,private_key}.php
624 chown root:eventum %{_webappdir}/{config,private_key}.php
625
626 %postun setup
627 if [ "$1" = "0" ]; then
628         chmod 640 %{_webappdir}/{config,private_key}.php
629         chown root:eventum %{_webappdir}/{config,private_key}.php
630 fi
631
632 %post irc
633 /sbin/chkconfig --add eventum-irc
634 %service eventum-irc restart "Eventum IRC Bot"
635
636 %preun irc
637 if [ "$1" = 0 ]; then
638         %service eventum-irc stop
639         /sbin/chkconfig --del eventum-irc
640 fi
641
642 %triggerin -- apache1 < 1.3.37-3, apache1-base
643 %webapp_register apache %{_webapp}
644
645 %triggerun -- apache1 < 1.3.37-3, apache1-base
646 %webapp_unregister apache %{_webapp}
647
648 %triggerin -- apache < 2.2.0, apache-base
649 %webapp_register httpd %{_webapp}
650
651 %triggerun -- apache < 2.2.0, apache-base
652 %webapp_unregister httpd %{_webapp}
653
654 %triggerin -- lighttpd
655 %webapp_register lighttpd %{_webapp}
656
657 %triggerun -- lighttpd
658 %webapp_unregister lighttpd %{_webapp}
659
660 %triggerpostun -- %{name} < 2.2-2.54
661 set -x
662 chgrp http %{_webappdir}/config.php
663 chgrp http %{_webappdir}/private_key.php
664 chgrp http %{_webappdir}/setup.php
665 chgrp http /var/log/%{name}/*
666 # update crontab user
667 for a in /etc/cron.d/eventum-*; do
668         awk '!/#/ && NR > 6 && $6 =="eventum" {sub("eventum", "http", $6)}{print}'  $a > $a.rpmtmp && cat $a.rpmtmp > $a
669         rm -f $a.rpmtmp
670 done
671
672 %files -f %{name}.lang
673 %defattr(644,root,root,755)
674 %doc docs/* htdocs/setup/schema.sql mysql-permissions.sql
675 %attr(751,root,root) %dir %{_webappdir}
676 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf
677 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf
678 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/lighttpd.conf
679 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/config.php
680 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php
681 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/setup.php
682 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/htpasswd
683
684 %dir %attr(731,root,http) /var/log/%{name}
685 %attr(620,root,http) %ghost /var/log/%{name}/*
686 %dir %attr(750,root,root) /var/log/archive/%{name}
687 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
688
689 %{_appdir}/init.php
690 %dir %{_appdir}/htdocs
691 %{_appdir}/htdocs/*.php
692 %{_appdir}/htdocs/*.ico
693 %{_appdir}/htdocs/css
694 %{_appdir}/htdocs/customer
695 %{_appdir}/htdocs/images
696 %{_appdir}/htdocs/js
697 %{_appdir}/htdocs/manage
698 %{_appdir}/htdocs/reports
699 %{_appdir}/htdocs/rpc
700 %{_appdir}/htdocs/misc
701 %if %{with order}
702 %{_appdir}/htdocs/ajax
703 %endif
704 %{_appdir}/templates
705
706 %dir %{_appdir}/upgrade
707 %{_appdir}/upgrade/init.php
708 %attr(755,root,root) %{_appdir}/upgrade/update-database.php
709 %dir %{_appdir}/upgrade/v*
710 %attr(755,root,root) %{_appdir}/upgrade/v*/*.php
711 %{_appdir}/upgrade/patches
712
713 %dir %{_appdir}/lib
714 %{_appdir}/lib/eventum
715 %{_appdir}/lib/jpgraph
716 %exclude %{_appdir}/lib/eventum/class.monitor.php
717
718 %dir %attr(730,root,http) /var/run/%{name}
719 %dir %attr(730,root,http) /var/cache/%{name}
720
721 %files base
722 %defattr(644,root,root,755)
723 %attr(751,root,root) %dir %{_sysconfdir}
724 %dir %{_libdir}
725 %dir %{_appdir}
726 %dir /var/lib/%{name}
727 # saved mail copies
728 %attr(770,root,http) %dir /var/lib/%{name}/routed_emails
729 %attr(770,root,http) %dir /var/lib/%{name}/routed_drafts
730 %attr(770,root,http) %dir /var/lib/%{name}/routed_notes
731
732 %files setup
733 %defattr(644,root,root,755)
734 %{_appdir}/htdocs/setup
735
736 %files mail-queue
737 %defattr(644,root,root,755)
738 %attr(755,root,root) %{_appdir}/process_mail_queue.php
739 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
740
741 %files mail-download
742 %defattr(644,root,root,755)
743 %attr(755,root,root) %{_appdir}/download_emails.php
744 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
745
746 %files reminder
747 %defattr(644,root,root,755)
748 %attr(755,root,root) %{_appdir}/check_reminders.php
749 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
750
751 %files monitor
752 %defattr(644,root,root,755)
753 %{_appdir}/lib/eventum/class.monitor.php
754 %attr(755,root,root) %{_appdir}/monitor.php
755 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
756
757 %files route-drafts
758 %defattr(644,root,root,755)
759 %attr(755,root,root) %{_appdir}/route_drafts.php
760
761 %files route-emails
762 %defattr(644,root,root,755)
763 %attr(755,root,root) %{_appdir}/route_emails.php
764
765 %files route-notes
766 %defattr(644,root,root,755)
767 %attr(755,root,root) %{_appdir}/route_notes.php
768
769 %files router-postfix
770 %defattr(644,root,root,755)
771 %attr(755,root,root) %{_libdir}/router-postfix
772
773 %files irc
774 %defattr(644,root,root,755)
775 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/irc_config.php
776 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/eventum-irc
777 %attr(755,root,root) %{_sbindir}/%{name}-irc-bot
778 %attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
779
780 %files cli
781 %defattr(644,root,root,755)
782 %doc cli/eventumrc
783 %attr(755,root,root) %{_bindir}/%{name}
784 %{_appdir}/cli
785
786 %files scm
787 %defattr(644,root,root,755)
788 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scm.php
789 %attr(755,root,root) %{_libdir}/process_cvs_commits
790 %attr(755,root,root) %{_libdir}/process_svn_commits
791 %attr(755,root,root) %{_sbindir}/eventum-cvs-hook
792 %attr(755,root,root) %{_sbindir}/eventum-svn-hook
This page took 0.120979 seconds and 3 git commands to generate.