Page MenuHomePhabricator

Fix node vs nodejs dependency issue
Open, NormalPublic

Description

During T198622, we observed kartotherian failed to start due to dependency on nodejs-legacy even though nodejs was installed.
I will suggest creating a sym link via puppet /usr/bin/node -> /usr/bin/nodejs, but this is the dirty way I guess. So suggestions are really welcomed!

Details

Related Gerrit Patches:
operations/puppet : productionmaps: remove nodejs-legacy

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptJan 18 2019, 10:16 AM

if you install the nodejs-legacy package, it will provide a symlink from node to nodejs.

if you install the nodejs-legacy package, it will provide a symlink from node to nodejs.

I was going to say the same :)

What we really need to do is to find what is calling /usr/bin/node and fix it so that it calls /usr/bin/nodejs

But it could also be one of 'millions' of nodes modules in node_modules calling /usr/bin/node or /usr/bin/nodejs

True that, also note that in the nodejs 10 packages (from component/node10), the nodejs-legacy package is gone. Debian dropped it, we could patch it back in, but it probably makes sense to fix this mid-term.

But it could also be one of 'millions' of nodes modules in node_modules calling /usr/bin/node or /usr/bin/nodejs

While this is technically true, it is also very unlikely. Most of the node modules that we use are only libraries, they will not fork a new node instance. If I had to guess, I'd say that we are using an old version of service runner which is still not using nodejs. @MSantos probably has a good idea about this, maybe even a patch ready.

CDanis triaged this task as Normal priority.Jan 18 2019, 4:11 PM

Change 508835 had a related patch set uploaded (by Gehel; owner: Gehel):
[operations/puppet@production] maps: remove nodejs-legacy

https://gerrit.wikimedia.org/r/508835

Change 508835 merged by Gehel:
[operations/puppet@production] maps: remove nodejs-legacy

https://gerrit.wikimedia.org/r/508835