Pagure Dist Git Interactions With COPR

Copr (“Community projects”) is a service that builds your open-source projects and creates your own RPM repositories.

Possible Interactions

The following are a set of documented interactions possible between Pagure Dist Git and COPR.

Builds logic

  • COPR is using API calls for flagging dist-git commits or pull requests in module. It is calling /api/0/<package_name>/pull-request/<pr_id>/flag and /api/0/<package_name>/c/<commit_id>/flag API endpoints.

CLI client

  • COPR is doing git clone from dist-git, which is wrapped in copr-distgit-client clone --dist-git fedora <pkgname>.

Fedora messaging

  • COPR is listening to following dist-git topics:






  • These topics are configured in frontend messaging configuration.

Changes proposed

In order to switch out Pagure Dist Git for an alternative that provides a relatively compatible API pattern, the following changes must be made in the places mentioned below.


  • There are few configuration files that points to current dist-git. If the URL should change we would need to update rpkg.conf and main.ini with the URL to new service.

  • In case the message schema of the new dist-git will change we need to update consumed topics in frontend messaging configuration.


  • There isn’t much interactions between Fedora dist-git and COPR and no change is needed that would be unnecessary to do in case dist-git will change.