This repository contains the source and default configuration files for the repochecker
service. It can read yum/dnf
repositories (primarilty targeted at fedora), analyze broken dependencies, remove false positives, take overrides from a
configuration file into account, and serve the resulting statistics as JSON files and via a simple HTTP API.
It is intended to be the replacement for fedora-health-check, which is written in python, is a bit slow, and is written as a one-shot program instead of a service, where results are committed to git instead of served via an API.
The service relies on dnf/yum repositories that are available on the system (though they need not be enabled by
default), so by default, it requires dnf
, dnf-utils
, fedora-repos
, and fedora-repos-rawhide
.
It's possible to provide overrides / an "allowlist" for filtering out false positives that are not really broken
dependencies. The current configuration is shipped as structured JSON data in the overrides.json
file in the project
root. It's possible to filter out broken dependencies per release (or for all releases), per architecture (or for all
architectures), and either for all packages with a specific false positive, or only for a specified list of packages.
The overrides.py
script serves as a utility for editing, validating, and consistently sorting and formatting the JSON
overrides file.
The default configuration is shipped in the repochecker.toml
file in the project root. This is where releases are
added after the branch point, old releases are removed after they reach their EOL, and where release type can be
switched from prerelease
to stable
after a fedora release reaches GA. The refresh interval for repository data and
package maintainers can also be configured (in number of hours).