aboutsummaryrefslogtreecommitdiffstats
path: root/roms/skiboot/doc/process/stable-skiboot-rules.rst
diff options
context:
space:
mode:
Diffstat (limited to 'roms/skiboot/doc/process/stable-skiboot-rules.rst')
-rw-r--r--roms/skiboot/doc/process/stable-skiboot-rules.rst84
1 files changed, 84 insertions, 0 deletions
diff --git a/roms/skiboot/doc/process/stable-skiboot-rules.rst b/roms/skiboot/doc/process/stable-skiboot-rules.rst
new file mode 100644
index 000000000..38bae8f4e
--- /dev/null
+++ b/roms/skiboot/doc/process/stable-skiboot-rules.rst
@@ -0,0 +1,84 @@
+.. _stable-rules:
+
+======================================
+Skiboot stable tree rules and releases
+======================================
+
+If you're at all familiar with the Linux kernel stable trees, this should
+seem fairly familiar.
+
+The purpose of a -stable tree is to give vendors a stable base to create
+firmware releases from and to incorporate into service packs. New stable
+releases contain critical fixes only.
+
+As a general rule, on the most recent skiboot release gets a maintained
+-stable tree. If you wish to maintain an older tree, speak up! For example,
+with my IBMer hat on, we'll maintain branches that we ship in products.
+
+What patches are accepted?
+--------------------------
+
+* Patches must be obviously correct and tested
+
+ * A Tested-by signoff is *important*
+* A patch must fix a real bug
+* No trivial patches, such fixups belong in main branch
+* Not fix a purely theoretical problem unless you can prove how
+ it's exploitable
+* The patch, or an equivalent one, must already be in master
+
+ * Submitting to both at the same time is okay, but backporting is better
+
+HOWTO submit to stable
+----------------------
+Two ways:
+
+1. Send patch to the skiboot-stable@lists.ozlabs.org list with
+ "[PATCH <stable version>]" in subject
+
+ * This targets the patch *ONLY* to the stable branch.
+
+ * Such commits will *NOT* be merged into master.
+ * Use this when:
+
+ a. cherry-picking a fix from master
+ b. fixing something that is only broken in stable
+ c. fix in stable needs to be completely different than in master
+
+ If b or c: explain why.
+ * If cherry-picking, include the following at the top of your
+ commit message: ::
+
+ commit <sha1> upstream.
+ * If the patch has been modified, explain why in description.
+
+2. Add "Cc: skiboot-stable@lists.ozlabs.org" above your Signed-off-by line
+ when sending to skiboot@
+
+ * This targets the patch to master and stable.
+ * You can target a patch to a specific stable tree with: ::
+
+ Cc: skiboot-stable@lists.ozlabs.org # 5.1.x
+
+ and that will target it to the 5.1.x branch.
+ * You can ask for prerequisites to be cherry-picked: ::
+
+ Cc: skiboot-stable@lists.ozlabs.org # 5.1.x 55ae15b Ensure we run pollers in cpu_wait_job()
+ Cc: skiboot-stable@lists.ozlabs.org # 5.1.x
+
+ Which means:
+
+ 1. please ``git cherry-pick 55ae15b``
+ 2. then apply this patch to 5.1.x".
+
+Trees
+-----
+
+* https://github.com/open-power/skiboot/ (or via ssh at ``git@github.com:open-power/skiboot.git`` )
+
+ * (branches are skiboot-X.Y.x - e.g. skiboot-5.1.x)
+
+* Some stable versions may last longer than others
+
+ * So there may be skiboot-5.1.x and skiboot-5.2.x actively maintained
+ and skiboot-5.1.x could possibly outlast skiboot-5.2.x