CentOS vs Fedora — bluefin-lts Build Context#
bluefin-lts is built on CentOS Stream 10, not Fedora. This has critical implications for agents and contributors.
What does NOT exist on CentOS Stream 10#
| Fedora Feature | CentOS Equivalent | Notes |
|---|---|---|
| COPR CLI | Direct URL only | dnf copr enable is blocked by CI guard. Use dnf config-manager --add-repo <url> instead |
dnf5 copr subcommand | N/A | Not available on CentOS |
| Fedora akmods tags | ghcr.io/ublue-os/akmods-*:centos-10 | Use centos-10 tag, not coreos-stable |
What to use instead#
- Third-party packages: Use EPEL (
dnf install epel-release) — the CentOS equivalent for extra packages - COPR repos: You can still USE COPR repos via direct
.repoURL — but you must use theepel-10chroot name, notcentos-stream-10(see below) - Akmods: Pull from
ghcr.io/ublue-os/akmods-*:centos-10(notcoreos-stable) - Package availability: Always verify a package exists in CentOS Stream repos before adding it
COPR chroot naming — critical#
epel-10 and centos-stream-10 are the same thing from the OS perspective, but COPR projects choose which chroot name they build against. Most COPR projects targeting EL10 use epel-10, not centos-stream-10.
Always check the COPR API before hardcoding a chroot name:
curl -s "https://copr.fedorainfracloud.org/api_3/project/search?query=OWNER/PROJECT" | python3 -m json.tool | grep chroot_repos -A 10
Correct URL pattern:
# ✅ Use epel-${MAJOR_VERSION_NUMBER} for most COPR projects
dnf config-manager --add-repo "https://copr.fedorainfracloud.org/coprs/OWNER/PROJECT/repo/epel-${MAJOR_VERSION_NUMBER}/OWNER-PROJECT-epel-${MAJOR_VERSION_NUMBER}.repo"
# ⚠️ Some COPR projects DO use centos-stream-10 — verify first
dnf config-manager --add-repo "https://copr.fedorainfracloud.org/coprs/OWNER/PROJECT/repo/centos-stream-${MAJOR_VERSION_NUMBER}/OWNER-PROJECT-centos-stream-${MAJOR_VERSION_NUMBER}.repo"
Real example (issue #48, fixed 2026-06-04): jreilly1821/c10s-gnome-50 only has epel-10 chroots. Using centos-stream-10 caused a 404 on every GDX build until the URL was corrected.
Common mistakes to avoid#
- DO NOT copy
copr_install_isolated()patterns frombluefinbuild scripts —dnf copr enableis blocked by CI guard - DO NOT use
dnf5 copr enable— the subcommand is unavailable and blocked - DO NOT assume
centos-stream-10is the right COPR chroot — verify with the API; most projects useepel-10 - DO NOT use
coreos-stableor Fedora-version akmods tags - DO NOT assume Fedora package names match CentOS package names exactly
CI guard#
A CI step in pr-testsuite.yml checks that copr enable does not appear in build_scripts/. If you see this CI failure, replace with a direct dnf config-manager --add-repo URL using the correct chroot name. LTS does not use bluefin's build_files/ path.