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