From 7fcec4cee3430765eb3563c6d5a5f7aceb6a84f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Sun, 12 Jan 2020 08:17:58 +0100
Subject: [PATCH] Rekeywording & stabilization rules
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 keywords.rst | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/keywords.rst b/keywords.rst
index 5dcbc77..272dca4 100644
--- a/keywords.rst
+++ b/keywords.rst
@@ -1,6 +1,51 @@
 Keywording and stabilization
 ============================
 
+.. index:: keywords; rekeywording
+
+Rekeywording on dropped keywords
+--------------------------------
+:Source: QA
+:Reported: by pkgcheck and repoman
+
+The developer removing keywords from a package (e.g. due to new
+dependencies) must file a rekeywording bug asking for the package being
+retested.  This rule can be exempted if the package is known not to work
+(anymore) on the arch in question.
+
+*Rationale*: rekeywording on minor architectures often takes a long
+time.  If a developer neglects to request it immediately, it negatively
+affects other developers who in the future either want to stabilize
+a new version or to remove an old version.
+
+
+.. index:: keywords; stabilizing new versions
+
+Stabilizing new versions
+------------------------
+:Source: QA
+:Reported: by pkgcheck
+
+Whenever requesting a stabilization of a new version of the package,
+the developer must CC *all* arches that had at least one previous stable
+version of the package in question, and that still have ~arch keywords
+in the stabilized version.  This applies to experimental architectures
+as well.
+
+The stabilization request can be closed and old stable version removed
+once all non-experimental architectures have processed the stabilization
+request.  However, the remaining arch teams should be kept CC-ed in case
+they wanted to process the bug.
+
+*Rationale*: there were some cases of developers requesting
+stabilization only of a subset of architectures they were personally
+interested in.  This meant some other developer had to independently
+request stabilization on remaining architectures which only meant
+a duplication of effort and unnecessary confusion over which version
+is stable and whether arch teams are slacking or stabilization was not
+requested on remaining architectures in the first place.
+
+
 .. index:: keywords; removing stable
 
 Removing stable keywords