CPT - look back at 2024
Let me sum up what the Community Packaging Team (CPT) did during 2024:
Copr
- Most of our focus is on Copr build system. These are notable features and improvements we did in Copr:
- IBM allowed us to use eighteen s390x machines for Fedora’s Copr. We added it to pool of builders.
- Pavel finalized the “high-performance s390x builders” in Fedora’s Copr, which can be enabled as an opt-in. You can use this feature for
x86_64
,aarch64
ands390x
architectures now. As of today several projects use this feature - that includes projects that build kernel, chromium, QT, texlive or AI packages. - At the February, we started working on integrating Pulp into Copr (blogpost) As of today, a project can be configured to use either the old backend or Pulp backend. We plan to dogfood this feature in December and migrate some of our repositories to Pulp. In January 2025 we plan to make it publicly available as opt-in for early testers (with a documented set of features that still does not work). Here is an example of a project that stores results in Pulp: https://copr.fedorainfracloud.org/coprs/g/copr/pulp-test/ You can try it live.
- Jakub updated the Copr screenshot tutorial
- Jirka fixed a performance issue caused by a Power9 VM spawning issues in OSUOSL OpenStack
- We had another round of discussion with TestingFarm and CKI about sharing the code that manages workers (short lived VMs).
- Jakub created a video tutorial documentation page for Copr
- We wrote two articles for Fedora Magazine “4 cool new projects to try in Copr”: one in March and second in October
- We did four releases of Copr including these features:
- SSH access to Copr builders
- Ability to use your own dedicated builders - no one used this so far.
- Self documenting API using RestX
- Jakub wrote a blogpost describing to new contributors how they can start contributing.
- Pavel wrote about our new policy for rolling chroots.
- Jakub wrote down the plan of how we are going to EOL Modularity in Copr.
- Jakub started to investigate an issue with prolonging RPM GPG keys
- We worked on lots of issues with Copr’s storage as current Copr storage usage is 33TB and weekly incremental diff is about 4TB.
- We worked on [expired GPG keys issue](https://github.com/fedora-copr/copr/issues/2894#issuecomment-2454539349] that resulted in subsequent work in DNF and Fedora Change proposal.
- Copr built 1,640,000 builds during the whole year. That is about 3 builds every minute.
Fedora
Some of our side works has notable impact on Fedora Linux:
- Pavel and Evan (from DNF team) worked on Fedora Change Build Fedora with DNF 5 - Fedora’s Koji started using DNF5 as base package manager during builds.
- Miroslav cleaned 30k AMIs and 30k snapshots from Fedora’s AWS account and drafted next steps in cleanup of old stuff there.
- Miroslav tagged all Fedora’s GA images in AWS (in all regions) with proper tag.
- Jakub made several improvements to the Fedora Packager Sponsors page.
- Miroslav altered his regular emails about Fedora’s cloud spending and resource usage to show dollars spent (believe or not, until now no one had a clue).
- Jakub helped the Pulp team to package client tools for Fedora.
SPDX
- Miroslav continued working on SPDX Change:
- We started the year with 60 % of Fedora packages converted to SPDX (out of 30067 license tags). And we closed the year with 99% tags converted.
- Miroslav added 98 new licenses to fedora-license-data (with great help of Richard Fontana).
- Miroslav added 70 new licenses to upstream project SPDX.org (with great help of Jilayne Lovejoy).
- Miroslav made about 450 PR for Fedora packages correcting the License tags.
- Jakub created a proof of concept for continuous license validation In case we need CI for licenses.
- Miroslav did package reviews for scancode-toolkit and its dependencies (a lot of them).
- Miroslav created script and gitlab action that produces License policy for Scancode Toolkit from Fedora’s data.
Released SW
Beside Copr, we maintain several project and this year we did these notable releases:
- Pavel did six releases of Mock and nine releases of Mock core configs. And configured Mock to use TestingFarm for CI. Notable new feature of Mock added this year:
- Jakub did three releases of Tito.
- Jakub created a new project fedora-distro-aliases and packaged it for Fedora, This is shared code by several projects. Inspired by this, Dan Cermak from SUSE created opensuse-distro-aliases
- Pavel did new releases for resalloc (v5.2 and v5.3), resalloc-aws, resalloc-ibm-cloud and resalloc-openstack. Overall stability and convenience fixes, making the “agent spawner” stable.
Logdetective
- We launched https://logdetective.com/ website - and started working on AI tool that will tell you why the build fails and give you a hint on how to fix the failing build.
- The project lives at https://fedora-copr.github.io/posts/log-detective .
- We investigated usage of logjuicer, but then found drain3 as a better tool
- In parallel to that we are collecting our own collection that we plan to use as foundation to our own model. Likely using InspectLab.
- We packaged a logdetective command line tool for Fedora. Including several AI related dependencies
- Jiri Podivin delivered a talk at LinuxDays (in Czech).
Other
- Jakub published a blogpost and a video about Vim LSP (Language Server Protocol) created on day of learning.
- Jakub added vcs-diff-lint support for Ruff.
What can you expect from us in 2025?
In a few days - maybe still in 2024 - Pavel wants to release a new version of Mock that will have a nice feature Generate and use OCI images for buildroot.
You can check our Kanban board and check the column “in 3 months”. Notably we will work on DNF5 plugin support and design of EPEL10 chroots in Mock.
As noted above we plan to allow as opt-in migration of projects to Pulp backend. This feature has no direct impact on users, but significantly ease our maintenance.
If you want to affect what else we do in 2025 you can check our backlog and cast your vote (use emoticon for comment #0) or add a comment on how much time will save the feature if implemented. And we will choose the card that will have biggest impact.