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