Re: [PATCH v4 0/8] Record and rework component dependencies

Burakov, Anatoly
2024-11-26T15:11:53Z

On 11/26/2024 3:39 PM, Anatoly Burakov wrote:
> As part of the meson build, we can record the dependencies for each
> component as we process it, logging them to a file. This file can be
> used as input to a number of other scripts and tools, for example, to
> graph the dependencies, or to allow higher-level build-config tools to
> automatically enable component requirements, etc.
>
> The first patch of this set separates dependencies inside meson into
> optional or mandatory. The second patch of this set generates the basic
> dependency tree. The third patch does some processing of that dependency
> tree to identify cases where dependencies are being unnecessarily
> specified. Reducing these makes it easier to have readable dependency
> graphs in future, without affecting the build.
>
> The following 4 patches are based on the output of the second patch, and
> greatly cut down the number of direct dependency links between
> components. Even with the cut-down dependencies, the full dependency
> graph is nigh-unreadable, so the final patch adds a new script to
> generate dependency tree subgraphs, creating dot files for e.g. the
> dependencies of a particular component, or a component class such as
> mempool drivers.
>
> v3 -> v4:
> - Update to latest main
>
> v2 -> v3:
> - Split dependencies into optional and mandatory
> - Fixup graph scripts to read and generate graphs that encode optional
> dependencies into the graph
> - Python version fixes to avoid using features not available in minimum
> supported Python version
> - Formatting with Ruff, and PEP-484 compliance

Forgot the series ack:

Acked-by: Morten Brørup <mb@smartsharesystems.com>

--
Thanks,
Anatoly