# # Copyright (c) 2005, 2006, 2007 Ralf Corsepius, Ulm, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # %define RT3_BINDIR %{_sbindir} %define RT3_LIBDIR %{perl_vendorlib} %define RT3_WWWDIR %{_datadir}/rt3/html %define RT3_LOGDIR %{_localstatedir}/log/rt3 %define RT3_CACHEDIR %{_localstatedir}/cache/rt3 %define RT3_LOCALSTATEDIR %{_localstatedir}/lib/rt3 Name: rt3 Version: 3.6.5 Release: 1 Summary: Request tracker 3 Group: Applications/Internet License: GPLv2+ URL: http://www.bestpractical.com/rt Source0: http://www.bestpractical.com/pub/rt/release/rt-%{version}.tar.gz Source3: rt3.conf.in Source4: README.fedora.in Patch0: rt-3.6.1-config.diff Patch1: rt-3.4.1-I18N.diff Patch2: rt-3.6.0-Makefile.diff BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # For Debian compatibility Provides: request-tracker3 = %{version}-%{release} BuildRequires: /usr/bin/pod2man BuildRequires: /usr/sbin/apachectl Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires: perl-DBD-MySQL mysql-server Requires(postun): /bin/rm # rpm doesn't catch these: Requires: perl(Apache::Session) Requires: perl(Calendar::Simple) Requires: perl(File::Temp) Requires: perl(GD::Text) Requires: perl(GD::Graph::bars) perl(GD::Graph::pie) Requires: perl(HTML::Mason) Requires: perl(HTML::FormatText) Requires: perl(HTML::TreeBuilder) Requires: perl(HTTP::Server::Simple::Mason) Requires: perl(I18N::LangTags::List) Requires: perl(Locale::Maketext::Fuzzy) Requires: perl(LWP::MediaTypes) Requires: perl(MIME::Entity) Requires: perl(mod_perl2) Requires: perl(Module::Versions::Report) Requires: perl(Regexp::Common) Requires: perl(Tree::Simple) Requires: perl(URI::URL) # Split out. Technically, not actually necessary, but ... let's keep it for now. Requires: rt3-mailgate %description RT is an enterprise-grade ticketing system which enables a group of people to intelligently and efficiently manage tasks, issues, and requests submitted by a community of users. %package mailgate Summary: rt3's mailgate utility. Group: Applications/Internet # rpm doesn't catch these: Requires: perl(Pod::Usage) Requires: perl(HTML::TreeBuilder) Requires: perl(HTML::FormatText) %description mailgate %{summary} %prep %setup -q -n rt-%{version} sed -e 's,@RT3_CACHEDIR@,%{RT3_CACHEDIR},' %{SOURCE4} \ > README.fedora # Fixup the tarball shipping with broken permissions find . \( -name '*.pm' -o -name '*.pm.in' -o -name '*.po' -o -name '*.pod' \) \ -exec chmod a-x {} \; chmod -x UPGRADING README C* aclocal.* config.* *.ac *.in find etc -type f -exec chmod a-x {} \; %patch0 -p1 %patch1 -p1 %patch2 -p1 # Patch backups added by rpm disturb find -name '*.orig' -exec rm -f {} \; cat << \EOF > %{name}-prov #!/bin/sh %{__perl_provides} $* |\ sed -e '/^perl(RT)$/d' \ -e '/^perl(HTML::Mason/d' \ -e '/^perl(Log::Dispatch/d' EOF %define __perl_provides %{_builddir}/rt-%{version}/%{name}-prov chmod +x %{__perl_provides} cat << \EOF > %{name}-req #!/bin/sh %{__perl_requires} $* |\ sed -e '/^perl(Encode::compat)$/d' \ -e '/^perl(RT::/d' EOF %define __perl_requires %{_builddir}/rt-%{version}/%{name}-req chmod +x %{__perl_requires} # Propagate rpm's directories to config.layout cat << \EOF >> config.layout # Fedora directory layout. bindir: %{RT3_BINDIR} sysconfdir: %{_sysconfdir}/rt3 libdir: %{RT3_LIBDIR} manualdir: ${datadir}/doc localstatedir: %{RT3_LOCALSTATEDIR} htmldir: %{RT3_WWWDIR} logfiledir: %{RT3_LOGDIR} masonstatedir: %{RT3_CACHEDIR}/mason_data sessionstatedir: %{RT3_CACHEDIR}/session_data customdir: %{_prefix}/local/lib/rt3 custometcdir: %{_prefix}/local/etc/rt3 customhtmldir: ${customdir}/html customlexdir: ${customdir}/po customlibdir: ${customdir}/lib EOF # Comment out the Makefile trying to change groups/owners # Fix DESTDIR support sed -i \ -e 's, chgrp, : chrgp,g' \ -e 's, chown, : chown,g' \ -e 's,$(DESTDIR)/,$(DESTDIR),g' \ Makefile.in %build %configure \ --with-apachectl=/usr/sbin/apachectl \ --with-web-user=apache --with-web-group=apache \ --enable-layout=Fedora --with-modperl2 \ --libdir=%{RT3_LIBDIR} make %{?_smp_mflags} # Generate man-pages /usr/bin/pod2man bin/rt-mailgate > bin/rt-mailgate.1 /usr/bin/pod2man bin/mason_handler.fcgi > bin/mason_handler.fcgi.1 %install rm -rf ${RPM_BUILD_ROOT} make install DESTDIR=${RPM_BUILD_ROOT} # Cleanup the mess rt's configuration leaves behind rm -f ${RPM_BUILD_ROOT}%{_docdir}/README # Win32 stuff rm -f ${RPM_BUILD_ROOT}%{RT3_BINDIR}/mason_handler.svc # We don't want CPAN rm -f ${RPM_BUILD_ROOT}%{_sbindir}/rt-test-dependencies # An installed testsuite without infrastructure rm -rf ${RPM_BUILD_ROOT}%{RT3_LIBDIR}/t # Bogus rm -f ${RPM_BUILD_ROOT}%{RT3_LIBDIR}/RT.pm.in # Unsupported rm -f ${RPM_BUILD_ROOT}%{RT3_BINDIR}/*.scgi # Install apache configuration mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d sed -e 's,@RT3_WWWDIR@,%{RT3_WWWDIR},g' \ -e 's,@RT3_BINDIR@,%{RT3_BINDIR},g' \ %{SOURCE3} > ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/rt3.conf mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man1 install -m 0644 bin/rt-mailgate.1 bin/mason_handler.fcgi.1 \ ${RPM_BUILD_ROOT}%{_mandir}/man1 if [ "%{_bindir}" != "%{RT3_BINDIR}" ]; then mkdir -p ${RPM_BUILD_ROOT}%{_bindir} mv ${RPM_BUILD_ROOT}%{RT3_BINDIR}/rt \ ${RPM_BUILD_ROOT}%{_bindir} fi install -d -m755 ${RPM_BUILD_ROOT}%{_prefix}/local/etc/rt3 install -d -m755 ${RPM_BUILD_ROOT}%{_prefix}/local/lib/rt3 install -d -m755 ${RPM_BUILD_ROOT}%{_prefix}/local/lib/rt3/html install -d -m755 ${RPM_BUILD_ROOT}%{_prefix}/local/lib/rt3/po install -d -m755 ${RPM_BUILD_ROOT}%{_prefix}/local/lib/rt3/lib install -d -m755 ${RPM_BUILD_ROOT}%{RT3_LOGDIR} install -d -m755 ${RPM_BUILD_ROOT}%{RT3_LOCALSTATEDIR} # Fix permissions find ${RPM_BUILD_ROOT}%{RT3_WWWDIR} \ -type f -exec chmod a-x {} \; %check # The tests don't work: # - Require to be run as root # - Require an operational rt3 system %{?_with_tests:make test} %clean rm -rf ${RPM_BUILD_ROOT} %postun if [ $1 -eq 0 ]; then /bin/rm -rf %{RT3_CACHEDIR} fi %files %defattr(-,root,root,-) %doc COPYING README UPGRADING README.fedora %{_bindir}/* %{_sbindir}/* %exclude %{_sbindir}/rt-mailgate %{_mandir}/man1/* %exclude %{_mandir}/man1/rt-mailgate* %{RT3_LIBDIR}/* %{RT3_LOGDIR} %dir %{_sysconfdir}/rt3 %attr(-,root,root)%{_sysconfdir}/rt3/upgrade %attr(-,root,root)%{_sysconfdir}/rt3/acl* %attr(-,root,root)%{_sysconfdir}/rt3/schema* %attr(-,root,root)%{_sysconfdir}/rt3/init* %config(noreplace) %attr(0640,root,root) %{_sysconfdir}/rt3/RT_* %dir %{_datadir}/rt3 %{RT3_WWWDIR} %config(noreplace) %{_sysconfdir}/httpd/conf.d/rt3.conf %dir %{RT3_CACHEDIR} %attr(0770,apache,apache) %{RT3_CACHEDIR}/mason_data %attr(0770,apache,apache) %{RT3_CACHEDIR}/session_data %if "%{RT3_LOCALSTATEDIR}" != "%{RT3_CACHEDIR}" %dir %{RT3_LOCALSTATEDIR} %endif %ghost %{_prefix}/local/lib/rt3 %ghost %{_prefix}/local/etc/rt3 %files mailgate %{_sbindir}/rt-mailgate %{_mandir}/man1/rt-mailgate* %changelog * Wed Oct 17 2007 Ralf Corsépius - 3.6.5-1 - Upstream update. - Split-out rt-mailgate in to rt3-mailgate (BZ 332731). * Tue Sep 04 2007 Ralf Corsépius - 3.6.4-1 - Upstream update. * Tue Sep 04 2007 Ralf Corsépius - 3.6.3-2 - Update license tag. * Fri Dec 29 2006 Ralf Corsépius - 3.6.3-1 - Upstream update. - Add perl(GD::*) deps. * Thu Sep 07 2006 Ralf Corsépius - 3.6.1-3 - Extend /etc/RT_SiteConfig.pm (jpo, BZ 202374) * Wed Sep 06 2006 Ralf Corsépius - 3.6.1-2 - Mass rebuild. * Sun Aug 13 2006 Ralf Corsépius - 3.6.1-1 - Upstream update. * Sat Jul 22 2006 Ralf Corsépius - 3.6.0-4 - Install etc/upgrade to %%{_sysconfdir}/rt3/upgrade. - Add rt-3.6.0-Makefile.diff. * Mon Jul 19 2006 Ralf Corsépius - 3.6.0-3 - Move /var/www/rt3 to %%{_datadir}/rt3/html * Fri Jun 23 2006 Ralf Corsépius - 3.6.0-2 - Require perl(Calendar::Simple). * Fri Jun 23 2006 Ralf Corsépius - 3.6.0-1 - Upstream update. * Sun Jan 15 2006 Ralf Corsépius - 3.4.5-1 - Upstream update. * Wed Dec 07 2005 Ralf Corsépius - 3.4.4-11 - Require perl(HTML::FormatText), perl(HTML::TreeBuilder) (#175176). * Fri Nov 04 2005 Ralf Corsépius - 3.4.4-10 - Inline rt3-filter-provides.sh, rt3-filter-requires.sh into spec. * Sat Oct 29 2005 Ralf Corsépius - 3.4.4-9 - Remove "Requires(post): /usr/bin/chcon". - Add "Requires: perl(:MODULE_COMPAT...)". * Fri Oct 28 2005 Ralf Corsépius - 3.4.4-8 - Fix typo in setting up localstatedir. - Own %%{RT3_CACHEDIR}. * Tue Oct 24 2005 Ralf Corsépius - 3.4.4-7 - Apply patch from Chris Grau to README.fedora. - Move mason_data, session_data to /var/cache/rt3. - Install %%{RT3_LOGDIR}. - Replace README.fedora with README.fedora.in * Thu Oct 13 2005 Ralf Corsépius - 3.4.4-6 - Remove RT3_USER, RT3_GROUP. * Thu Oct 13 2005 Ralf Corsépius - 3.4.4-5 - Add Requires: perl(HTML::Mason), perl(HTTP::Server::Simple::Mason). - Add README.fedora. - Pass libdir to configure to silence rpmlint. - Remove %%{_localstatedir}/lib/rt3 upon last package removal. * Fri Oct 07 2005 Ralf Corsépius - 3.4.4-4 - Fix urls in spec file. * Tue Sep 27 2005 Ralf Corsépius - 3.4.4-3 - Spec file cosmetics. * Mon Sep 26 2005 Ralf Corsépius - 3.4.4-2 - FE submission. * Sun Sep 25 2005 Ralf Corsépius - 3.4.4-1.4 - Install perl modules into %%perlvendorlib. * Fri Sep 23 2005 Ralf Corsépius - 3.4.4-1.3 - Shift customdir to %%{_prefix}/local/lib/rt3 and %%{_prefix}/local/etc/rt3. - %%ghost %%{_prefix}/local/lib/rt3 and %%{_prefix}/local/etc/rt3. - install BIN files to %%{_sbindir}. * Fri Sep 23 2005 Ralf Corsépius - 3.4.4-1.2 - Use %%RT3_WWWDIR, %%_sbindir, %%_bindir in config.layout. * Thu Sep 17 2005 Ralf Corsépius - 3.4.4-1.1 - Reflect feedback from Chris Grau. - Remove SpeedyCGI support. * Thu Sep 16 2005 Ralf Corsépius - 3.4.4-1 - FE submission candidate.