Bug 891226

Summary: nodejs-read-package-json - npm's package.json parser
Product: [Fedora] Fedora Reporter: T.C. Hollingsworth <tchollingsworth>
Component: Package ReviewAssignee: Miro Hrončok <mhroncok>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: mhroncok, misc, notting, package-review
Target Milestone: ---Flags: mhroncok: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-01-13 12:01:22 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:
Bug Depends On: 891193, 891202, 891235, 891237    
Bug Blocks: 891171, 891197, 891224    

Description T.C. Hollingsworth 2013-01-02 09:03:41 UTC
Spec: http://patches.fedorapeople.org/npm/nodejs-read-package-json.spec
SRPM: http://patches.fedorapeople.org/npm/nodejs-read-package-json-0.1.12-1.fc17.src.rpm
Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4831078
FAS username: patches

The thing npm uses to read package.json files, with semantics, defaults and
validation.

This package is part of the npm stack and a future F19 Feature for Node.js.

This package may depend on other packages in the npm stack that aren't explicitly
listed as dependencies of this bug.  For more information, see bug 891171.

Please use nodejs-0.6.5-3 or later when building or using this package.

Comment 1 T.C. Hollingsworth 2013-01-10 07:51:53 UTC
Updated with empty %build sections and other issues found in various reviews.

Spec: http://patches.fedorapeople.org/npm/nodejs-read-package-json.spec
SRPM: http://patches.fedorapeople.org/npm/nodejs-read-package-json-0.1.12-2.fc17.src.rpm
Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4854380

Comment 2 Miro Hrončok 2013-01-10 19:11:18 UTC
Description and Summary OK.

MUST: rpmlint must be run on the source rpm and all binary rpms the build produces. The output should be posted in the review.

$ rpmlint ../SRPMS/nodejs-read-package-json-0.1.12-2.fc18.src.rpm ../RPMS/noarch/nodejs-read-package-json-0.1.12-2.fc18.noarch.rpm
nodejs-read-package-json.src: W: spelling-error Summary(en_US) npm's -> Np's
nodejs-read-package-json.src: W: summary-not-capitalized C npm's package.json parser
nodejs-read-package-json.src: W: spelling-error %description -l en_US npm -> pm, rpm, ppm
nodejs-read-package-json.noarch: W: spelling-error Summary(en_US) npm's -> Np's
nodejs-read-package-json.noarch: W: summary-not-capitalized C npm's package.json parser
nodejs-read-package-json.noarch: W: spelling-error %description -l en_US npm -> pm, rpm, ppm
nodejs-read-package-json.noarch: W: only-non-binary-in-usr-lib
nodejs-read-package-json.noarch: W: dangling-symlink /usr/lib/node_modules/read-package-json/node_modules/glob /usr/lib/node_modules/glob
nodejs-read-package-json.noarch: W: dangling-symlink /usr/lib/node_modules/read-package-json/node_modules/slide /usr/lib/node_modules/slide
nodejs-read-package-json.noarch: W: dangling-symlink /usr/lib/node_modules/read-package-json/node_modules/semver /usr/lib/node_modules/semver
nodejs-read-package-json.noarch: W: dangling-symlink /usr/lib/node_modules/read-package-json/node_modules/lru-cache /usr/lib/node_modules/lru-cache
2 packages and 0 specfiles checked; 0 errors, 11 warnings.

All are false positive. Symlinks OK, package requires (among others) npm(glob), npm(slide), npm(semver), npm(lru-cache). OK

MUST: The package must be named according to the Package Naming Guidelines. OK
MUST: The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption. OK
MUST: The package must meet the Packaging Guidelines. OK
MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines. OK
MUST: The License field in the package spec file must match the actual license.

Checked in LICENSE: BSD. OK

MUST: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package must be included in %doc. OK
MUST: The spec file must be written in American English. OK
MUST: The spec file for the package MUST be legible. OK
MUST: The sources used to build the package must match the upstream source, as provided in the spec URL.

$ sha256sum ../SOURCES/read-package-json-0.1.12.tgz 
c2367e09e9b7733ee10e32745091dc34b465ba31e5bf66269865edae91966f9b  ../SOURCES/read-package-json-0.1.12.tgz
$ spectool -g nodejs-read-package-json.spec 
Getting http://registry.npmjs.org/read-package-json/-/read-package-json-0.1.12.tgz to ./read-package-json-0.1.12.tgz
$ sha256sum read-package-json-0.1.12.tgz 
c2367e09e9b7733ee10e32745091dc34b465ba31e5bf66269865edae91966f9b  read-package-json-0.1.12.tgz

OK

MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture. OK
MUST: All build dependencies must be listed in BuildRequires, except for any that are listed in the exceptions section of the Packaging Guidelines ; inclusion of those as BuildRequires is optional. OK, builds in mock
MUST: Packages must NOT bundle copies of system libraries. OK
MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory. OK
MUST: A Fedora package must not list a file more than once in the spec file's %files listings. OK
MUST: Permissions on files must be set properly.

$ rpm -q -lv -p ../RPMS/noarch/nodejs-read-package-json-0.1.12-2.fc18.noarch.rpm 
drwxr-xr-x    2 root    root                        0 led 10 19:59 /usr/lib/node_modules/read-package-json
drwxr-xr-x    2 root    root                        0 led 10 19:59 /usr/lib/node_modules/read-package-json/node_modules
lrwxrwxrwx    1 root    root                       26 led 10 19:59 /usr/lib/node_modules/read-package-json/node_modules/glob -> /usr/lib/node_modules/glob
lrwxrwxrwx    1 root    root                       31 led 10 19:59 /usr/lib/node_modules/read-package-json/node_modules/lru-cache -> /usr/lib/node_modules/lru-cache
lrwxrwxrwx    1 root    root                       28 led 10 19:59 /usr/lib/node_modules/read-package-json/node_modules/semver -> /usr/lib/node_modules/semver
lrwxrwxrwx    1 root    root                       27 led 10 19:59 /usr/lib/node_modules/read-package-json/node_modules/slide -> /usr/lib/node_modules/slide
-rw-r--r--    1 root    root                      731 led 10 19:59 /usr/lib/node_modules/read-package-json/package.json
-rw-r--r--    1 root    root                    23497 pro  3 02:58 /usr/lib/node_modules/read-package-json/read-json.js
drwxr-xr-x    2 root    root                        0 led 10 19:59 /usr/share/doc/nodejs-read-package-json-0.1.12
-rw-r--r--    1 root    root                     1310 zář 12 02:46 /usr/share/doc/nodejs-read-package-json-0.1.12/LICENSE
-rw-r--r--    1 root    root                     4703 čen 19  2012 /usr/share/doc/nodejs-read-package-json-0.1.12/README.md

OK

MUST: Each package must consistently use macros. OK
MUST: The package must contain code, or permissable content. OK
MUST: If a package includes something as %doc, it must not affect the runtime of the application. OK
MUST: Packages must not own files or directories already owned by other packages. OK
MUST: All filenames in rpm packages must be valid UTF-8. OK
SHOULD: The reviewer should test that the package builds in mock. OK
SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself. OK

TODO: There are tests in the package, why not run them in %check section? In case you do this, don't forget to add all required modules (tap) as BRs.

Please, consider solving TODO.

Package APPROVED.

Comment 3 T.C. Hollingsworth 2013-01-10 19:33:08 UTC
Tests are currently disabled since TAP is not yet packaged for Fedora.  I'll enable them once the necessary packages are approved.

Comment 4 T.C. Hollingsworth 2013-01-10 19:35:05 UTC
New Package SCM Request
=======================
Package Name: nodejs-read-package-json
Short Description: npm's package.json parser
Owners: patches
Branches: f18 el6
InitialCC:

Comment 5 Miro Hrončok 2013-01-10 19:39:53 UTC
I cannot see TAP review request. Is it a huge scope like npm, or it is single package (or with only a few deps)? If it is simple, file the request and I can do do review, so you can inlude tests to other pakages.

Comment 6 Gwyn Ciesla 2013-01-10 19:59:58 UTC
Git done (by process-git-requests).

Comment 7 T.C. Hollingsworth 2013-01-13 11:23:48 UTC
(In reply to comment #5)
> I cannot see TAP review request. Is it a huge scope like npm, or it is
> single package (or with only a few deps)? If it is simple, file the request
> and I can do do review, so you can inlude tests to other pakages.

It has about six deps or so.  Some of the reviews got filed earlier, but I had to run and didn't finish.  I'll finish them up shortly.

Comment 8 T.C. Hollingsworth 2013-01-13 12:01:22 UTC
built for rawhide:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4864294