A critical path package is a specially managed package in Fedora that provides some essential or core functionality. Updates for critical path packages must undergo additional verification before they can be distributed to the community at large.
Background
Previously, documented policy treated every package the same. While good for uniformity, in reality certain packages require extra attention and care when updating and testing. These packages have potential to break the critical path of use of our Fedora distribution. As part of a Fedora Activity Day, several contributors proposed a critical set of actions that must not be broken. The packages required to sustain these actions make up the critical path.
Actions
Packages within the critical path are required to perform the most fundamental actions on a system. Those actions include:
- graphical network install
- post-install booting
- decrypt encrypted filesystems
- graphics
- login
- networking
- get updates
- minimal buildroot
- compose new trees
- compose live
Implementation
A set of groups are defined in the comps.xml
file to include packages required for the critical use cases listed above. Since package dependencies change regularly, the comps.xml
groups are then used to dynamically generate the list of packages.
The critical path package groups in comps.xml
are listed below:
@core @critical-path-base @critical-path-gnome @critical-path-apps @critical-path-kde @critical-path-lxde @critical-path-xfce
You can list the packages in these groups with the following command, replacing 'critical-path-base' with the name of the group you're interested in:
dnf group info critical-path-base
For more information on comps.xml
see how to use and edit comps.xml for package groups.
Where can I find the critical path?
The critical path package list for all releases is stored in PDC.
The most recent lists of critical path packages are available at:
Read API documentation here.