From 11d216f2af8dffb8165371e74b59de17992507bb Mon Sep 17 00:00:00 2001 From: Paul Barker Date: Mon, 23 Nov 2020 18:02:18 +0000 Subject: dev-manual-common-tasks: Describe how to propose changes to stable branches The documentation on submitting changes to the project should cover the ways in which the process differs for stable branches. These changes add a brief description of the typical policy for handling changes to stable branches and give some steps to follow when proposing changes to these branches. The information is based on my personal experience and on the existing content of the "How to submit a patch to OpenEmbedded" page on the OE wiki. (From yocto-docs rev: 2a835ae0925f4286769fb050b3409732ba79779d) Signed-off-by: Paul Barker Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.rst | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/documentation/dev-manual/dev-manual-common-tasks.rst b/documentation/dev-manual/dev-manual-common-tasks.rst index 4b76217ad3..09f20a2bc9 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.rst +++ b/documentation/dev-manual/dev-manual-common-tasks.rst @@ -11004,6 +11004,63 @@ Lastly please ensure that you also test your revised changes. In particular please don't just edit the patch file written out by ``git format-patch`` and resend it. +Submitting Changes to Stable Release Branches +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The process for proposing changes to a Yocto Project stable branch differs +from the steps described above. Changes to a stable branch must address +identified bugs or CVEs and should be made carefully in order to avoid the +risk of introducing new bugs or breaking backwards compatibility. Typically +bug fixes must already be accepted into the master branch before they can be +backported to a stable branch unless the bug in question does not affect the +master branch or the fix on the master branch is unsuitable for backporting. + +The list of stable branches along with the status and maintainer for each +branch can be obtained from the +:yocto_wiki:`Releases wiki page `. + +.. note:: + + Changes will not typically be accepted for branches which are marked as + End-Of-Life (EOL). + +With this in mind, the steps to submit a change for a stable branch are as +follows: + +1. *Identify the bug or CVE to be fixed:* This information should be + collected so that it can be included in your submission. + +2. *Check if the fix is already present in the master branch:* This will + result in the most straightforward path into the stable branch for the + fix. + + a. *If the fix is present in the master branch - Submit a backport request + by email:* You should send an email to the relevant stable branch + maintainer and the mailing list with details of the bug or CVE to be + fixed, the commit hash on the master branch that fixes the issue and + the stable branches which you would like this fix to be backported to. + + b. *If the fix is not present in the master branch - Submit the fix to the + master branch first:* This will ensure that the fix passes through the + project's usual patch review and test processes before being accepted. + It will also ensure that bugs are not left unresolved in the master + branch itself. Once the fix is accepted in the master branch a backport + request can be submitted as above. + + c. *If the fix is unsuitable for the master branch - Submit a patch + directly for the stable branch:* This method should be considered as a + last resort. It is typically necessary when the master branch is using + a newer version of the software which includes an upstream fix for the + issue or when the issue has been fixed on the master branch in a way + that introduces backwards incompatible changes. In this case follow the + steps in :ref:`preparing-changes-for-submissions` and + :ref:`submitting-a-patch` but modify the subject header of your patch + email to include the name of the stable branch which you are + targetting. This can be done using the ``--subject-prefix`` argument to + ``git format-patch``, for example to submit a patch to the dunfell + branch use + ``git format-patch --subject-prefix='&DISTRO_NAME_NO_CAP_MINUS_ONE;][PATCH' ...``. + Working With Licenses ===================== -- cgit v1.2.3-54-g00ecf