Frequently Asked Questions

Why ELN?

The Fedora distribution is, among other things, an upstream for Red Hat Enterprise Linux (RHEL). By adjusting buildroot and assorted configurations, ELN allows Fedora contributors who work on RHEL and other similarly targeted downstreams to judge the state of upstream from their perspective. The benefit for the Fedora distribution is that contributors who work on both upstream and downstream stay more continuously connected to the state of Fedora — especially, but not exclusively, Rawhide.

What is the role of ELN with respect to CentOS Stream?

ELN is a continuous rebuild of Fedora Rawhide sources. Once in a while a certain snapshot of the ELN is used to bootstrap the new CentOS Stream for the new major RHEL release. There is no continuous sync between ELN and any version of the CentOS Stream. Bootstrap activity happens only once for each CentOS Stream version. See the picture:

fedora eln centos stream rhel
What are the differences between Rawhide and ELN?

For the majority of packages, there is little or no difference between Rawhide and ELN packages. They are the same versions, usually built on the same libraries. But there are some buildroot differences in compiler flags and global macros that can result in build differences.

Note: Many packages have %if fedora / rhel conditionals in their specfiles that produce
differences between the built Rawhide and ELN packages.  Listing all of those differences
is beyond the scope of this document.
What packaging guidelines does ELN follow?

Unless otherwise specified in this document, Fedora ELN is required to follow all published Fedora Packaging Guidelines. One common divergence is with the use of bundled dependencies. In general, Fedora packaging recommends that all packages unbundle their dependencies into separate packages. However, in some instances this can result in a single package requiring many (dozens or hundreds) of additional packages. Because of legal restrictions on Red Hat Enterprise Linux placed on it for distribution in major markets, it is preferred that such cases are instead packaged singly.

What are the differences between the Rawhide and ELN kernel?

Kernel is one of the packages that uses %if fedora conditionals extensively. While the source tree is the same, the Rawhide kernel uses a Fedora configuration and the ELN kernel is built with a RHEL kernel configuration. As a result, the Rawhide kernel tends to enable support for a much larger range of hardware and features. A notable difference is that the ELN kernel does not support btrfs at all, making it difficult to install and use on systems that were installed as Fedora Workstation edition, or in Fedora 35 or newer Cloud images which use btrfs by default. There are also differences in baseline supported hardware, meaning the ELN kernel may not run on older systems where the Rawhide kernel runs just fine.

When should I use the rpm macro %{eln}?

Never. In nearly all cases, you actually want to use the %{rhel} macro. If you think you need to use the %{eln} macro, file a ticket on the issue tracker with your justification.