[Buildroot] [v2 5/6] package/nodejs: Define NPM command for other packages to use

Martin Bark martin at barkynet.com
Mon Jun 29 19:34:51 UTC 2015


Yann,

On 29 June 2015 at 18:09, Yann E. MORIN <yann.morin.1998 at free.fr> wrote:
> Martin, All,
>
> [Please, do not top-post; please interleave your answers with the part
> you are replying to, it makes it easier to follow...]

oops, I meant to do that.

>
> On 2015-06-29 11:51 +0100, Martin Bark spake thusly:
>> Yes I was thinking of submitting some patches to add other node.js
>> based packages but really I just submitted this patch because I though
>> $(NPM) would be useful for other people too.
>
> OK, that's good. :-) You could have said it more explicitly in the
> commit log, after a three-dash line:
>
>     package/nodejs: Define NPM command for other packages to use
>
>     Other nodejs-related packages will need to call npm with the same
>     set of arguments as is currently used by the nodejs package itself.
>
>     To avoid duplicating this code, set the NPM variable so those
>     packages can re-use it.
>
>     Signed-off-by: you
>
>     ---
>     Note: currently, this is only used in the nodejs package itself, but I
>     plan on swnding new nodejs-related packages that will use this, like
>     nodejs' serialport or pm2 packages which I have tested successfully
>     using this $(NPM).
>
> (Or something similar, choose your own words if mines are way off! ;-) )
>
> To be noted: whatever gets added after a three-dahs line is omitted by
> git when the patch is applied by the maintainer, so you can basically
> write whatever you see fit in there.
>
> Thanks for the explanations!
>
> Regards,
> Yann E. MORIN.

Good point, I should have been more explicit with the commit message.
I'll fix this.

Thanks

Martin


>
>> I was thinking of
>> submitting pm2 (https://www.npmjs.com/package/pm2) as a package to
>> buildroot.  pm2 is a popular process manager and I've used it to solve
>> the issue of starting/stopping other node.js apps.  Having $(NPM)
>> defined makes writing node.js based packages for buildroot easier.
>>
>> Thanks
>>
>> Martin
>>
>> On 27 June 2015 at 23:53, Yann E. MORIN <yann.morin.1998 at free.fr> wrote:
>> > Martin, All,
>> >
>> > On 2015-06-27 03:01 +0100, Martin Bark spake thusly:
>> >> Signed-off-by: Martin Bark <martin at barkynet.com>
>> >
>> > Reviewed-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
>> >
>> > But see below...
>> >
>> >> ---
>> >> Changes v1 -> v2
>> >>  - No changes
>> >>
>> >> Signed-off-by: Martin Bark <martin at barkynet.com>
>> >> ---
>> >>  package/nodejs/nodejs.mk | 14 ++++++++------
>> >>  1 file changed, 8 insertions(+), 6 deletions(-)
>> >>
>> >> diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk
>> >> index 5d95f77..8cd4fd3 100644
>> >> --- a/package/nodejs/nodejs.mk
>> >> +++ b/package/nodejs/nodejs.mk
>> >> @@ -95,6 +95,13 @@ NODEJS_MODULES_LIST= $(call qstrip,\
>> >>       $(if $(BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT),coffee-script) \
>> >>       $(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL))
>> >>
>> >> +# Define NPM for other packages to use
>> >> +NPM = $(TARGET_CONFIGURE_OPTS) \
>> >> +     LD="$(TARGET_CXX)" \
>> >> +     npm_config_arch=$(NODEJS_CPU) \
>> >> +     npm_config_nodedir=$(BUILD_DIR)/nodejs-$(NODEJS_VERSION) \
>> >> +     $(HOST_DIR)/usr/bin/npm
>> >> +
>> >>  #
>> >>  # We can only call NPM if there's something to install.
>> >>  #
>> >> @@ -104,12 +111,7 @@ define NODEJS_INSTALL_MODULES
>> >>       # npm install call below and setting npm_config_rollback=false can both
>> >>       # help in diagnosing the problem.
>> >>       (cd $(TARGET_DIR)/usr/lib && mkdir -p node_modules && \
>> >> -             $(TARGET_CONFIGURE_OPTS) \
>> >> -             LD="$(TARGET_CXX)" \
>> >> -             npm_config_arch=$(NODEJS_CPU) \
>> >> -             npm_config_nodedir=$(BUILD_DIR)/nodejs-$(NODEJS_VERSION) \
>> >> -             $(HOST_DIR)/usr/bin/npm install \
>> >> -             $(NODEJS_MODULES_LIST) \
>> >> +             $(NPM) install $(NODEJS_MODULES_LIST) \
>> >
>> > Although the change looks trivially OK, I wonder why you introduce
>> > $(NPM) for this single user (there is no other user of $(NPM) added
>> > in your series).
>> >
>> > Do you intend to send more patches that make use of $(NPM) ?
>> >
>> > Regards,
>> > Yann E. MORIN.
>> >
>> >>       )
>> >>
>> >>       # Add global node_modules to PATH
>> >> --
>> >> 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.  |
>> > '------------------------------^-------^------------------^--------------------'
>
> --
> .-----------------.--------------------.------------------.--------------------.
> |  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.  |
> '------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list