[Pkg-javascript-devel] Help: nodejs 16 need node-acorn source to break bootstrapping loop

Jonas Smedegaard jonas at jones.dk
Wed Dec 1 12:29:08 GMT 2021


Quoting Jérémy Lal (2021-12-01 13:01:10)
> To work around the bootstrapping issue that is posed by the huge loop
> of build-dependencies:
> nodejs -> node-acorn -> rollup -> zillion things -> nodejs,
> it is possible to make a stage 1 nodejs build that loads node-acorn
> *source* files,
> instead of the compiled ones.
> 
> However, to do that, I wonder what's the best option:
> - a new node-acorn-source provides /usr/share/nodejs/node-acorn/src/
> and "stage 1 nodejs" depends on it ?
> - nodejs source stops dfsg-excluding all of node-acorn from its tarball,
> keeps only
> the source files and install them for the runtime ? not possible, nodejs
> tarball
> only includes the built node-acorn files.
> - nodejs adds a uscan component to get node-acorn source ?
> 
> NB: likewise for node-acorn-walk

Which exact NodeJS modules withing the pile of modules provided by our 
"node-acorn" package is actually needed by nodejs?

I suspect breaking the loop might be simpler (fewer parts need to be 
provided in source form) if knowing what exactly is needed.

Simplest might be to embed a copy of needed module(s) in the source 
package of nodejs either as a component or below debian/missing-source. 
Such embedded library should then be used only when building in 
bootstrapping mode, and for regular builds a build-dependency on the 
separately maintained library is used.


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-javascript-devel/attachments/20211201/027db4d5/attachment.sig>


More information about the Pkg-javascript-devel mailing list