pkgcheck is developed alongside pkgcore and snakeoil. Running pkgcheck from git will often require both pkgcore and snakeoil from git as well.
For releases, see the required runtime dependencies.
There are also several optional runtime dependencies that add or extend check support in various ways if found on the host system including the following:
- git: supports historical queries for git-based repos and commit-related checks
- requests: supports various network-related checks
- Gentoo-PerlMod-Version: supports Perl package version checks
- tree-sitter-bash: used in checks that inspect the CST of ebuilds and eclasess. Must be language version >= 13.
Installing latest pypi release:
pip install pkgcheck
Installing from git:
pip install https://github.com/pkgcore/pkgcheck/archive/master.tar.gz
Installing from a tarball:
python setup.py install
Most users will use pkgcheck on the command line via pkgcheck scan
to
target ebuild repos. See the docs or the man page for more information on
running pkgcheck.
It's also possible to run pkgcheck natively from python. For example, to output the results for a given ebuild repo:
from pkgcheck import scan
for result in scan(['/path/to/ebuild/repo']):
print(result)
This allows third party tools written in python to leverage pkgcheck's scanning functionality for purposes such as CI or VCS commit support.
A standalone test runner is integrated in setup.py; to run, just execute:
python setup.py test
In addition, a tox config is provided so the testsuite can be run in a virtualenv setup against all supported python versions. To run tests for all environments just execute tox in the root directory of a repo or unpacked tarball. Otherwise, for a specific python version execute something similar to the following:
tox -e py39