Bug 891235

Summary: nodejs-semver - Semantic versioner for npm
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, 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-24 19:00:35 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On:    
Bug Blocks: 891171, 891175, 891197, 891215, 891224, 891226    

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

The semantic version comparison library for the Node.js package manager (npm).

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-08 09:15:08 EST
Summary OK.
Description 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-semver-1.1.1-1.fc18.src.rpm ../RPMS/noarch/nodejs-semver-1.1.1-1.fc18.noarch.rpm
nodejs-semver.src: W: spelling-error Summary(en_US) versioner -> version er, version-er, version
nodejs-semver.src: W: spelling-error Summary(en_US) npm -> pm, rpm, ppm
nodejs-semver.src: W: spelling-error %description -l en_US js -> dis, ks, j
nodejs-semver.src: W: spelling-error %description -l en_US npm -> pm, rpm, ppm
nodejs-semver.src: W: strange-permission nodejs-semver.spec 0600L
nodejs-semver.src: W: no-%build-section
nodejs-semver.noarch: W: spelling-error Summary(en_US) versioner -> version er, version-er, version
nodejs-semver.noarch: W: spelling-error Summary(en_US) npm -> pm, rpm, ppm
nodejs-semver.noarch: W: spelling-error %description -l en_US js -> dis, ks, j
nodejs-semver.noarch: W: spelling-error %description -l en_US npm -> pm, rpm, ppm
nodejs-semver.noarch: W: only-non-binary-in-usr-lib
nodejs-semver.noarch: W: no-manual-page-for-binary semver
2 packages and 0 specfiles checked; 0 errors, 12 warnings.

TODO: Fix the permissions on the spec (should be rw-rw-r--)
FIX: Add %build section (even if empty), it is needed
TODO: Consider contacting upstream about the manpage, if you think it would be helpful

All other things are false positive.

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, MIT. 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/semver-1.1.1.tgz 
d76d0f0c91e1a5ad6ea1eb8830073510c6a6e5d0d275ba2a686425ee770f8c26  ../SOURCES/semver-1.1.1.tgz
$ wget -q http://registry.npmjs.org/semver/-/semver-1.1.1.tgz
$ sha256sum semver-1.1.1.tgz 
d76d0f0c91e1a5ad6ea1eb8830073510c6a6e5d0d275ba2a686425ee770f8c26  semver-1.1.1.tg

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. [13]
MUST: A Fedora package must not list a file more than once in the spec file's %files listings. (Notable exception: license texts in specific situations). OK
MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example.

$ rpm -q -lv -p ../RPMS/noarch/nodejs-semver-1.1.1-1.fc18.noarch.rpm 
lrwxrwxrwx    1 root    root                       37 led  8 14:37 /usr/bin/semver -> ../lib/node_modules/semver/bin/semver
drwxr-xr-x    2 root    root                        0 led  8 14:37 /usr/lib/node_modules/semver
drwxr-xr-x    2 root    root                        0 led  8 14:37 /usr/lib/node_modules/semver/bin
-rwxr-xr-x    1 root    root                     1944 lis 29 01:46 /usr/lib/node_modules/semver/bin/semver
drwxr-xr-x    2 root    root                        0 led  8 14:37 /usr/lib/node_modules/semver/node_modules
-rw-r--r--    1 root    root                      436 lis 29 01:46 /usr/lib/node_modules/semver/package.json
-rw-r--r--    1 root    root                     9196 říj  2 19:02 /usr/lib/node_modules/semver/semver.js
drwxr-xr-x    2 root    root                        0 led  8 14:37 /usr/share/doc/nodejs-semver-1.1.1
-rw-r--r--    1 root    root                     1092 kvě 13  2011 /usr/share/doc/nodejs-semver-1.1.1/LICENSE
-rw-r--r--    1 root    root                     3979 říj 18 12:37 /usr/share/doc/nodejs-semver-1.1.1/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
SHOULD: your package should contain man pages for binaries/scripts. If it doesn't, work with upstream to add them where they make sense. Already mentioned above 

Please fix the FIX items and consider fixing TODOs.

Resolution: NEEDSWORK.
Comment 2 T.C. Hollingsworth 2013-01-17 04:13:45 EST
I'm sorry, this one slipped through the cracks.

This version provides a new upstream release and fixes the identified issues:
Spec: http://patches.fedorapeople.org/npm/nodejs-semver.spec
SRPM: http://patches.fedorapeople.org/npm/nodejs-semver-1.1.2-1.fc17.src.rpm
Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4877308
Comment 3 Miro Hrončok 2013-01-17 05:50:57 EST
srpm 404, spec old
Comment 4 T.C. Hollingsworth 2013-01-18 04:53:26 EST
The above URLs are now fixed.  Sorry for the trouble.
Comment 5 Miro Hrončok 2013-01-18 10:17:58 EST
$ rpmlint ../SRPMS/nodejs-semver-1.1.2-1.fc18.src.rpm ../RPMS/noarch/nodejs-semver-1.1.2-1.fc18.noarch.rpm
nodejs-semver.src: W: spelling-error Summary(en_US) versioner -> version er, version-er, version
nodejs-semver.src: W: spelling-error Summary(en_US) npm -> pm, rpm, ppm
nodejs-semver.src: W: spelling-error %description -l en_US js -> dis, ks, j
nodejs-semver.src: W: spelling-error %description -l en_US npm -> pm, rpm, ppm
nodejs-semver.noarch: W: spelling-error Summary(en_US) versioner -> version er, version-er, version
nodejs-semver.noarch: W: spelling-error Summary(en_US) npm -> pm, rpm, ppm
nodejs-semver.noarch: W: spelling-error %description -l en_US js -> dis, ks, j
nodejs-semver.noarch: W: spelling-error %description -l en_US npm -> pm, rpm, ppm
nodejs-semver.noarch: W: only-non-binary-in-usr-lib
nodejs-semver.noarch: W: no-manual-page-for-binary semver
2 packages and 0 specfiles checked; 0 errors, 10 warnings.


> TODO: Fix the permissions on the spec (should be rw-rw-r--)
Fixed.

> FIX: Add %build section (even if empty), it is needed
Fixed.

Package APPROVED.
Comment 6 T.C. Hollingsworth 2013-01-19 03:12:24 EST
New Package SCM Request
=======================
Package Name: nodejs-semver
Short Description: Semantic versioner for npm
Owners: patches
Branches: f18 el6
InitialCC:
Comment 7 Jon Ciesla 2013-01-22 09:11:15 EST
Git done (by process-git-requests).
Comment 8 Fedora Update System 2013-01-24 19:22:52 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, nodejs-archy-0.0.2-5.fc18, nodejs-block-stream-0.0.6-4.fc18, nodejs-config-chain-1.1.3-3.fc18, nodejs-fstream-npm-0.1.3-2.fc18, nodejs-npmconf-0.0.16-3.fc18, nodejs-npmlog-0.0.2-2.fc18, nodejs-charm-0.1.0-1.fc18, node-gyp-0.8.2-3.fc18, nodejs-tar-0.1.14-3.fc18, npm-1.2.1-2.fc18, nodejs-opener-1.3.0-4.fc18, nodejs-semver-1.1.2-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/FEDORA-2013-0775/npm-1.2.1-2.fc18,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,nodejs-archy-0.0.2-5.fc18,nodejs-block-stream-0.0.6-4.fc18,nodejs-config-chain-1.1.3-3.fc18,nodejs-fstream-npm-0.1.3-2.fc18,nodejs-npmconf-0.0.16-3.fc18,nodejs-npmlog-0.0.2-2.fc18,nodejs-charm-0.1.0-1.fc18,node-gyp-0.8.2-3.fc18,nodejs-tar-0.1.14-3.fc18,nodejs-opener-1.3.0-4.fc18,nodejs-semver-1.1.2-1.fc18
Comment 9 Fedora Update System 2013-04-05 19:17:34 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.