Quick start
The fastest way to build a package is from an SRPM file:Build sources overview
Copr supports several build source types:- URL: Direct links to SRPM files or spec files
- Upload: Upload SRPM or spec files from your local machine
- SCM: Build from Git, DistGit, or SVN repositories
- DistGit: Simplified interface for Fedora/CentOS DistGit
- PyPI: Build Python packages from PyPI
- RubyGems: Build Ruby gems from RubyGems.org
- Custom: Use a custom script to generate sources
Building from URLs
Provide one or more URLs to SRPM files or spec files.Build order is not guaranteed when submitting multiple builds at once.
Uploading builds
Upload SRPM or spec files directly from your local machine.- CLI
- Web UI
Building with packages
Instead of specifying the source with each build, you can define packages with default sources and rebuild them easily.Creating a package
Rebuilding a package
Editing package source
Build options
Selecting chroots
By default, builds run in all enabled chroots. You can limit builds to specific chroots:Build timeout
Set a custom timeout for your build (in seconds):If your build exceeds the timeout, you’ll see the error:
Enable internet access
Allow internet access during the build:Background builds
Submit lower-priority builds for mass rebuilds:Background builds are deprioritized by the scheduler, which is helpful during mass rebuilds to avoid blocking other users.
SSH access to builders
Enable SSH access for debugging failed builds:Bootstrap and isolation settings
Override project-level settings for specific builds:Build batches
Control build order by creating batches. This is useful when packages depend on each other.Build after another build
Wait for a build to complete before starting the next one:Build with another build
Build in the same batch as another build:Batches help organize complex dependency trees. The second batch won’t start until the first batch completes.
Rebuilding existing builds
Rebuild a previous build with the same settings:12345 is the build ID from a previous build.
Multiple builds
You can submit multiple builds at once when using URLs:Monitoring builds
View build status
Get build details
Watch build logs
You can view build logs in the web UI by clicking on a build and selecting a chroot.Build results
After a successful build:- RPMs are added to your project repository
- Build logs are available for each chroot
- If Fedora Review is enabled, a
review.txtfile is generated - Packages are automatically signed with the Copr signing key
Build retention
Copr keeps builds according to the following policies:- Latest build: One build per package is kept indefinitely (the highest EPOCH:NAME-VERSION-RELEASE)
- Old builds: Failed builds and superseded builds are deleted after 14 days
- Manual repository mode: Projects with manual repository creation are exempt from automatic deletion
For Pulp-backed projects, retention is count-based: the 5 most recent successful builds per package are kept.
Example workflows
Building a simple package
Building with dependencies
Mass rebuild
Consider using existing tools like mass-prebuild or mini-mass-rebuild for large-scale rebuilds.