[Pkg-javascript-devel] pkg-js-tools, nodejs and modules build ordering
Yadd
yadd at debian.org
Sat Feb 19 06:21:22 GMT 2022
On 19/02/2022 01:33, Roland Mas wrote:
> Hi all,
>
> I'm still working on packaging ipywidgets and jupyterlab, each with its
> share of Node modules. I'm in the process of replacing the imperative
> parts of debian/rules with declarative files used by the nodejs
> buildsystem for debhelper, and I'm encountering a strange behaviour.
> Since I'm rather new to node module packaging in general and
> pkg-js-tools in particular, I'd rather discuss it here before filing a bug.
>
> In short: when I specify dependencies between modules, the build order
> does not necessarily take them into account.
>
> For instance, my current debian/nodejs/component_links reads as follows:
>
> packages/coreutils packages/ui-components
> packages/ui-components packages/apputils
> packages/apputils packages/outputarea
> packages/rendermime-interfaces packages/mathjax2
> packages/rendermime packages/outputarea
Hi,
use debian/nodejs/component_links to declare links between components.
It will change build order.
> Yet the build log shows that dh_auto_build tries to build
> packages/apputils first, although it should at least be built later than
> packages/ui-components. My suspicion is that the cmp_ordered_list
> function in /usr/share/perl5/Debian/Debhelper/Buildsystem/nodejs.pm is a
> bit optimistic in that it hopes that every pair of packages will be
> compared during the sorting of the list, which means not all
> dependencies are taken into account. Instrumenting the sort {} seems to
> confirm this hypothesis, since the apputils and ui-components items are
> not compared. As a result, the build ordering is not necessarily
> compliant with the requirements. It's quite possible that this behaviour
> only pops up when the list is large enough that the comparisons are
> sparse; in the case of jupyterlab, there are 91 modules, which are
> sorted using only 160 comparisons.
>
> For reference and reproducibility, see the
> python-team/packages/jupyterlab repo on salsa; commit 2d334d40d8
> exhibits the "bug" for me using gbp buildpackage.
>
> Am I missing something? I'd love to use the declarative approach and let
> the tools do the actual ordering :-)
>
> Roland.
>
>
More information about the Pkg-javascript-devel
mailing list