2 # - check file permissions
3 # - check files in /usr/share/rt3/
4 # - check Requires (meta-packages for configurations with mod_perl/fcgi,
5 # apache[12]/standalone server...?)
6 # - separate standalone server
10 # http://search.cpan.org/~doy/Stream-Buffered-0.02/
11 # Apache::LogFormat::Compiler
13 # Symbol::Global::Name
14 %define perl_ver 5.8.3
15 %define perl_apache_session_ver 1.53
16 %define perl_cgi_ver 3.38
17 %define perl_class_returnvalue_ver 0.40
18 %define perl_css_squish_ver 0.06
19 %define perl_dbd_mysql 2.1018
20 %define perl_dbi_ver 1.37
21 %define perl_dbix_searchbuilder_ver 1.65
22 %define perl_devel_stacktrace_ver 1.19
23 %define perl_digest_md5_ver 2.27
24 %define perl_gd_ver 1.48
25 %define perl_html_mason_ver 3:1.43
26 %define perl_html_rewriteattributes_ver 0.05
27 %define perl_html_scrubber_ver 0.08
28 %define perl_http_server_simple_mason_ver 0.09
29 %define perl_http_server_simple_ver 0.34
30 %define perl_locale_maketext_lexicon_ver 0.32
31 %define perl_locale_maketext_ver 1.06
32 %define perl_log_dispatch_ver 2.30
33 %define perl_mailtools_ver 2.12
34 %define perl_mime_tools_ver 5.425
35 %define perl_module_versions_report_ver 1.05
36 %define perl_cgi_psgi 0.12
37 %define perl_plack_ver 1.0002
38 %define perl_storable_ver 2.08
39 %define perl_text_quoted_ver 2.07
40 %define perl_text_wikiformat_ver 0.76
41 %define perl_tree_simple_ver 1.18
42 %define perl_text_template_ver 1.45
43 %define perl_xml_rss_ver 1.05
45 %bcond_with testdeps # used for checking dependencies
46 %bcond_without apache # no apache deps. TODO: make subpackage with apache config
48 %include /usr/lib/rpm/macros.perl
49 Summary: Request Tracker
50 Summary(pl.UTF-8): Request Tracker - system do śledzenia zleceń
56 Source0: http://download.bestpractical.com/pub/rt/release/%{name}-%{version}.tar.gz
57 # Source0-md5: 98fcc484a37c62f0c202f3cc1fbefb89
58 Source1: %{name}-apache_dir.conf
59 Source2: %{name}-apache_vhost.conf
60 Source3: %{name}-apache.conf
61 Source4: %{name}.logrotate
62 Patch0: %{name}-layout.patch
63 Patch1: %{name}-config.patch
64 URL: http://www.bestpractical.com/rt/
65 BuildRequires: autoconf
66 BuildRequires: automake
68 BuildRequires: perl-Apache-DBI
69 BuildRequires: perl-Apache-Session >= %{perl_apache_session_ver}
70 BuildRequires: perl-CGI >= %{perl_cgi_ver}
71 BuildRequires: perl-CGI-Emulate-PSGI
72 BuildRequires: perl-CGI-PSGI >= %{perl_cgi_psgi}
73 BuildRequires: perl-CGI-SpeedyCGI
74 BuildRequires: perl-CSS-Squish >= %{perl_css_squish_ver}
75 BuildRequires: perl-Cache-Cache
76 BuildRequires: perl-Calendar-Simple
77 BuildRequires: perl-Class-ISA
78 BuildRequires: perl-Class-ReturnValue >= %{perl_class_returnvalue_ver}
79 BuildRequires: perl-Convert-Color
80 BuildRequires: perl-Crypt-SSLeay
81 BuildRequires: perl-DBD-mysql >= %{perl_dbd_mysql}
82 BuildRequires: perl-DBI >= %{perl_dbi_ver}
83 BuildRequires: perl-DBIx-DataSource >= 0.02
84 BuildRequires: perl-DBIx-SearchBuilder >= %{perl_dbix_searchbuilder_ver}
85 BuildRequires: perl-Data-GUID
86 BuildRequires: perl-Data-ICal
87 BuildRequires: perl-DateTime-Format-Natural
88 BuildRequires: perl-Devel-GlobalDestruction
89 BuildRequires: perl-Devel-StackTrace >= %{perl_devel_stacktrace_ver}
90 BuildRequires: perl-Digest-MD5 >= %{perl_digest_md5_ver}
91 BuildRequires: perl-Email-Address
92 BuildRequires: perl-Exception-Class
93 BuildRequires: perl-FCGI
94 BuildRequires: perl-FCGI-ProcManager
95 BuildRequires: perl-File-ShareDir
96 BuildRequires: perl-File-Temp
97 BuildRequires: perl-File-Which
98 BuildRequires: perl-FreezeThaw
99 BuildRequires: perl-GD >= %{perl_gd_ver}
100 BuildRequires: perl-GD-Graph
101 BuildRequires: perl-GD-TextUtil
102 BuildRequires: perl-GnuPG-Interface
103 BuildRequires: perl-HTML-FormatText-WithLinks-AndTables
104 BuildRequires: perl-HTML-Mason >= %{perl_html_mason_ver}
105 BuildRequires: perl-HTML-Mason-PSGIHandler
106 BuildRequires: perl-HTML-Parser
107 BuildRequires: perl-HTML-Quoted
108 BuildRequires: perl-HTML-RewriteAttributes >= %{perl_html_rewriteattributes_ver}
109 BuildRequires: perl-HTML-Scrubber >= %{perl_html_scrubber_ver}
110 BuildRequires: perl-HTML-Tree
111 BuildRequires: perl-HTTP-Server-Simple >= %{perl_http_server_simple_ver}
112 BuildRequires: perl-HTTP-Server-Simple-Mason >= %{perl_http_server_simple_mason_ver}
113 BuildRequires: perl-IPC-Run3
114 BuildRequires: perl-JSON
115 BuildRequires: perl-JavaScript-Minifier
116 BuildRequires: perl-Locale-Maketext >= %{perl_locale_maketext_ver}
117 BuildRequires: perl-Locale-Maketext-Fuzzy
118 BuildRequires: perl-Locale-Maketext-Lexicon >= %{perl_locale_maketext_lexicon_ver}
119 BuildRequires: perl-Log-Dispatch >= %{perl_log_dispatch_ver}
120 BuildRequires: perl-LWP-Protocol-https
121 BuildRequires: perl-MIME-Types
122 BuildRequires: perl-MIME-tools >= %{perl_mime_tools_ver}
123 BuildRequires: perl-MLDBM
124 BuildRequires: perl-MailTools >= %{perl_mailtools_ver}
125 BuildRequires: perl-Module-Versions-Report >= %{perl_module_versions_report_ver}
126 BuildRequires: perl-Mozilla-CA
127 BuildRequires: perl-Net-CIDR
128 BuildRequires: perl-Net-Server >= 0.34
129 BuildRequires: perl-PSGI
130 BuildRequires: perl-Params-Validate >= 0.02
131 BuildRequires: perl-PerlIO-eol
132 BuildRequires: perl-Plack >= %{perl_plack_ver}
133 BuildRequires: perl-Regexp-Common
134 BuildRequires: perl-Regexp-Common-net-CIDR
135 BuildRequires: perl-Regexp-IPv6
136 BuildRequires: perl-Starlet
137 BuildRequires: perl-Storable >= %{perl_storable_ver}
138 BuildRequires: perl-String-ShellQuote
139 BuildRequires: perl-Term-ReadKey
140 BuildRequires: perl-Test-Inline
141 BuildRequires: perl-Text-Autoformat
142 BuildRequires: perl-Text-Password-Pronounceable
143 BuildRequires: perl-Text-Quoted >= %{perl_text_quoted_ver}
144 BuildRequires: perl-Text-Template >= %{perl_text_template_ver}
145 BuildRequires: perl-Text-WikiFormat >= %{perl_text_wikiformat_ver}
146 BuildRequires: perl-Text-Wrapper
147 BuildRequires: perl-Tie-IxHash
148 BuildRequires: perl-Time-HiRes
149 BuildRequires: perl-Time-modules
150 BuildRequires: perl-TimeDate
151 BuildRequires: perl-Tree-Simple >= %{perl_tree_simple_ver}
152 BuildRequires: perl-UNIVERSAL-require
153 BuildRequires: perl-WWW-Mechanize
154 BuildRequires: perl-XML-RSS >= %{perl_xml_rss_ver}
155 BuildRequires: perl-libnet
157 BuildRequires: perl-base >= %{perl_ver}
158 BuildRequires: rpm-perlprov
160 Requires: apache-base >= 2.2.0
161 Requires: apache-mod_authz_host >= 2.2.0
162 Requires: apache-mod_perl >= 2.0
164 Requires: fonts-TTF-Google-Droid
165 Requires: perl-Apache-DBI
166 Requires: perl-Apache-Session >= %{perl_apache_session_ver}
167 Requires: perl-CGI >= %{perl_cgi_ver}
168 Requires: perl-CGI-Emulate-PSGI
169 Requires: perl-CGI-PSGI >= %{perl_cgi_psgi}
170 Requires: perl-CSS-Squish >= %{perl_css_squish_ver}
171 Requires: perl-Cache-Cache
172 Requires: perl-Calendar-Simple
173 Requires: perl-Class-ISA
174 Requires: perl-Class-ReturnValue >= %{perl_class_returnvalue_ver}
175 Requires: perl-Convert-Color
176 Requires: perl-Crypt-SSLeay
177 Requires: perl-DBD-mysql >= %{perl_dbd_mysql}
178 Requires: perl-DBI >= %{perl_dbi_ver}
179 Requires: perl-DBIx-SearchBuilder >= %{perl_dbix_searchbuilder_ver}
180 Requires: perl-Data-GUID
181 Requires: perl-Data-ICal
182 Requires: perl-DateTime-Format-Natural
183 Requires: perl-Devel-GlobalDestruction
184 Requires: perl-Devel-StackTrace >= %{perl_devel_stacktrace_ver}
185 Requires: perl-Digest-MD5 >= %{perl_digest_md5_ver}
186 Requires: perl-Encode >= 2.38
187 Requires: perl-FCGI-ProcManager
188 Requires: perl-File-Which
189 Requires: perl-GD >= %{perl_gd_ver}
190 Requires: perl-GD-Graph
191 Requires: perl-GnuPG-Interface
192 Requires: perl-HTML-FormatText-WithLinks-AndTables
193 Requires: perl-HTML-Mason >= %{perl_html_mason_ver}
194 Requires: perl-HTML-Mason-PSGIHandler
195 Requires: perl-HTML-Quoted
196 Requires: perl-HTML-RewriteAttributes >= %{perl_html_rewriteattributes_ver}
197 Requires: perl-HTML-Scrubber >= %{perl_html_scrubber_ver}
198 Requires: perl-HTTP-Server-Simple >= %{perl_http_server_simple_ver}
199 Requires: perl-HTTP-Server-Simple-Mason >= %{perl_http_server_simple_mason_ver}
200 Requires: perl-IPC-Run3
202 Requires: perl-JavaScript-Minifier
203 Requires: perl-Locale-Maketext >= %{perl_locale_maketext_ver}
204 Requires: perl-Locale-Maketext-Fuzzy
205 Requires: perl-Locale-Maketext-Lexicon >= %{perl_locale_maketext_lexicon_ver}
206 Requires: perl-Log-Dispatch >= %{perl_log_dispatch_ver}
207 Requires: perl-LWP-Protocol-https
208 Requires: perl-MIME-tools >= %{perl_mime_tools_ver}
209 Requires: perl-MailTools >= %{perl_mailtools_ver}
210 Requires: perl-Module-Versions-Report >= %{perl_module_versions_report_ver}
212 Requires: perl-Mozilla-CA
213 Requires: perl-Net-CIDR
215 Requires: perl-PerlIO-eol
216 Requires: perl-Plack >= %{perl_plack_ver}
217 Requires: perl-Regexp-Common-net-CIDR
218 Requires: perl-Regexp-IPv6
219 Requires: perl-Starlet
220 Requires: perl-Storable >= %{perl_storable_ver}
221 Requires: perl-String-ShellQuote
222 Requires: perl-Text-Password-Pronounceable
223 Requires: perl-Text-Quoted >= %{perl_text_quoted_ver}
224 Requires: perl-Text-WikiFormat >= %{perl_text_wikiformat_ver}
225 Requires: perl-Tree-Simple >= %{perl_tree_simple_ver}
226 Requires: perl-XML-RSS >= %{perl_xml_rss_ver}
227 Requires: perl-base >= %{perl_ver}
230 Conflicts: apache-base < 2.4.0-1
232 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
234 %define _noautoreq 'perl().*' 'perl(RT.*)' 'perl(Encode::compat)' 'perl(CGI::Fast)' 'perl(Exception::Class::Base)' 'perl(HTML::Mason::Request::PSGI)'
235 # workarounds for bug in perl.req ("perl()") and ,,famous'' rpm's feature (RT::*)
237 %define _webapps /etc/webapps
238 %define _webapp %{name}
239 %define _webappsdir %{_webapps}/%{_webapp}
240 %define _sysconfdir /etc/rt3
241 %define _libdir %{perl_vendorlib}
242 %define htmldir %{_datadir}/rt3/html
243 %define masonstatedir %{_localstatedir}/cache/mason_data
244 %define masonsessiondir %{_localstatedir}/cache/session_data
247 RT is an enterprise-grade ticketing system which enables a group of
248 people to intelligently and efficiently manage tasks, issues, and
249 requests submitted by a community of users.
251 %description -l pl.UTF-8
252 RT to profesjonalnej klasy system biletowy pozwalający grupie ludzi
253 inteligentnie i wydajnie zarządzać zadaniami, problemami i zleceniami
254 składanymi przez użytkowników.
257 Summary: Command-line interface to RT
258 Summary(pl.UTF-8): Interfejs linii poleceń dla RT
262 This package contains /usr/bin/rt, a command-line interface to RT 3.
264 It allows you to interact with an RT server over HTTP, and offers an
265 interface to RT's functionality that is better-suited to automation
266 and integration with other tools.
268 %description cli -l pl.UTF-8
269 Ten pakiet zawiera /usr/bin/rt - interfejs linii poleceń do RT 3.
271 Umożliwia on współdziałanie z serwerem RT po HTTP i oferuje interfejs
272 do funkcjonalności RT bardziej dopasowany do automatyki i intergracji
273 z innymi narzędziami.
280 mv aclocal.m4 acinclude.m4
282 sed -i -e 's#libdir:.*#libdir: %{_libdir}#g' config.layout
289 --enable-layout=PLDFHS \
291 exp_htmldir=%{htmldir} \
292 masonstatedir=%{masonstatedir} \
293 masonsessiondir=%{masonstatedir} \
294 --with-my-user-group \
295 --with-db-type=mysql \
296 --with-web-handler=fastcgi,modperl2
298 %{?with_testdeps:%{__make} testdeps}
302 rm -rf $RPM_BUILD_ROOT
303 install -d $RPM_BUILD_ROOT{/etc/{logrotate.d,cron.daily},%{_libdir}} \
304 $RPM_BUILD_ROOT%{masonstatedir} \
305 $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
306 $RPM_BUILD_ROOT%{_webappsdir}
308 # this is make install minus fixperms
309 %{__make} config-install dirs files-install instruct \
310 DESTDIR=$RPM_BUILD_ROOT
312 install %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
313 install %{SOURCE3} $RPM_BUILD_ROOT%{_webappsdir}/httpd.conf
314 install %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
316 ln -s %{_sbindir}/rt-clean-sessions $RPM_BUILD_ROOT/etc/cron.daily/rt-clean-sessions
318 # unneeded in installed copy
319 rm $RPM_BUILD_ROOT%{_sbindir}/rt-test-dependencies
321 # we use fonts-TTF-Google-Droid
322 rm -r $RPM_BUILD_ROOT%{_datadir}/fonts/TTF
325 find $RPM_BUILD_ROOT -type f -name \*.in -exec rm '{}' \;
327 %triggerin -- apache-base
328 %webapp_register httpd %{_webapp}
330 %triggerun -- apache-base
331 %webapp_unregister httpd %{_webapp}
334 rm -rf $RPM_BUILD_ROOT
337 %defattr(644,root,root,755)
338 %doc README* docs etc/upgrade
341 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/[a-z]*
342 # this is local config
343 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/RT_SiteConfig.pm
344 # this is generic config that SHOULDN'T BE TOUCHED. Change settings in your local (site) config.
345 %attr(640,root,http) %config %{_sysconfdir}/RT_Config.pm
348 %dir %attr(750,root,http) %{_webappsdir}
349 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappsdir}/httpd.conf
351 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
352 %attr(755,root,root) /etc/cron.daily/rt-clean-sessions
353 %attr(755,root,root) %{_bindir}/rt-*
354 %attr(755,root,root) %{_sbindir}/standalone_httpd
355 %attr(755,root,root) %{_sbindir}/rt-*
360 %dir %attr(770,root,http) %{masonstatedir}
361 %{_examplesdir}/%{name}-%{version}
364 %defattr(644,root,root,755)
365 %attr(755,root,root) %{_bindir}/rt