Update Critpath


Critpath = "Critical Path"

This is a collection of packages deemed "critical" to Fedora


Bodhi has information about which packages are critpath and which are not. A script that reads the dnf repodata (critpath groups in comps, and the package dependencies) is used to generate this. In the normal course of events, an OpenShift cron job (called fedora-bodhi-critpathcron) updates this information daily, and no manual intervention is needed, but the steps to update it manually are documented here in case of need.


  1. The release engineering script for updating critpath lives in the releng git repository. Check this out.

  2. Run the script. If run with all, it will generate the info for all current releases, and name the output files as Bodhi expects. Otherwise you can specify the release to generate info for, and the output filename. For stable releases, use the release number. For Branched and Rawhide, you can use the release number, or "branched" or "rawhide". Using --srpm is important as Bodhi expects to get the names of SRPMs in the critical path, not binary RPMs.

    ./critpath.py --srpm all
    ./critpath.py --srpm -j f38.json 38
  3. Place the generated files in the directory where Bodhi will look for them. This is specified by the critpath.jsonpath config setting, the default is /etc/bodhi/critpath. With a monolithic Bodhi server, server, this is quite easy. In the current containerized OpenShift deployment, we keep this data in a persistent volume and mount it at /etc/bodhi/critpath in the webUI pod, the consumers pod, and the celery pod (which runs the cron job that updates it).