aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2015-10-07 14:28:35 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-10-07 14:29:57 +1100
commit863286cc6ec084db93946ef8dfd8932828752b96 (patch)
treee06c93ee1804e32400fc33b5d97d39e1fe95230a /doc
parent3d340f2936f87517d8d449aba31a383fec3d2d17 (diff)
downloadskiboot-863286cc6ec084db93946ef8dfd8932828752b96.zip
skiboot-863286cc6ec084db93946ef8dfd8932828752b96.tar.gz
skiboot-863286cc6ec084db93946ef8dfd8932828752b96.tar.bz2
Add doc/stable-skiboot-rules.txt documenting stable tree
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/stable-skiboot-rules.txt62
1 files changed, 62 insertions, 0 deletions
diff --git a/doc/stable-skiboot-rules.txt b/doc/stable-skiboot-rules.txt
new file mode 100644
index 0000000..8ad7e6f
--- /dev/null
+++ b/doc/stable-skiboot-rules.txt
@@ -0,0 +1,62 @@
+Stable Skiboot tree/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@ list with "[PATCH stable]" 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: stable" 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: stable # 5.1.x
+ and that will target it to the 5.1.x branch.
+ - You can ask for prerequisites to be cherry-picked:
+ Cc: stable # 5.1.x 55ae15b Ensure we run pollers in cpu_wait_job()
+ Cc: stable # 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/tree/stable
+ git@github.com:open-power/skiboot.git (stable branch)
+
+- Some stable versions may last longer than others
+ - So there may be stable, stable-5.1 and stable-5.0 at any one time being
+ actively maintained.