Currently ypkg will reliably add binary dependencies for ELF binaries, i.e. .so and executables.
This ensures a proper relationship between packages and a self-completing dependency graph.
There are two noticeable areas in which we lack this behaviour:
- Python packages
- Perl packages
When we introduce sol we'll likely incorporate a Provider type for these Python/Perl packages, however even
now introduce something that is efficient and not insane..
Collect a full set of imports for the package, and collapse them into modules. Determine module ownership and then drop the
information on the individual files.
At the Metadata stage, use the FilesDB to find the owning package for these imports, and assign those deps.
This will require us to make the runtime deps, build deps, to ensure the scanning process works. It should then be fatal for us
to encounter a missing dependency. Differentiation will also have to be implemented for the co-installable Python 2 and
Python 3 trees.