commit 3917e42e74ddf6902dc3bbad3e7437a1b89917e3 Author: Ralf Corsépius <corsepiu@xxxxxxxxxxxxxxxxx> Date: Tue Jan 31 05:05:01 2012 +0100 Rename rpmbuild option with_tests into with_runtests. - Add rt3-tests subpackage. - Add README.tests. - Remove removal of ${RT3_LIBDIR}/t (Fixed by upstream). - Rework R:/BR:. - Use %{__rm} instead of /bin/rm. - Misc minor spec file cleanup. README.tests | 11 +++++++++ rt3.spec | 69 ++++++++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 62 insertions(+), 18 deletions(-) --- diff --git a/README.tests b/README.tests new file mode 100644 index 0000000..78b6c76 --- /dev/null +++ b/README.tests @@ -0,0 +1,11 @@ +Run these tests with a command similar to this: + +RT_DBA_USER=root RT_DBA_PASSWORD=<mysql-passwd> /usr/bin/prove t/*.t t/*/*.t + +Notes: +- Most (all?) tests require to be run as "root". +- Some of these tests were not designed to work outside of rt3's source + tree and do not work when being used as a separate test package. +- Some of these tests are quite "chatty". +- Failing tests my leave stray files on the filesystem, which will not be + automatically deinstalled upon package deinstallation. diff --git a/rt3.spec b/rt3.spec index 1a87e6b..d1ca3de 100644 --- a/rt3.spec +++ b/rt3.spec @@ -26,10 +26,10 @@ # Default: --without %bcond_with gpg -# --with tests +# --with runtests # run testsuite when building the rpm # Default: without (doesn't work in chroots.) -%bcond_with tests +%bcond_with runtests %global RT3_BINDIR %{_sbindir} %global RT3_LIBDIR %{perl_vendorlib} @@ -41,13 +41,14 @@ Name: rt3 Version: 3.8.11 -Release: 3%{?dist} +Release: 4%{?dist} 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 +Source1: README.tests Source3: rt3.conf.in Source4: README.fedora.in Source5: rt3.logrotate.in @@ -149,9 +150,12 @@ BuildRequires: perl(UNIVERSAL::require) BuildRequires: perl(XML::RSS) >= 1.05 %{?with_devel_mode:BuildRequires: perl(XML::Simple)} -%{?with_tests:BuildRequires: perl(DBD::SQLite)} -%{?with_tests:BuildRequires: perl(DBD::mysql)} -%{?with_tests:BuildRequires: perl(DBD::Pg)} +%{?with_runtests:BuildRequires: perl(DBD::SQLite)} +%{?with_runtests:BuildRequires: perl(DBD::mysql)} +%{?with_runtests:BuildRequires: perl(DBD::Pg)} +%{?with_runtests:BuildRequires: perl(Log::Dispatch::Perl)} +%{?with_runtests:BuildRequires: perl(Test::WWW::Mechanize)} +%{?with_runtests:BuildRequires: perl(Test::Expect)} BuildRequires: /usr/bin/pod2man BuildRequires: /usr/sbin/apachectl @@ -165,16 +169,19 @@ BuildRequires: /usr/share/fonts/google-droid/DroidSans.ttf Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) -Requires(postun): /bin/rm +Requires(postun): %{__rm} # rpm doesn't catch these: Requires: perl(Apache::Session) Requires: perl(Calendar::Simple) Requires: perl(Data::ICal) Requires: perl(Data::ICal::Entry::Event) +Requires: perl(Email::Address) +Requires: perl(File::Find) %{?with_gd:Requires: perl(GD::Text)} %{?with_gd:Requires: perl(GD::Graph::bars)} %{?with_gd:Requires: perl(GD::Graph::pie)} +%{?with_gpg: Requires: perl(GnuPG::Interface)} Requires: perl(I18N::LangTags::List) Requires: perl(Locale::Maketext::Fuzzy) Requires: perl(LWP::MediaTypes) @@ -182,7 +189,6 @@ Requires: perl(mod_perl2) Requires: perl(Module::Versions::Report) Requires: perl(Text::Quoted) Requires: perl(Text::WikiFormat) -Requires: perl(Tree::Simple) Requires: perl(URI::URL) Requires: perl(XML::RSS) @@ -210,6 +216,20 @@ Requires: rt3-mailgate %global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\(HTML::Mason %global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\(IO::Handle::CRLF\\)$ +%tests_req perl(HTML::Mason::Compiler) +%tests_req perl(HTML::Mason::Compiler::ToObject) +%tests_req perl(RT::Test) +%tests_req perl(Test::HTTP::Server::Simple::StashWarnings) +%tests_req perl(DBD::SQLite) +%tests_req perl(Test::Deep) +# Required by the testsuite, but test doesn't work outside of source-tree: %%tests_req perl(Test::Pod) >= 1.14 +%tests_req perl(Test::Expect) +%tests_req perl(Test::MockTime) +%tests_req perl(Test::Warn) +%tests_req perl(GnuPG::Interface) perl(PerlIO::eol) + +%{?perl_subpackage_tests:%perl_subpackage_tests t/ README.tests} + %description RT is an enterprise-grade ticketing system which enables a group of people to intelligently and efficiently manage tasks, issues, and requests submitted @@ -228,10 +248,11 @@ Requires: perl(HTML::FormatText) %if %{with devel_mode} %package -n perl-RT-Test -Summary: rt3's test utility. +Summary: rt3's test utility module Group: Applications/Internet Requires: rt3 = %{version}-%{release} Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Requires: perl(Log::Dispatch::Perl) %description -n perl-RT-Test %{summary} @@ -249,10 +270,10 @@ sed -e 's,@RT3_LOGDIR@,%{RT3_LOGDIR},' %{SOURCE5} \ find \( -type f -a -executable \) -exec chmod a-x {} \; chmod +x configure install-sh -# Upstream tarball contains temporary autotools-files. +# Upstream tarball contains temporary autotools-files rm -rf autom4te.cache config.log config.status -# Fixup the tarball containing generated files +# Upstream tarball contains configure-time generated files find bin sbin etc -name '*.in' | while read a; do d=$(echo "$a" | sed 's,\.in$,,'); rm "$d"; done %patch0 -p1 @@ -292,6 +313,9 @@ sed -i \ -e 's,-o $(BIN_OWNER) -g $(RTGROUP),,g' \ Makefile.in +# Copy README.tests into '.', such that %%perl_subpackage_tests picks it up. +cp %{SOURCE1} . + %build %configure \ --with-apachectl=/usr/sbin/apachectl \ @@ -325,9 +349,6 @@ 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 @@ -380,14 +401,17 @@ find ${RPM_BUILD_ROOT}%{RT3_WWWDIR} \ # The tests don't work: # - Require to be run as root # - Require an operational rt3 system -# - Require packages which are n/a in Fedora -%{?with_tests:make test} +%{?with_runtests:make test} %postun if [ $1 -eq 0 ]; then - /bin/rm -rf %{RT3_CACHEDIR} + %{__rm} -rf %{RT3_CACHEDIR} fi +%postun tests +if [ $1 -eq 0 ]; then + %{__rm} -rf %{perl_testdir}/%{cpan_dist_name} +fi %files %defattr(-,root,root,-) @@ -441,6 +465,15 @@ fi %endif %changelog +* Mon Jan 30 2012 Ralf Corsépius <corsepiu@xxxxxxxxxxxxxxxxx> - 3.8.11-4 +- Rename rpmbuild option with_tests into with_runtests. +- Add rt3-tests subpackage. +- Add README.tests. +- Remove removal of ${RT3_LIBDIR}/t (Fixed by upstream). +- Rework R:/BR:. +- Use %%{__rm} instead of /bin/rm. +- Misc minor spec file cleanup. + * Wed Jan 18 2012 Ralf Corsépius <corsepiu@xxxxxxxxxxxxxxxxx> - 3.8.11-3 - Fix typo in filter rules. - Add lexdir, manualdir, RT3_LEXDIR. @@ -489,7 +522,7 @@ fi * Fri May 07 2010 Ralf Corsépius <corsepiu@xxxxxxxxxxxxxxxxx> - 3.8.8-1 - Upstream update. -- Add %{_datadir}/rt3/fonts +- Add %%{_datadir}/rt3/fonts - Use system-wide google-droid-fonts instead of bundled Droid fonts. - Add rt-3.8.8-Makefile.diff. -- Fedora Extras Perl SIG http://www.fedoraproject.org/wiki/Extras/SIGs/Perl perl-devel mailing list perl-devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/perl-devel