All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [v2 4/6] package/nodejs: Add /usr/lib/node_modules/.bin to PATH
Date: Sun, 28 Jun 2015 00:44:30 +0200	[thread overview]
Message-ID: <20150627224430.GE30876@free.fr> (raw)
In-Reply-To: <1435370498-25473-4-git-send-email-martin@barkynet.com>

Martin, All,

On 2015-06-27 03:01 +0100, Martin Bark spake thusly:
> This patch adds /usr/lib/node_modules/.bin to PATH so that global
> node_modules are accessible from the command line
> 
> Signed-off-by: Martin Bark <martin@barkynet.com>
> 
> ---
> Changes v1 -> v2
>  - Improved commit message
> 
> Signed-off-by: Martin Bark <martin@barkynet.com>
> ---
>  package/nodejs/nodejs.mk | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk
> index 59e03b0..5d95f77 100644
> --- a/package/nodejs/nodejs.mk
> +++ b/package/nodejs/nodejs.mk
> @@ -111,6 +111,11 @@ define NODEJS_INSTALL_MODULES
>  		$(HOST_DIR)/usr/bin/npm install \
>  		$(NODEJS_MODULES_LIST) \
>  	)
> +
> +	# Add global node_modules to PATH
> +	$(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/profile.d
> +	printf "export PATH=\x24PATH:/usr/lib/node_modules/.bin\n" \

Nice trick, but what about the slightly-more readable;

    printf 'PATH="$${PATH}:/usr/lib/node_modules/.bin"\n' \
        >$(TARGET_DIR)/etc/profile.d/node_modules.sh

  - because this is in a Makefile, so we need to $-escape the $.

  - because we do not want that $ to be interpreted by the shell (at build
    time!), we single-quote it.

  - because whoever knows what PATH is made of would be a fool (and
    because the world is cruel), we double-quote it (at runtime!)

Otherwise, what is the reason to have nodejs modules available as
commands from a login (!) shell? (Note: nodejs-noob speaking!)

Regards,
Yann E. MORIN.

> +		>$(TARGET_DIR)/etc/profile.d/node_modules.sh
>  endef
>  endif
>  
> -- 
> 2.1.4
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2015-06-27 22:44 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-27  2:01 [Buildroot] [v2 1/6] package/nodejs: Bump version to 0.10.39 Martin Bark
2015-06-27  2:01 ` [Buildroot] [v2 2/6] package/nodejs: Update to allow selecting node.js version Martin Bark
2015-06-27 22:11   ` Yann E. MORIN
2015-06-28 13:14   ` Thomas Petazzoni
2015-06-27  2:01 ` [Buildroot] [v2 3/6] package/nodejs: Add node.js v0.12.5 and set as the default version Martin Bark
2015-06-27 22:34   ` Yann E. MORIN
2015-06-29  8:44     ` Martin Bark
2015-06-27  2:01 ` [Buildroot] [v2 4/6] package/nodejs: Add /usr/lib/node_modules/.bin to PATH Martin Bark
2015-06-27 22:44   ` Yann E. MORIN [this message]
2015-06-29  9:13     ` Martin Bark
2015-06-29 17:20       ` Yann E. MORIN
2015-06-29 19:31         ` Martin Bark
2015-06-27  2:01 ` [Buildroot] [v2 5/6] package/nodejs: Define NPM command for other packages to use Martin Bark
2015-06-27 22:53   ` Yann E. MORIN
2015-06-29 10:51     ` Martin Bark
2015-06-29 17:09       ` Yann E. MORIN
2015-06-29 19:34         ` Martin Bark
2015-06-27  2:01 ` [Buildroot] [v2 6/6] package/nodejs: Add npm_config_target_arch to npm command Martin Bark
2015-06-27 22:07 ` [Buildroot] [v2 1/6] package/nodejs: Bump version to 0.10.39 Yann E. MORIN
2015-06-28 12:07 ` Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150627224430.GE30876@free.fr \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.