void-packages/common/scripts
Đoàn Trần Công Danh 7510b96218 common: simplify logic to find git
From chroot-git 2.33.1, we always have an executable named git
for other build infrastructure and lints.

Let's remove the shenanegan to find which git to be used, prepend the
path to chroot-git's git into $PATH, and let's the shell call the
correct git for us instead.
2022-09-17 23:32:50 +07:00
..
lint-commits common: simplify logic to find git 2022-09-17 23:32:50 +07:00
lint-conflicts common/scripts/lint-conflicts: handle emptied packages 2022-05-10 20:34:49 +02:00
lint-version-change common: simplify logic to find git 2022-09-17 23:32:50 +07:00
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.