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 exceptions are Module hotfixes and module dependencies, which are staying for good (until they are supported by Mock and DNF).
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.