Bug 891223

Summary: nodejs-read - An implementation of read(1) for node programs
Product: [Fedora] Fedora Reporter: T.C. Hollingsworth <tchollingsworth>
Component: Package ReviewAssignee: Miro Hrončok <mhroncok>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: jamielinux, mhroncok, misc, notting, package-review
Target Milestone: ---Flags: mhroncok: fedora‑review+
limburgher: 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 06:56:18 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On: 891207    
Bug Blocks: 891171, 891197, 891221    

Description T.C. Hollingsworth 2013-01-02 04:00:15 EST
Spec: http://patches.fedorapeople.org/npm/nodejs-read.spec
SRPM: http://patches.fedorapeople.org/npm/nodejs-read-1.0.4-1.fc17.src.rpm
Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4831070
FAS username: patches

read(1) for node programs.

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 Miro Hrončok 2013-01-07 14:28:30 EST
Summary verified from package.json

TODO: Description should rather be at least a sentence. Something like:

"A method for reading user input from stdin in node.js.
Similar to the readline builtin's question() method,
but with a few more features."

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

nodejs-read.src: W: summary-not-capitalized C read(1) for node programs
nodejs-read.src: W: no-%build-section
nodejs-read.noarch: W: summary-not-capitalized C read(1) for node programs
nodejs-read.noarch: W: only-non-binary-in-usr-lib
nodejs-read.noarch: W: dangling-symlink /usr/lib/node_modules/read/node_modules/mute-stream /usr/lib/node_modules/mute-stream
2 packages and 0 specfiles checked; 0 errors, 5 warnings.

TODO: Consider adding a word (such as Function or Method) at the beginning of the summary to prevent summary-not-capitalized
FIX: Add %build section (even if empty), it is needed (some tools might want to add something at the beginning or at the end of it)
Symblink OK (package requires npm(mute-stream))

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.

License chcecked in LICENSE file: 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. Reviewers should use sha256sum for this task as it is used by the sources file once imported into git.

$ sha256sum ../SOURCES/read-1.0.4.tgz
8be269afeaa7cc62feb4672e8e61e5133152266dc5347b23cf5b05bc40789601  ../SOURCES/read-1.0.4.tgz
$ wget -q http://registry.npmjs.org/read/-/read-1.0.4.tgz
$ sha256sum read-1.0.4.tgz
8be269afeaa7cc62feb4672e8e61e5133152266dc5347b23cf5b05bc40789601  read-1.0.4.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. Apply common sense. 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-1.0.4-1.fc18.noarch.rpm 
drwxr-xr-x    2 root    root                        0 led  7 20:05 /usr/lib/node_modules/read
drwxr-xr-x    2 root    root                        0 led  7 20:05 /usr/lib/node_modules/read/lib
-rw-r--r--    1 root    root                     2414 srp 17 02:22 /usr/lib/node_modules/read/lib/read.js
drwxr-xr-x    2 root    root                        0 led  7 20:05 /usr/lib/node_modules/read/node_modules
lrwxrwxrwx    1 root    root                       33 led  7 20:05 /usr/lib/node_modules/read/node_modules/mute-stream -> /usr/lib/node_modules/mute-stream
-rw-r--r--    1 root    root                      473 srp 17 02:26 /usr/lib/node_modules/read/package.json
drwxr-xr-x    2 root    root                        0 led  7 20:05 /usr/share/doc/nodejs-read-1.0.4
-rw-r--r--    1 root    root                     1318 bře 17  2012 /usr/share/doc/nodejs-read-1.0.4/LICENCE
-rw-r--r--    1 root    root                     1721 srp 17 02:26 /usr/share/doc/nodejs-read-1.0.4/README.md
drwxr-xr-x    2 root    root                        0 led  7 20:05 /usr/share/doc/nodejs-read-1.0.4/example
-rw-r--r--    1 root    root                      520 čec 24 09:44 /usr/share/doc/nodejs-read-1.0.4/example/example.js

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

Other hints:

TODO: Consider dropping %defattr(-,root,root,-) in %files, it is not needed.
TODO: Remove the BuildRoot variable, it is not needed either.

Please fix the FIX items and consider fixing TODOs.

Resolution: NEEDSWORK.
Comment 2 T.C. Hollingsworth 2013-01-07 20:27:57 EST
Thanks for reviewing this!

(In reply to comment #1)
> Summary verified from package.json
> 
> TODO: Description should rather be at least a sentence. Something like:
> 
> "A method for reading user input from stdin in node.js.
> Similar to the readline builtin's question() method,
> but with a few more features."

Fixed. 

> MUST: rpmlint must be run on the source rpm and all binary rpms the build
> produces. The output should be posted in the review.
> 
> nodejs-read.src: W: summary-not-capitalized C read(1) for node programs
> nodejs-read.src: W: no-%build-section
> nodejs-read.noarch: W: summary-not-capitalized C read(1) for node programs

Fixed.

> nodejs-read.noarch: W: only-non-binary-in-usr-lib

Node modules are installed in /usr/lib consistent with both upstream and other interpreted languages in the distribution like Python.

> nodejs-read.noarch: W: dangling-symlink
> /usr/lib/node_modules/read/node_modules/mute-stream
> /usr/lib/node_modules/mute-stream
> 2 packages and 0 specfiles checked; 0 errors, 5 warnings.
> 
> TODO: Consider adding a word (such as Function or Method) at the beginning
> of the summary to prevent summary-not-capitalized
> FIX: Add %build section (even if empty), it is needed (some tools might want
> to add something at the beginning or at the end of it)

Fixed.

> Symblink OK (package requires npm(mute-stream))
>
> Other hints:
> 
> TODO: Consider dropping %defattr(-,root,root,-) in %files, it is not needed.
> TODO: Remove the BuildRoot variable, it is not needed either.

Per the discussion in bug 891194 I would like to retain EL5 constructions at this time.

Spec: http://patches.fedorapeople.org/npm/nodejs-read.spec
SRPM: http://patches.fedorapeople.org/npm/nodejs-read-1.0.4-2.fc17.src.rpm
Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4847388
Comment 3 Miro Hrončok 2013-01-08 06:14:32 EST
Package APPROVED.
Comment 4 T.C. Hollingsworth 2013-01-10 02:00:04 EST
New Package SCM Request
=======================
Package Name: nodejs-read
Short Description: An implementation of read(1) for node programs
Owners: patches
Branches: f18 el6
InitialCC:
Comment 5 Gwyn Ciesla 2013-01-10 08:04:02 EST
Git done (by process-git-requests).
Comment 6 T.C. Hollingsworth 2013-01-13 06:56:18 EST
Built for Rawhide:

http://koji.fedoraproject.org/koji/taskinfo?taskID=4864249
Comment 7 Fedora Update System 2013-01-13 07:50:01 EST
nodejs-abbrev-1.0.4-2.fc18,nodejs-ansi-0.1.2-4.fc18,nodejs-async-0.1.22-3.fc18,nodejs-glob-3.1.14-2.fc18,nodejs-inherits-1.0.0-6.fc18,nodejs-graceful-fs-1.1.14-2.fc18,nodejs-minimatch-0.2.9-2.fc18,nodejs-mkdirp-0.3.4-2.fc18,nodejs-mute-stream-0.0.3-3.fc18,nodejs-read-1.0.4-4.fc18,nodejs-read-installed-0.0.4-2.fc18,nodejs-read-package-json-0.1.12-2.fc18,nodejs-retry-0.6.0-2.fc18,nodejs-rimraf-2.1.1-2.fc18,nodejs-slide-1.1.3-4.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/nodejs-abbrev-1.0.4-2.fc18,nodejs-ansi-0.1.2-4.fc18,nodejs-async-0.1.22-3.fc18,nodejs-glob-3.1.14-2.fc18,nodejs-inherits-1.0.0-6.fc18,nodejs-graceful-fs-1.1.14-2.fc18,nodejs-minimatch-0.2.9-2.fc18,nodejs-mkdirp-0.3.4-2.fc18,nodejs-mute-stream-0.0.3-3.fc18,nodejs-read-1.0.4-4.fc18,nodejs-read-installed-0.0.4-2.fc18,nodejs-read-package-json-0.1.12-2.fc18,nodejs-retry-0.6.0-2.fc18,nodejs-rimraf-2.1.1-2.fc18,nodejs-slide-1.1.3-4.fc18
Comment 8 Fedora Update System 2013-01-17 03:51:13 EST
nodejs-abbrev-1.0.4-2.fc18, nodejs-ansi-0.1.2-4.fc18, nodejs-async-0.1.22-3.fc18, nodejs-glob-3.1.14-2.fc18, nodejs-inherits-1.0.0-6.fc18, nodejs-graceful-fs-1.1.14-2.fc18, nodejs-minimatch-0.2.9-2.fc18, nodejs-mkdirp-0.3.4-2.fc18, nodejs-mute-stream-0.0.3-3.fc18, nodejs-read-1.0.4-4.fc18, nodejs-read-installed-0.0.4-2.fc18, nodejs-read-package-json-0.1.12-2.fc18, nodejs-retry-0.6.0-2.fc18, nodejs-rimraf-2.1.1-2.fc18, nodejs-slide-1.1.3-4.fc18, nodejs-uid-number-0.0.3-4.fc18, nodejs-sigmund-1.0.0-2.fc18, nodejs-osenv-0.0.3-2.fc18, nodejs-nopt-2.0.0-3.fc18, nodejs-lru-cache-2.2.1-2.fc18, nodejs-mime-1.2.7-2.fc18, nodejs-init-package-json-0.0.7-3.fc18, nodejs-fstream-0.1.21-3.fc18, nodejs-delayed-stream-0.0.5-2.fc18, nodejs-proto-list-1.2.2-2.fc18, nodejs-npm-registry-client-0.2.11-2.fc18, nodejs-form-data-0.0.6-2.fc18, nodejs-which-1.0.5-4.fc18, nodejs-chownr-0.0.1-6.fc18, nodejs-opts-1.2.2-2.fc18, nodejs-yamlish-0.0.5-1.fc18, nodejs-once-1.1.1-2.fc18, nodejs-lockfile-0.2.1-2.fc18, nodejs-ini-1.0.5-2.fc18, nodejs-couch-login-0.1.15-2.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/FEDORA-2013-0775/nodejs-abbrev-1.0.4-2.fc18,nodejs-ansi-0.1.2-4.fc18,nodejs-async-0.1.22-3.fc18,nodejs-glob-3.1.14-2.fc18,nodejs-inherits-1.0.0-6.fc18,nodejs-graceful-fs-1.1.14-2.fc18,nodejs-minimatch-0.2.9-2.fc18,nodejs-mkdirp-0.3.4-2.fc18,nodejs-mute-stream-0.0.3-3.fc18,nodejs-read-1.0.4-4.fc18,nodejs-read-installed-0.0.4-2.fc18,nodejs-read-package-json-0.1.12-2.fc18,nodejs-retry-0.6.0-2.fc18,nodejs-rimraf-2.1.1-2.fc18,nodejs-slide-1.1.3-4.fc18,nodejs-uid-number-0.0.3-4.fc18,nodejs-sigmund-1.0.0-2.fc18,nodejs-osenv-0.0.3-2.fc18,nodejs-nopt-2.0.0-3.fc18,nodejs-lru-cache-2.2.1-2.fc18,nodejs-mime-1.2.7-2.fc18,nodejs-init-package-json-0.0.7-3.fc18,nodejs-fstream-0.1.21-3.fc18,nodejs-delayed-stream-0.0.5-2.fc18,nodejs-proto-list-1.2.2-2.fc18,nodejs-npm-registry-client-0.2.11-2.fc18,nodejs-form-data-0.0.6-2.fc18,nodejs-which-1.0.5-4.fc18,nodejs-chownr-0.0.1-6.fc18,nodejs-opts-1.2.2-2.fc18,nodejs-yamlish-0.0.5-1.fc18,nodejs-once-1.1.1-2.fc18,nodejs-lockfile-0.2.1-2.fc18,nodejs-ini-1.0.5-2.fc18,nodejs-couch-login-0.1.15-2.fc18
Comment 9 Jamie Nguyen 2013-02-14 06:18:24 EST
*** Bug 911074 has been marked as a duplicate of this bug. ***
Comment 10 Fedora Update System 2013-04-05 19:12:11 EDT
node-gyp-0.9.1-2.fc18, nodejs-async-0.2.6-1.fc18, nodejs-chmodr-0.1.0-2.fc18, nodejs-fstream-npm-0.1.4-1.fc18, nodejs-glob-3.1.21-1.fc18, nodejs-minimatch-0.2.11-1.fc18, nodejs-mkdirp-0.3.5-1.fc18, nodejs-npm-registry-client-0.2.18-2.fc18, nodejs-read-package-json-0.2.2-1.fc18, nodejs-request-2.14.0-1.fc18, nodejs-semver-1.1.4-1.fc18, npm-1.2.14-2.fc18, nodejs-abbrev-1.0.4-2.fc18, nodejs-ansi-0.1.2-4.fc18, nodejs-inherits-1.0.0-6.fc18, nodejs-mute-stream-0.0.3-3.fc18, nodejs-read-1.0.4-4.fc18, nodejs-retry-0.6.0-2.fc18, nodejs-slide-1.1.3-4.fc18, nodejs-uid-number-0.0.3-4.fc18, nodejs-sigmund-1.0.0-2.fc18, nodejs-osenv-0.0.3-2.fc18, nodejs-init-package-json-0.0.7-3.fc18, nodejs-delayed-stream-0.0.5-2.fc18, nodejs-proto-list-1.2.2-2.fc18, nodejs-which-1.0.5-4.fc18, nodejs-chownr-0.0.1-6.fc18, nodejs-opts-1.2.2-2.fc18, nodejs-once-1.1.1-2.fc18, nodejs-couch-login-0.1.15-2.fc18, nodejs-archy-0.0.2-5.fc18, nodejs-block-stream-0.0.6-4.fc18, nodejs-npmlog-0.0.2-2.fc18, nodejs-opener-1.3.0-4.fc18, nodejs-tobi-cookie-0.3.2-2.fc18, nodejs-promzard-0.2.0-3.fc18, nodejs-combined-stream-0.0.4-1.fc18, nodejs-config-chain-1.1.5-1.fc18, nodejs-fstream-0.1.22-1.fc18, nodejs-fstream-ignore-0.0.6-1.fc18, nodejs-graceful-fs-1.2.0-1.fc18, nodejs-ini-1.1.0-1.fc18, nodejs-lockfile-0.3.0-1.fc18, nodejs-lru-cache-2.2.2-1.fc18, nodejs-mime-1.2.9-1.fc18, nodejs-nopt-2.1.1-1.fc18, nodejs-npmconf-0.0.23-1.fc18, nodejs-read-installed-0.1.1-1.fc18, nodejs-rimraf-2.1.4-1.fc18, nodejs-tar-0.1.16-1.fc18, nodejs-form-data-0.0.7-1.fc18 has been pushed to the Fedora 18 stable repository.