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