Bug 1057703

Summary: nodejs_find_provides_and_requires pulls in dependencies from examples
Product: [Fedora] Fedora EPEL Reporter: Troy Dawson <tdawson>
Component: nodejs-packagingAssignee: T.C. Hollingsworth <tchollingsworth>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: el6CC: jamielinux, mrunge, sgallagh, tchollingsworth, thrcka
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: nodejs-packaging-5-1.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-02-14 20:56:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Troy Dawson 2014-01-24 16:01:10 UTC
Description of problem:
nodejs_find_provides_and_requires is grabbing dependencies from nodejs-ws example directory, even though it was marked as %doc

Version-Release number of selected component (if applicable):
nodejs-packaging-4-1.el6

How reproducible:
100%

Steps to Reproduce:
1. Have extra package.json files in example directory
2. have that example directory be in files, as %doc
3. Have %{?nodejs_find_provides_and_requires} in spec file
4. Build the nodejs package

Actual results:
The resulting package will have all of the dependencies on the example package.json files.

Expected results:
The resulting package only has the dependencies of the main package.json file.

Additional info:
This is only happening on EL6.  Using the exact same src.rpm in the different Fedora's, it only has the dependencies of the main package.json.

Comment 1 T.C. Hollingsworth 2014-01-27 20:14:47 UTC
This isn't a problem on Fedora because it has proper support for automatic dependency generation that properly restricts things so only the package.json in the toplevel module directory is passed to the dependency generation script.  On EL6 we get passed every path in the buildroot, so we have to manually filter.

To make things more fun, it doesn't bother exporting $RPM_BUILD_ROOT in the environment either, so I ended up just checking that the end of the path looks right.  Hopefully nobody does anything stupid like put a file at "/usr/lib/node_modules/foomodule/example/barexample/usr/lib/node_modules/barmodule/package.json".  :-p

Fixed in git:
https://git.fedorahosted.org/cgit/nodejs-packaging.git/commit/?h=el6&id=cf46c9d0dc87079cb51187fad12bbd7594c25c1f

Thanks for the report!

Comment 2 Fedora Update System 2014-01-27 20:44:06 UTC
nodejs-packaging-5-1.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/nodejs-packaging-5-1.el6

Comment 3 Fedora Update System 2014-01-28 21:08:10 UTC
Package nodejs-packaging-5-1.el6:
* should fix your issue,
* was pushed to the Fedora EPEL 6 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing nodejs-packaging-5-1.el6'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2014-0392/nodejs-packaging-5-1.el6
then log in and leave karma (feedback).

Comment 4 Fedora Update System 2014-02-14 20:56:06 UTC
nodejs-packaging-5-1.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.