<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mer. 1 déc. 2021 à 13:29, Jonas Smedegaard <<a href="mailto:jonas@jones.dk">jonas@jones.dk</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Quoting Jérémy Lal (2021-12-01 13:01:10)<br>
> To work around the bootstrapping issue that is posed by the huge loop<br>
> of build-dependencies:<br>
> nodejs -> node-acorn -> rollup -> zillion things -> nodejs,<br>
> it is possible to make a stage 1 nodejs build that loads node-acorn<br>
> *source* files,<br>
> instead of the compiled ones.<br>
> <br>
> However, to do that, I wonder what's the best option:<br>
> - a new node-acorn-source provides /usr/share/nodejs/node-acorn/src/<br>
> and "stage 1 nodejs" depends on it ?<br>
> - nodejs source stops dfsg-excluding all of node-acorn from its tarball,<br>
> keeps only<br>
> the source files and install them for the runtime ? not possible, nodejs<br>
> tarball<br>
> only includes the built node-acorn files.<br>
> - nodejs adds a uscan component to get node-acorn source ?<br>
> <br>
> NB: likewise for node-acorn-walk<br>
<br>
Which exact NodeJS modules withing the pile of modules provided by our <br>
"node-acorn" package is actually needed by nodejs?<br></blockquote><div><br></div><div>- node-acorn<br></div><div>- node-acorn-walk</div><div>both in the same source tarball (from <a href="https://github.com/acornjs/acorn">https://github.com/acornjs/acorn</a>)</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I suspect breaking the loop might be simpler (fewer parts need to be <br>
provided in source form) if knowing what exactly is needed.<br>
<br>
Simplest might be to embed a copy of needed module(s) in the source <br>
package of nodejs either as a component or below debian/missing-source.</blockquote><div><br></div><div>ok i'll try to embed node-acorn as component.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br>
Such embedded library should then be used only when building in <br>
bootstrapping mode, and for regular builds a build-dependency on the <br>
separately maintained library is used.<br></blockquote><div><br></div><div>Yes, that's the plan.</div><div><br></div><div>Thanks</div></div></div>