From Fedora Project Wiki
(Note the empty updates repo available for convenience)
(make NoMoreAlphas changes (as proposed at https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/KIVWSHFKRS4RJEFTCAWZBKDCCETKPI4F/ ))
(18 intermediate revisions by 6 users not shown)
Line 3: Line 3:
= Branched =
= Branched =


Branched is the name given to a version of Fedora that has "branched" off of Rawhide and will become the next stable Fedora release. It consists of a package repository named with the Fedora version it will become and contains builds of all Fedora packages updated by maintainers with the goal of stablizing before release and fixing any release features. Nightly live image builds are also available during the later portion of the [[Fedora Release Life Cycle]].
Branched is the name given to a version of Fedora that has "branched" from the rolling [[Releases/Rawhide|Rawhide]] tree and will become the next stable Fedora release. It consists of [http://download.fedoraproject.org/pub/fedora/linux/development/{{FedoraVersionNumber|next}} a Fedora development release tree]<ref>Link will only work when a Branched release currently exists.</ref> named after the Fedora release it will become. It contains builds of all Fedora packages updated by maintainers with the goal of stabilizing before release and fixing any release [[Changes/Policy|Changes]]. Full nightly composes are also produced each night when a Branched release exists, usually containing all images and installer trees (minus any which fail to build).


Branched is sometimes referred to by the Fedora release it will become. ie, "Fedora 19 Branched"  
Branched may be referred to by the Fedora release it will become, e.g. "{{FedoraVersion|long|next}} Branched".
 
<references/>


== Goals ==
== Goals ==


Branched has the following Goals:  
Branched has the following goals:  


* To allow package maintainers to integrate their packages into Fedora for a stable release.  
* To allow package maintainers to integrate their packages into Fedora for a stable release.  
Line 15: Line 17:
* To identify and fix issues with packages before they reach a stable release of Fedora.
* To identify and fix issues with packages before they reach a stable release of Fedora.


== Using Branched ==
== Audience ==
 
This section discusses Branched target users and how to test Branched with Live media, within a virtual installation or on a bare metal installation.
 
=== Audience ===


Branched is targeted at advanced users, testers and package maintainers.  
Branched is targeted at advanced users, testers and package maintainers.  
Line 27: Line 25:
* Be willing to update often. Branched doesn't get as many updates as rawhide (and at times they are frozen), but it still gets a larger amount than a Stable release.  
* Be willing to update often. Branched doesn't get as many updates as rawhide (and at times they are frozen), but it still gets a larger amount than a Stable release.  


* Be willing and able to troubleshoot problems. From time to time there are problems with Branched packages, and you will need strong troubleshooting skills and the ability to gather information for bug reports. You need a good understanding of yum and how to downgrade packages, as well as boot time troubleshooting.
* Be willing and able to troubleshoot problems. From time to time there are problems with Branched packages, and you will need strong troubleshooting skills and the ability to gather information for bug reports. You need a good understanding of [[yum]] or [[dnf]] and how to downgrade packages, as well as boot time troubleshooting.


* Frequent reboots to test new kernel versions and confirm functionality of the boot process. If you can't reboot often, consider using a stable release instead.
* Frequent reboots to test new kernel versions and confirm functionality of the boot process. If you can't reboot often, consider using a stable release instead.
Line 33: Line 31:
* Be willing and able to report bugs as you find them and help maintainers gather information to fix them.  
* Be willing and able to report bugs as you find them and help maintainers gather information to fix them.  


If the above doesn't match you, you may wish to instead follow the [[Releases/Rawhide|Rawhide]] release (depending on the point in the [[Releases/{{FedoraVersion||next}}/Schedule|release cycle]]) or use regular stable Fedora releases.
If the above doesn't match you, you may wish to instead follow the [[Releases/Rawhide|Rawhide]] release (depending on the point in the [[Releases/{{FedoraVersion||next}}/Schedule|release cycle]]) or use regular stable Fedora releases.
 
=== Live media ===
 
After the [[Releases/{{FedoraVersion||next}}|Branch event]], but before the Fedora stable release,  [http://alt.fedoraproject.org/pub/alt/nightly-composes/ nightly builds] will be composed from Branched. You may be able to use these automated Live images to boot and test Branched. These images are automatically composed and not tested by [[QA]]
 
=== Virtual instances  ===
 
You may wish to install and run Branched in a virtual machine (VM) instance. This allows you to test when not running Linux, or avoid any impact to your day-to-day workflow.
 
See the section below on setting up a Branched install.
 
=== Getting a Branched install ===
 
The Branched tree is directly installable (barring problems).
 
==== Install from Live media ====
 
If Live media are being composed from Branched (see above), you may be able to download the Live media, copy it to local media, boot and install Branched.
 
This is the most fragile way to get a Branched install, as Live media is only produced at some points in the cycle, sometimes does not compose, and when it does, may not install correctly.
 
==== Point installer to Branched ====
 
You can sometimes install Branched by using a stable install media and pointing it to the Rawhide repository for packages to install.
 
# Download the latest stable or branched install media. (netinstall or DVD install)
# Copy to local media (USB or DVD or CD)
# Boot media and go to the 'Install Source' section and manually enter:<br />https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/x86_64/os/<br />(or i386 for 32bit)
# Finish the install as normal.
 
For this method to work, there should be no major changes in Branched that the installer is not ready for, such as packages it depends on being retired or other similar situations.
 
==== Yum from Existing install ====
 
You may use yum to upgrade from the most recent Stable or Branched release. You will need to have such an install in place and should likely update to the newest updates before starting.
 
See [[Upgrading_Fedora_using_yum#To_rawhide|Upgrading Fedora using yum Branched info]]
 
This method may fail if there are upgrade path issues (newer packages in Stable or Branched than Branched), or broken dependencies.
 
==== Latest milestone or test images ====
 
At Alpha, Beta and final, a set of install images (DVD and netinstall) and live images for desktops are produced. You can use these to install branched.
 
Before each of the above milestones, TC and RC images are sometimes available. TC or Test Compose imags are done before milestones when there are known release blocking bugs that need addressing. RC images (Release Candidate) are produced when all known blocker bugs for a release are addressed. If no further blocker bugs are found in an RC image, that RC will become (with no further changes) the release.
 
TC images may or may not install correctly.
 
RC images may or may not install correctly, but you can usually find the list of known blockers to see if they affect you.  


Alpha and Beta images should install correctly in most cases. This is the preferred way to install if those milestones have been reached.
{{Rawhide_branched_install_methods|release=Branched}}


=== Communicating  ===
== Communicating  ==


There are a number of ways to communicate with other Branched users:  
There are a number of ways to communicate with other Branched users:  


==== IRC ====
=== IRC ===


Branched discussion is on topic and welcome in both the #fedora-devel and #fedora-qa IRC channels.  
Branched discussion is on topic and welcome in both the #fedora-devel and #fedora-qa IRC channels.  


==== Mailing Lists ====
=== Mailing Lists ===


Branched discussion is on topic and welcome in both the {{fplist|test}} and {{fplist|devel}} lists.
Branched discussion is on topic and welcome in both the {{fplist|test}} and {{fplist|devel}} lists.


==== Bugzilla ====
=== Bugzilla ===


Branched bugs should be reported against the Fedora Product, and version that this branched will become and the affected component.  Please do follow [[BugsAndFeatureRequests|best practices]] when filing. Remember that IRC and mailing lists are useful to help narrow down if some behavior is a bug or where to report it, but are themselves not bug reporting channels. Always file bugs in [http://bugzilla.redhat.com Bugzilla].
Branched bugs should be reported against the Fedora Product, and version that this branched will become and the affected component.  Please do follow [[BugsAndFeatureRequests|best practices]] when filing. Remember that IRC and mailing lists are useful to help narrow down if some behavior is a bug or where to report it, but are themselves not bug reporting channels. Always file bugs in [https://bugzilla.redhat.com Bugzilla].


Note that broken dependencies are mailed to maintainers for each daily Branched compose where a package has such broken dependencies. Therefore, it's usually not worth filing a bug for broken dependencies unless they don't appear in the daily report, or you have a fix or improvement to suggest.
Note that broken dependencies are mailed to maintainers for each daily Branched compose where a package has such broken dependencies. Therefore, it's usually not worth filing a bug for broken dependencies unless they don't appear in the daily report, or you have a fix or improvement to suggest.
Line 106: Line 55:
== Producing Branched ==
== Producing Branched ==


Branched goes through several phases:
The Branched compose runs every day starting at 09:15UTC. All branched package builds at that time that are marked as [[Repositories#stable|''stable']] are included in the compose attempt. If any release-blocking image fails to build as part of the compose, the compose is considered to have failed. If the compose completes successfully, a set of automated tests intended to check its compliance with the [[Basic Release Criteria]] are run. If these tests pass, the compose will be 'synced out' to the mirror system. Note that during [[Milestone_freezes|freezes]] there will be many days where 0 packages are added to the compose. The Branched tree is under {{filename|development/VERSION}} on the mirrors. You can find a local "{{FedoraVersionNumber|next}}" mirror [http://mirrors.fedoraproject.org/publiclist/Fedora/{{FedoraVersionNumber|next}}/ on the public mirror list]. Compose time varies depending on number of changes but is typically between 5 and 8 hours.  
 
The Branched compose runs every day starting at 09:15UTC. All branched builds at that time that are stable are composed and sycned out. Note that during freezes there will be many days where 0 packages are added to the compose. Branched is under "development/VERSION" on the mirrors. You can find a local "{{FedoraVersionNumber|next}}" mirror [http://mirrors.fedoraproject.org/publiclist/Fedora/{{FedoraVersionNumber|next}}/ on the public mirror list]. Compose time varies depending on number of changes but is typically between 5 and 8 hours.
 
Right after branching off from rawhide, but before alpha change freeze, Branched is much like Rawhide. All packages built the previous day are composed and synced out. Bodhi is not used yet.
 
At alpha change freeze, Bodhi (the Fedora updates system) is enabled. All builds must now use it. Builds are pushed to updates-testing repository and after meeting critera for stable are added to the base package repository, which is still composed once a day. During the Alpha change freeze, only updates that fix accepted blocker bugs or freeze exceptions are allowed to go stable. There is also an empty updates repository, so that you can leave stable updates configured during the branch period and not have to change this after the release.
 
As soon as Alpha is set to "go", the Alpha change freeze is lifted and packages can once again go to the base repository when marked stable.
 
At the Beta change freeze, again only builds that are accepted blockers or freeze exceptions are allowed to go stable. After Beta is "go" stable builds are again pushed.  


At the Final change freeze, things happen much as Alpha and Beta, however, after Final is signed off on, the branched compose is disabled completely, and packages set to go stable are pushed to a new 'updates' repoistory and become 0 day updates.  
Branched is subject to various [[:Category:Policy|policies]] during its life cycle. For most of its existence, it is subject to the [[Updates Policy]] and package updates for it are gated through the [[Bodhi]] package review process. At various points of the [[Fedora Release Life Cycle]], other freezes, policies and requirements come into effect, including the [[Software String Freeze Policy]], the [[Milestone freezes]], and the [[Changes/Policy|Change freezes]]. See all the above links for more details on exactly what changes may occur in the Branched tree under what conditions at what times.


Composes are done in a rawhide chroot using the 'mash' tool called from a script maintained by Fedora Release engineering: http://git.fedorahosted.org/cgit/releng/tree/scripts/buildrawhide If the base set of packages in rawhide needed to compose rawhide are broken, the daily compose may fail.  
Composes are done using the 'mash' and [https://pagure.io/pungi Pungi] tools called from a [http://git.fedorahosted.org/cgit/releng/tree/scripts/buildrawhide script maintained by Fedora Release engineering].  If the base set of packages needed to compose are broken, the daily compose may fail.  


A report for each Branched compose is sent to to the {{fplist|test}} and the {{fplist|devel}} lists. This report contains output from the 'repodiff' tool from the previous compose as well as a broken dependency report for packages with broken dependencies. Additionally, private email is sent to maintainers with packages containing broken dependencies.  
A report for each Branched compose is sent to to the {{fplist|test}} and the {{fplist|devel}} lists. This report contains output from the [https://pagure.io/compose-utils compose-changelog] tool from the previous compose as well as a broken dependency report for packages with broken dependencies. Additionally, private email is sent to maintainers with packages containing broken dependencies.  


Package maintainers should read and follow the [[Updates_Policy#Branched_release|Branched release updates policy]] for building any packages in Branched.
Package maintainers should read and follow the [[Updates_Policy#Branched_release|Branched release updates policy]] for building any packages in Branched.


Branched packages are not 100% signed until the Alpha Change freeze milestone.
Until the [[Updates Policy#Bodhi enabling|Bodhi enabling point]], you cannot expect all packages in the Branched tree to be signed. To use Branched at these times, GPG signature checking in your package management tool must be disabled.


== Questions and Answers ==
== Questions and Answers ==
Line 132: Line 71:
'''Q:''' So Branched is very stable and we can all use it?  
'''Q:''' So Branched is very stable and we can all use it?  


A: No. See audience above. There are things that break from time to time, but if you are able to downgrade or troubleshoot such issues aren't too severe, however most users should stick to Stable Fedora releases.  
A: Not quite, though it has improved substantially in recent years. Still, see audience above. There are things that break from time to time, but if you are able to downgrade or troubleshoot such issues aren't too severe, however most users should stick to stable Fedora releases.  


'''Q:''' I'm using a Stable Fedora release, but I want the newer package for foo thats only available in Branched. Can I just yum install it?
'''Q:''' I'm using a stable Fedora release, but I want the newer package for foo thats only available in Branched. Can I just yum|dnf install it?


A: No. Mixing releases like this is a very bad idea. Your better options are:  
A: No. Mixing releases like this is a very bad idea. Better options are:  


* Obtain the src.rpm for the package you wish and try and rpmbuild --rebuild it (which may or may not work depending on dependencies)
* Obtain the src.rpm for the package you wish and try and [[Using_Mock_to_test_package_builds|mock]] rebuild it (which may or may not work depending on dependencies)
* Ask the Fedora maintainer in a bug report to update the stable version if permitted by policy.  
* Ask the Fedora maintainer in a bug report to update the stable version if permitted by policy.  


Line 147: Line 86:
== Hints and Tips ==
== Hints and Tips ==


* Your package management system can be of great help in diagnosing and working around issues you find. Do read up and understand: 'yum downgrade' 'yum history' 'yum update --skip-broken' 'koji download-build'.  
* Your package management system can be of great help in diagnosing and working around issues you find. Do read up and understand: 'yum|dnf downgrade' 'yum|dnf history' 'yum update --skip-broken' or 'dnf upgrade' 'koji download-build'.  


* You should update frequently (preferably every day). This allows you to more easily narrow down when a problem or issue appeared. If you apply a week of Branched updates at once you have many more packages to examine to narrow down issues.  
* You should update frequently (preferably every day). This allows you to more easily narrow down when a problem or issue appeared. If you apply a week of Branched updates at once you have many more packages to examine to narrow down issues.  
Line 153: Line 92:
* Reboot often (preferably whenever new kernels arrive). This allows you to test the boot up process and packages related to it, as well as newer kernels. Read and understand the Dracut troubleshooting steps.  
* Reboot often (preferably whenever new kernels arrive). This allows you to test the boot up process and packages related to it, as well as newer kernels. Read and understand the Dracut troubleshooting steps.  


* Follow the {{fplist|test}} and the {{fplist|devel}} lists for rawhide issues, try and at least skim them before doing your daily Branched updates. Look for '[rawhide]' subjects or reports of issues. Additionally if you find a problem and are not sure what to file bugs against you can open a discussion there.  
* Follow the {{fplist|test}} and the {{fplist|devel}} lists for Branched issues, try and at least skim them before doing your daily Branched updates. Look for '<nowiki>[</nowiki>branched<nowiki>]</nowiki>' or '<nowiki>[</nowiki>{{FedoraVersionNumber|next}}<nowiki>]</nowiki>' subjects or reports of issues. Additionally if you find a problem and are not sure what to file bugs against you can open a discussion there.  


* Branched kernels are made with a large amount of debugging enabled. You can often gain a good deal of performance by passing "slub_debug=-" to your kernel boot line in /etc/grub2.cfg. Additionally, you can run kernels in the [[RawhideKernelNodebug|Rawhide Kernel Nodebug]] repo that have all debugging disabled.  
* At some times, Branched kernels are made with a large amount of debugging enabled. You can often gain a good deal of performance by passing "slub_debug=-" to your kernel boot line in {{filename|/etc/grub2.cfg}}. Additionally, you can run kernels in the [[RawhideKernelNodebug|Rawhide Kernel Nodebug]] repo that have all debugging disabled.  


* If you are using a graphical desktop environment in your Branched install, you may wish to install several of them. This allows you to still login and troubleshoot when your primary desktop environment is not working for some reason.
* If you are using a graphical desktop environment in your Branched install, you may wish to install several of them. This allows you to still login and troubleshoot when your primary desktop environment is not working for some reason.
Line 165: Line 104:
Branched was created as part of the "No frozen Rawhide" proposals:  
Branched was created as part of the "No frozen Rawhide" proposals:  


http://fedoraproject.org/wiki/No_Frozen_Rawhide_Proposal
* [[No Frozen Rawhide Proposal]]
* [[No Frozen Rawhide Implementation]]
 
[[Category:Releases]]
[[Category:Release Engineering]]


http://fedoraproject.org/wiki/No_Frozen_Rawhide_Implementation
<references/>

Revision as of 00:18, 12 October 2017

Branched

Branched is the name given to a version of Fedora that has "branched" from the rolling Rawhide tree and will become the next stable Fedora release. It consists of a Fedora development release tree[1] named after the Fedora release it will become. It contains builds of all Fedora packages updated by maintainers with the goal of stabilizing before release and fixing any release Changes. Full nightly composes are also produced each night when a Branched release exists, usually containing all images and installer trees (minus any which fail to build).

Branched may be referred to by the Fedora release it will become, e.g. "Fedora 40 Branched".

  1. Link will only work when a Branched release currently exists.

Goals

Branched has the following goals:

  • To allow package maintainers to integrate their packages into Fedora for a stable release.
  • To allow advanced users access to the newer packages than stable releases typically provide.
  • To identify and fix issues with packages before they reach a stable release of Fedora.

Audience

Branched is targeted at advanced users, testers and package maintainers.

As a branched consumer, you should:

  • Be willing to update often. Branched doesn't get as many updates as rawhide (and at times they are frozen), but it still gets a larger amount than a Stable release.
  • Be willing and able to troubleshoot problems. From time to time there are problems with Branched packages, and you will need strong troubleshooting skills and the ability to gather information for bug reports. You need a good understanding of yum or dnf and how to downgrade packages, as well as boot time troubleshooting.
  • Frequent reboots to test new kernel versions and confirm functionality of the boot process. If you can't reboot often, consider using a stable release instead.
  • Be willing and able to report bugs as you find them and help maintainers gather information to fix them.

If the above doesn't match you, you may wish to instead follow the Rawhide release (depending on the point in the release cycle) or use regular stable Fedora releases.

Using Branched

This section discusses how to use Branched, as a live system or permanently installed.

Using a test system

If you are not able or wanting to run Branched as your primary system you could instead run it:

  • As a live environment only
  • In a virtual machine (VM) instance
  • On a secondary system
  • On a multiboot system, alongside a stable release of Fedora or another operating system

This allows you to test Branched without any impact to your day-to-day workflow.

Install from nightly composes

Each day (or sometimes more than once per day) that Branched exists, a full 'compose' of the tree is attempted. This will usually result in the creation of all or most of the usual install, live and disk images, installer trees and so forth. Successful composes are synced to the /fedora/linux/development/ directory on the mirrors, and you can find the images there.

Each successful compose is tested by openQA and a mail summarizing the results is sent to the devel and test mailing lists, so you can check the openQA interface or the 'compose check report' emails to check whether that day's compose is installable. You may also use the nightly image finder tool maintained and hosted by a Fedora QA team member, which conveniently offers the last completed build for each image and the last that passed all tests, for openQA or Autocloud-tested images.

At least the Server and Everything network install images should always be present, as composes are considered to have failed if creation of those images fails. However, at present they are not guaranteed to be working every day.

Follow the normal installation procedure to install Branched.

For PXE installations, the relevant files can be found in the pub/fedora/linux/development/40/Everything/(arch)/os/images/pxeboot directory.

Using nightlies in the past was a fragile way to install Branched, but with improved compose processes since Fedora 24 and automated testing since Fedora 23, their quality has improved substantially and this will often result in the best experience.

Install a pre-release

If the Branched release has already spawned an Alpha or Beta release, you can simply install that. It should be available from the Fedora download page - if an Alpha or Beta is available, you should see mentions of it around the site. Install and then update as usual. Installing a pre-release and following normal update procedures will result in your installation tracking the Branched release.

Pre-releases undergo somewhat more intensive testing than nightly composes, but on the other hand, a nightly compose a few days before the Beta release may well work much better than the Alpha release did. Alpha releases can be expected to meet the Alpha Fedora Release Criteria, and Beta releases to meet the Beta criteria.

Before each of the above milestones, 'candidate' compose images are sometimes available. These are produced as part of the process of validating releases. These images may or may not install correctly, but you can usually find the list of known blockers to see if they affect you. You can also refer to the validation results page for the compose to see how well it works, according to the QA testers.

Point installer to Branched

You can sometimes install Branched by using a stable install media and pointing it to the Branched repositories for packages to install. In the past this was sometimes considered a more reliable method than using a Branched compose, but with improvements to the compose and test process in the last few years this is rarely likely to be a good choice any longer. If you wish to try it, however, you can:

  1. Download the latest stable or branched install media (network install or offline ("DVD") installer image)
  2. Copy to local media (USB or DVD or CD)
  3. Boot media and go to the 'Installation Source' screen and manually enter: https://download.fedoraproject.org/pub/fedora/linux/development/40/Everything/x86_64/os/ (or i386 for 32-bit)
  4. Finish the install as normal.

For this method to work, there should be no major changes in Branched that the installer is not ready for, such as packages it depends on being retired or other similar situations.

Upgrade from existing stable install

You may use DNF_system_upgrade to upgrade from the most recent stable release. You will need to have such an install in place and should definitely update to the newest updates before starting. As an exception, if you are using a immutable variant like Silverblue, you may use rpm-ostree rebase to perform the upgrade, see Fedora Docs for more details.

This method may fail if there are upgrade path issues (newer packages in stable or than Branched), or broken dependencies.


Communicating

There are a number of ways to communicate with other Branched users:

IRC

Branched discussion is on topic and welcome in both the #fedora-devel and #fedora-qa IRC channels.

Mailing Lists

Branched discussion is on topic and welcome in both the test and devel lists.

Bugzilla

Branched bugs should be reported against the Fedora Product, and version that this branched will become and the affected component. Please do follow best practices when filing. Remember that IRC and mailing lists are useful to help narrow down if some behavior is a bug or where to report it, but are themselves not bug reporting channels. Always file bugs in Bugzilla.

Note that broken dependencies are mailed to maintainers for each daily Branched compose where a package has such broken dependencies. Therefore, it's usually not worth filing a bug for broken dependencies unless they don't appear in the daily report, or you have a fix or improvement to suggest.

Producing Branched

The Branched compose runs every day starting at 09:15UTC. All branched package builds at that time that are marked as stable' are included in the compose attempt. If any release-blocking image fails to build as part of the compose, the compose is considered to have failed. If the compose completes successfully, a set of automated tests intended to check its compliance with the Basic Release Criteria are run. If these tests pass, the compose will be 'synced out' to the mirror system. Note that during freezes there will be many days where 0 packages are added to the compose. The Branched tree is under development/VERSION on the mirrors. You can find a local "40" mirror on the public mirror list. Compose time varies depending on number of changes but is typically between 5 and 8 hours.

Branched is subject to various policies during its life cycle. For most of its existence, it is subject to the Updates Policy and package updates for it are gated through the Bodhi package review process. At various points of the Fedora Release Life Cycle, other freezes, policies and requirements come into effect, including the Software String Freeze Policy, the Milestone freezes, and the Change freezes. See all the above links for more details on exactly what changes may occur in the Branched tree under what conditions at what times.

Composes are done using the 'mash' and Pungi tools called from a script maintained by Fedora Release engineering. If the base set of packages needed to compose are broken, the daily compose may fail.

A report for each Branched compose is sent to to the test and the devel lists. This report contains output from the compose-changelog tool from the previous compose as well as a broken dependency report for packages with broken dependencies. Additionally, private email is sent to maintainers with packages containing broken dependencies.

Package maintainers should read and follow the Branched release updates policy for building any packages in Branched.

Until the Bodhi enabling point, you cannot expect all packages in the Branched tree to be signed. To use Branched at these times, GPG signature checking in your package management tool must be disabled.

Questions and Answers

Q: So Branched is very stable and we can all use it?

A: Not quite, though it has improved substantially in recent years. Still, see audience above. There are things that break from time to time, but if you are able to downgrade or troubleshoot such issues aren't too severe, however most users should stick to stable Fedora releases.

Q: I'm using a stable Fedora release, but I want the newer package for foo thats only available in Branched. Can I just yum|dnf install it?

A: No. Mixing releases like this is a very bad idea. Better options are:

  • Obtain the src.rpm for the package you wish and try and mock rebuild it (which may or may not work depending on dependencies)
  • Ask the Fedora maintainer in a bug report to update the stable version if permitted by policy.

Q: How can I tell when the branched compose for the day has finished?

A: You can see the reports it sends to the test and the devel lists. You can also watch fedmsg for the messages that rawhide compose has finished.

Hints and Tips

  • Your package management system can be of great help in diagnosing and working around issues you find. Do read up and understand: 'yum|dnf downgrade' 'yum|dnf history' 'yum update --skip-broken' or 'dnf upgrade' 'koji download-build'.
  • You should update frequently (preferably every day). This allows you to more easily narrow down when a problem or issue appeared. If you apply a week of Branched updates at once you have many more packages to examine to narrow down issues.
  • Reboot often (preferably whenever new kernels arrive). This allows you to test the boot up process and packages related to it, as well as newer kernels. Read and understand the Dracut troubleshooting steps.
  • Follow the test and the devel lists for Branched issues, try and at least skim them before doing your daily Branched updates. Look for '[branched]' or '[40]' subjects or reports of issues. Additionally if you find a problem and are not sure what to file bugs against you can open a discussion there.
  • At some times, Branched kernels are made with a large amount of debugging enabled. You can often gain a good deal of performance by passing "slub_debug=-" to your kernel boot line in /etc/grub2.cfg. Additionally, you can run kernels in the Rawhide Kernel Nodebug repo that have all debugging disabled.
  • If you are using a graphical desktop environment in your Branched install, you may wish to install several of them. This allows you to still login and troubleshoot when your primary desktop environment is not working for some reason.
  • Have a rescue media handy of the current stable Fedora release for emergencies.

History

Branched was created as part of the "No frozen Rawhide" proposals: