LLMpediaThe first transparent, open encyclopedia generated by LLMs

Copr (build system)

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Expansion Funnel Raw 41 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted41
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
Copr (build system)
NameCopr
DeveloperRed Hat, Fedora Project
Released2013
Programming languagePython
Operating systemLinux
LicenseGPLv2

Copr (build system) is a build service for creating, compiling, and distributing RPM packages for Fedora and related distributions. It provides a hosted platform that integrates with source control, continuous integration, and package repositories to enable developers, contributors, and organizations to produce binary artifacts. The system emphasizes reproducible builds, automated dependency resolution, and user-level project management to support rapid packaging and testing.

Overview

Copr is designed as a service that accepts source inputs and produces RPM artifacts, enabling integration with Fedora Project, Red Hat, CentOS Stream, EPEL, and other Linux distributions. It targets developers working with Git, GitHub, GitLab, and Pagure repositories, and interoperates with build tools such as Koji, Mock, and RPM tooling. Administrators and contributors from organizations like Red Hat Enterprise Linux teams, community packagers, and university research groups use Copr alongside CI providers such as Travis CI, Jenkins, and GitHub Actions.

Architecture and Components

Copr's architecture comprises web frontend, API, build backends, and repository hosting. The frontend is a web UI historically maintained by contributors from the Fedora Project and integrates authentication via Fedora Account System, OAuth, and OpenID Connect providers like GitHub and GitLab. The backend uses build workers orchestrated with technologies such as systemd, Docker, and KVM for sandboxing, and delegates package compilation to tools derived from Mock and Koji components. Storage and artifact delivery leverage package repositories compatible with dnf and yum clients and mirror technologies used by CentOS and Fedora Project mirror networks.

Features and Workflow

Copr supports branch-based builds, SCM hooks, and targeted builder selection for architectures like x86_64, aarch64, and ppc64le. Users create projects and link them to SCM sources hosted on GitHub, GitLab, or Pagure; the service fetches spec files and sources, resolves dependencies with RPM metadata, and runs isolated builds similar to Mock jobs. Build outputs are published as YUM/DNF repositories consumable by users on systems such as Fedora Workstation and Fedora Server. Integration points include automated webhook triggers used by GitHub Actions, binary artifact promotion resembling Koji workflows, and changelog visibility akin to entries in Bugzilla and Pagure issue trackers.

Use Cases and Integration

Common use cases include packaging experimental software, delivering application updates for Fedora, staging packages for EPEL, and building third-party modules for Red Hat Enterprise Linux. Projects in academia and industry use Copr to produce nightly builds for projects hosted on GitHub or GitLab, and to provide RPMs for downstream consumers such as Scientific Linux users or openSUSE conversion pipelines. Integration scenarios often involve CI tools like CircleCI or Jenkins, artifact scanners such as SonarQube, and deployment orchestration with Ansible or SaltStack.

Security and Access Control

Copr implements per-project permissions, allowing owners and collaborators to control visibility and build rights; authentication integrates with identity providers like GitHub and GitLab. Build isolation leverages kernel-level sandboxing technologies such as namespaces and virtualization like KVM to mitigate supply-chain risks identified in incidents tracked by organizations such as US-CERT and research from Open Source Security Foundation. The platform supports signing packages with RPM keys managed by project maintainers and can be configured to restrict builds from untrusted forks—policies comparable to those enforced in Fedora Project infrastructure and curated repositories like EPEL.

History and Development

Copr originated as a Fedora-hosted service to lower the barrier for producing RPMs outside of the main distribution gates maintained by Fedora Project package maintainers. Early contributors included community engineers associated with Red Hat and volunteers from the Fedora Project ecosystem. Over time, development incorporated features driven by demands from projects integrated with GitHub and GitLab, and by interoperability requirements with the Koji build system and Fedora packaging guidelines. Roadmap discussions have occurred in channels frequented by members of organizations like Fedora Council and Fedora Engineering Steering Committee.

Community and Adoption

Adoption of Copr spans individual contributors, open source projects, academic labs, and corporate engineering teams. Notable ecosystems and projects that rely on Copr workflows include members of the Fedora Project community, independent maintainers who publish testing builds, and organizations migrating from platforms such as OBS or custom CI. Community support, documentation, and contribution coordination are often managed through Fedora Project mailing lists, issue trackers on Pagure and GitHub, and discussions involving stakeholders including members of Red Hat and volunteers from regional communities.

Category:Fedora Project Category:Free software