Bug 891221

Summary: Review Request: nodejs-promzard - A prompting wizard for building files from specialized PromZard modules
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: 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 13:26:19 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: 891223    
Bug Blocks: 891197    

Description T.C. Hollingsworth 2013-01-02 08:59:12 UTC
Spec: http://patches.fedorapeople.org/npm/nodejs-promzard.spec
SRPM: http://patches.fedorapeople.org/npm/nodejs-promzard-0.2.0-1.fc17.src.rpm
Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4831066
FAS username: patches

A prompting wizard for building files from specialized PromZard modules.
Used by `npm init`.

A reimplementation of SubStack's prompter
(https://github.com/substack/node-prompter), which does not use AST traversal.

From another point of view, it's a reimplementation of Marak's wizard
(https://github.com/Marak/wizard) which doesn't use schemas.

The goal is a nice drop-in enhancement for `npm init`.

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 20:19:22 UTC
FIX: Summary from package.json doesn't seem very useful to me. Replace it with something more informative, like: "Prompting wizard for building files from specialized PromZard modules"

TODO: Remove markdown syntax from Description. Links to other projects are also unnecessary.

FIX: You have FIXME in License, but there is BSD in URL. I suppose you entered it to a bad row. Correct License and URL fileds.

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-promzard.src: W: summary-not-capitalized C prompting wizardly
nodejs-promzard.src: W: spelling-error %description -l en_US npm -> pm, rpm, ppm
nodejs-promzard.src: W: spelling-error %description -l en_US init -> unit, int, nit
nodejs-promzard.src: W: spelling-error %description -l en_US reimplementation -> re implementation, re-implementation, implementation
nodejs-promzard.src: W: spelling-error %description -l en_US schemas -> schema, sachems, schemes
nodejs-promzard.src: W: invalid-license FIXME
nodejs-promzard.src: W: invalid-url URL BSD
nodejs-promzard.src: W: no-%build-section
nodejs-promzard.noarch: W: summary-not-capitalized C prompting wizardly
nodejs-promzard.noarch: W: spelling-error %description -l en_US npm -> pm, rpm, ppm
nodejs-promzard.noarch: W: spelling-error %description -l en_US init -> unit, int, nit
nodejs-promzard.noarch: W: spelling-error %description -l en_US reimplementation -> re implementation, re-implementation, implementation
nodejs-promzard.noarch: W: spelling-error %description -l en_US schemas -> schema, sachems, schemes
nodejs-promzard.noarch: W: invalid-license FIXME
nodejs-promzard.noarch: W: invalid-url URL BSD
nodejs-promzard.noarch: W: only-non-binary-in-usr-lib
2 packages and 0 specfiles checked; 0 errors, 16 warnings.

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)

Despite the mess in License/URL no other issues.

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 on project's GitHub: BSD. OK (despite the mess in License/URL)

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/promzard-0.2.0.tgz 
e9dcdf4084876c4b751f2f5939f149071495f0d23bf80a9ec4a73cd84080184b  ../SOURCES/promzard-0.2.0.tgz
$ wget -q http://registry.npmjs.org/promzard/-/promzard-0.2.0.tgz
$ sha256sum promzard-0.2.0.tgz 
e9dcdf4084876c4b751f2f5939f149071495f0d23bf80a9ec4a73cd84080184b  promzard-0.2.0.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.

I suppose npm-init in example folder is just some simplified example version, right?

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-promzard-0.2.0-1.fc18.noarch.rpm 
drwxr-xr-x    2 root    root                        0 led  7 20:40 /usr/lib/node_modules/promzard
-rw-r--r--    1 root    root                      384 čec 24 10:13 /usr/lib/node_modules/promzard/package.json
-rw-r--r--    1 root    root                     5528 čec 24 09:48 /usr/lib/node_modules/promzard/promzard.js
drwxr-xr-x    2 root    root                        0 led  7 20:40 /usr/share/doc/nodejs-promzard-0.2.0
-rw-r--r--    1 root    root                     4474 čen 19  2012 /usr/share/doc/nodejs-promzard-0.2.0/README.md
drwxr-xr-x    2 root    root                        0 led  7 20:40 /usr/share/doc/nodejs-promzard-0.2.0/example
-rw-r--r--    1 root    root                      282 čen 17  2012 /usr/share/doc/nodejs-promzard-0.2.0/example/index.js
drwxr-xr-x    2 root    root                        0 led  7 20:40 /usr/share/doc/nodejs-promzard-0.2.0/example/npm-init
-rw-r--r--    1 root    root                      156 čen 17  2012 /usr/share/doc/nodejs-promzard-0.2.0/example/npm-init/README.md
-rw-r--r--    1 root    root                     6058 čen 17  2012 /usr/share/doc/nodejs-promzard-0.2.0/example/npm-init/init-input.js
-rw-r--r--    1 root    root                     1032 čen 17  2012 /usr/share/doc/nodejs-promzard-0.2.0/example/npm-init/init.js
-rw-r--r--    1 root    root                      179 čen 17  2012 /usr/share/doc/nodejs-promzard-0.2.0/example/npm-init/package.json
-rw-r--r--    1 root    root                     1803 čen 17  2012 /usr/share/doc/nodejs-promzard-0.2.0/example/substack-input.js

OK

MUST: Each package must consistently use macros. OK
MUST: The package must contain code, or permissable content. 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: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. 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-08 00:59:29 UTC
THanks(In reply to comment #1)
> FIX: Summary from package.json doesn't seem very useful to me. Replace it
> with something more informative, like: "Prompting wizard for building files
> from specialized PromZard modules"
> 
> TODO: Remove markdown syntax from Description. Links to other projects are
> also unnecessary.
> 
> FIX: You have FIXME in License, but there is BSD in URL. I suppose you
> entered it to a bad row. Correct License and URL fileds.

Fixed these three.

> 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-promzard.src: W: summary-not-capitalized C prompting wizardly

Fixed.

> nodejs-promzard.src: W: spelling-error %description -l en_US npm -> pm, rpm,
> ppm

False positive; "npm" is the correct way to refer to the Node.js Package Manager:
https://npmjs.org/doc/faq.html#Is-it-npm-or-NPM-or-Npm

> nodejs-promzard.src: W: spelling-error %description -l en_US init -> unit,
> int, nit

False positive; used in a command line example

> nodejs-promzard.src: W: spelling-error %description -l en_US
> reimplementation -> re implementation, re-implementation, implementation

False positive, valid spelling:
http://en.wiktionary.org/wiki/reimplementation

> nodejs-promzard.src: W: spelling-error %description -l en_US schemas ->
> schema, sachems, schemes

False positive, valid spelling:
http://en.wiktionary.org/wiki/schemas

> nodejs-promzard.src: W: invalid-license FIXME
> nodejs-promzard.src: W: invalid-url URL BSD
> nodejs-promzard.src: W: no-%build-section

Fixed.

<snip repeats>
> nodejs-promzard.noarch: W: only-non-binary-in-usr-lib

Node.js installs modules in /usr/lib, consistent with upstream and other interpreted languages in the distribution.

> 2 packages and 0 specfiles checked; 0 errors, 16 warnings.
> 
> 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.

> 
> I suppose npm-init in example folder is just some simplified example
> version, right?

Correct.

> 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'd like to retain EL5 constructions at this time.

Spec: http://patches.fedorapeople.org/npm/nodejs-promzard.spec
SRPM: http://patches.fedorapeople.org/npm/nodejs-promzard-0.2.0-2.fc17.src.rpm
Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4847361

Comment 3 Miro Hrončok 2013-01-08 01:13:39 UTC
You don't have to explain all rpmlint issues, I know some of them are false positive, that's why I pointed out only some of them.

Comment 4 Miro Hrončok 2013-01-08 01:17:37 UTC
(In reply to comment #2)
> Per the discussion in bug 891194 I'd like to retain EL5 constructions at
> this time.

OK. Ignore those in my other revisions.

Package APPROVED.

Comment 5 T.C. Hollingsworth 2013-01-08 01:31:21 UTC
(In reply to comment #3)
> You don't have to explain all rpmlint issues, I know some of them are false
> positive, that's why I pointed out only some of them.

At least they're explained for the record in case someone else comes along later asking about them.

(In reply to comment #4)
> (In reply to comment #2)
> > Per the discussion in bug 891194 I'd like to retain EL5 constructions at
> > this time.
> 
> OK. Ignore those in my other revisions.

Too late, I already answered all the reviews.  At least you don't have to repeat yourself responding to me repeating myself.  ;-)

> Package APPROVED.

Thanks for the quick review!

Comment 6 T.C. Hollingsworth 2013-01-08 01:32:14 UTC
New Package SCM Request
=======================
Package Name: nodejs-promzard
Short Description: A prompting wizard for building files from specialized PromZard modules
Owners: patches
Branches: f18 el6
InitialCC:

Comment 7 Gwyn Ciesla 2013-01-08 13:43:35 UTC
Git done (by process-git-requests).

Comment 8 T.C. Hollingsworth 2013-01-13 11:49:24 UTC
Built for Rawhide:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4864201

Comment 9 Fedora Update System 2013-01-13 12:50:31 UTC
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 10 T.C. Hollingsworth 2013-01-13 13:26:19 UTC
built for rawhide.

Comment 11 Fedora Update System 2013-01-17 08:51:48 UTC
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 12 Fedora Update System 2013-04-05 23:14:08 UTC
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.