On Mon, 2023-09-04 at 16:51 +0200, Tomas Hrcka wrote:
Current uses of PDC:
Critical Path Package Tracking: Bodhi leverages PDC to track packages on the critical path.
/rest_api/v1/component-branches/: Specifically, Bodhi will handle the critical-path flag.
Bodhi's existing framework aligns well with releases and components. To enhance this, we will create an auxiliary table that pairs this data with additional metadata,
predominantly focusing on the critical-path flag. Previously, we had to query this information from PDC.
It's essential to note that PDC is not the definitive source of truth for critical-path packages. The Fedora Project Critical Path Package Wiki indicates that the source of truth lies within the Fedora Comps repository.
You can find specific information by searching for groups with the "critical-path-*" prefix, as demonstrated here.
While the data is accessible through DNF, generating it can be time-consuming. PDC serves as a pre-computed cache.
Previously, we followed this process to update it, but now we have transitioned to using this method.
The primary application of this information during the Fedora release cycle is in Bodhi, where it is used to enforce stricter requirements on critical-path package updates. For further details, please refer to this link.
This is all done already. I did it months ago:
https://github.com/fedora-infra/bodhi/pull/4755 https://github.com/fedora-infra/bodhi/pull/4759 https://pagure.io/fedora-infra/ansible/pull-request/1294 https://pagure.io/fedora-infra/ansible/c/fea60aab95bd45960dbf4a0514c5df28a86... https://pagure.io/fedora-infra/ansible/c/842db118e88b987dbb5ab98f4d17556aba0...
We no longer use PDC for critical path information and, indeed, we dropped the code for doing so from Bodhi last month:
https://github.com/fedora-infra/bodhi/pull/5431
BTW, the email seems kind of weird. There are lots of places where it seems like it's referring to external information - "as demonstrated here", "Previously, we followed this process to update it, but now we have transitioned to using this method" - but it does not actually link to anything external, so I have no idea what the references are meant to be?