All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: Tom Marcuzzi <tom.marcuzzi@orolia.com>
Cc: Martin Bark <martin@barkynet.com>,
	Daniel Price <daniel.price@gmail.com>,
	buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 1/1] packages/nodejs: install npm packages on host
Date: Sat, 22 Jan 2022 14:20:46 +0100	[thread overview]
Message-ID: <20220122142046.14e8ff50@windsurf> (raw)
In-Reply-To: <20220119140703.12978-1-tom.marcuzzi@orolia.com>

Hello Tom,

On Wed, 19 Jan 2022 15:07:03 +0100
Tom Marcuzzi <tom.marcuzzi@orolia.com> wrote:

> Signed-off-by: Tom Marcuzzi <tom.marcuzzi@orolia.com>
> ---
>  package/nodejs/Config.in.host | 32 ++++++++++++++++++++++++++++++++
>  package/nodejs/nodejs.mk      | 31 +++++++++++++++++++++++++++++++
>  2 files changed, 63 insertions(+)

Thanks for your patch. Since the change is non-trivial, it would be
good to have some details in the commit log about the motivations for
the change. I suppose your build process at some point requires NodeJS
on the host ?

> diff --git a/package/nodejs/Config.in.host b/package/nodejs/Config.in.host
> index 4ceaf0c73e..601eb6e052 100644
> --- a/package/nodejs/Config.in.host
> +++ b/package/nodejs/Config.in.host
> @@ -16,3 +16,35 @@ config BR2_PACKAGE_HOST_NODEJS
>  comment "host nodejs needs a host gcc >= 8"
>  	depends on BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS
>  	depends on !BR2_HOST_GCC_AT_LEAST_8
> +
> +if BR2_PACKAGE_HOST_NODEJS
> +
> +	config BR2_PACKAGE_HOST_NODEJS_MODULES_ADDITIONAL
> +		string "Additional modules"

Please don't indent options, so remove the leading tab on all those
lines.

> +		help
> +		  List of space-separated nodejs modules to install via npm.

Perhaps clarify that they will be installed for the host NodeJS.

> +		  See https://npmjs.org/ to find modules and 'npm help install'
> +		  for available installation methods. For repeatable builds,
> +		  download and save tgz files or clone git repos for the
> +		  components you care about.
> +
> +		  Example:
> +		  serialport uglify-js@1.3.4 /my/module/mymodule.tgz \
> +		  	git://github.com/someuser/somemodule.git#v1.2
> +
> +		  This would install the serialport module (at the newest
> +		  version), the uglify-js module at 1.3.4, a module from a
> +		  filesystem path, and a module from a git repository.
> +
> +	config BR2_PACKAGE_HOST_NODEJS_MODULES_ADDITIONAL_DEPS
> +		string "Additional module dependencies"
> +		help
> +		  List of space-separated buildroot recipes which must be
> +		  built before your npms can be installed. For example, if in
> +		  'Additional modules' you specified 'node-curl' (see:
> +		  https://github.com/jiangmiao/node-curl), you could then
> +		  specify 'libcurl' here, to ensure that buildroot builds the
> +		  libcurl package, and does so before building your node
> +		  modules.

The libcurl example here is bad, because this
BR2_PACKAGE_HOST_NODEJS_MODULES_ADDITIONAL_DEPS option should only
contain host packages, and never target packages. So the example should
mention host-libcurl and not libcurl.

Also, this new option BR2_PACKAGE_HOST_NODEJS_MODULES_ADDITIONAL_DEPS
is not used anywhere. You forgot to change:

HOST_NODEJS_DEPENDENCIES = host-icu host-libopenssl host-python3 host-zlib

to:

HOST_NODEJS_DEPENDENCIES = host-icu host-libopenssl host-python3 host-zlib \
	$(call qstrip,(BR2_PACKAGE_HOST_NODEJS_MODULES_ADDITIONAL_DEPS))

Could you have a look at the above questions, so that we can resolve
the open points, and converge towards a solution that we can merge ?

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2022-01-22 13:20 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-19 14:07 [Buildroot] [PATCH 1/1] packages/nodejs: install npm packages on host Tom Marcuzzi
2022-01-22 13:20 ` Thomas Petazzoni [this message]
2022-01-25 13:05 ` [Buildroot] [PATCH v2] " Tom Marcuzzi
2022-05-14 21:01   ` Yann E. MORIN
2022-07-28  7:44 ` [Buildroot] [PATCH 1/1] " Arnout Vandecappelle

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=20220122142046.14e8ff50@windsurf \
    --to=thomas.petazzoni@bootlin.com \
    --cc=buildroot@buildroot.org \
    --cc=daniel.price@gmail.com \
    --cc=martin@barkynet.com \
    --cc=tom.marcuzzi@orolia.com \
    /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.