Utilities for package maintainers

A number of utilities are available to support package maintainers in maintaining their packages. This page attempts to list them, but is not a complete list.

Testing new builds with pull requests and CI

To test updates and changes to packages, package maintainers are encouraged to use the continuous integration (CI) that is available on src.fedoraproject.org through pull requests. Each pull request will automatically run a test scratch build and report results in the pull request.

One may need to re-run the test build in pull requests. A comment with [citest] will do so.

More advanced CI using Zuul is also available.

Checking package update impact: fedrq

Before updating their packages as per the updates policy, package maintainers should check if/how the update impacts other packages. To list what packages depend on another in each Fedora release, package maintainers can use the fedrq tool. Example usage:

$ sudo dnf install fedrq

$ fedrq whatrequires-src -b f38 python-pydantic
fedrq-0.7.1-1.fc38.noarch
fedrq-0.7.1-1.fc38.src
input-remapper-2.0.0-2.fc38.noarch
input-remapper-2.0.0-2.fc38.src
matrix-synapse-1.85.2-1.fc38.src
matrix-synapse-1.85.2-1.fc38.x86_64
psi4-1:1.3.2-19.fc38.i686
psi4-1:1.3.2-19.fc38.src
psi4-1:1.3.2-19.fc38.x86_64
python-aws-sam-translator-1.68.0-1.fc38.src
python-bsmschema-0.1.0-1.fc38.src
python-fastapi-0.96.0-1.fc38.src
python-pytest-toolbox-0.4-12.fc37.src
python-qcelemental-0.25.0-4.fc38.src
python-qcengine-0.26.0-1.fc38.src
python-versioningit-2.2.0-1.fc38.src
python3-aws-sam-translator-1.68.0-1.fc38.noarch
python3-bsmschema-0.1.0-1.fc38.noarch
python3-fastapi-0.96.0-1.fc38.noarch
python3-qcelemental-0.25.0-4.fc38.noarch
python3-qcengine-0.26.0-1.fc38.noarch

Running fedora-review on review tickets using fedora-review service

The Fedora Review Service automatically runs fedora-review on new package review tickets. One can add a comment with [fedora-review-service-build] to re-run the review service.

Automating package updates: Packit

Packit is a service that enables automated pull request creation for new upstream releases. More information on configuring dist-git repositories to use Packit can be found in the documentation.

Please remember to run impact checks before pushing updates.