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