Bug 672764

Summary: Review Request: perl-JSON-PP - JSON::XS compatible pure-Perl module
Product: [Fedora] Fedora Reporter: Paul Howarth <paul>
Component: Package ReviewAssignee: Iain Arnell <iarnell>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, iarnell, notting
Target Milestone: ---Flags: iarnell: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: perl-JSON-PP-2.27104-3.fc15 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-02-14 10:19:53 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 665621    
Bug Blocks:    

Description Paul Howarth 2011-01-26 09:50:34 UTC
Spec URL:
http://subversion.city-fan.org/repos/cfo-repo/perl-JSON-PP/branches/fedora/perl-JSON-PP.spec
SRPM URL:
http://www.city-fan.org/~paul/extras/perl-JSON-PP/perl-JSON-PP-2.27104-2.fc15.src.rpm

Description:
JSON::XS is the fastest and most proper JSON module on CPAN. It is written by
Marc Lehmann in C, so must be compiled and installed in the used environment.

JSON::PP is a pure-Perl module and is compatible with JSON::XS.


The package builds and runs cleanly on all current Fedora and EPEL releases.

Comment 1 Iain Arnell 2011-01-27 04:59:11 UTC
+ source files match upstream.  
    45094c4030d67701b1af513b06913ead  JSON-PP-2.27104.tar.gz

+ package meets naming and versioning guidelines.
+ specfile is properly named, is cleanly written and uses macros consistently.
+ summary is OK.
+ description is OK.
+ dist tag is present.
+ build root is OK.
+ license field matches the actual license.
    GPL+ or Artistic

+ license is open source-compatible.
+ license text not included upstream.
+ latest version is being packaged.
+ BuildRequires are proper.
+ compiler flags are appropriate.
+ %clean is present.
+ package builds in mock
    http://koji.fedoraproject.org/koji/taskinfo?taskID=2744926

+ package installs properly.
+ rpmlint has no complaints:
    2 packages and 0 specfiles checked; 0 errors, 0 warnings.

+ final provides and requires are sane:
    perl(JSON::PP) = 2.27104
    perl-JSON-PP = 2.27104-2.fc15
    perl(JSON::PP::Boolean)  
    perl(JSON::PP::IncrParser) = 1.01
=
    perl >= 0:5.005
    perl(B)  
    perl(base)  
    perl(bytes)  
    perl(Carp)  
    perl(constant)  
    perl(Exporter)  
    perl(Getopt::Long)  
    perl(JSON::PP)  
    perl(:MODULE_COMPAT_5.12.3)  
    perl(overload)  
    perl(strict)  

+ %check is present and all tests pass.
    PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
    t/000_load.t ............... ok
    t/001_utf8.t ............... ok
    t/002_error.t .............. ok
    t/003_types.t .............. ok
    t/006_pc_pretty.t .......... ok
    t/007_pc_esc.t ............. ok
    t/008_pc_base.t ............ ok
    t/009_pc_extra_number.t .... ok
    t/010_pc_keysort.t ......... ok
    t/011_pc_expo.t ............ ok
    t/012_blessed.t ............ ok
    t/013_limit.t .............. ok
    t/014_latin1.t ............. ok
    t/015_prefix.t ............. ok
    t/016_tied.t ............... ok
    t/017_relaxed.t ............ ok
    t/018_json_checker.t ....... ok
    t/019_incr.t ............... ok
    t/020_unknown.t ............ ok
    t/021_evans_bugrep.t ....... ok
    t/022_comment_at_eof.t ..... ok
    t/099_binary.t ............. ok
    t/104_sortby.t ............. ok
    t/105_esc_slash.t .......... ok
    t/106_allow_barekey.t ...... ok
    t/107_allow_singlequote.t .. ok
    t/108_decode.t ............. ok
    t/109_encode.t ............. ok
    t/110_bignum.t ............. ok
    t/112_upgrade.t ............ ok
    t/113_overloaded_eq.t ...... ok
    t/114_decode_prefix.t ...... ok
    t/115_tie_ixhash.t ......... ok
    t/900_pod.t ................ ok
    All tests successful.
    Files=34, Tests=3470,  4 wallclock secs ( 0.38 usr  0.05 sys +  4.00 cusr  0.14 csys =  4.57 CPU)
    Result: PASS

+ no shared libraries are added to the regular linker search paths.
+ owns the directories it creates.
+ doesn't own any directories it shouldn't.
+ no duplicates in %files.
+ file permissions are appropriate.
+ no generically named files
+ code, not content.
+ documentation is small, so no -doc subpackage is necessary.
+ %docs are not necessary for the proper functioning of the package.

To avoid implicit file conflicts, perl-JSON needs to be updated to 2.50 (with tweaks to the filtering to hide or provide JSON::backportPP) and this package should explicitly Conflicts: perl-JSON < 2.50.

APPROVED.

Comment 2 Paul Howarth 2011-01-27 12:22:00 UTC
I've attached suggested changes to perl-JSON in Bug #665621; if you think they look right I can get that pushed and built to avoid conflicts when this package appears.

I've updated the perl-JSON-PP spec to add the versioned conflict.

Comment 3 Iain Arnell 2011-01-27 12:57:01 UTC
The perl-JSON changes look good to me. And the Conflict is good.

Comment 4 Paul Howarth 2011-01-27 13:19:52 UTC
Thanks for the review; I'll not request branches for older releases due to the perl-JSON conflict.

New Package SCM Request
=======================
Package Name: perl-JSON-PP
Short Description: JSON::XS compatible pure-Perl module
Owners: pghmcfc
InitialCC: perl-sig

Comment 5 Jason Tibbitts 2011-01-27 15:06:03 UTC
Git done (by process-git-requests).