Bug 1647239

Summary: Missing execute permissions node-gyp
Product: [Fedora] Fedora Reporter: Andrew Stiegmann <andrew.stiegmann>
Component: nodejsAssignee: NodeJS Packaging SIG <nodejs-sig>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 29CC: Michael.Riss, mrunge, nodejs-sig, sgallagh, tchollingsworth, thrcka, zsvetlik
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-04-10 02:55:23 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 Andrew Stiegmann 2018-11-06 23:22:13 UTC
Description of problem:
Script files in the bin directories are missing execute permissions, which in turn causes build failures on some packages that require some building (like unix-dgram).  The following need to be made executable for things to work again:

/usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp
/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js


Version-Release number of selected component (if applicable):
6.4.1

How reproducible:
100%

Steps to Reproduce:
1. Try and install unix-dgram with factor NPM
2. Notice it fails to compile because these scripts 

Actual results:
% npm install

> unix-dgram.2 install /home/stieg/Devel/airfordable/test/node_modules/unix-dgram
> node-gyp rebuild

sh: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp: Permission denied
npm WARN test.0 No repository field.


Expected results:
DGram builds as expected

Workaround:
$ sudo chmod 755 /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js

Comment 1 Michael Riss 2018-11-29 18:10:19 UTC
I opened a pull request, I hope it will help:

https://src.fedoraproject.org/rpms/nodejs/pull-request/3

Comment 2 Stephen Gallagher 2018-11-29 18:17:29 UTC
(In reply to Michael Riss from comment #1)
> I opened a pull request, I hope it will help:
> 
> https://src.fedoraproject.org/rpms/nodejs/pull-request/3

So, I've been hesitating about fixing this because I really have no clear idea which of the binaries embedded in npm are actually needed for it to function.

I don't mind enabling these two since they depend only on Node.js itself, but there have been others that were clearly unnecessary that were causing the package to pull in Python 2 and other things that were definitely overkill. That said, your proposed patch isn't going to work, because you put it in the specfile *before* the scripts that remove permissions. I'll rework it when I build the latest Node.js releases today.

Comment 3 Stephen Gallagher 2019-04-10 02:55:23 UTC
This has been fixed for months, but the BZ didn't get closed.