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