]> git.pld-linux.org Git - packages/eventum.git/blame - eventum.spec
- add force-reload
[packages/eventum.git] / eventum.spec
CommitLineData
bb01d732
ER
1# TODO
2# - discard bundled packages (from INSTALL):
3# - JpGraph 1.5.3 (last GPL version)
bb01d732
ER
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
a659c698
JB
8#
9# Conditional build:
422dcc8e 10%bcond_without order # with experimental order patch
cddf3011 11
0bb7ad7c 12#define snap 20060921
114241d7
ER
13%define rev r4040
14%define rel 2.60
b8b72891 15#define _rc RC3
87d15bba 16
a7b5a3c7 17%define php_min_version 5.1.2
b3857e8b 18%include /usr/lib/rpm/macros.php
c96aabf5 19Summary: Eventum Issue / Bug tracking system
9f49cf47 20Summary(pl.UTF-8): Eventum - system śledzenia spraw/błędów
bb01d732 21Name: eventum
847270fe 22Version: 2.2
c11e5ae6 23Release: %{?_rc:%{_rc}.}%{rel}%{?snap:.%{snap}}%{?rev:.%{rev}}
6850abd9
ER
24License: GPL
25Group: Applications/WWW
0bb7ad7c 26#Source0: http://downloads.mysql.com/snapshots/eventum/%{name}-nightly-%{snap}.tar.gz
6cb55287 27#Source0: http://eventum.mysql.org/downloads/eventum-2.0.RC3.tar.gz
c2e7ae63 28#Source0: http://mysql.easynet.be/Downloads/eventum/%{name}-%{version}.tar.gz
03410d49 29# bzr branch lp:eventum eventum && cd eventum && make dist
098cbb72 30Source0: %{name}-%{version}-dev-%{rev}.tar.gz
114241d7 31# Source0-md5: 94b90dc34d8e2b1e82e702e36cf8f95e
82121306 32Source1: %{name}-apache.conf
cd719538
ER
33Source2: %{name}-mail-queue.cron
34Source3: %{name}-mail-download.cron
35Source4: %{name}-reminder.cron
36Source5: %{name}-monitor.cron
37Source6: %{name}-cvs.php
38Source7: %{name}-irc.php
39Source8: %{name}-irc.init
73f6a3e6 40Source9: %{name}-irc.sysconfig
cfcdd0a9
ER
41Source13: %{name}-router-postfix.sh
42Source14: %{name}.logrotate
43Source15: %{name}-lighttpd.conf
d0dabd47
ER
44Source16: http://www.isocra.com/images/updown2.gif
45# Source16-md5: deb6eeb2552ba757d3a949ed10c4107d
ac27ba92 46Patch0: %{name}-lf.patch
4f627938 47Patch2: %{name}-order.patch
14ff3418 48# packaging patches that probably never go upstream
ac27ba92
ER
49Patch100: %{name}-paths.patch
50Patch101: %{name}-cvs-config.patch
4c823356 51Patch105: %{name}-bot-reconnect.patch
cfcdd0a9 52Patch107: %{name}-gettext.patch
a6016bab
ER
53# some tests
54Patch200: %{name}-fixed-nav.patch
3cf7d1aa 55URL: http://eventum.mysql.org/
2bbc9c41 56BuildRequires: gettext-devel
b3857e8b 57BuildRequires: rpm-php-pearprov >= 4.0.2-98
d1c44829 58BuildRequires: rpmbuild(macros) >= 1.461
4068cb73 59BuildRequires: sed >= 4.0
5b165428 60Requires: %{name}-base = %{version}-%{release}
7db4d346 61Requires: Smarty >= 2.6.10-4
a7b5a3c7 62Requires: php-common >= 4:%{php_min_version}
cf66850b
ER
63Requires: php-gd
64Requires: php-iconv
65Requires: php-imap
66Requires: php-mbstring
67Requires: php-mysql
68Requires: php-pcre
71b01fde
ER
69Requires: php-pear-DB
70Requires: php-pear-Date
71b01fde 71Requires: php-pear-Mail
723da18a 72Requires: php-pear-Mail_Mime
fb0b2f83 73Requires: php-pear-Mail_mimeDecode
71b01fde
ER
74Requires: php-pear-Math_Stats
75Requires: php-pear-Net_DIME
71b01fde 76Requires: php-pear-Net_SMTP
71b01fde
ER
77Requires: php-pear-Net_Socket
78Requires: php-pear-Net_URL
79Requires: php-pear-Net_UserAgent_Detect
3223fb64 80Requires: php-pear-PEAR-core
71b01fde
ER
81Requires: php-pear-Text_Diff
82Requires: php-pear-XML_RPC
098cbb72 83Requires: php-session
465c3ab7 84Requires: smarty-gettext
bdf85dc8 85Requires: webapps
f399f1c0
ER
86Requires: webserver(access)
87Requires: webserver(alias)
897bdb2c 88Requires: webserver(indexfile)
61351540 89Requires: webserver(php) >= 4.2.0
462ee1a6 90Suggests: localedb
0f8c2c4a 91Conflicts: logrotate < 3.7-4
35fa3cf8 92BuildArch: noarch
bb01d732
ER
93BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
94
f1269a43 95%define _noautopear 'pear(../init.php)' 'pear(init.php)' 'pear(/etc/webapps/.*)' 'pear(%{_appdir}/.*)' 'pear(jpgraph_dir.php)' 'pear(.*Smarty.class.php)' 'pear(Services/JSON.php)'
03410d49
ER
96
97# exclude optional php dependencies
6438fbb6 98%define _noautophp 'php-gnupg' 'php-hash' 'php-pecl-http' 'php-json' 'php-tk'
03410d49
ER
99
100%define _noautoreq %{_noautophp} %{_noautopear}
3223fb64 101
1d760108 102%define _libdir %{_prefix}/lib/%{name}
71f56750 103%define _appdir %{_datadir}/%{name}
d1c44829 104%define _smartydir %{php_data_dir}/Smarty
bdf85dc8
ER
105%define _webapps /etc/webapps
106%define _webapp %{name}
8a37ad9d
ER
107%define _webappdir %{_webapps}/%{_webapp}
108%define _sysconfdir /etc/%{name}
bb01d732
ER
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
d8cfa9f0
JR
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
4068cb73
JB
123reakcji.
124
d2e501e8
ER
125%package base
126Summary: Eventum base package
9f49cf47 127Summary(pl.UTF-8): Podstawowy pakiet Eventum
d2e501e8 128Group: Applications/WWW
3223fb64
ER
129Requires(postun): /usr/sbin/groupdel
130Requires(postun): /usr/sbin/userdel
5bbd68c9
ER
131Requires(pre): /bin/id
132Requires(pre): /usr/bin/getgid
5bbd68c9 133Requires(pre): /usr/sbin/groupadd
3223fb64 134Requires(pre): /usr/sbin/useradd
9f768793 135Provides: group(eventum)
d080edb6 136Provides: user(eventum)
d2e501e8
ER
137
138%description base
139This package contains base directory structure for Eventum.
140
d8cfa9f0
JR
141%description base -l pl.UTF-8
142Ten pakiet zawiera podstawową strukturę katalogów dla Eventum.
1bb5e749 143
ab983aaa 144%package setup
4068cb73 145Summary: Eventum setup package
9f49cf47 146Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji Eventum
ab983aaa 147Group: Applications/WWW
5b165428 148Requires: %{name} = %{version}-%{release}
ab983aaa
ER
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
d8cfa9f0
JR
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.
4068cb73 159
0da8e1f2 160%package mail-queue
30689148 161Summary: Eventum mail queue process
9f49cf47 162Summary(pl.UTF-8): Przetwarzanie kolejki poczty Eventum
0da8e1f2 163Group: Applications/WWW
5b165428 164Requires: %{name} = %{version}-%{release}
0da8e1f2
ER
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
d8cfa9f0
JR
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.
0181746f 182
30689148 183Ten pakiet zawiera zadanie dla crona.
184
ea084bcb 185%package mail-download
30689148 186Summary: Eventum email download
9f49cf47 187Summary(pl.UTF-8): Ściąganie poczty Eventum
ea084bcb 188Group: Applications/WWW
5b165428 189Requires: %{name} = %{version}-%{release}
ea084bcb
ER
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
d8cfa9f0
JR
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.
0181746f
JB
202
203Ten pakiet zawiera zadanie dla crona.
204
cd719538
ER
205%package reminder
206Summary: Eventum Reminder System
9f49cf47 207Summary(pl.UTF-8): System przypominania dla Eventum
cd719538 208Group: Applications/WWW
5b165428 209Requires: %{name} = %{version}-%{release}
cd719538
ER
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
d8cfa9f0
JR
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.
6341f096
JB
227
228Ten pakiet zawiera zadanie dla crona.
229
cd719538
ER
230%package monitor
231Summary: Eventum Heartbeat Monitor
9f49cf47 232Summary(pl.UTF-8): Monitor życia dla Eventum
cd719538 233Group: Applications/WWW
5b165428 234Requires: %{name} = %{version}-%{release}
cd719538 235Requires: crondaemon
61351540 236Requires: php(posix)
cd719538
ER
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
d8cfa9f0
JR
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.
6341f096 257
d8cfa9f0
JR
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().
6341f096
JB
261
262Ten pakiet zawiera zadanie dla crona.
263
5b165428
ER
264%package route-drafts
265Summary: Eventum Draft Routing
9f49cf47 266Summary(pl.UTF-8): Przekazywanie szkiców dla Eventum
5b165428
ER
267Group: Applications/WWW
268Requires: %{name} = %{version}-%{release}
5b165428
ER
269Requires: eventum(router)
270
271%description route-drafts
71f56750 272The draft routing feature is used to automatically associate a thread
098cbb72
ER
273of drafts into an Eventum issue. By setting up Postfix to deliver
274emails sent to a specific address (usually draft-<number>@<domain>) to
275the above script, users are able to send drafts written in their mail
276client to be stored in Eventum. These drafts will NOT broadcasted to
277the notification list.
5b165428 278
d8cfa9f0
JR
279%description route-drafts -l pl.UTF-8
280Przekazywanie szkiców służy do automatycznego wiązania wątku szkiców z
098cbb72
ER
281problemem w Eventum. Ustawiając Postfiksa, aby dostarczał pocztę
282wysłaną na podany adres (zwykle draft-<liczba>@<domena>) do tego
283skryptu umożliwia się użytkownikom wysyłanie szkiców napisanych w ich
284kliencie pocztowym do zapisania w Eventum. Szkice te NIE będą wysyłane
285na listę powiadomień.
5410173f 286
cd719538
ER
287%package route-emails
288Summary: Eventum Email Routing
9f49cf47 289Summary(pl.UTF-8): Przekazywanie poczty dla Eventum
cd719538 290Group: Applications/WWW
5b165428 291Requires: %{name} = %{version}-%{release}
8bc4bcd1 292Requires: eventum(router)
cd719538
ER
293
294%description route-emails
295The email routing feature is used to automatically associate a thread
098cbb72
ER
296of emails into an Eventum issue. By setting up Postfix to deliver
297emails sent to a specific address (usually issue-<number>@<domain>) to
298the above script, users are able to use their email clients to reply
299to emails coming from Eventum, and those replies will be automatically
300associated with the issue and broadcasted to the entire notification
301list.
cd719538 302
d8cfa9f0
JR
303%description route-emails -l pl.UTF-8
304Funkcjonalność przekazywania poczty służy do automatycznego wiązania
098cbb72
ER
305wątku listów ze sprawą w Eventum. Po ustawieniu czy nawet Postfiksa,
306aby dostarczał listy wysyłane na pewien adres (zwykle
d8cfa9f0
JR
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.
6341f096 311
cd719538
ER
312%package route-notes
313Summary: Eventum Note Routing
9f49cf47 314Summary(pl.UTF-8): Przekazywanie notatek dla Eventum
cd719538 315Group: Applications/WWW
5b165428 316Requires: %{name} = %{version}-%{release}
8bc4bcd1 317Requires: eventum(router)
cd719538
ER
318
319%description route-notes
320The note routing feature is used to automatically associate a thread
098cbb72
ER
321of notes into an Eventum issue. By setting up Postfix to deliver
322emails sent to a specific address (usually note-<number>@<domain>) to
323the above script, users are able to use their email clients to reply
324to internal notes coming from Eventum, and those replies will be
325automatically associated with the issue and broadcasted to the
326notification list staff members.
cd719538 327
d8cfa9f0
JR
328%description route-notes -l pl.UTF-8
329Funkcjonalność przekazywania notatek służy do automatycznego wiązania
098cbb72
ER
330wątku notatek ze sprawą w Eventum. Po ustawieniu Postfiksa, aby
331dostarczał listy wysyłane na pewien adres (zwykle
d8cfa9f0
JR
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.
6341f096 336
a6d2ad69
ER
337%package router-postfix
338Summary: Eventum Mail Routing - Postfix
9f49cf47 339Summary(pl.UTF-8): Przekazywanie poczty Eventum - Postfix
a6d2ad69 340Group: Applications/Mail
5b165428 341Requires: %{name} = %{version}-%{release}
a6d2ad69 342Requires: postfix
8bc4bcd1
ER
343Provides: eventum(router)
344Obsoletes: eventum(router)
a6d2ad69
ER
345
346%description router-postfix
347This package provides way of routing notes and emails back to Eventum
348via Postfix.
349
e1bb3563
ER
350The Postfix configuration instructions you can find from
351<http://eventum.mysql.org/wiki/index.php/Setting_up_email_routing_with_postfix>.
352
d8cfa9f0
JR
353%description router-postfix -l pl.UTF-8
354Ten pakiet udostępnia metodę przekazywania notatek i listów do Eventum
995fa554
JB
355przez Postfiksa.
356
d8cfa9f0 357Opis konfiguracji Postfiksa można znaleźć pod adresem
a659c698
JB
358<http://eventum.mysql.org/wiki/index.php/Setting_up_email_routing_with_postfix>.
359
cd719538
ER
360%package irc
361Summary: Eventum IRC Notification Bot
9f49cf47 362Summary(pl.UTF-8): IRC-owy bot powiadamiający dla Eventum
cd719538 363Group: Applications/WWW
b79fc4aa 364Requires(post,preun): /sbin/chkconfig
5b165428 365Requires: %{name} = %{version}-%{release}
61351540 366Requires: php(sockets)
71f56750 367Requires: php-pear-Net_SmartIRC
e1c0f343 368Requires: rc-scripts >= 0.4.0.18
cd719538
ER
369
370%description irc
371The IRC notification bot is a nice feature for remote teams that want
372to handle issues and want to have a quick and easy way to get simple
373notifications. Right now the bot notifies of the following actions:
374- New Issues
375- Blocked emails
376- Issues that got their assignment list changed
377
378NOTE: You will need to manually edit the bot.php script to set your
379appropriate preferences, like IRC server and channel that the bot
380should join.
381
d8cfa9f0
JR
382%description irc -l pl.UTF-8
383IRC-owy bot powiadamiający to miła funkcjonalność dla zdalnych
384zespołów chcących obsługiwać sprawy i mieć szybki i łatwy sposób na
385uzyskiwanie prostych powiadomień. Aktualnie bot powiadamia o
386następujących zdarzeniach:
6341f096
JB
387- nowych sprawach
388- zablokowanych listach
d8cfa9f0 389- sprawach, dla których zmieniła się lista powiązań
6341f096 390
d8cfa9f0
JR
391UWAGA: w celu wprowadzenia własnych ustawień, takich jak serwer IRC i
392kanał używany przez bota, trzeba ręcznie zmodyfikować skrypt bot.php .
6341f096 393
abd490e4
ER
394%package cli
395Summary: Eventum command-line interface
9f49cf47 396Summary(pl.UTF-8): Interfejs linii poleceń dla Eventum
abd490e4 397Group: Applications/WWW
5b165428 398Requires: %{name}-base = %{version}-%{release}
9500cdeb 399Requires: php-cli
a7b5a3c7 400Requires: php-common >= 4:%{php_min_version}
71b01fde 401Requires: php-pear-XML_RPC
abd490e4
ER
402
403%description cli
404The Eventum command-line interface allows you to access most of the
405features of the web interface straight from your command shell.
abd490e4 406
d8cfa9f0
JR
407%description cli -l pl.UTF-8
408Interfejs linii poleceń Eventum pozwala na dostęp do większości
409funkcji interfejsu WWW prosto z linii poleceń powłoki.
958cd5a0 410
5cb2e61d 411%package scm
30689148 412Summary: Eventum SCM integration
9f49cf47 413Summary(pl.UTF-8): Integracja SCM dla Eventum
5cb2e61d 414Group: Applications/WWW
5b165428 415Requires: %{name}-base = %{version}-%{release}
bdf85dc8 416Requires: php-cli
a7b5a3c7 417Requires: php-common >= 4:%{php_min_version}
cf66850b 418Requires: php-pcre
5cb2e61d
ER
419
420%description scm
421This feature allows your software development teams to integrate your
422Source Control Management system with your Issue Tracking System.
423
424The integration is implemented in such a way that it will be forward
425compatible with pretty much any SCM system, such as CVS.
426
0181746f 427For installation see
a392a259 428</eventum/help.php?topic=scm_integration_installation>.
0181746f 429
d8cfa9f0
JR
430%description scm -l pl.UTF-8
431Ten pakiet pozwala zespołom programistów na integrację systemu
432zarządzania źródłami (SCM - Source Control Management) z systemem
433śledzenia spraw.
0181746f 434
d8cfa9f0
JR
435Integracja jest zaimplementowana tak, aby być kompatybilna w przód z
436prawie każdym systemem SCM, jak np. CVS.
0181746f 437
d8cfa9f0 438Szczegóły na temat instalacji można przeczytać pod
a392a259 439</eventum/help.php?topic=scm_integration_installation>.
5cb2e61d 440
bb01d732 441%prep
ae3e48e6 442%setup -q
5b165428 443
f1269a43
ER
444# GPL v2
445rm docs/COPYING
446
ae3e48e6
ER
447rm -r upgrade/*v1.[123]* # too old to support in PLD Linux
448rm -r upgrade/v{1.,2.0,2.1_}* # no longer supported in PLD Linux
449rm upgrade/flush_compiled_templates.php
450rm -r upgrade/{*/,}index.html # not needed in PLD Linux
e1c0f343 451
9487d524 452# bug fixes / features
0b3b58dd 453%patch0 -p1
4f627938 454%{?with_order:%patch2 -p1}
57e65e62 455
0039f3e6 456cp -a %{SOURCE16} htdocs/images
422dcc8e 457
a6016bab 458#%patch200 -p1
ac27ba92
ER
459
460# packaging
461%patch100 -p1
462%patch101 -p1
ac27ba92 463%patch105 -p1
ac27ba92 464%patch107 -p1
0b3b58dd 465
3d92cbd2
ER
466cat <<'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.
469GRANT SELECT, UPDATE, DELETE, INSERT, ALTER, DROP, CREATE, INDEX ON eventum.* TO 'eventum'@'localhost' IDENTIFIED BY 'password';
470EOF
471
25123ce7 472%{__sed} -i -e "
25123ce7 473s;define('CONFIG_PATH'.*');define('CONFIG_PATH', '%{_webappdir}');
ae3e48e6 474" upgrade/{*/,}*.php
c3fd3767 475
5b165428 476# remove backups from patching as we use globs to package files to buildroot
73c437a6 477find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
085e39c0 478
465c3ab7 479%build
ae3e48e6 480%{__make} -C localization
465c3ab7 481
bb01d732
ER
482%install
483rm -rf $RPM_BUILD_ROOT
cfc3bce6 484install -d \
8a37ad9d 485 $RPM_BUILD_ROOT{%{_webappdir},%{_sysconfdir},%{_bindir},%{_sbindir},%{_libdir}} \
cfc3bce6 486 $RPM_BUILD_ROOT/etc/{rc.d/init.d,cron.d,sysconfig} \
c1e74aa1 487 $RPM_BUILD_ROOT/var/{run,cache,lib}/%{name} \
685fc383 488 $RPM_BUILD_ROOT/var/log/{archive/,}%{name} \
89522a33 489 $RPM_BUILD_ROOT/var/lib/%{name}/routed_{emails,drafts,notes} \
761ae7dd 490 $RPM_BUILD_ROOT%{_appdir}/{include,htdocs/misc,upgrade} \
cfc3bce6 491
ae3e48e6
ER
492%{__make} install-eventum install-cli install-irc install-scm install-jpgraph install-localization \
493 sysconfdir=%{_webappdir} \
494 DESTDIR=$RPM_BUILD_ROOT
da8d6134 495
ae3e48e6 496%{?with_order:cp -a htdocs/ajax $RPM_BUILD_ROOT%{_appdir}/htdocs}
9cdc5027 497
f399f1c0 498touch $RPM_BUILD_ROOT%{_webappdir}/htpasswd
31dabce6
ER
499cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
500cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
cfcdd0a9 501cp -a %{SOURCE15} $RPM_BUILD_ROOT%{_webappdir}/lighttpd.conf
ae3e48e6 502
31dabce6
ER
503cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
504cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
505cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
506cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
ae3e48e6 507
77b3db3b 508cp -a %{SOURCE7} $RPM_BUILD_ROOT%{_webappdir}/irc_config.php
ae3e48e6 509
31dabce6
ER
510cp -a %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
511cp -a %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc
512
410d72c7 513# postfix router
cfcdd0a9 514install %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/router-postfix
a6d2ad69 515
cfcdd0a9 516install -D %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
465c3ab7 517
600d96a0 518%find_lang %{name}
c1e74aa1 519
ae3e48e6
ER
520# scm
521install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/scm.php
522
523# old compat
524ln -s %{_sbindir}/eventum-cvs-hook $RPM_BUILD_ROOT%{_libdir}/process_cvs_commits
525ln -s %{_sbindir}/eventum-svn-hook $RPM_BUILD_ROOT%{_libdir}/process_svn_commits
526
527# skip pear for cli
528rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/cli
529cp -a cli/lib/eventum $RPM_BUILD_ROOT%{_datadir}/%{name}/cli
530
bb01d732
ER
531%clean
532rm -rf $RPM_BUILD_ROOT
533
01b84746
ER
534%pre
535%addusertogroup http %{name}
536
82121306 537%post
ec185415 538# check if the package is configured.
2bf6ebce 539if grep -q "Header('Location: setup/')" %{_webappdir}/config.php; then
ac9278b5 540if [ -f %{_appdir}/htdocs/setup/index.php ]; then
ec185415
ER
541%banner %{name} -e <<EOF
542
543You haven't yet configured Eventum!
ac9278b5
ER
544Please open in browser <http://localhost/eventum/>
545If you need access from elsewhere, you need to edit
8a37ad9d 546%{_webappdir}/apache.conf and restart apache.
ec185415 547
ac9278b5
ER
548IMPORTANT: When You have configured Eventum, please uninstall the
549setup package, so that %{name}-setup is able to secure your Eventum
550installation.
ec185415 551
ac9278b5 552EOF
5b165428 553#' vim syntax hack
ac9278b5
ER
554else
555%banner %{name} -e <<EOF
556
557You haven't yet configured Eventum!
558
559To setup eventum, please install %{name}-setup and open in browser
560<http://localhost/eventum/>.
561If you need access from elsewhere, you need to edit
2bf6ebce 562%{_webappdir}/*.conf depending on webserver and restart the webserver.
ac9278b5
ER
563
564IMPORTANT: When You have configured Eventum, please uninstall the
565setup package, so that %{name}-setup is able to secure your Eventum
566installation.
ec185415
ER
567
568EOF
5b165428 569#' vim syntax hack
ac9278b5 570fi
47033007 571
8a37ad9d 572elif grep -q 'DEFAULTPRIVATEKEY' %{_webappdir}/private_key.php; then
47033007
ER
573%banner %{name} -e <<EOF
574
575You have default private key installed!
576
577Install %{name}-setup and open up http://yourserver/eventum/setup/
578-- that will help you setup initial config.
579
580when have configured Eventum, please uninstall the setup package,
581so that %{name}-setup is able to secure your Eventum installation.
582
583EOF
584 elif [ -d %{_appdir}/setup ]; then
107fc31b
ER
585%banner %{name} -e <<EOF
586
587If you have have configured Eventum, please uninstall the setup package,
588so that %{name}-setup is able to secure your Eventum installation.
589
590EOF
ec185415 591fi
94bd779f 592
08196fe2
ER
593# greate empty ghost files
594for 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
598done
599
847270fe
ER
600# database update
601%{_appdir}/upgrade/update-database.php || :
602
da8d6134
ER
603# nuke Smarty templates cache after upgrade
604rm -f /var/cache/eventum/*.php
605
114241d7
ER
606# restart webserver (actually php engines php-fcgi, php-fpm needed only)
607# on upgrade to get .po translations reloaded
608%php_webserver_restart
609
82121306
ER
610%preun
611if [ "$1" = "0" ]; then
dfe0f6d6
ER
612 # nuke cache
613 rm -f /var/cache/eventum/*.php 2>/dev/null || :
614fi
cfc3bce6 615
01b84746 616%pre base
1d760108
ER
617%groupadd -P %{name}-base -g 146 %{name}
618%useradd -P %{name}-base -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name}
01b84746
ER
619
620%postun base
621if [ "$1" = "0" ]; then
a6d2ad69 622 %userremove %{name}
1f52d1fe 623 %groupremove %{name}
a6d2ad69
ER
624fi
625
94bd779f 626%post setup
8a37ad9d
ER
627chmod 660 %{_webappdir}/{config,private_key}.php
628chown root:eventum %{_webappdir}/{config,private_key}.php
94bd779f
ER
629
630%postun setup
631if [ "$1" = "0" ]; then
8a37ad9d
ER
632 chmod 640 %{_webappdir}/{config,private_key}.php
633 chown root:eventum %{_webappdir}/{config,private_key}.php
94bd779f
ER
634fi
635
e1c0f343
ER
636%post irc
637/sbin/chkconfig --add eventum-irc
99bbe3cb 638%service eventum-irc restart "Eventum IRC Bot"
e1c0f343 639
add0e245
ER
640%preun irc
641if [ "$1" = 0 ]; then
642 %service eventum-irc stop
643 /sbin/chkconfig --del eventum-irc
644fi
645
09f58a75 646%triggerin -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 647%webapp_register apache %{_webapp}
1d760108 648
09f58a75 649%triggerun -- apache1 < 1.3.37-3, apache1-base
bdf85dc8 650%webapp_unregister apache %{_webapp}
1d760108 651
00e0fc89 652%triggerin -- apache < 2.2.0, apache-base
bdf85dc8 653%webapp_register httpd %{_webapp}
1d760108 654
00e0fc89 655%triggerun -- apache < 2.2.0, apache-base
bdf85dc8 656%webapp_unregister httpd %{_webapp}
1d760108 657
f399f1c0
ER
658%triggerin -- lighttpd
659%webapp_register lighttpd %{_webapp}
660
661%triggerun -- lighttpd
662%webapp_unregister lighttpd %{_webapp}
663
f1269a43
ER
664%triggerpostun -- %{name} < 2.2-2.57
665# switching eventum->http user
e570944f
ER
666chgrp http %{_webappdir}/config.php
667chgrp http %{_webappdir}/private_key.php
668chgrp http %{_webappdir}/setup.php
669chgrp http /var/log/%{name}/*
670# update crontab user
671for a in /etc/cron.d/eventum-*; do
672 awk '!/#/ && NR > 6 && $6 =="eventum" {sub("eventum", "http", $6)}{print}' $a > $a.rpmtmp && cat $a.rpmtmp > $a
673 rm -f $a.rpmtmp
674done
675
f1269a43
ER
676# crontabs moved to crons subdir
677%{__sed} -i -e '
678 s,/usr/share/eventum/process_mail_queue.php,/usr/share/eventum/crons/process_mail_queue.php,
679 s,/usr/share/eventum/download_emails.php,/usr/share/eventum/crons/download_emails.php,
680 s,/usr/share/eventum/check_reminders.php,/usr/share/eventum/crons/check_reminders.php,
681 s,/usr/share/eventum/monitor.php,/usr/share/eventum/crons/monitor.php,
682' /etc/cron.d/eventum-*
683
684%triggerpostun mail-download -- %{name}-mail-download < 2.2-2.57
685%triggerpostun reminder -- %{name}-reminder < 2.2-2.57
686%triggerpostun monitor -- %{name}-monitor < 2.2-2.57
687
688
600d96a0 689%files -f %{name}.lang
bb01d732 690%defattr(644,root,root,755)
1f9de427 691%doc docs/* htdocs/setup/schema.sql mysql-permissions.sql
8a37ad9d
ER
692%attr(751,root,root) %dir %{_webappdir}
693%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf
694%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf
f399f1c0 695%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/lighttpd.conf
e570944f
ER
696%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/config.php
697%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php
698%attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/setup.php
f399f1c0 699%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/htpasswd
d2e501e8 700
e570944f
ER
701%dir %attr(731,root,http) /var/log/%{name}
702%attr(620,root,http) %ghost /var/log/%{name}/*
3c6aa7a9 703%dir %attr(750,root,root) /var/log/archive/%{name}
8fd047ac 704%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
35f9d6a3 705
f1269a43 706%dir %{_appdir}/crons
ae3e48e6 707%{_appdir}/init.php
cfc3bce6
ER
708%dir %{_appdir}/htdocs
709%{_appdir}/htdocs/*.php
da8d6134 710%{_appdir}/htdocs/*.ico
cfc3bce6
ER
711%{_appdir}/htdocs/css
712%{_appdir}/htdocs/customer
713%{_appdir}/htdocs/images
714%{_appdir}/htdocs/js
715%{_appdir}/htdocs/manage
716%{_appdir}/htdocs/reports
717%{_appdir}/htdocs/rpc
718%{_appdir}/htdocs/misc
422dcc8e
ER
719%if %{with order}
720%{_appdir}/htdocs/ajax
721%endif
9748a8c3 722%{_appdir}/templates
847270fe 723
c9165420 724%dir %{_appdir}/upgrade
ae3e48e6 725%{_appdir}/upgrade/init.php
847270fe
ER
726%attr(755,root,root) %{_appdir}/upgrade/update-database.php
727%dir %{_appdir}/upgrade/v*
728%attr(755,root,root) %{_appdir}/upgrade/v*/*.php
729%{_appdir}/upgrade/patches
730
ae3e48e6
ER
731%dir %{_appdir}/lib
732%{_appdir}/lib/eventum
733%{_appdir}/lib/jpgraph
734%exclude %{_appdir}/lib/eventum/class.monitor.php
9748a8c3 735
e570944f
ER
736%dir %attr(730,root,http) /var/run/%{name}
737%dir %attr(730,root,http) /var/cache/%{name}
ab983aaa 738
d2e501e8
ER
739%files base
740%defattr(644,root,root,755)
741%attr(751,root,root) %dir %{_sysconfdir}
a392a259 742%dir %{_libdir}
cfc3bce6 743%dir %{_appdir}
098cbb72 744%dir /var/lib/%{name}
89522a33 745# saved mail copies
e570944f
ER
746%attr(770,root,http) %dir /var/lib/%{name}/routed_emails
747%attr(770,root,http) %dir /var/lib/%{name}/routed_drafts
748%attr(770,root,http) %dir /var/lib/%{name}/routed_notes
d2e501e8 749
ab983aaa
ER
750%files setup
751%defattr(644,root,root,755)
cfc3bce6 752%{_appdir}/htdocs/setup
0da8e1f2
ER
753
754%files mail-queue
755%defattr(644,root,root,755)
f1269a43 756%attr(755,root,root) %{_appdir}/crons/process_mail_queue.php
ea084bcb
ER
757%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
758
759%files mail-download
760%defattr(644,root,root,755)
f1269a43 761%attr(755,root,root) %{_appdir}/crons/download_emails.php
ea084bcb 762%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
5cb2e61d 763
cd719538
ER
764%files reminder
765%defattr(644,root,root,755)
f1269a43 766%attr(755,root,root) %{_appdir}/crons/check_reminders.php
cd719538
ER
767%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
768
769%files monitor
770%defattr(644,root,root,755)
ae3e48e6 771%{_appdir}/lib/eventum/class.monitor.php
f1269a43 772%attr(755,root,root) %{_appdir}/crons/monitor.php
cd719538
ER
773%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
774
5b165428
ER
775%files route-drafts
776%defattr(644,root,root,755)
410d72c7 777%attr(755,root,root) %{_appdir}/route_drafts.php
5b165428 778
cd719538
ER
779%files route-emails
780%defattr(644,root,root,755)
410d72c7 781%attr(755,root,root) %{_appdir}/route_emails.php
cd719538
ER
782
783%files route-notes
784%defattr(644,root,root,755)
410d72c7 785%attr(755,root,root) %{_appdir}/route_notes.php
cd719538 786
a6d2ad69
ER
787%files router-postfix
788%defattr(644,root,root,755)
410d72c7 789%attr(755,root,root) %{_libdir}/router-postfix
a6d2ad69 790
cd719538
ER
791%files irc
792%defattr(644,root,root,755)
77b3db3b 793%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/irc_config.php
01b84746 794%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/eventum-irc
ae3e48e6 795%attr(755,root,root) %{_sbindir}/%{name}-irc-bot
cd719538
ER
796%attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
797
abd490e4
ER
798%files cli
799%defattr(644,root,root,755)
ae3e48e6 800%doc cli/eventumrc
d2e501e8 801%attr(755,root,root) %{_bindir}/%{name}
cfc3bce6 802%{_appdir}/cli
abd490e4 803
5cb2e61d
ER
804%files scm
805%defattr(644,root,root,755)
ca6b8520 806%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scm.php
bd7564e0
ER
807%attr(755,root,root) %{_libdir}/process_cvs_commits
808%attr(755,root,root) %{_libdir}/process_svn_commits
ae3e48e6
ER
809%attr(755,root,root) %{_sbindir}/eventum-cvs-hook
810%attr(755,root,root) %{_sbindir}/eventum-svn-hook
This page took 0.312526 seconds and 4 git commands to generate.