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