void-packages/common/scripts
0x5c cc27e8e6f7 common/travis/xlint.sh: print Github annotations
Turns xlint, version lint, and commit lint messages into warning or error
annotaions. All are printed with special highlighting in the action log and
summary. Xlint and version lint annotations are shown inline in the changes tab
and commit view. Annotations without line number are shown at line 1.
2022-05-05 21:34:11 +02:00
..
lint-commits common/travis/xlint.sh: print Github annotations 2022-05-05 21:34:11 +02:00
lint-conflicts common/: add script finding file conflicts 2022-05-05 21:29:41 +02:00
lint-version-change
lint2annotations.awk common/travis/xlint.sh: print Github annotations 2022-05-05 21:34:11 +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.