Bug 1067098

Summary: Review Request: perl-TAP-Harness-Env - Parsing harness related environmental variables where appropriate
Product: [Fedora] Fedora Reporter: Paul Howarth <paul>
Component: Package ReviewAssignee: Petr Pisar <ppisar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: i, package-review, ppisar
Target Milestone: ---Flags: ppisar: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: perl-TAP-Harness-Env-3.30-3.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-09 04:34:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Paul Howarth 2014-02-19 16:56:32 UTC
Spec URL: http://subversion.city-fan.org/repos/cfo-repo/perl-TAP-Harness-Env/trunk/perl-TAP-Harness-Env.spec
SRPM URL: http://www.city-fan.org/~paul/extras/perl-TAP-Harness-Env/perl-TAP-Harness-Env-3.30-1.fc20.src.rpm

Description:
This module implements the environmental variables that Test::Harness for use
with TAP::Harness.

Fedora Account System Username: pghmcfc

This package is intended for F-20 and EPEL-7 only. It provides a module (TAP::Harness::Env) that was introduced as part of the Test-Harness distribution in version 3.29 (already in Rawhide), but we have decided that it would be inappropriate to update the whole perl-Test-Harness package from 3.28 as shipped in F-20 and EL-7; see Bug #1018157

However, the TAP::Harness::Env module is a requirement of versions of Module-Build-Tiny after 0.028, and it is very desirable to have a recent version of this in F-20 and EPEL-7, as a growing number of upstream developers are using the Dist::Zilla::Plugin::ModuleBuildTiny module when building their releases, and this by default adds a build dependency on whatever version of Module::Build::Tiny is installed on the author's system (usually the most recent release). I have been asked a number of times to update this module in F-20 and EPEL-7 (Bug #1056343, Bug #1064689), and the introduction of a perl-TAP-Harness-Env package would allow me to do this.

The idea for introducing this package came from upstream; see:
https://github.com/Leont/dist-zilla-plugin-modulebuildtiny/issues/7

There is a precedent for this type of package: see Bug #450553

Comment 1 Petr Pisar 2014-02-26 10:03:02 UTC
URL and Source0 are usable. Ok.
Source archive is original (SHA-256: ff1900f3b3e61321d3c4b3283298f3106d43d55446605e9cfcf1dcec036acec1). Ok.

TODO: I'd like rather see removing the files from ./script, ./lib, maybe some tests, and MANIFEST in %prep section instead of %exclude-ing them in %files section. This would assure the tests are run against system modules. Such building and testing would have higher integration value. It would also simplify this review and listing all build-time dependencies.

TODO: %exclude %{_mandir}/man3/Test::* instead of each manual page to be consistent with excluding %{perl_vendorlib}/Test/.

Summary verified from lib/TAP/Harness/Env.pm. Ok.
Description verified from lib/TAP/Harness/Env.pm. Ok.
License verified from README and vairous ./lib files. Ok.
Old spec cruft kept for EPEL. Ok.
No XS code, noarch BuildArch is Ok.

TODO: Build-require perl(strict) (Makefile.PL:10).
TOOD: Build-require perl(warnings) (Makefile.PL:11).

FIX: There are various build-time dependencies missing. E.g. perl(Carp), perl(File::Spec), etc. Many of them live in standalone package in F21. See perl-Test-Harness.spec in F21.

All tests pass. Ok.

$ rpmlint perl-TAP-Harness-Env.spec ../SRPMS/perl-TAP-Harness-Env-3.30-1.fc20.src.rpm ../RPMS/noarch/perl-TAP-Harness-Env-3.30-1.fc20.noarch.rpm 
2 packages and 1 specfiles checked; 0 errors, 0 warnings.
rpmlint is Ok.

$ rpm -q -lv -p ../RPMS/noarch/perl-TAP-Harness-Env-3.30-1.fc20.noarch.rpm drwxr-xr-x    2 root    root                        0 úno 26 10:36 /usr/share/doc/perl-TAP-Harness-Env
-rw-r--r--    1 root    root                    41022 lis 12 23:58 /usr/share/doc/perl-TAP-Harness-Env/Changes
-rw-r--r--    1 root    root                      541 lis 12 23:58 /usr/share/doc/perl-TAP-Harness-Env/README
-rw-r--r--    1 root    root                     2102 úno 26 10:35 /usr/share/man/man3/TAP::Harness::Env.3pm.gz
-rw-r--r--    1 root    root                     3824 lis 12 23:58 /usr/share/perl5/vendor_perl/TAP/Harness/Env.pm
File layout and permissions are Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-TAP-Harness-Env-3.30-1.fc20.noarch.rpm | sort | uniq -c
      1 perl(constant)
      1 perl(:MODULE_COMPAT_5.18.2)
      1 perl(strict)
      1 perl(TAP::Object)
      1 perl(Text::ParseWords)
      1 perl(warnings)
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsXz) <= 5.2-1
Binary requires are Ok.

$ rpm -q --provides -p ../RPMS/noarch/perl-TAP-Harness-Env-3.30-1.fc20.noarch.rpm | sort | uniq -c
      1 perl(TAP::Harness::Env) = 3.30
      1 perl-TAP-Harness-Env = 3.30-1.fc20
Binary provides are Ok.

$ resolvedeps f20-build ../RPMS/noarch/perl-TAP-Harness-Env-3.30-1.fc20.noarch.rpm 
Binary dependencies resolvable. Ok.

Package builds in F20 (http://koji.fedoraproject.org/koji/taskinfo?taskID=6572235). Ok.

Otherwise the package is in line with Fedora and Perl packaging guidelines.

Please correct all `FIX' items, consider fixing `TODO' items, and provide new spec file.
Resolution: Package NOT approved.

Comment 3 Petr Pisar 2014-02-26 16:39:53 UTC
The patches are Ok.

FIX: Build-require perl(Data::Dumper) (t/state.t:175).

Notice: perl(Encode) is optional (t/unicode.t:25). Ok.

FIX: Build-require perl(File::Path) (t/spool.t:72).

Notice: perl(File::Temp) is optional (t/unicode.t:21). Ok.

TODO: Build-require perl(overload) (t/lib/Test/Builder.pm:466).
TODO: Build-require perl(Symbol) (t/spool.t:29).

FIX: Build-require perl(TAP::Formatter::Base) (t/file.t:28).

Notice: perl(TAP::Formatter::HTML) is optional (t/proveversion.t:8). Ok.
Notice: perl(TAP::Harness::Archive) is optional (t/compat/env_opts.t:11). Ok.

TODO: Remove modules bundled in t/lib like like Test::More, Test::Builder.

Notice: perl(threads::shared) is not used (t/lib/Test/Builder.pm:21). Ok.

Notice: perl(YAML) is optional (t/prove.t:81). Ok.

All tests pass. Ok.

$ rpmlint perl-TAP-Harness-Env.spec ../SRPMS/perl-TAP-Harness-Env-3.30-2.fc20.src.rpm ../RPMS/noarch/perl-TAP-Harness-Env-3.30-2.fc20.noarch.rpm 
2 packages and 1 specfiles checked; 0 errors, 0 warnings.
rpmlint is Ok.

$ rpm -q -lv -p ../RPMS/noarch/perl-TAP-Harness-Env-3.30-2.fc20.noarch.rpm 
drwxr-xr-x    2 root    root                        0 úno 26 17:27 /usr/share/doc/perl-TAP-Harness-Env
-rw-r--r--    1 root    root                    41022 lis 12 23:58 /usr/share/doc/perl-TAP-Harness-Env/Changes
-rw-r--r--    1 root    root                      541 lis 12 23:58 /usr/share/doc/perl-TAP-Harness-Env/README
-rw-r--r--    1 root    root                     2102 úno 26 17:27 /usr/share/man/man3/TAP::Harness::Env.3pm.gz
-rw-r--r--    1 root    root                     3824 lis 12 23:58 /usr/share/perl5/vendor_perl/TAP/Harness/Env.pm
File layout and permissions are Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-TAP-Harness-Env-3.30-2.fc20.noarch.rpm | sort | uniq -c
      1 perl(constant)
      1 perl(:MODULE_COMPAT_5.18.2)
      1 perl(strict)
      1 perl(TAP::Object)
      1 perl(Text::ParseWords)
      1 perl(warnings)
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsXz) <= 5.2-1
Binary requires are Ok.

$ rpm -q --provides -p ../RPMS/noarch/perl-TAP-Harness-Env-3.30-2.fc20.noarch.rpm | sort | uniq -c
      1 perl(TAP::Harness::Env) = 3.30
      1 perl-TAP-Harness-Env = 3.30-2.fc20
Binary provides are Ok.

$ resolvedeps f20-build ../RPMS/noarch/perl-TAP-Harness-Env-3.30-2.fc20.noarch.rpm 
Binary dependencies resolvable. Ok.

Package builds in F20 (http://koji.fedoraproject.org/koji/taskinfo?taskID=6573547). Ok.

Please correct all `FIX' items and consider fixing `TODO' items before building the package.
Resolution: Package APPROVED.

I will add the Obsoletes into F21's perl-Test-Harness tomorrow.

Comment 4 Paul Howarth 2014-02-26 18:04:10 UTC
New Package SCM Request
=======================
Package Name: perl-TAP-Harness-Env
Short Description: Parsing harness related environmental variables where appropriate
Owners: pghmcfc
Branches: f20 epel7
InitialCC: perl-sig

Thanks for the review and the obsoletes Petr.

I'll do the fixes post-import.

Comment 5 Gwyn Ciesla 2014-02-27 13:11:13 UTC
Git done (by process-git-requests).

Comment 6 Fedora Update System 2014-02-27 14:37:52 UTC
perl-TAP-Harness-Env-3.30-3.fc20,perl-Module-Build-Tiny-0.035-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/perl-TAP-Harness-Env-3.30-3.fc20,perl-Module-Build-Tiny-0.035-1.fc20

Comment 7 Fedora Update System 2014-02-28 18:28:07 UTC
Package perl-TAP-Harness-Env-3.30-3.fc20, perl-Module-Build-Tiny-0.035-1.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing perl-TAP-Harness-Env-3.30-3.fc20 perl-Module-Build-Tiny-0.035-1.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-3171/perl-TAP-Harness-Env-3.30-3.fc20,perl-Module-Build-Tiny-0.035-1.fc20
then log in and leave karma (feedback).

Comment 8 Fedora Update System 2014-03-09 04:34:34 UTC
perl-TAP-Harness-Env-3.30-3.fc20, perl-Module-Build-Tiny-0.035-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.