Branching SOP

This document outlines the procedures for activities that occur on "branch day": when the next Fedora Linux release branches from Rawhide.

Many of the branching activities are handled by Release Engineering, but several are in the scope of the Fedora Program Manager.

Timing/trigger

This process occurs once per release. The branch day happens between the mass rebuild and the Beta freeze.

Procedures

All of the following procedures should be run in the order listed.

Update Bugzilla product description

  1. Adjust wording of the Fedora product in Bugzilla to reflect the branch.

Bugs related to the components of the Fedora distribution. If you are reporting a bug
against a stable release or a branched pre-release version, please select that
version number. The currently maintained released versions are: Fedora Linux N-1, Fedora Linux N.
The branched pre-released version is Fedora Linux N+1. If you have a bug to report against
the daily development tree (rawhide), please choose 'rawhide' as the version.

For more information about filing a bug against Fedora packages, see
https://docs.fedoraproject.org/en-US/quick-docs/howto-file-a-bug/

Create N+1 version

  1. Create N+1 in Bugzilla’s Fedora product versions.

  2. Create N+1 in Bugzilla’s Fedora Container Images product versions.

Branch Rawhide bugs

If you run this after Branch Day, you will need to add constraint on the bug open date. See below.
  1. Change the F<N+1>Changes bug and bugs that block it to the branched version.

  2. Run the fedora_bz.py script to change the version on rawhide bugs to the new release. For example: ./fedora_bz.py branch 40 (if the new release is 40).

  3. If you are running the script late, use the --date option to specify the branch date: ./fedora_bz.py branch --date=2024-02-06 40. This will make the script only change the version on bugs filed before the branch date.

This script will take a while to run. Execute it from a machine with stable power and networking.

This Bugzilla query is similar to the one the script uses to select bugs that meet the criteria. You can use it to check the list before running the script if you like.

Update Product Pages

  1. Set F<N> to the "Development/Testing" phase.

  2. Set F<N+1> to the "Development" phase.