Missing RHEL Sub-Packages

When a RHEL source package is built, it often creates more than one binary package. These extra packages are generally called sub-packages.

Sometimes RHEL sub-packages that are built are not published. Sometimes packages are built for all arches, but only published on one or two arches. We call these two types "missing built sub-packages".

Sometimes when a RHEL source package is built, it does not create all the sub-packages that it potentially could. We call these types "missing un-built sub-packages".

EPEL cannot have a package with the same name as a source or binary package published in RHEL. To solve the problem of missing built and un-built sub-packages, the following policy and procedures have been setup.

Shared Guidelines

  • You MUST name your source package <package>-epel

  • You MUST NOT conflict with any RHEL packages or files

Missing Built Sub-Packages

Short Term

Create an EPEL package that only has the missing packages, or missing arches.

  • Be prepared to maintain this package as long as it is needed.

    • It is recommended that you add the epel-packagers-sig group as a co-maintainer.

  • A package review is not required, but it is a good idea to have someone look at the updated spec file.

  • If you need help building this, ask for help. We have some examples.

  • It qualifies for an exception to the package review process so you can request the repo with.

    • fedpkg request-repo --exception <package>-epel

  • Once the repo is created, you must retire the rawhide branch to make it clear that this is an EPEL-only package and shouldn’t be branched for future Fedora releases.

    • fedpkg retire 'EPEL-only package'

  • When/If the missing package(s) are added to RHEL CRB, retire your -epel package following the EPEL retirement policy.

Long Term

Request the package be added to the appropriate RHEL CRB repository.

  • To initiate this process, please file an issue in https://issues.redhat.com and request it be added to RHEL. Report the bug against the RHEL project, assign it to the proper CentOS Stream versions and add the source package name in the Component field. More details on this can be found in the CentOS wiki.

  • Be sure to say that it is impacting an EPEL build, and which package it is impacting.

Please add <sub-package> to CRB in RHEL9

I am building <my package> in EPEL9.
<my package> requires <sub-package> to build in EPEL9.

<my package> is important because these other packages depend on it:
<other packages>

<my package> is important because <my company> uses it for <reason>

In the past, the default answer for a request like this was "no". But in mid-2021 the RHEL policy changed to allow the RHEL package maintainer to make the decision. There are still packages where the answer might be "no", but many maintainers are choosing to add the sub-packages to the RHEL CRB repo.

Missing Un-Built Sub-Packages

You can create packages that supply missing sub-packages that were not built in RHEL but are built in Fedora.

In the past these were named <package>-extra, but these are now named <package>-epel to avoid confusion.