void-packages/common/scripts
Andrew J. Hesford b270c7b115 common/scripts/xbps-cycles.py: skip subpackage dependency checks
Dependency checks for subpackages produce the same results as dependency
checks for the main package; skipping subpackages improves performance.
2023-08-17 10:47:41 -04:00
..
README.xbps-cycles.md
check-custom-licenses spdx-licenses-list: update to 3.21. 2023-06-25 18:09:53 -04:00
lint-commits lint-commits: forbid localhost email, too 2023-02-02 19:15:34 +07:00
lint-conflicts common/scripts/lint-conflicts: add bootstrap repo 2023-02-03 20:32:46 -06:00
lint-version-change common/: remove PATH adds from CI scripts 2022-10-25 14:23:46 -04:00
lint2annotations.awk
xbps-cycles.py common/scripts/xbps-cycles.py: skip subpackage dependency checks 2023-08-17 10:47:41 -04:00

README.xbps-cycles.md

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.