copr-cli
Manage and build software using COPR repositories
TLDR
Show user logged in to copr
Build a local spec file on copr
Check status of builds
Trigger a copr build of a spec-file from public (Git) repository
SYNOPSIS
copr-cli [options] { build | delete | init | list | list-chroots | list-projects | status | watch } [args]
PARAMETERS
-h, --help
Show help message and exit
--config-dir CONFIG_DIR
Use alternative config directory
--group GROUP
Copr group name for group-owned projects
--name NAME
Project name (user/project format if no group)
--chroot CHROOT
Chroot(s) to build in (comma-separated)
--spec SPEC
Path to SRPM-generating spec file
--srcdir SRCDIR
Directory containing sources for SRPM
--clone-urls [CLONE_URLS ...]
Git URLs to clone into build directory
--keep-spec
Retain spec file after SRPM creation
--nowait
Submit build without waiting
--wait
Wait for build completion (default for build)
--background
Run in background daemon mode
--resume RESUME
Resume previously interrupted command
DESCRIPTION
Copr (Cool Other Package Repo) provides a mock-like environment for building, testing, and hosting RPM packages, primarily for Fedora, RHEL, and EPEL. copr-cli is the official command-line client for interacting with Copr servers like copr.fedorainfracloud.org.
It allows users to manage projects, submit builds from spec files, SRPMs, or source directories, monitor progress, list chroots/projects/builds, delete resources, and configure credentials. Builds run in isolated chroots (e.g., fedora-39-x86_64, epel-9-aarch64) with customizable modules and results accessible via repos.
Installation is via dnf install copr-cli. Authentication requires an API token from the Copr web UI, stored in ~/.config/copr. Ideal for developers automating package workflows, CI/CD pipelines, and personal repos without Koji access.
Supports advanced features like multi-chroot builds, git clone integration, background execution, and resuming interrupted tasks. Output is human-readable with JSON options in some subcommands.
CAVEATS
Requires valid API token in config; builds limited by project quotas; network-dependent; deletes are irreversible.
SUBCOMMANDS
build: Submit SRPM/spec for building.
delete: Remove build(s).
init: Interactive config setup.
list: List user's builds.
list-chroots: Show available build environments.
list-projects: List projects.
status: Detailed build/project info.
watch: Real-time build monitoring.
HISTORY
Developed by Fedora Infrastructure Copr team since 2014; evolved from early mock wrappers; major updates for modular chroots and API v2 around 2018-2020; actively maintained for current Fedora/EPEL.


