void-packages/common/scripts
2021-06-30 21:09:10 +02:00
..
lint-commits
lint-version-change common: add lint-version-change 2021-05-27 21:18:38 +02:00
README.xbps-cycles.md common/xbps-cycles.py: Add cache option 2021-06-30 21:09:10 +02:00
xbps-cycles.py common/xbps-cycles.py: deterministic cycle path 2021-06-30 21:09:10 +02:00

Cycle detector for void-packages

This script enumerates dependencies for packages in a void-packages repository and identifies build-time dependency cycles.

For command syntax, run xbps-cycles.py -h. Often, it may be sufficient to run xbps-cycles.py with no arguments. By default, the script will look for a repository at $XBPS_DISTDIR; if that variable is not defined, the current directory is used instead. To override this behavior, use the -d option to provide the path to your desired void-packages clone.

The standard behavior will be to spawn multiple processes, one per CPU, to enumerate package dependencies. This is by far the most time-consuming part of the execution. To override the degree of parallelism, use the -j option.

Dependencies can be cached on disk, one file per package, in directory passed with -c option. On next execution with same option, dependencies are read from file rather than computed.

Failures should be harmless but, at this early stage, unlikely to be pretty or even helpful.