]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # Conditional build: | |
3 | %bcond_with order # with experimental order patch | |
4 | ||
5 | %define rel 1 | |
6 | #define subver 37 | |
7 | #define githash 2276dac77 | |
8 | %define php_min_version 7.1.3 | |
9 | Summary: Eventum Issue / Bug tracking system | |
10 | Summary(pl.UTF-8): Eventum - system śledzenia spraw/błędów | |
11 | Name: eventum | |
12 | Version: 3.8.16 | |
13 | Release: %{?subver:1.%{subver}.%{?githash:g%{githash}.}}%{rel} | |
14 | License: GPL v2+ | |
15 | Group: Applications/WWW | |
16 | Source0: https://github.com/eventum/eventum/releases/download/v%{version}/%{name}-%{version}.tar.xz | |
17 | # Source0-md5: 0dfb3b0fea62002a04459ff9bb292c29 | |
18 | #Source0: https://github.com/eventum/eventum/releases/download/snapshot/%{name}-%{version}-%{subver}-g%{githash}.tar.xz | |
19 | Source1: %{name}-apache.conf | |
20 | Source2: %{name}-mail-queue.cron | |
21 | Source3: %{name}-mail-download.cron | |
22 | Source4: %{name}-reminder.cron | |
23 | Source5: %{name}-monitor.cron | |
24 | Source10: sphinx.crontab | |
25 | Source13: %{name}-router-postfix.sh | |
26 | Source14: %{name}.logrotate | |
27 | Source15: %{name}-lighttpd.conf | |
28 | Source16: http://www.isocra.com/images/updown2.gif | |
29 | # Source16-md5: deb6eeb2552ba757d3a949ed10c4107d | |
30 | Source17: %{name}.tmpfiles | |
31 | Patch2: %{name}-order.patch | |
32 | #Patch3: group-users.patch | |
33 | #Patch4: https://github.com/glensc/eventum/compare/cf_escape.patch | |
34 | # packaging patches that probably never go upstream | |
35 | Patch100: %{name}-paths.patch | |
36 | Patch107: %{name}-gettext.patch | |
37 | Patch108: autoload.patch | |
38 | # some tests | |
39 | Patch200: %{name}-fixed-nav.patch | |
40 | URL: https://github.com/eventum/eventum | |
41 | BuildRequires: gettext-tools | |
42 | BuildRequires: rpmbuild(macros) >= 1.654 | |
43 | BuildRequires: sed >= 4.0 | |
44 | BuildRequires: tar >= 1:1.22 | |
45 | BuildRequires: xz | |
46 | Requires(post): sudo | |
47 | Requires(postun): /usr/sbin/groupdel | |
48 | Requires(postun): /usr/sbin/userdel | |
49 | Requires(pre): /bin/id | |
50 | Requires(pre): /usr/bin/getgid | |
51 | Requires(pre): /usr/sbin/groupadd | |
52 | Requires(pre): /usr/sbin/useradd | |
53 | Requires: fonts-TTF-RedHat-liberation | |
54 | Requires: php(core) >= %{php_min_version} | |
55 | Requires: php(ds) | |
56 | Requires: php(filter) | |
57 | Requires: php(iconv) | |
58 | Requires: php(imap) | |
59 | Requires: php(json) | |
60 | Requires: php(mbstring) | |
61 | Requires: php(pcre) | |
62 | Requires: php(pdo_mysql) | |
63 | Requires: php(session) | |
64 | Requires: php-Smarty >= 3.1 | |
65 | Requires: php-Smarty-plugin-gettext | |
66 | Requires: php-monolog >= 1.17.2 | |
67 | Requires: php-psr-Log >= 1.0.0-2 | |
68 | Requires: phplot >= 5.8.0 | |
69 | Requires: webapps | |
70 | Requires: webserver(access) | |
71 | Requires: webserver(alias) | |
72 | Requires: webserver(indexfile) | |
73 | Requires: webserver(php) >= 4.2.0 | |
74 | Suggests: localedb | |
75 | Suggests: php(mcrypt) | |
76 | Suggests: php(openssl) | |
77 | Suggests: webserver(setenv) | |
78 | Provides: group(eventum) | |
79 | Provides: user(eventum) | |
80 | Obsoletes: eventum-base < 3.0.3-1.305 | |
81 | Obsoletes: eventum-route-drafts < 3.0.8-1.1 | |
82 | Obsoletes: eventum-route-emails < 3.0.8-1.1 | |
83 | Obsoletes: eventum-route-notes < 3.0.8-1.1 | |
84 | Conflicts: logrotate < 3.8.0 | |
85 | BuildArch: noarch | |
86 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
87 | ||
88 | %define _noautoreq_pear .* | |
89 | %define _libdir %{_prefix}/lib/%{name} | |
90 | %define _appdir %{_datadir}/%{name} | |
91 | %define _smartydir %{php_data_dir}/Smarty | |
92 | %define _webapps /etc/webapps | |
93 | %define _webapp %{name} | |
94 | %define _webappdir %{_webapps}/%{_webapp} | |
95 | %define _sysconfdir /etc/%{name} | |
96 | ||
97 | %description | |
98 | Eventum is a user-friendly and flexible issue tracking system that can | |
99 | be used by a support department to track incoming technical support | |
100 | requests, or by a software development team to quickly organize tasks | |
101 | and bugs. | |
102 | ||
103 | %description -l pl.UTF-8 | |
104 | Eventum to przyjazny dla użytkownika system śledzenia spraw, który | |
105 | może być używany przez dział obsługi do śledzenia przychodzących żądań | |
106 | obsługi technicznej albo przez zespół tworzący oprogramowanie do | |
107 | szybkiej organizacji zadań i błędów. | |
108 | ||
109 | %package setup | |
110 | Summary: Eventum setup package | |
111 | Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji Eventum | |
112 | Group: Applications/WWW | |
113 | Requires: %{name} = %{version}-%{release} | |
114 | ||
115 | %description setup | |
116 | Install this package to configure initial Eventum installation. You | |
117 | should uninstall this package when you're done, as it considered | |
118 | insecure to keep the setup files in place. | |
119 | ||
120 | %description setup -l pl.UTF-8 | |
121 | Ten pakiet należy zainstalować w celu wstępnej konfiguracji Eventum po | |
122 | pierwszej instalacji. Potem należy go odinstalować, jako że | |
123 | pozostawienie plików instalacyjnych mogłoby być niebezpieczne. | |
124 | ||
125 | %package doc | |
126 | Summary: Eventum documentation and Wiki | |
127 | Group: Documentation | |
128 | ||
129 | %description doc | |
130 | Eventum documentation and Wiki. | |
131 | ||
132 | %package mail-queue | |
133 | Summary: Eventum mail queue process | |
134 | Summary(pl.UTF-8): Przetwarzanie kolejki poczty Eventum | |
135 | Group: Applications/WWW | |
136 | Requires: %{name} = %{version}-%{release} | |
137 | Requires: crondaemon | |
138 | ||
139 | %description mail-queue | |
140 | Beginning with the first release of Eventum, emails are not directly | |
141 | sent out from the various scripts, but rather added to a mail queue | |
142 | table that is processed by a cron job. If an email cannot be sent, it | |
143 | will be marked as such in the mail queue log, and the cron job script | |
144 | will re-try to send it again the next time it runs. | |
145 | ||
146 | This package contains the cron job. | |
147 | ||
148 | %description mail-queue -l pl.UTF-8 | |
149 | Od pierwszego wydania Eventum poczta nie jest wysyłana bezpośrednio z | |
150 | różnych skryptów, lecz dodawana do kolejki przetwarzanej z crona. | |
151 | Jeśli poczta nie może być wysłana, będzie odpowiednio oznaczona w logu | |
152 | kolejki poczty, a skrypt z crona będzie próbował wysłać ją ponownie | |
153 | następnym razem. | |
154 | ||
155 | Ten pakiet zawiera zadanie dla crona. | |
156 | ||
157 | %package mail-download | |
158 | Summary: Eventum email download | |
159 | Summary(pl.UTF-8): Ściąganie poczty Eventum | |
160 | Group: Applications/WWW | |
161 | Requires: %{name} = %{version}-%{release} | |
162 | Requires: crondaemon | |
163 | ||
164 | %description mail-download | |
165 | In order for Eventum's email integration feature to work, you need to | |
166 | setup a cron job to run the script every so often. | |
167 | ||
168 | This package contains the cron job. | |
169 | ||
170 | %description mail-download -l pl.UTF-8 | |
171 | Aby integracja poczty elektronicznej w Eventum działała, trzeba | |
172 | ustawić zadanie crona, aby uruchamiał odpowiedni skrypt wystarczająco | |
173 | często. | |
174 | ||
175 | Ten pakiet zawiera zadanie dla crona. | |
176 | ||
177 | %package reminder | |
178 | Summary: Eventum Reminder System | |
179 | Summary(pl.UTF-8): System przypominania dla Eventum | |
180 | Group: Applications/WWW | |
181 | Requires: %{name} = %{version}-%{release} | |
182 | Requires: crondaemon | |
183 | ||
184 | %description reminder | |
185 | The reminder system was designed with the objective as serving as a | |
186 | safe net for issues that need attention. Depending on what | |
187 | configuration you create, you may have several reminders (or alerts) | |
188 | be sent out whenever an issue needs attention, for whatever parameter | |
189 | you may deem necessary. | |
190 | ||
191 | This package contains the cron job. | |
192 | ||
193 | %description reminder -l pl.UTF-8 | |
194 | System przypominania został zaprojektowany tak, aby służył jako | |
195 | bezpieczna sieć dla spraw wymagających uwagi. W zależności od | |
196 | konfiguracji można ustawić różne przypominajki (lub alarmy) wysyłane | |
197 | przy każdej sprawie wymagającej uwagi lub przy parametrze, który można | |
198 | uważać za potrzebny. | |
199 | ||
200 | Ten pakiet zawiera zadanie dla crona. | |
201 | ||
202 | %package monitor | |
203 | Summary: Eventum Heartbeat Monitor | |
204 | Summary(pl.UTF-8): Monitor życia dla Eventum | |
205 | Group: Applications/WWW | |
206 | Requires: %{name} = %{version}-%{release} | |
207 | Requires: crondaemon | |
208 | Requires: php(posix) | |
209 | ||
210 | %description monitor | |
211 | The heartbeat monitor is a feature designed for the administrator that | |
212 | wants to be alerted whenever a common problem in Eventum is detected, | |
213 | like the database server not being available anymore, or maybe when | |
214 | the recommended permissions for certain configuration files are | |
215 | changed. | |
216 | ||
217 | Please note that before running the heartbeat monitor, you may need to | |
218 | customize some of the checks to be appropriate for your own system, | |
219 | particularly the permission and file checks on | |
220 | Monitor::checkConfiguration(). | |
221 | ||
222 | This package contains the cron job. | |
223 | ||
224 | %description monitor -l pl.UTF-8 | |
225 | Monitor życia to funkcjonalność zaprojektowana dla administratora | |
226 | chcącego być alarmowanym przy każdym wykryciu popularnego problemu z | |
227 | Eventum, jak nie działanie serwera bazy danych albo zmiana uprawnień | |
228 | do plików konfiguracyjnych. | |
229 | ||
230 | Należy zauważyć, że przed uruchomieniem tego monitora może być | |
231 | konieczne dostosowanie niektórych testów do systemu, w szczególności | |
232 | testów uprawnień i plików w Monitor::checkConfiguration(). | |
233 | ||
234 | Ten pakiet zawiera zadanie dla crona. | |
235 | ||
236 | %package router-postfix | |
237 | Summary: Eventum Mail Routing - Postfix | |
238 | Summary(pl.UTF-8): Przekazywanie poczty Eventum - Postfix | |
239 | Group: Applications/Mail | |
240 | Requires: %{name} = %{version}-%{release} | |
241 | Requires: postfix | |
242 | Provides: eventum(router) | |
243 | Obsoletes: eventum(router) | |
244 | ||
245 | %description router-postfix | |
246 | This package provides way of routing notes and emails back to Eventum | |
247 | via Postfix. | |
248 | ||
249 | The Postfix configuration instructions you can find from | |
250 | <https://github.com/eventum/eventum/blob/v%{version}/docs/wiki/System-Admin/Setting-up-email-routing-with-postfix.md> | |
251 | ||
252 | %description router-postfix -l pl.UTF-8 | |
253 | Ten pakiet udostępnia metodę przekazywania notatek i listów do Eventum | |
254 | przez Postfiksa. | |
255 | ||
256 | Opis konfiguracji Postfiksa można znaleźć pod adresem | |
257 | <https://github.com/eventum/eventum/blob/v%{version}/docs/wiki/System-Admin/Setting-up-email-routing-with-postfix.md> | |
258 | ||
259 | %package sphinx | |
260 | Summary: Eventum Sphinx Search | |
261 | Group: Applications/WWW | |
262 | Requires: %{name} = %{version}-%{release} | |
263 | Requires: crondaemon | |
264 | Requires: sphinx | |
265 | ||
266 | %description sphinx | |
267 | Sphinx search integration for Eventum. | |
268 | ||
269 | This package contains the cron job. | |
270 | ||
271 | %prep | |
272 | %setup -q -n %{name}-%{version}%{?githash:-%{subver}-g%{githash}} | |
273 | ||
274 | mv docs/examples . | |
275 | ||
276 | # bug fixes / features | |
277 | %{?with_order:%patch2 -p1} | |
278 | #%patch3 -p0 | |
279 | #%patch4 -p1 | |
280 | %{?with_order:cp -p %{SOURCE16} htdocs/images} | |
281 | #%patch200 -p1 | |
282 | ||
283 | # produce default sphinx config | |
284 | # must be run before paths.patch | |
285 | %if 0 | |
286 | cat <<'EOF' > config/config.php | |
287 | <?php | |
288 | define('APP_SQL_DBTYPE', 'mysql'); | |
289 | define('APP_SQL_DBHOST', 'localhost:/var/lib/mysql/mysql.sock'); | |
290 | define('APP_SQL_DBPORT', 3306); | |
291 | define('APP_SQL_DBNAME', 'eventum'); | |
292 | define('APP_SQL_DBUSER', 'mysql'); | |
293 | define('APP_SQL_DBPASS', ''); | |
294 | define('APP_TABLE_PREFIX', 'eventum_'); | |
295 | EOF | |
296 | php config/sphinx.conf.php > config/sphinx.conf | |
297 | rm config/config.php | |
298 | %endif | |
299 | ||
300 | # packaging | |
301 | %patch100 -p1 | |
302 | %patch107 -p1 | |
303 | %patch108 -p1 | |
304 | ||
305 | rm htdocs/.htaccess.dist | |
306 | rm config/config.dist.php | |
307 | ||
308 | # cleanup libs taken from system, everything else gets bundled | |
309 | rm -r vendor/fonts/liberation | |
310 | rm -r vendor/monolog/monolog | |
311 | rm -r vendor/phplot/phplot | |
312 | rm -r vendor/psr/log | |
313 | rm -r vendor/smarty-gettext/smarty-gettext | |
314 | rm -r vendor/smarty/smarty | |
315 | rm -r vendor/sphinx/php-sphinxapi | |
316 | ||
317 | %{__sed} -i '1s|^#!.*php\b|#!/usr/bin/php|' config/sphinx.conf.php bin/*.php | |
318 | ||
319 | # remove backups from patching as we use globs to package files to buildroot | |
320 | find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v | |
321 | ||
322 | %build | |
323 | %{__make} -C localization | |
324 | ||
325 | %install | |
326 | rm -rf $RPM_BUILD_ROOT | |
327 | install -d \ | |
328 | $RPM_BUILD_ROOT{%{_webappdir}/{custom_field,templates,workflow},%{_sysconfdir},%{_bindir},%{_sbindir},%{_libdir}} \ | |
329 | $RPM_BUILD_ROOT/etc/{rc.d/init.d,cron.d,logrotate.d,sysconfig} \ | |
330 | $RPM_BUILD_ROOT/var/{run,lib}/%{name} \ | |
331 | $RPM_BUILD_ROOT/var/log/{archive/,}%{name} \ | |
332 | $RPM_BUILD_ROOT/var/lib/%{name}/{routed_{emails,drafts,notes},storage} \ | |
333 | $RPM_BUILD_ROOT/var/cache/%{name}/doctrine/proxies \ | |
334 | $RPM_BUILD_ROOT%{systemdtmpfilesdir} | |
335 | ||
336 | %{__make} install-eventum install-localization \ | |
337 | sysconfdir=%{_webappdir} \ | |
338 | localedir=%{_localedir} \ | |
339 | DESTDIR=$RPM_BUILD_ROOT | |
340 | ||
341 | ln -s %{_webappdir} $RPM_BUILD_ROOT%{_appdir}/config | |
342 | ||
343 | cp -a vendor $RPM_BUILD_ROOT%{_appdir} | |
344 | ||
345 | # unsupported locale | |
346 | %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ht | |
347 | ||
348 | install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
349 | cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
350 | ||
351 | %{?with_order:cp -a htdocs/ajax $RPM_BUILD_ROOT%{_appdir}/htdocs} | |
352 | ||
353 | touch $RPM_BUILD_ROOT%{_webappdir}/htpasswd | |
354 | cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/apache.conf | |
355 | cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf | |
356 | cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_webappdir}/lighttpd.conf | |
357 | ||
358 | install -d $RPM_BUILD_ROOT/etc/sphinx | |
359 | #cp -p config/sphinx.conf $RPM_BUILD_ROOT/etc/sphinx/%{name}.conf | |
360 | cp -p config/sphinx.conf.php $RPM_BUILD_ROOT%{_webappdir} | |
361 | ||
362 | cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue | |
363 | cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download | |
364 | cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder | |
365 | cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor | |
366 | cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/cron.d/%{name}-sphinx | |
367 | ||
368 | cp -p %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/%{name} | |
369 | ||
370 | # postfix router | |
371 | install -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/router-postfix | |
372 | ||
373 | cp -p %{SOURCE17} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf | |
374 | ||
375 | %find_lang %{name} | |
376 | ||
377 | %clean | |
378 | rm -rf $RPM_BUILD_ROOT | |
379 | ||
380 | %pre | |
381 | %groupadd -g 146 %{name} | |
382 | %useradd -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name} | |
383 | %addusertogroup http %{name} | |
384 | ||
385 | %post | |
386 | # create empty ghost files | |
387 | # these permissions ensure the logs are write only | |
388 | for a in \ | |
389 | errors.log login_attempts.log \ | |
390 | eventum.log \ | |
391 | auth.log cli.log \ | |
392 | ; do | |
393 | test -f /var/log/%{name}/$a && continue | |
394 | install -m 0620 -o root -g http /dev/null /var/log/%{name}/$a | |
395 | done | |
396 | ||
397 | # run database update if configured | |
398 | test -s %{_webappdir}/config.php && \ | |
399 | sudo -H -u http -- %{_appdir}/bin/upgrade.php || : | |
400 | ||
401 | # nuke Smarty templates cache after upgrade | |
402 | rm -f /var/cache/eventum/*.php | |
403 | ||
404 | # Restart webserver on upgrade to get .mo translations reloaded. | |
405 | # actually php engines "php-fcgi" and "php-fpm" needed only, apache is restarted anyway via webapp trigger. | |
406 | %php_webserver_restart | |
407 | ||
408 | %preun | |
409 | if [ "$1" = "0" ]; then | |
410 | # nuke cache | |
411 | rm -f /var/cache/eventum/*.php 2>/dev/null || : | |
412 | fi | |
413 | ||
414 | %postun | |
415 | if [ "$1" = "0" ]; then | |
416 | %userremove %{name} | |
417 | %groupremove %{name} | |
418 | fi | |
419 | ||
420 | %post setup | |
421 | chmod 660 %{_webappdir}/{config,private_key,secret_key}.php | |
422 | chown root:http %{_webappdir}/{config,private_key,secret_key}.php | |
423 | ||
424 | %postun setup | |
425 | if [ "$1" = "0" ] && [ -f %{_webappdir}/config.php ]; then | |
426 | chmod 640 %{_webappdir}/{config,private_key,secret_key}.php | |
427 | chown root:http %{_webappdir}/{config,private_key,secret_key}.php | |
428 | fi | |
429 | ||
430 | %triggerin -- apache1 < 1.3.37-3, apache1-base | |
431 | %webapp_register apache %{_webapp} | |
432 | ||
433 | %triggerun -- apache1 < 1.3.37-3, apache1-base | |
434 | %webapp_unregister apache %{_webapp} | |
435 | ||
436 | %triggerin -- apache < 2.2.0, apache-base | |
437 | %webapp_register httpd %{_webapp} | |
438 | ||
439 | %triggerun -- apache < 2.2.0, apache-base | |
440 | %webapp_unregister httpd %{_webapp} | |
441 | ||
442 | %triggerin -- lighttpd | |
443 | %webapp_register lighttpd %{_webapp} | |
444 | ||
445 | %triggerun -- lighttpd | |
446 | %webapp_unregister lighttpd %{_webapp} | |
447 | ||
448 | %files -f %{name}.lang | |
449 | %defattr(644,root,root,755) | |
450 | %attr(771,root,http) %dir %{_webappdir} | |
451 | %attr(751,root,http) %dir %{_webappdir}/crm | |
452 | %attr(751,root,http) %dir %{_webappdir}/custom_field | |
453 | %attr(751,root,http) %dir %{_webappdir}/partner | |
454 | %attr(751,root,http) %dir %{_webappdir}/templates | |
455 | %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/config.php | |
456 | %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/htpasswd | |
457 | %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php | |
458 | %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/secret_key.php | |
459 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf | |
460 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf | |
461 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/lighttpd.conf | |
462 | %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/setup.php | |
463 | ||
464 | %dir %attr(731,root,http) /var/log/%{name} | |
465 | %attr(620,root,http) %ghost /var/log/%{name}/* | |
466 | %dir %attr(750,root,root) /var/log/archive/%{name} | |
467 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name} | |
468 | ||
469 | %dir %{_appdir} | |
470 | %{_appdir}/config | |
471 | ||
472 | %dir %{_appdir}/bin | |
473 | %attr(755,root,root) %{_appdir}/bin/console.php | |
474 | %attr(755,root,root) %{_appdir}/bin/export-issues.php | |
475 | %attr(755,root,root) %{_appdir}/bin/extension.php | |
476 | %attr(755,root,root) %{_appdir}/bin/ldapsync.php | |
477 | %attr(755,root,root) %{_appdir}/bin/migrate_storage_adapter.php | |
478 | %attr(755,root,root) %{_appdir}/bin/process_all_emails.php | |
479 | %attr(755,root,root) %{_appdir}/bin/upgrade.php | |
480 | ||
481 | %{_appdir}/autoload.php | |
482 | %{_appdir}/globals.php | |
483 | %{_appdir}/init.php | |
484 | %{_appdir}/phinx.php | |
485 | %dir %{_appdir}/htdocs | |
486 | %{_appdir}/htdocs/*.php | |
487 | %{_appdir}/htdocs/*.ico | |
488 | %{_appdir}/htdocs/mix-manifest.json | |
489 | %{_appdir}/htdocs/ajax | |
490 | %{_appdir}/htdocs/css | |
491 | %{_appdir}/htdocs/customer | |
492 | %{_appdir}/htdocs/fonts | |
493 | %{_appdir}/htdocs/images | |
494 | %{_appdir}/htdocs/js | |
495 | %{_appdir}/htdocs/manage | |
496 | %{_appdir}/htdocs/reports | |
497 | %{_appdir}/htdocs/rpc | |
498 | %{_appdir}/templates | |
499 | ||
500 | %dir %{_appdir}/db | |
501 | %dir %{_appdir}/db/migrations | |
502 | %{_appdir}/db/migrations/*.php | |
503 | %dir %{_appdir}/db/seeds | |
504 | %{_appdir}/db/seeds/*.php | |
505 | ||
506 | %{_appdir}/res | |
507 | %{_appdir}/src | |
508 | %{_appdir}/vendor | |
509 | %dir %{_appdir}/lib | |
510 | %{_appdir}/lib/eventum | |
511 | %exclude %{_appdir}/src/Console/Command/MailDownloadCommand.php | |
512 | %exclude %{_appdir}/src/Console/Command/MailQueueProcessCommand.php | |
513 | %exclude %{_appdir}/src/Console/Command/MailQueueTruncateCommand.php | |
514 | %exclude %{_appdir}/src/Console/Command/MonitorCommand.php | |
515 | %exclude %{_appdir}/src/Console/Command/ReminderCheckCommand.php | |
516 | ||
517 | %dir %{_libdir} | |
518 | ||
519 | %{systemdtmpfilesdir}/%{name}.conf | |
520 | ||
521 | %dir /var/lib/%{name} | |
522 | %dir %attr(730,root,http) /var/run/%{name} | |
523 | %dir %attr(730,root,http) /var/cache/%{name} | |
524 | %dir %attr(730,root,http) /var/cache/%{name}/doctrine | |
525 | %dir %attr(730,root,http) /var/cache/%{name}/doctrine/proxies | |
526 | ||
527 | # saved mail copies | |
528 | %attr(770,root,http) %dir /var/lib/%{name}/routed_emails | |
529 | %attr(770,root,http) %dir /var/lib/%{name}/routed_drafts | |
530 | %attr(770,root,http) %dir /var/lib/%{name}/routed_notes | |
531 | # attachment storage | |
532 | %attr(770,root,http) %dir /var/lib/%{name}/storage | |
533 | ||
534 | %files setup | |
535 | %defattr(644,root,root,755) | |
536 | %{_appdir}/htdocs/setup | |
537 | ||
538 | %files doc | |
539 | %defattr(644,root,root,755) | |
540 | %doc docs/* | |
541 | %{_examplesdir}/%{name}-%{version} | |
542 | ||
543 | %files mail-queue | |
544 | %defattr(644,root,root,755) | |
545 | %{_appdir}/src/Console/Command/MailQueueProcessCommand.php | |
546 | %{_appdir}/src/Console/Command/MailQueueTruncateCommand.php | |
547 | %attr(755,root,root) %{_appdir}/bin/process_mail_queue.php | |
548 | %attr(755,root,root) %{_appdir}/bin/truncate_mail_queue.php | |
549 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue | |
550 | ||
551 | %files mail-download | |
552 | %defattr(644,root,root,755) | |
553 | %{_appdir}/src/Console/Command/MailDownloadCommand.php | |
554 | %attr(755,root,root) %{_appdir}/bin/download_emails.php | |
555 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download | |
556 | ||
557 | %files reminder | |
558 | %defattr(644,root,root,755) | |
559 | %{_appdir}/src/Console/Command/ReminderCheckCommand.php | |
560 | %attr(755,root,root) %{_appdir}/bin/check_reminders.php | |
561 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder | |
562 | ||
563 | %files monitor | |
564 | %defattr(644,root,root,755) | |
565 | %{_appdir}/src/Console/Command/MonitorCommand.php | |
566 | %attr(755,root,root) %{_appdir}/bin/monitor.php | |
567 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor | |
568 | ||
569 | %files router-postfix | |
570 | %defattr(644,root,root,755) | |
571 | %attr(755,root,root) %{_libdir}/router-postfix | |
572 | ||
573 | %files sphinx | |
574 | %defattr(644,root,root,755) | |
575 | %{_webappdir}/sphinx.conf.php | |
576 | #%attr(750,root,http) %config(noreplace) %verify(not md5 mtime size) /etc/sphinx/%{name}.conf | |
577 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-sphinx |