Copr Modularity, the End of an Era
Our team has put a lot of effort into the possibility of
building modules in Copr. This feature went through
many iterations and rewrites from scratch as the
concepts, requirements, and goals of Fedora Modularity kept
changing. This will be my last article about this topic because we are planning
to drop Modularity and all of its functionality from Copr. The only exception
are Module hotfixes, which are staying for good.
Why?
The Fedora Modularity project never really took off, and building modules in
Copr even less so. We’ve had only 14 builds in the last two years. It’s not
feasible to maintain the code for so few users. Modularity has also been
retired since Fedora 39 and will die with RHEL 9.
Additionally, one of our larger goals for the upcoming years is to start using
Pulp as a storage for all Copr build results. This requires
rewriting several parts of the backend code. Factoring in reimplementation for
module builds would result in many development hours wasted for very little
benefit. All projects with modules will remain in the current storage until the
Modularity is finally dropped.
Schedule
In the ideal world, we would keep the feature available as long as RHEL 9 is
supported, but we cannot wait until 2032.
- October 2024 – All Modularity features in Copr are now deprecated
- April 2025 – It won’t be possible to submit new module builds
- October 2025 – Web UI and API endpoints for getting module information will
disappear - April 2026 – All module information will be removed from the database, and
their build results will be removed from our storage
Communication
It was me who introduced all the Modularity code into Copr, so it should also be
me who decommissions it. Feel free to ping me directly if you have any questions
or concerns, but you are also welcome to reach out on the
Copr Matrix channel, mailing list, or in the form of
GitHub issues. In the meantime, I will contact everybody who
submitted a module build in Copr in the past two years and make sure they don’t
rely on this feature.