From Fedora Project Wiki

(Updated links)
(24 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{for|information on the proposal|Critical Path Packages Proposal}}
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 =
= Background =


The ''critical path'' is defined as the set of packages required to perform the most fundamental actions on a Fedora system.  The list of actions is available at [[Critical_Path_Packages_Proposal#What_is_the_critical_path_of_actions.3F]].
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 {{filename|comps.xml}} file to include packages required for the critical use cases listed above.  Since package dependencies change regularly, the {{filename|comps.xml}} groups are then used to dynamically generate the list of packages.
 
The critical path package groups in {{filename|comps.xml}} are listed below:
<pre>@core
@critical-path-base
@critical-path-gnome
@critical-path-apps
@critical-path-kde
@critical-path-lxde
@critical-path-xfce</pre>
 
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. For Fedora 22 and later versions use [[dnf|DNF]]:
 
<pre>dnf group info critical-path-base</pre>
 
Or with Yum for older releases:
<pre>yum groupinfo critical-path-base</pre>
 
For more information on {{filename|comps.xml}} see [[how to use and edit comps.xml for package groups]].


= Where can I find the ''critical path''? =
= Where can I find the ''critical path''? =


The list of critical path packages is a dynamically generated list of packages based on package dependencies.  The list is generated daily during the [[Releases/Rawhide|Rawhide]] compose process.  For more information on how the list is generated, see [[Critical_Path_Packages_Proposal#When_and_how_to_determine_packages_within_the_path]].
The critical path package list is stored in the packagedb for both [[Releases/Rawhide|rawhide]] and [[Releases/Branched|branched]].  


The most recent list of critical path packages are available at:
The most recent list of critical path packages are available at:
* Branched (aka {{FedoraVersion|long|next}}) - [http://kojipkgs.fedoraproject.org/mash/branched-{{CURRENTYEAR}}{{CURRENTMONTH}}{{#time: d | {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} - 1 day}}/logs/critpath.txt http://kojipkgs.fedoraproject.org/mash/branched-{{CURRENTYEAR}}{{CURRENTMONTH}}{{#time: d | {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} - 1 day}}/logs/critpath.txt]
* Rawhide - [http://kojipkgs.fedoraproject.org/mash/rawhide-{{CURRENTYEAR}}{{CURRENTMONTH}}{{#time: d | {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} - 1 day}}/logs/critpath.txt http://kojipkgs.fedoraproject.org/mash/rawhide-{{CURRENTYEAR}}{{CURRENTMONTH}}{{#time: d | {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} - 1 day}}/logs/critpath.txt]


* [https://admin.fedoraproject.org/pkgdb/api/critpath?tg_format=plain&collctn_list=f{{FedoraVersion||next}} Branched] (aka {{FedoraVersion|long|next}})
* [https://admin.fedoraproject.org/pkgdb/api/critpath?tg_format=plain&collctn_list=devel Rawhide] (aka {{FedoraVersion|long|next2}})
<!--
<!--
SAMPLE USAGE of the Parser Function #time -- See http://www.mediawiki.org/wiki/Help:Extension:ParserFunctions#.23time
{{#time: d | {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} - 1 day}}
{{#time: d | {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} - 1 day}}
* Branched (aka {{FedoraVersion|long|next}}) - [http://kojipkgs.fedoraproject.org/mash/branched-{{CURRENTYEAR}}{{CURRENTMONTH}}{{#time: d | {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} - 1 day}}/logs/critpath.txt http://kojipkgs.fedoraproject.org/mash/branched-{{CURRENTYEAR}}{{CURRENTMONTH}}{{#time: d | {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} - 1 day}}/logs/critpath.txt]
* Rawhide - [http://kojipkgs.fedoraproject.org/mash/rawhide-{{CURRENTYEAR}}{{CURRENTMONTH}}{{#time: d | {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} - 1 day}}/logs/critpath.txt http://kojipkgs.fedoraproject.org/mash/rawhide-{{CURRENTYEAR}}{{CURRENTMONTH}}{{#time: d | {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} - 1 day}}/logs/critpath.txt]
-->
-->

Revision as of 09:09, 8 October 2015

For information on the proposal, see Critical Path Packages Proposal.

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. For Fedora 22 and later versions use DNF:

dnf group info critical-path-base

Or with Yum for older releases:

yum groupinfo 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 is stored in the packagedb for both rawhide and branched.

The most recent list of critical path packages are available at: