misc/186235: [www/npm] [patch] port depends of node/node-devel packages

Sébastien Santoro dereckson at gmail.com
Wed Jan 29 13:50:01 UTC 2014


>Number:         186235
>Category:       misc
>Synopsis:       [www/npm] [patch] port depends of node/node-devel packages
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jan 29 13:50:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Sébastien Santoro
>Release:        10.0-RELEASE
>Organization:
>Environment:
FreeBSD threyscend.drake 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Thu Jan 16 22:34:59 UTC 2014     root at snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
RUN_DEPENDS doesn't look for /usr/local/bin/node, but for a Node package:

.if ${PORT_OPTIONS:MNODE_DEVEL}
RUN_DEPENDS+=   node-devel>=0.8.0:${PORTSDIR}/www/node-devel
.else
RUN_DEPENDS+=   node>=0.8.0:${PORTSDIR}/www/node
.endif

The package doesn't do any operation dependings of this setting, so could look for node binary instead.

A use case is a Node shared hosting facility with on two staging servers a development version available in continuous integration recompiling each hour from Node repository.

* * *

I guess the current choice comes from versioning. We're at  v0.10.25, dev version is at 0.11. 0.8.0 were release June 25, 2012, which is quite recently, but from the 0.8.0 release announcement:
* "Node got a lot faster."
* "Node got more stable."
* "You can do stuff with file descriptors again."

And indeed, the 0.6 version were barely usable, so I really doubt the scenario "someone wants to install www/npm on an old node" will occur.
>How-To-Repeat:
A.
(1) Install node manually, or node-devel without editing www/npm port config
(2) Install www/npm package and see it install an already installed Node or complaint about conflict

B.
(1) Install www/node-devel or www/node
(2) In www/npm port config, ask node or node-devel, the other setting from 1
(3) Install www/npm package it will complaints about conflict
>Fix:
Index: Makefile
===================================================================
--- Makefile    (revision 341737)
+++ Makefile    (working copy)
@@ -48,9 +48,9 @@
 .include <bsd.port.options.mk>

 .if ${PORT_OPTIONS:MNODE_DEVEL}
-RUN_DEPENDS+=  node-devel>=0.8.0:${PORTSDIR}/www/node-devel
+RUN_DEPENDS+=  ${PREFIX}/bin/node:${PORTSDIR}/www/node-devel
 .else
-RUN_DEPENDS+=  node>=0.8.0:${PORTSDIR}/www/node
+RUN_DEPENDS+=  ${PREFIX}/bin/node:${PORTSDIR}/www/node
 .endif

 post-patch:


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list