2 # - check file permissions
3 # - check files in /usr/share/rt/
4 # - check Requires (meta-packages for configurations with mod_perl/fcgi,
5 # apache[12]/standalone server...?)
6 # - separate standalone server
9 %define perl_apache_session_ver 1.53
10 %define perl_cgi_ver 4.00
11 %define perl_class_returnvalue_ver 0.40
12 %define perl_css_squish_ver 0.06
13 %define perl_date_extract_ver 0.07
14 %define perl_dbd_mysql 2.1018
15 %define perl_dbi_ver 1.37
16 %define perl_dbix_searchbuilder_ver 1.76
17 %define perl_devel_stacktrace_ver 1.19
18 %define perl_digest_md5_ver 2.27
19 %define perl_gd_ver 1.48
20 %define perl_html_mason_ver 3:1.43
21 %define perl_html_rewriteattributes_ver 0.05
22 %define perl_html_scrubber_ver 0.08
23 %define perl_http_server_simple_mason_ver 0.09
24 %define perl_http_server_simple_ver 0.34
25 %define perl_locale_maketext_lexicon_ver 0.32
26 %define perl_locale_maketext_ver 1.06
27 %define perl_log_dispatch_ver 2.30
28 %define perl_mailtools_ver 2.12
29 %define perl_mime_tools_ver 5.425
30 %define perl_module_versions_report_ver 1.05
31 %define perl_cgi_psgi 0.12
32 %define perl_plack_ver 1.0002
33 %define perl_starlet_ver 0.20
34 %define perl_storable_ver 2.08
35 %define perl_symbol_global_name_ver 0.05
36 %define perl_text_quoted_ver 2.07
37 %define perl_text_wikiformat_ver 0.76
38 %define perl_tree_simple_ver 1.18
39 %define perl_text_template_ver 1.45
40 %define perl_xml_rss_ver 1.05
42 %bcond_with testdeps # used for checking dependencies
44 Summary: Request Tracker
45 Summary(pl.UTF-8): Request Tracker - system do śledzenia zleceń
51 # https://bestpractical.com/download-page
52 Source0: http://download.bestpractical.com/pub/rt/release/%{name}-%{version}.tar.gz
53 # Source0-md5: c1165d83363dd8c50c4e5aa9e5a84384
54 Source1: %{name}-apache_dir.conf
55 Source2: %{name}-apache_vhost.conf
56 Source3: %{name}-apache.conf
57 Source4: %{name}.logrotate
58 Source5: lighttpd.conf
59 Patch0: %{name}-layout.patch
60 Patch1: %{name}-config.patch
61 Patch2: rt-timeworked.patch
62 URL: http://www.bestpractical.com/rt/
63 BuildRequires: autoconf
64 BuildRequires: automake
66 BuildRequires: perl-Alien-Base
67 BuildRequires: perl-Apache-Session >= %{perl_apache_session_ver}
68 BuildRequires: perl-Business-Hours
69 BuildRequires: perl-CGI >= %{perl_cgi_ver}
70 BuildRequires: perl-CGI-Emulate-PSGI
71 BuildRequires: perl-CGI-PSGI >= %{perl_cgi_psgi}
72 BuildRequires: perl-CGI-SpeedyCGI
73 BuildRequires: perl-CSS-Minifier
74 BuildRequires: perl-CSS-Minifier-XS
75 BuildRequires: perl-CSS-Squish >= %{perl_css_squish_ver}
76 BuildRequires: perl-Cache-Cache
77 BuildRequires: perl-Calendar-Simple
78 BuildRequires: perl-Class-ISA
79 BuildRequires: perl-Class-ReturnValue >= %{perl_class_returnvalue_ver}
80 BuildRequires: perl-Convert-Color
81 BuildRequires: perl-Crypt-Eksblowfish
82 BuildRequires: perl-Crypt-SSLeay
83 BuildRequires: perl-Crypt-X509
84 BuildRequires: perl-DBD-mysql >= %{perl_dbd_mysql}
85 BuildRequires: perl-DBI >= %{perl_dbi_ver}
86 BuildRequires: perl-DBIx-DataSource >= 0.02
87 BuildRequires: perl-DBIx-SearchBuilder >= %{perl_dbix_searchbuilder_ver}
88 BuildRequires: perl-Data-GUID
89 BuildRequires: perl-Data-ICal
90 BuildRequires: perl-Date-Extract
91 BuildRequires: perl-Date-Manip
92 BuildRequires: perl-Data-Page
93 BuildRequires: perl-Data-Page-Pageset
94 BuildRequires: perl-Date-Extract => %{perl_date_extract_ver}
95 BuildRequires: perl-DateTime-Format-Natural
96 BuildRequires: perl-Devel-GlobalDestruction
97 BuildRequires: perl-Devel-StackTrace >= %{perl_devel_stacktrace_ver}
98 BuildRequires: perl-Digest-MD5 >= %{perl_digest_md5_ver}
99 BuildRequires: perl-Email-Address
100 BuildRequires: perl-Email-Address-List
101 BuildRequires: perl-Encode-Detect
102 BuildRequires: perl-Encode-HanExtra
103 BuildRequires: perl-Exception-Class
104 BuildRequires: perl-FCGI
105 BuildRequires: perl-FCGI-ProcManager
106 BuildRequires: perl-File-ShareDir
107 BuildRequires: perl-File-Temp
108 BuildRequires: perl-File-Which
109 BuildRequires: perl-FreezeThaw
110 BuildRequires: perl-GD >= %{perl_gd_ver}
111 BuildRequires: perl-GD-Graph
112 BuildRequires: perl-GD-TextUtil
113 BuildRequires: perl-GnuPG-Interface
114 BuildRequires: perl-GraphViz2
115 BuildRequires: perl-HTML-FormatExternal
116 BuildRequires: perl-HTML-FormatText-WithLinks-AndTables
117 BuildRequires: perl-HTML-Gumbo
118 BuildRequires: perl-HTML-Mason >= %{perl_html_mason_ver}
119 BuildRequires: perl-HTML-Mason-PSGIHandler
120 BuildRequires: perl-HTML-Parser
121 BuildRequires: perl-HTML-Quoted
122 BuildRequires: perl-HTML-RewriteAttributes >= %{perl_html_rewriteattributes_ver}
123 BuildRequires: perl-HTML-Scrubber >= %{perl_html_scrubber_ver}
124 BuildRequires: perl-HTML-Tree
125 BuildRequires: perl-HTTP-Server-Simple >= %{perl_http_server_simple_ver}
126 BuildRequires: perl-HTTP-Server-Simple-Mason >= %{perl_http_server_simple_mason_ver}
127 BuildRequires: perl-IPC-Run3
128 BuildRequires: perl-JSON
129 BuildRequires: perl-JavaScript-Minifier
130 BuildRequires: perl-JavaScript-Minifier-XS
131 BuildRequires: perl-LWP-Protocol-https
132 BuildRequires: perl-Locale-Maketext >= %{perl_locale_maketext_ver}
133 BuildRequires: perl-Locale-Maketext-Fuzzy
134 BuildRequires: perl-Locale-Maketext-Lexicon >= %{perl_locale_maketext_lexicon_ver}
135 BuildRequires: perl-Log-Dispatch >= %{perl_log_dispatch_ver}
136 BuildRequires: perl-MIME-Types
137 BuildRequires: perl-MIME-tools >= %{perl_mime_tools_ver}
138 BuildRequires: perl-MLDBM
139 BuildRequires: perl-MailTools >= %{perl_mailtools_ver}
140 BuildRequires: perl-Module-Path
141 BuildRequires: perl-Module-Versions-Report >= %{perl_module_versions_report_ver}
142 BuildRequires: perl-Moose
143 BuildRequires: perl-MooseX-NonMoose
144 BuildRequires: perl-MooseX-Role-Parameterized
145 BuildRequires: perl-Mozilla-CA
146 BuildRequires: perl-Net-CIDR
147 BuildRequires: perl-Net-IP
148 BuildRequires: perl-Net-Server >= 0.34
149 BuildRequires: perl-PSGI
150 BuildRequires: perl-Parallel-ForkManager
151 BuildRequires: perl-Params-Validate >= 0.02
152 BuildRequires: perl-Path-Dispatcher
153 BuildRequires: perl-PerlIO-eol
154 BuildRequires: perl-Plack >= %{perl_plack_ver}
155 BuildRequires: perl-Regexp-Common
156 BuildRequires: perl-Regexp-Common-net-CIDR
157 BuildRequires: perl-Regexp-IPv6
158 BuildRequires: perl-Role-Basic
159 BuildRequires: perl-Scope-Upper
160 BuildRequires: perl-Starlet >= %{perl_starlet_ver}
161 BuildRequires: perl-Storable >= %{perl_storable_ver}
162 BuildRequires: perl-String-ShellQuote
163 BuildRequires: perl-Sub-Identify
164 BuildRequires: perl-Symbol-Global-Name >= %{perl_symbol_global_name_ver}
165 BuildRequires: perl-Term-ReadKey
166 BuildRequires: perl-Test-Inline
167 BuildRequires: perl-Text-Autoformat
168 BuildRequires: perl-Text-Password-Pronounceable
169 BuildRequires: perl-Text-Quoted >= %{perl_text_quoted_ver}
170 BuildRequires: perl-Text-Template >= %{perl_text_template_ver}
171 BuildRequires: perl-Text-WikiFormat >= %{perl_text_wikiformat_ver}
172 BuildRequires: perl-Text-WordDiff
173 BuildRequires: perl-Text-Wrapper
174 BuildRequires: perl-Tie-IxHash
175 BuildRequires: perl-Time-HiRes
176 BuildRequires: perl-Time-modules
177 BuildRequires: perl-TimeDate
178 BuildRequires: perl-Tree-Simple >= %{perl_tree_simple_ver}
179 BuildRequires: perl-Type-Tiny
180 BuildRequires: perl-UNIVERSAL-require
181 BuildRequires: perl-WWW-Mechanize
182 BuildRequires: perl-Web-Machine
183 BuildRequires: perl-XML-RSS >= %{perl_xml_rss_ver}
184 BuildRequires: perl-libnet
186 BuildRequires: perl-base >= %{perl_ver}
187 BuildRequires: rpm-perlprov
188 Requires: fonts-TTF-Google-Droid
189 Requires: perl-Apache-Session >= %{perl_apache_session_ver}
190 Requires: perl-Business-Hours
191 Requires: perl-CGI >= %{perl_cgi_ver}
192 Requires: perl-CGI-Emulate-PSGI
193 Requires: perl-CGI-PSGI >= %{perl_cgi_psgi}
194 Requires: perl-CSS-Minifier
195 Requires: perl-CSS-Minifier-XS
196 Requires: perl-CSS-Squish >= %{perl_css_squish_ver}
197 Requires: perl-Cache-Cache
198 Requires: perl-Calendar-Simple
199 Requires: perl-Class-ISA
200 Requires: perl-Class-ReturnValue >= %{perl_class_returnvalue_ver}
201 Requires: perl-Convert-Color
202 Requires: perl-Crypt-Eksblowfish
203 Requires: perl-Crypt-SSLeay
204 Requires: perl-Crypt-X509
205 Requires: perl-DBD-mysql >= %{perl_dbd_mysql}
206 Requires: perl-DBI >= %{perl_dbi_ver}
207 Requires: perl-DBIx-SearchBuilder >= %{perl_dbix_searchbuilder_ver}
208 Requires: perl-Data-GUID
209 Requires: perl-Data-ICal
210 Requires: perl-Date-Extract >= %{perl_date_extract_ver}
211 Requires: perl-Date-Manip
212 Requires: perl-Data-Page
213 Requires: perl-Data-Page-Pageset
214 Requires: perl-DateTime-Format-Natural
215 Requires: perl-Devel-GlobalDestruction
216 Requires: perl-Devel-StackTrace >= %{perl_devel_stacktrace_ver}
217 Requires: perl-Digest-MD5 >= %{perl_digest_md5_ver}
218 Requires: perl-Email-Address-List
219 Requires: perl-Encode >= 1:2.64
220 Requires: perl-Encode-HanExtra
221 Requires: perl-FCGI-ProcManager
222 Requires: perl-File-Which
223 Requires: perl-GD >= %{perl_gd_ver}
224 Requires: perl-GD-Graph
225 Requires: perl-GnuPG-Interface >= 1.02
226 Requires: perl-GraphViz2
227 Requires: perl-HTML-FormatExternal
228 Requires: perl-HTML-FormatText-WithLinks-AndTables
229 Requires: perl-HTML-Gumbo
230 Requires: perl-HTML-Mason >= %{perl_html_mason_ver}
231 Requires: perl-HTML-Mason-PSGIHandler
232 Requires: perl-HTML-Quoted
233 Requires: perl-HTML-RewriteAttributes >= %{perl_html_rewriteattributes_ver}
234 Requires: perl-HTML-Scrubber >= %{perl_html_scrubber_ver}
235 Requires: perl-HTTP-Server-Simple >= %{perl_http_server_simple_ver}
236 Requires: perl-HTTP-Server-Simple-Mason >= %{perl_http_server_simple_mason_ver}
237 Requires: perl-IPC-Run3
239 Requires: perl-JavaScript-Minifier
240 Requires: perl-JavaScript-Minifier-XS
241 Requires: perl-LWP-Protocol-https
242 Requires: perl-Locale-Maketext >= %{perl_locale_maketext_ver}
243 Requires: perl-Locale-Maketext-Fuzzy
244 Requires: perl-Locale-Maketext-Lexicon >= %{perl_locale_maketext_lexicon_ver}
245 Requires: perl-Locale-PO
246 Requires: perl-Log-Dispatch >= %{perl_log_dispatch_ver}
247 Requires: perl-MIME-tools >= %{perl_mime_tools_ver}
248 Requires: perl-MailTools >= %{perl_mailtools_ver}
249 Requires: perl-Module-Path
250 Requires: perl-Module-Versions-Report >= %{perl_module_versions_report_ver}
252 Requires: perl-MooseX-NonMoose
253 Requires: perl-MooseX-Role-Parameterized
254 Requires: perl-Mozilla-CA
255 Requires: perl-Net-CIDR
256 Requires: perl-Net-IP
258 Requires: perl-Path-Dispatcher >= 1.07
259 Requires: perl-PerlIO-eol
260 Requires: perl-Plack >= %{perl_plack_ver}
261 Requires: perl-Regexp-Common-net-CIDR
262 Requires: perl-Regexp-IPv6
263 Requires: perl-Role-Basic
264 Requires: perl-Scope-Upper
265 Requires: perl-Starlet >= %{perl_starlet_ver}
266 Requires: perl-Storable >= %{perl_storable_ver}
267 Requires: perl-String-ShellQuote
268 Requires: perl-Symbol-Global-Name >= %{perl_symbol_global_name_ver}
269 Requires: perl-Text-Password-Pronounceable
270 Requires: perl-Text-Quoted >= %{perl_text_quoted_ver}
271 Requires: perl-Text-WikiFormat >= %{perl_text_wikiformat_ver}
272 Requires: perl-Tree-Simple >= %{perl_tree_simple_ver}
273 Requires: perl-Type-Tiny
274 Requires: perl-UNIVERSAL-require
275 Requires: perl-Web-Machine
276 Requires: perl-XML-RSS >= %{perl_xml_rss_ver}
277 Requires: perl-base >= %{perl_ver}
281 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
283 # workarounds for bug in perl.req ("perl()") and ,,famous'' rpm's feature (RT::*)
284 %define _noautoreq perl().* perl(RT.*)
285 %define _noautoreq_perl Encode::compat CGI::Fast Exception::Class::Base HTML::Mason::Request::PSGI
287 %define _webapps /etc/webapps
288 %define _webapp %{name}
289 %define _webappsdir %{_webapps}/%{_webapp}
290 %define _sysconfdir /etc/rt
291 %define _libdir %{perl_vendorlib}
292 %define htmldir %{_datadir}/rt/html
293 %define masonstatedir %{_localstatedir}/cache/mason_data
294 %define masonsessiondir %{_localstatedir}/cache/session_data
297 RT is an enterprise-grade ticketing system which enables a group of
298 people to intelligently and efficiently manage tasks, issues, and
299 requests submitted by a community of users.
301 %description -l pl.UTF-8
302 RT to profesjonalnej klasy system biletowy pozwalający grupie ludzi
303 inteligentnie i wydajnie zarządzać zadaniami, problemami i zleceniami
304 składanymi przez użytkowników.
307 Summary: Command-line interface to RT
308 Summary(pl.UTF-8): Interfejs linii poleceń dla RT
312 This package contains /usr/bin/rt, a command-line interface to RT 3.
314 It allows you to interact with an RT server over HTTP, and offers an
315 interface to RT's functionality that is better-suited to automation
316 and integration with other tools.
318 %description cli -l pl.UTF-8
319 Ten pakiet zawiera /usr/bin/rt - interfejs linii poleceń do RT 3.
321 Umożliwia on współdziałanie z serwerem RT po HTTP i oferuje interfejs
322 do funkcjonalności RT bardziej dopasowany do automatyki i intergracji
323 z innymi narzędziami.
326 Summary: Apache support files for RT
327 Summary(pl.UTF-8): Pliki wspomagające używanie RT z Apache
329 Requires: %{name} = %{version}-%{release}
330 Requires: apache-base >= 2.2.0
331 Requires: apache-mod_authz_host >= 2.2.0
332 Requires: apache-mod_perl >= 2.0
334 Conflicts: apache-base < 2.4.0-1
337 Apache support files for RT.
339 %description apache -l pl.UTF-8
340 Pliki wspomagające używanie RT z Apache.
348 mv aclocal.m4 acinclude.m4
350 sed -i -e 's#libdir:.*#libdir: %{_libdir}#g' config.layout
352 # prevent configure from using git
353 sed -i -e 's#git describe --tags#false#g' configure.ac
360 --enable-layout=PLDFHS \
362 exp_htmldir=%{htmldir} \
363 masonstatedir=%{masonstatedir} \
364 masonsessiondir=%{masonstatedir} \
365 --with-my-user-group \
366 --with-db-type=mysql \
367 --with-web-handler=fastcgi,modperl2
369 %{?with_testdeps:%{__make} testdeps}
373 rm -rf $RPM_BUILD_ROOT
374 install -d $RPM_BUILD_ROOT{/etc/{logrotate.d,cron.daily},%{_libdir}} \
375 $RPM_BUILD_ROOT%{masonstatedir} \
376 $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
377 $RPM_BUILD_ROOT%{_webappsdir} \
378 $RPM_BUILD_ROOT%{_datadir}/rt/html/Callbacks
380 install -d $RPM_BUILD_ROOT%{perl_vendorlib}/RT/Extension
382 # this is make install minus fixperms
383 %{__make} config-install dirs files-install instruct \
384 DESTDIR=$RPM_BUILD_ROOT
386 install %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
387 install %{SOURCE3} $RPM_BUILD_ROOT%{_webappsdir}/httpd.conf
388 install %{SOURCE5} $RPM_BUILD_ROOT%{_webappsdir}/lighttpd.conf
389 install %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
391 ln -s ../../%{_sbindir}/rt-clean-sessions $RPM_BUILD_ROOT/etc/cron.daily/rt-clean-sessions
393 # unneeded in installed copy
394 rm $RPM_BUILD_ROOT%{_sbindir}/rt-test-dependencies
395 rm -r $RPM_BUILD_ROOT%{_datadir}/doc
397 # we use fonts-TTF-Google-Droid
398 rm -r $RPM_BUILD_ROOT%{_datadir}/fonts/TTF
401 find $RPM_BUILD_ROOT -type f -name \*.in -exec rm '{}' \;
403 %triggerin apache -- apache-base
404 %webapp_register httpd %{_webapp}
406 %triggerun apache -- apache-base
407 %webapp_unregister httpd %{_webapp}
409 %triggerin -- lighttpd
410 %webapp_register lighttpd %{_webapp}
412 %triggerun -- lighttpd
413 %webapp_unregister lighttpd %{_webapp}
416 rm -rf $RPM_BUILD_ROOT
419 %defattr(644,root,root,755)
423 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/[a-z]*
424 # this is local config
425 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/RT_SiteConfig.pm
426 # this is generic config that SHOULDN'T BE TOUCHED. Change settings in your local (site) config.
427 %attr(640,root,http) %config %{_sysconfdir}/RT_Config.pm
428 %attr(750,root,http) %dir %{_webappsdir}
429 # web server configs with no separate deps (so no need for subpackage)
430 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappsdir}/lighttpd.conf
432 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
433 %attr(755,root,root) /etc/cron.daily/rt-clean-sessions
434 %attr(755,root,root) %{_bindir}/rt-*
435 %attr(755,root,root) %{_sbindir}/standalone_httpd
436 %attr(755,root,root) %{_sbindir}/rt-*
440 %{_datadir}/rt/static
442 %attr(770,root,http) %dir %{masonstatedir}
443 %{_examplesdir}/%{name}-%{version}
446 %defattr(644,root,root,755)
447 %attr(755,root,root) %{_bindir}/rt
450 %defattr(644,root,root,755)
451 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappsdir}/httpd.conf