Message ID | 20200516235745.3551-1-linus@cosmos-ink.net |
---|---|
State | Changes Requested |
Headers | show |
Series | package/nodejs: expose capability to compile host library | expand |
Hello Linus, On Sat, 16 May 2020 23:57:45 +0000, Linus Kaschulla <linus@cosmos-ink.net> wrote: > To use nodejs on the host (independant of the actual system) > to create some static files to place onto the target rootfs > nodejs can be very helpful. > > The provided nodejs package didn't show the possibility to > create a host package. But upon further examination I noticed > that the package does it in fact (in the .mk). It specifies > dependencies for the package with the host prefix and also > invokes $(host-generic-package) as well as $(generic-package) > which is the only one assumed from the config. > > This commit adds a Config.in.host file that uses the > dependencies given from HOST_NODEJS_DEPENDENCIES in the makefile. > (It also add the host config to the package overview.) > > With this change other packages can require BR2_PACKAGE_HOST_NODEJS > without any problems or the buildsystem not fully knowing about this. > Seems that someone added the capability (as a step for the cross- > compiled nodejs) and didn't notice that this is a handy package by itself. > > When installing global npm packages (with -g), the parameter > `--prefix $(HOST_DIR)` can be used to ensure that nodejs doesn't try > to install it onto the real host filesystem. > > I already used this change to create static web files from Angular > and place onto a target that doesn't need nodejs itself. > > Signed-off-by: Linus Kaschulla <linus@cosmos-ink.net> > --- > package/Config.in.host | 1 + > package/nodejs/Config.in.host | 5 +++++ > 2 files changed, 6 insertions(+) > create mode 100644 package/nodejs/Config.in.host > > diff --git a/package/Config.in.host b/package/Config.in.host > index f1246c708f..510249a496 100644 > --- a/package/Config.in.host > +++ b/package/Config.in.host > @@ -48,6 +48,7 @@ menu "Host utilities" > source "package/mtd/Config.in.host" > source "package/mtools/Config.in.host" > source "package/mxsldr/Config.in.host" > + source "package/nodejs/Config.in.host" > source "package/omap-u-boot-utils/Config.in.host" > source "package/openocd/Config.in.host" > source "package/opkg-utils/Config.in.host" > diff --git a/package/nodejs/Config.in.host b/package/nodejs/Config.in.host > new file mode 100644 > index 0000000000..af8d7b4e44 > --- /dev/null > +++ b/package/nodejs/Config.in.host > @@ -0,0 +1,5 @@ > +config BR2_PACKAGE_HOST_NODEJS > + bool "host nodejs" > + select BR_PACKAGE_HOST_LIBOPENSSL > + select BR_PACKAGE_HOST_PYTHON > + select BR_PACKAGE_HOST_ZLIB Indent should use tabs (instead of spaces)... Regards, Peter
Hi Peter, > Indent should use tabs (instead of spaces)... I'm sorry for that. I've overlooked that change (ported it from the repository I'm working with). I git fixuped it. The fixed patch is below. Regards, Linus To use nodejs on the host (independant of the actual system) to create some static files to place onto the target rootfs nodejs can be very helpful. The provided nodejs package didn't show the possibility to create a host package. But upon further examination I noticed that the package does it in fact (in the .mk). It specifies dependencies for the package with the host prefix and also invokes $(host-generic-package) as well as $(generic-package) which is the only one assumed from the config. This commit adds a Config.in.host file that uses the dependencies given from HOST_NODEJS_DEPENDENCIES in the makefile. (It also add the host config to the package overview.) With this change other packages can require BR2_PACKAGE_HOST_NODEJS without any problems or the buildsystem not fully knowing about this. Seems that someone added the capability (as a step for the cross- compiled nodejs) and didn't notice that this is a handy package by itself. When installing global npm packages (with -g), the parameter `--prefix $(HOST_DIR)` can be used to ensure that nodejs doesn't try to install it onto the real host filesystem. I already used this change to create static web files from Angular and place onto a target that doesn't need nodejs itself. Signed-off-by: Linus Kaschulla <linus@cosmos-ink.net> --- package/Config.in.host | 1 + package/nodejs/Config.in.host | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 package/nodejs/Config.in.host diff --git a/package/Config.in.host b/package/Config.in.host index f1246c708f..510249a496 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -48,6 +48,7 @@ menu "Host utilities" source "package/mtd/Config.in.host" source "package/mtools/Config.in.host" source "package/mxsldr/Config.in.host" + source "package/nodejs/Config.in.host" source "package/omap-u-boot-utils/Config.in.host" source "package/openocd/Config.in.host" source "package/opkg-utils/Config.in.host" diff --git a/package/nodejs/Config.in.host b/package/nodejs/Config.in.host new file mode 100644 index 0000000000..2169762b1b --- /dev/null +++ b/package/nodejs/Config.in.host @@ -0,0 +1,5 @@ +config BR2_PACKAGE_HOST_NODEJS + bool "host nodejs" + select BR_PACKAGE_HOST_LIBOPENSSL + select BR_PACKAGE_HOST_PYTHON + select BR_PACKAGE_HOST_ZLIB
Linux, All, On 2020-05-17 13:31 +0200, Linus spake thusly: > Hi Peter, > > > Indent should use tabs (instead of spaces)... > > I'm sorry for that. I've overlooked that change (ported it > from the repository I'm working with). > I git fixuped it. The fixed patch is below. Please use git send-email to send patches; the way you sent this new iteration is not a proper patch, and did not get picked up by patchwork: https://patchwork.ozlabs.org/project/buildroot/list/ Besides, there are still issues, see below... [--SNIP--] > diff --git a/package/nodejs/Config.in.host b/package/nodejs/Config.in.host > new file mode 100644 > index 0000000000..2169762b1b > --- /dev/null > +++ b/package/nodejs/Config.in.host > @@ -0,0 +1,5 @@ > +config BR2_PACKAGE_HOST_NODEJS > + bool "host nodejs" > + select BR_PACKAGE_HOST_LIBOPENSSL > + select BR_PACKAGE_HOST_PYTHON > + select BR_PACKAGE_HOST_ZLIB You used 4 spaces here, when Peter explicitly stated that TABs should be used. Run "make check-pacakge" to check for these kind of issues. Also, those three options, BR_PACKAGE_HOST_LIBOPENSSL, BR_PACKAGE_HOST_ZLIB, and BR_PACKAGE_HOST_PYTHON, do not exist. For host packages, the options do not exist, unless they have to be visible in the menuconfig, which is not the case for those three. Regards, Yann E. MORIN.
Hi Yann, Thank you for your feedback. > Please use git send-email to send patches; the way you sent this new > iteration is not a proper patch, and did not get picked up by patchwork: > https://patchwork.ozlabs.org/project/buildroot/list/ I had hoped that I could provide the patch as well as the answer in one email. I had hoped that retaining the format of the patch as generated by git would not be a problem. I'll send the fixed patch in the next mail. > You used 4 spaces here, when Peter explicitly stated that TABs should be > used. Run "make check-pacakge" to check for these kind of issues. See previous answer. Due to me copying it from the terminal into my email client the terminal converted the tabs to spaces which I didn't notice. > Also, those three options, BR_PACKAGE_HOST_LIBOPENSSL, BR_PACKAGE_HOST_ZLIB, > and BR_PACKAGE_HOST_PYTHON, do not exist. For host packages, the options > do not exist, unless they have to be visible in the menuconfig, which is > not the case for those three. I in fact, missed to check whether those exist. I had previously noticed, that when saving the config from make menuconfig, it would be checked whether there is an error in the select statement(s). I assumed that, in case of failure, it would happen there, too. But I have to admit, that I didn't go out of the way to check it. I removed the checks for host zlib and libopenssl and fixed the BR-Prefix for host python (2). Regards, Linus Kaschulla Am 17.05.20 um 21:48 schrieb Yann E. MORIN: > Linux, All, > > On 2020-05-17 13:31 +0200, Linus spake thusly: >> Hi Peter, >> >>> Indent should use tabs (instead of spaces)... >> I'm sorry for that. I've overlooked that change (ported it >> from the repository I'm working with). >> I git fixuped it. The fixed patch is below. > Please use git send-email to send patches; the way you sent this new > iteration is not a proper patch, and did not get picked up by patchwork: > https://patchwork.ozlabs.org/project/buildroot/list/ > > Besides, there are still issues, see below... > > [--SNIP--] >> diff --git a/package/nodejs/Config.in.host b/package/nodejs/Config.in.host >> new file mode 100644 >> index 0000000000..2169762b1b >> --- /dev/null >> +++ b/package/nodejs/Config.in.host >> @@ -0,0 +1,5 @@ >> +config BR2_PACKAGE_HOST_NODEJS >> + bool "host nodejs" >> + select BR_PACKAGE_HOST_LIBOPENSSL >> + select BR_PACKAGE_HOST_PYTHON >> + select BR_PACKAGE_HOST_ZLIB > You used 4 spaces here, when Peter explicitly stated that TABs should be > used. Run "make check-pacakge" to check for these kind of issues. > > Also, those three options, BR_PACKAGE_HOST_LIBOPENSSL, BR_PACKAGE_HOST_ZLIB, > and BR_PACKAGE_HOST_PYTHON, do not exist. For host packages, the options > do not exist, unless they have to be visible in the menuconfig, which is > not the case for those three. > > Regards, > Yann E. MORIN. >
diff --git a/package/Config.in.host b/package/Config.in.host index f1246c708f..510249a496 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -48,6 +48,7 @@ menu "Host utilities" source "package/mtd/Config.in.host" source "package/mtools/Config.in.host" source "package/mxsldr/Config.in.host" + source "package/nodejs/Config.in.host" source "package/omap-u-boot-utils/Config.in.host" source "package/openocd/Config.in.host" source "package/opkg-utils/Config.in.host" diff --git a/package/nodejs/Config.in.host b/package/nodejs/Config.in.host new file mode 100644 index 0000000000..af8d7b4e44 --- /dev/null +++ b/package/nodejs/Config.in.host @@ -0,0 +1,5 @@ +config BR2_PACKAGE_HOST_NODEJS + bool "host nodejs" + select BR_PACKAGE_HOST_LIBOPENSSL + select BR_PACKAGE_HOST_PYTHON + select BR_PACKAGE_HOST_ZLIB
To use nodejs on the host (independant of the actual system) to create some static files to place onto the target rootfs nodejs can be very helpful. The provided nodejs package didn't show the possibility to create a host package. But upon further examination I noticed that the package does it in fact (in the .mk). It specifies dependencies for the package with the host prefix and also invokes $(host-generic-package) as well as $(generic-package) which is the only one assumed from the config. This commit adds a Config.in.host file that uses the dependencies given from HOST_NODEJS_DEPENDENCIES in the makefile. (It also add the host config to the package overview.) With this change other packages can require BR2_PACKAGE_HOST_NODEJS without any problems or the buildsystem not fully knowing about this. Seems that someone added the capability (as a step for the cross- compiled nodejs) and didn't notice that this is a handy package by itself. When installing global npm packages (with -g), the parameter `--prefix $(HOST_DIR)` can be used to ensure that nodejs doesn't try to install it onto the real host filesystem. I already used this change to create static web files from Angular and place onto a target that doesn't need nodejs itself. Signed-off-by: Linus Kaschulla <linus@cosmos-ink.net> --- package/Config.in.host | 1 + package/nodejs/Config.in.host | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 package/nodejs/Config.in.host