From 6cc27aeceecfd00a52e1d0eafd2838aa95498878 Mon Sep 17 00:00:00 2001 From: Ben Cotton Date: Jul 07 2021 20:20:18 +0000 Subject: Add the branched page --- diff --git a/releases/modules/ROOT/nav.adoc b/releases/modules/ROOT/nav.adoc index ca576a2..984cfa9 100644 --- a/releases/modules/ROOT/nav.adoc +++ b/releases/modules/ROOT/nav.adoc @@ -1,3 +1,4 @@ * xref:lifecycle.adoc[Release Life Cycle] * Development Releases ** xref:releases/rawhide.adoc[Rawhide] +** xref:releases/branched.adoc[Branched] diff --git a/releases/modules/ROOT/pages/releases/branched.adoc b/releases/modules/ROOT/pages/releases/branched.adoc new file mode 100644 index 0000000..8c9af3b --- /dev/null +++ b/releases/modules/ROOT/pages/releases/branched.adoc @@ -0,0 +1,133 @@ += Branched + +Branched is the name given to a version of Fedora that has "branched" from the rolling xref:releases/rawhide.adoc[Rawhide] tree and will become the next stable Fedora release. +It consists of a http://download.fedoraproject.org/pub/fedora/linux/development/[Fedora development release tree] 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 xref:program_management:changes_policy.adoc]. +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). + +== 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 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 use regular stable Fedora releases. + +== Using Branched + +See the https://fedoraproject.org/wiki/Template:Rawhide_branched_install_methods[wiki template] for instructions on installing and using Rawhide. + +== Communicating + +There are a number of ways to communicate with other Branched users: + +=== IRC + +Branched discussion is on topic and welcome in both the https://web.libera.chat/?channels=#fedora-devel[#fedora-devel] and https://web.libera.chat/?channels=#fedora-qa[#fedora-qa] IRC channels. + +=== Mailing Lists + +Branched discussion is on topic and welcome in both the https://lists.fedoraproject.org/admin/lists/test@lists.fedoraproject.org/[test] and https://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org/[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 https://fedoraproject.org/wiki/Bugs_and_feature_requests[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. + +== Producing Branched + +The Branched compose runs every day starting at 09:15UTC. +All branched package builds at that time that are marked as xref:quick-docs:repositories.adoc[_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 https://fedoraproject.org/wiki/Basic_Release_Criteria[[Basic Release Criteria] are run. +If these tests pass, the compose will be synced out to the mirror system. +Note that during https://fedoraproject.org/wiki/Milestone_freezes[freezes] there will be many days where 0 packages are added to the compose. +The Branched tree is under the next release's number on the mirrors. +You can find a local mirror on the http://mirrors.fedoraproject.org/publiclist/Fedora/[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 xref:fesco:Updates_Policy.adoc[Updates Policy] and package updates for it are gated through the https://fedoraproject.org/wiki/Bodhi[Bodhi] package review process. +At various points of the xref:lifecycle.adoc[Fedora Release Life Cycle], other freezes, policies and requirements come into effect, including the https://fedoraproject.org/wiki/Software_String_Freeze_Policy[Software String Freeze Policy], the https://fedoraproject.org/wiki/Milestone_freezes[freezes], and the xref:program_management:chages_policy.adoc#change_process_milestones[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 https://pagure.io/pungi[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 https://lists.fedoraproject.org/admin/lists/test@lists.fedoraproject.org/[test] and https://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org/[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 xref:fesco:Updates_Policy.adoc[Branched release updates policy] for building any packages in Branched. + +Until the xref:fesco:Updates_Policy.adoc#updates-testing-activation[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 == + +*So Branched is very stable and we can all use it?* + +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. + +*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?* + +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. + +*How can I tell when the branched compose for the day has finished?* + +You can see the reports it sends to the https://lists.fedoraproject.org/admin/lists/test@lists.fedoraproject.org/[test] and https://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org/[devel] lists. +You can also watch fedora-messaging 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: `dnf downgrade`, `dnf history`, `dnf upgrade`, and `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 https://lists.fedoraproject.org/admin/lists/test@lists.fedoraproject.org/[test] and https://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org/[devel] lists for Branched issues. +Try to at least skim them before doing your daily Branched updates. Look for "[branched"' or "[F]" 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 https://fedoraproject.org/wiki/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. +* Have rescue media handy of the current stable Fedora release for emergencies. + +== History + +Branched was created as part of the "No frozen Rawhide" proposals: + +* https://fedoraproject.org/wiki/No_Frozen_Rawhide_Proposal[No Frozen Rawhide Proposal] +* https://fedoraproject.org/wiki/No_Frozen_Rawhide_Implementation[No Frozen Rawhide Implementation] diff --git a/releases/modules/ROOT/pages/releases/rawhide.adoc b/releases/modules/ROOT/pages/releases/rawhide.adoc index 9a995df..34e4d76 100644 --- a/releases/modules/ROOT/pages/releases/rawhide.adoc +++ b/releases/modules/ROOT/pages/releases/rawhide.adoc @@ -33,7 +33,7 @@ Rawhide packages stick closely to upstream projects, so interfaces and command-l If you can't reboot often, consider using a stable release instead. * Be willing and able to report bugs to bugzilla 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 xref:branched.adoc[Branched] release (depending on the point in the https://fedorapeople.org/groups/schedule/[release cycle]) or use regular stable Fedora releases. +If the above doesn't match you, you may wish to instead follow the xref:releases/branched.adoc[Branched] release (depending on the point in the https://fedorapeople.org/groups/schedule/[release cycle]) or use regular stable Fedora releases. == Using Rawhide