Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 911186
Summary: | Review Request: mocha - A simple, flexible, fun test framework for Node.js | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jamie Nguyen <jamielinux> |
Component: | Package Review | Assignee: | Tom Hughes <tom> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | notting, package-review, tom |
Target Milestone: | --- | Flags: | tom:
fedora-review+
pbabinca: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | mocha-1.10.0-1.el6 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2013-03-22 06:35:21 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: | 910119, 910124, 911177, 911181, 911183, 911187 | ||
Bug Blocks: |
Description
Jamie Nguyen
2013-02-14 14:37:17 UTC
Renamed from nodejs-mocha to just mocha. Spec URL: http://jamielinux.fedorapeople.org/mocha/mocha.spec SRPM URL: http://jamielinux.fedorapeople.org/mocha/SRPMS/mocha-1.8.1-1.fc18.src.rpm Oops typo in the SRPM link. Spec URL: http://jamielinux.fedorapeople.org/mocha/mocha.spec SRPM URL: http://jamielinux.fedorapeople.org/mocha/SRPMS/mocha-1.8.1-2.fc18.src.rpm Package Review ============== Key: [x] = Pass [!] = Fail [-] = Not applicable [?] = Not evaluated [ ] = Manual review needed Issues: ======= [!]: Package contains no bundled libraries. lib/browser/diff.js - looks like it may have been copied [!]: Package uses nothing in %doc for runtime. The png files in images are used by _mocha.js [!]: Package complies to the Packaging Guidelines The .html and .jade files in lib should be in %{_datadir} [!]: License field in the package spec file matches the actual license. lib/browser/diff.js - what does the missing license.txt say? [!]: Rpmlint is run on all installed packages. mocha.noarch: W: no-manual-page-for-binary _mocha mocha.noarch: W: no-manual-page-for-binary mocha One final observation - do we really want _mocha in /usr/bin or should that just be in the node module bin dir? ===== MUST items ===== Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [-]: %build honors applicable compiler flags or justifies otherwise. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [!]: Package contains no bundled libraries. [x]: Changelog in prescribed format. [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Sources contain only permissible code or content. [x]: Each %files section contains %defattr if rpm < 4.4 [-]: Macros in Summary, %description expandable at SRPM build time. [-]: Package contains desktop file if it is a GUI application. [-]: Development files must be in a -devel package [x]: Package requires other packages for directories it uses. [!]: Package uses nothing in %doc for runtime. [x]: Package is not known to require ExcludeArch. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [!]: Package complies to the Packaging Guidelines [x]: Spec file lacks Packager, Vendor, PreReq tags. [x]: 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 is included in %doc. [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. No licenses found. Please check the source files for licenses manually. [x]: Package consistently uses macro is (instead of hard-coded directory names). [x]: Package is named using only allowed ASCII characters. [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. Note: Package contains no Conflicts: tag(s) [x]: Package do not use a name that already exist [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Package installs properly. [x]: Package is not relocatable. [x]: Requires correct, justified where necessary. [x]: CheckResultdir [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file is legible and written in American English. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [-]: Package contains systemd file(s) if in need. [x]: File names are valid UTF-8. [-]: Large documentation must go in a -doc subpackage. Note: Documentation size is 30720 bytes in 5 files. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Dist tag is present. [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [?]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [x]: The placement of pkgconfig(.pc) files are correct. [x]: SourceX tarball generation or download is documented. Note: Package contains tarball without URL, check comments [-]: SourceX / PatchY prefixed with %{name}. Note: Patch0 (nodejs-mocha-1.8.1-node-dep.patch) Source1 (tests-1.8.1.tar.bz2) Source10 (dl-tests.sh) [x]: SourceX is a working URL. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Spec use %global instead of %define. ===== EXTRA items ===== Generic: [!]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Rpmlint ------- Checking: mocha-1.8.1-2.fc19.noarch.rpm mocha-1.8.1-2.fc19.src.rpm mocha.noarch: W: spelling-error Summary(en_US) js -> dis, ks, j mocha.noarch: W: spelling-error %description -l en_US js -> dis, ks, j mocha.noarch: W: only-non-binary-in-usr-lib mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/growl /usr/lib/node_modules/growl mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/diff /usr/lib/node_modules/diff mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/debug /usr/lib/node_modules/debug mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/jade /usr/lib/node_modules/jade mocha.noarch: E: zero-length /usr/lib/node_modules/mocha/lib/browser/path.js mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/ms /usr/lib/node_modules/ms mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/mkdirp /usr/lib/node_modules/mkdirp mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/commander /usr/lib/node_modules/commander mocha.noarch: E: zero-length /usr/lib/node_modules/mocha/lib/browser/fs.js mocha.noarch: W: no-manual-page-for-binary _mocha mocha.noarch: W: no-manual-page-for-binary mocha mocha.src: W: spelling-error Summary(en_US) js -> dis, ks, j mocha.src: W: spelling-error %description -l en_US js -> dis, ks, j mocha.src: W: strange-permission dl-tests.sh 0755L mocha.src: W: invalid-url Source1: tests-1.8.1.tar.bz2 2 packages and 0 specfiles checked; 2 errors, 16 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint mocha mocha.noarch: W: spelling-error Summary(en_US) js -> dis, ks, j mocha.noarch: W: spelling-error %description -l en_US js -> dis, ks, j mocha.noarch: W: only-non-binary-in-usr-lib mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/growl /usr/lib/node_modules/growl mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/diff /usr/lib/node_modules/diff mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/debug /usr/lib/node_modules/debug mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/jade /usr/lib/node_modules/jade mocha.noarch: E: zero-length /usr/lib/node_modules/mocha/lib/browser/path.js mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/ms /usr/lib/node_modules/ms mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/mkdirp /usr/lib/node_modules/mkdirp mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/commander /usr/lib/node_modules/commander mocha.noarch: E: zero-length /usr/lib/node_modules/mocha/lib/browser/fs.js mocha.noarch: W: no-manual-page-for-binary _mocha mocha.noarch: W: no-manual-page-for-binary mocha 1 packages and 0 specfiles checked; 2 errors, 12 warnings. # echo 'rpmlint-done:' Requires -------- mocha-1.8.1-2.fc19.noarch.rpm (rpmlib, GLIBC filtered): /usr/bin/env nodejs(engine) >= 0.4.0 npm(commander) < 2 npm(commander) >= 1.0 npm(debug) npm(diff) < 1.1 npm(diff) >= 1.0 npm(growl) < 1.8 npm(growl) >= 1.7 npm(jade) < 1 npm(jade) >= 0.26 npm(mkdirp) < 1 npm(mkdirp) >= 0.3 npm(ms) < 1 npm(ms) >= 0.3 Provides -------- mocha-1.8.1-2.fc19.noarch.rpm: mocha = 1.8.1-2.fc19 npm(mocha) = 1.8.1 MD5-sum check ------------- http://registry.npmjs.org/mocha/-/mocha-1.8.1.tgz : CHECKSUM(SHA256) this package : 44edd21b8f6444748ee1743ca6afd2e9d2f86d8648b3efd93f4afdc5e9524593 CHECKSUM(SHA256) upstream package : 44edd21b8f6444748ee1743ca6afd2e9d2f86d8648b3efd93f4afdc5e9524593 Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16 Buildroot used: fedora-rawhide-x86_64 Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 911186 Thanks again Tom for all of the thorough reviews you're doing, picking up things that I really should have picked up myself! > [!]: Package contains no bundled libraries. > lib/browser/diff.js - looks like it may have been copied It was indeed copied from nodejs-diff. I've symlinked the real diff.js into lib/browser/diff.js. > [!]: Package uses nothing in %doc for runtime. > The png files in images are used by _mocha.js Fixed. > [!]: Package complies to the Packaging Guidelines > The .html and .jade files in lib should be in %{_datadir} I think these templates are used in the same way as images/ directory so I'm hesitating to move them. Which guidelines may I ask? > [!]: License field in the package spec file matches the actual license. > lib/browser/diff.js - what does the missing license.txt say? No longer a problem as I've removed the bundled diff.js. > [!]: Rpmlint is run on all installed packages. > mocha.noarch: W: no-manual-page-for-binary _mocha > mocha.noarch: W: no-manual-page-for-binary mocha > > One final observation - do we really want _mocha in /usr/bin > or should that just be in the node module bin dir? I've added a man page and sent a pull request upstream. (I'll also send a pull request for the expresso man page too.) I've removed /usr/bin/_mocha and refer to only /usr/bin/mocha in the man page. Also the zero-length files appear to be stubs and should probably be left there. Spec URL: http://jamielinux.fedorapeople.org/mocha/mocha.spec SRPM URL: http://jamielinux.fedorapeople.org/mocha/SRPMS/mocha-1.8.1-3.fc18.src.rpm I wrote: > Which guidelines may I ask? Ah ok, you must be talking about this: https://fedoraproject.org/wiki/Packaging:Node.js#Installing_Modules That's the one, yes. Sorry I wasn't clearer... BTW if you fancy returning the favour I've got some node related review requests of my own open ;-) Oops, it seems I forgot about this review request. * Tue Mar 19 2013 Jamie Nguyen <jamielinux> - 1.8.2-1 - update to upstream release 0.8.2 - move images and templates to %%{_datadir} to comply with packaging guidelines Spec URL: http://jamielinux.fedorapeople.org/mocha/mocha.spec SRPM URL: http://jamielinux.fedorapeople.org/mocha/SRPMS/mocha-1.8.2-1.fc18.src.rpm Fix symlinks. Spec URL: http://jamielinux.fedorapeople.org/mocha/mocha.spec SRPM URL: http://jamielinux.fedorapeople.org/mocha/SRPMS/mocha-1.8.2-2.fc18.src.rpm Package Review ============== Key: [x] = Pass [!] = Fail [-] = Not applicable [?] = Not evaluated [ ] = Manual review needed Issues: ======= Rpmlint issues: mocha.noarch: W: incoherent-version-in-changelog 1.8.2-1 ['1.8.2-2.fc20', '1.8.2-2'] mocha.noarch: E: zero-length /usr/lib/node_modules/mocha/lib/browser/path.js mocha.noarch: E: zero-length /usr/lib/node_modules/mocha/lib/browser/fs.js Also there is a typo in the changelog - it says 0.8.2 but means 1.8.2 ===== MUST items ===== Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [-]: Development files must be in a -devel package [x]: Package requires other packages for directories it uses. [x]: Package uses nothing in %doc for runtime. [x]: Package is not known to require ExcludeArch. [x]: Package complies to the Packaging Guidelines [x]: Package consistently uses macro is (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [-]: Large documentation must go in a -doc subpackage. Note: Documentation size is 30720 bytes in 3 files. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Each %files section contains %defattr if rpm < 4.4 [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Fully versioned dependency in subpackages, if present. [x]: 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 is included in %doc. [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package do not use a name that already exist [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). ===== SHOULD items ===== Generic: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [?]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [x]: SourceX tarball generation or download is documented. Note: Package contains tarball without URL, check comments [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [?]: Package should compile and build into binary rpms on all supported architectures. [?]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Sources can be downloaded from URI in Source: tag [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: Dist tag is present. [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define. ===== EXTRA items ===== Generic: [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: mocha-1.8.2-2.fc20.noarch.rpm mocha.noarch: W: spelling-error Summary(en_US) js -> dis, ks, j mocha.noarch: W: spelling-error %description -l en_US js -> dis, ks, j mocha.noarch: W: incoherent-version-in-changelog 1.8.2-1 ['1.8.2-2.fc20', '1.8.2-2'] mocha.noarch: W: only-non-binary-in-usr-lib mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/growl /usr/lib/node_modules/growl mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/diff /usr/lib/node_modules/diff mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/lib/browser/diff.js /usr/lib/node_modules/diff/diff.js mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/debug /usr/lib/node_modules/debug mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/jade /usr/lib/node_modules/jade mocha.noarch: E: zero-length /usr/lib/node_modules/mocha/lib/browser/path.js mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/ms /usr/lib/node_modules/ms mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/mkdirp /usr/lib/node_modules/mkdirp mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/commander /usr/lib/node_modules/commander mocha.noarch: E: zero-length /usr/lib/node_modules/mocha/lib/browser/fs.js 1 packages and 0 specfiles checked; 2 errors, 12 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint mocha mocha.noarch: W: spelling-error Summary(en_US) js -> dis, ks, j mocha.noarch: W: spelling-error %description -l en_US js -> dis, ks, j mocha.noarch: W: incoherent-version-in-changelog 1.8.2-1 ['1.8.2-2.fc20', '1.8.2-2'] mocha.noarch: W: only-non-binary-in-usr-lib mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/growl /usr/lib/node_modules/growl mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/diff /usr/lib/node_modules/diff mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/lib/browser/diff.js /usr/lib/node_modules/diff/diff.js mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/debug /usr/lib/node_modules/debug mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/jade /usr/lib/node_modules/jade mocha.noarch: E: zero-length /usr/lib/node_modules/mocha/lib/browser/path.js mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/ms /usr/lib/node_modules/ms mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/mkdirp /usr/lib/node_modules/mkdirp mocha.noarch: W: dangling-symlink /usr/lib/node_modules/mocha/node_modules/commander /usr/lib/node_modules/commander mocha.noarch: E: zero-length /usr/lib/node_modules/mocha/lib/browser/fs.js 1 packages and 0 specfiles checked; 2 errors, 12 warnings. # echo 'rpmlint-done:' Requires -------- mocha (rpmlib, GLIBC filtered): /usr/bin/env nodejs(engine) npm(commander) npm(debug) npm(diff) npm(growl) npm(jade) npm(mkdirp) npm(ms) Provides -------- mocha: mocha npm(mocha) MD5-sum check ------------- http://registry.npmjs.org/mocha/-/mocha-1.8.2.tgz : CHECKSUM(SHA256) this package : 3c142aea296bd32ccd874e9115e0fa33a1f8a810408abcb6752523bd6f40d0d1 CHECKSUM(SHA256) upstream package : 3c142aea296bd32ccd874e9115e0fa33a1f8a810408abcb6752523bd6f40d0d1 Generated by fedora-review 0.4.0 (660ce56) last change: 2013-01-29 Buildroot used: compton-rawhide-x86_64 Command line :/usr/bin/fedora-review -m compton-rawhide-x86_64 -b 911186 Fix incorrect %changelog entries. Spec URL: http://jamielinux.fedorapeople.org/mocha/mocha.spec SRPM URL: http://jamielinux.fedorapeople.org/mocha/SRPMS/mocha-1.8.2-3.fc18.src.rpm It seems these zero-byte files are deliberate so perhaps it's better to leave them as they are: https://github.com/visionmedia/mocha/commit/f5c482b218e11cfebb11f20bfb819140152eb44c Agreed. Package approved. New Package SCM Request ======================= Package Name: mocha Short Description: A simple, flexible, fun test framework for Node.js Owners: jamielinux Branches: f18 f19 el6 InitialCC: Git done (by process-git-requests). mocha-1.8.2-3.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/mocha-1.8.2-3.fc18 mocha-1.8.2-3.fc18 has been pushed to the Fedora 18 testing repository. mocha-1.8.2-3.fc18 has been pushed to the Fedora 18 stable repository. mocha-1.10.0-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mocha-1.10.0-1.el6 mocha-1.10.0-1.el6 has been pushed to the Fedora EPEL 6 stable repository. |