From patchwork Wed Jun 17 06:41:13 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: ChenQi X-Patchwork-Id: 90303 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 368C0CD98E2 for ; Wed, 17 Jun 2026 06:41:39 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.9498.1781678491741398696 for ; Tue, 16 Jun 2026 23:41:32 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@windriver.com header.s=PPS06212021 header.b=R0VXS0Ex; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=0628fa2e08=qi.chen@windriver.com) Received: from pps.filterd (m0250811.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65H4wdpC887882; Wed, 17 Jun 2026 06:41:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :message-id:mime-version:subject:to; s=PPS06212021; bh=xFF1pQ4HC 3ScOugkZMtqFwoH5ueFQpt40xvDvmUdPP0=; b=R0VXS0ExJPF7wNptXg/S+Aeyp fxQ3CcnBgK4+z4wRRcoPAr9cABevW3vmHlc9rFEBL2OES6r82LUkc8zZ//JdCmNI 7paYxDX39yejmIthU5LmY4bXk4yN9TijAo/xVPpvFcpWWzdUMUFvONqPEY+H167d c8hyiPn0kcoV3eofpYOryzOnUFBkVQ0jOVCMMHxn0G779CeTXJuZRQQSF+mxrdRQ anqtujGUhvdEmyILGrU8UI66XSWKEBafl6GCuwZw5bur31sOAKjJROU5wRvyfPNL Et6Ha+UJMHPJuHVzSQI2jtSHmpH65FdRUqxglzIqFfIya9kUUv8Cus39FnZ3Q== Received: from bl2pr02cu003.outbound.protection.outlook.com (mail-eastusazon11011011.outbound.protection.outlook.com [52.101.52.11]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4euefc0jn5-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 17 Jun 2026 06:41:28 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uIL8C9QV5Rtg0RHMAcaCYcUtF+J1GEYu8J39h8dwy2avahJ13svez+ZMr4euCbF4FwYoe6DUKCEkxJyxFtBNMvcyAzuy4HRGdwrvVRItl/flMQoq47CwoIczHdvbWbEFsfgS7iu+4vMfm3ag4dBbwmaTNxJwDXq0LidGYTRjyGLNbUinjUzvZjCQY+sJy8R+VRnuuwnZXzAx5HbRQCCDLCf4YyhiaENKHPQJ5Y00Icu/TAPmBExG5YVDwYh0MlMh6wpcKJp0SUx5n3GGMghC2A6zdl4d6DPIm2iLuPpf6YfJ35yP+1dUNw9wDozH6Bwlg8VRRW1kSmyACSlU1hpYqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xFF1pQ4HC3ScOugkZMtqFwoH5ueFQpt40xvDvmUdPP0=; b=TeO5qoG4i6mb6XDYTE8eRHFVzX4qPogfmMLJqylV3CAjU9R6QJaMUPhwMLiVtFgihDyWuEf3vhdG/XL0/73+ADg0ZQ/G9VmSOGF9oKoIFYZ/1SxfWkfQz7OLxeON7bfOqwTpGsLUs1D1y5RevSOs0fAVUrFELt311AaMcqTuKj8EpqidpcbJtdsq9QB3S5EGQcYBNmkIojIlzkf9ru4i4m/ml385p5EPaKyVu3KVKMaE8lXAaNIYUUCi6hcQWvOv1sy2JBJV1Ac92eN2Go7JuSgXgmYU2FJe/NgxqTFMjDoFwgA3a3drxnlnD+d3Tonlj8rqIheSWZLQOUkT65J4KQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) by MN0PR11MB6277.namprd11.prod.outlook.com (2603:10b6:208:3c3::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Wed, 17 Jun 2026 06:41:24 +0000 Received: from CO6PR11MB5602.namprd11.prod.outlook.com ([fe80::5ad6:8f90:b01d:2c62]) by CO6PR11MB5602.namprd11.prod.outlook.com ([fe80::5ad6:8f90:b01d:2c62%3]) with mapi id 15.21.0139.009; Wed, 17 Jun 2026 06:41:23 +0000 From: Qi.Chen@windriver.com To: docs@lists.yoctoproject.org Cc: alex.kanavin@gmail.com, paul@pbarker.dev, Randy.MacLeod@windriver.com, antonin.godard@bootlin.com Subject: [docs][PATCH V3 1/3] ref-manual/classes.rst: add upstream-stable-release-point class documentation Date: Tue, 16 Jun 2026 23:41:13 -0700 Message-ID: <20260617064116.2672321-1-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.54.0 X-ClientProxiedBy: SJ0PR03CA0090.namprd03.prod.outlook.com (2603:10b6:a03:331::35) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|MN0PR11MB6277:EE_ X-MS-Office365-Filtering-Correlation-Id: ce077dbb-2d6d-429a-1288-08decc3b72e9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|376014|52116014|1800799024|56012099006|11063799006|18002099003|38350700014; X-Microsoft-Antispam-Message-Info: lyUsVpN8AVTY9SIkEtU/NDOB+rJFCuIBBhJSVX1LDxFpPkeJO9UFv+Nls3DKjfpImFosePUm14i/K5wbvEOTD5ayX1qocI6ga+fHJE2wTfugx2XMATmatgCqZNNPCPnS5C1xGEWFLL1yHpbpuBuEQrktKHHISr4jAWOp/LXXe3FbagAbUkczLoFE8I4eo12TdiIOqGf7oNb2ZUwKSQGARoThjbX3MFzy6NqzXrG+cIsmCqbiopJcv78WUFHXePUGHgaig++v7I6hB5nP6ItSlbkElkRwQ6Q7JkqsP96glBhumxUfl0zPK7EeCBd2NRVIclvE/JdGAg1CoHs3DtNsjFJIwJlvmZYxIa6vLNs8c/2z/mUON6iBwglAkse75AYSEooZZIzw1aqpfhoWB+7HFT+tdTjZTeTodYiC9Vgl9nj3PayOgeF4jfgVbOo2hbJfnOvMpq7by9egM6qHzwhdwkBtCjlUTojqjyG7gQHQ1vA0sEUuo0c4uLU8RCI96EMVIVAs4tCP+5eknAbhqcVOb9eaL1NqnhwNbNDlDyeioRH8WhtyATvf8fXnvbLrWDODB96ROMrP4b4aD+Gmujlqizkn+F2vu1V/lscKULGap1SjjRX2SFweYvWa6r8zcpUiuEPPFbw47T2UdYa4UuiE7KdBoBN3jt7Xh3n9pOHDFXKiVXNBw9ve+nwz49gdk+PnwrdasRxxrEDpOmRFFPYy4qqC5nmJOxzqLdTKtEtp3MocN+MR8h/4bW0HMj+G/2KT X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR11MB5602.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(52116014)(1800799024)(56012099006)(11063799006)(18002099003)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?yA/ipIAWiP4ipTFZeL/jf2ne4Bgu?= =?utf-8?q?TXqA34tStRBTPM5NkyDjV6yqaguwh6oAK5eZst8zDgpwuyL4xfVG1hBKl93Dwtxe+?= =?utf-8?q?R3yX4ePm2zP+NPOA+5vAdE6mPbVhfNsg4JXYlfsywQ1B7vE6A44M4XMnmbJOD359v?= =?utf-8?q?sWLkNMXs+ivF42e9GL0FJvGiOQUk+SXX7rHT+Hc8cq1qDmAirUwOyQ3PJNhnCfzCC?= =?utf-8?q?h+Zf+sEytUDXKxVDWmTSzTG1Xbx7y4r8txp2RSb7FQFUNJCfdt2m6B20VOWySXovN?= =?utf-8?q?LgC6APqP6Lfi5xrqDXNP7cgSwt8MtCvqpn2B+jS0ZpWS1x3uUzCnzLfWVMKYhkEJR?= =?utf-8?q?KTegANNx4j/uKWs0bZzKVRN9ZEVDAYJf0zLrJcEtAWoKnzDqpRedX7r6iUtVDgGO3?= =?utf-8?q?CAegRA5Mt1hfmXz/hgcNULfVCjL6AN/LqNgVjwd4q8BipvdvAJHnwmyBw8cuZr2DI?= =?utf-8?q?1gcad0C6CIRZdMRFI/tNNc21CfmXe57Jur4xZgt3g9k8Lg14fFV4vuzaho0TxsdHb?= =?utf-8?q?xScewEOdnkaGIQhAMtCeOpWfmsiWoxK/UQOT/oeuXnFlK6SqJtQ1Dk4yeMuWpc+84?= =?utf-8?q?KQYuoHwbctLlDYEzjTlyBQwEEfQYzDiaw7g4nZ2AtDSodiDx//g904ZTmuWKFkwHa?= =?utf-8?q?xH0mudCR+ZmhHiteJj9JYsQFZiGNkffAwlPd8GevJ0OOFaupsBZF49DkfpQWyaERs?= =?utf-8?q?sq2AP82jNaPV5YQn24G/tqWtUIbTBOdjcZiLLQPidB57SoHx8NhbpFwJr7pPLRW4j?= =?utf-8?q?yuqPu1G7GPaWlc6tuYDGga6I6/xvQTDq2NngB5gh6secXpPU04oFzMlwc/AYUACs4?= =?utf-8?q?AlzfMjKwN7ibmBDKaPw7sBm85+iJJfABh6yYUzn7FVkLU4p5RauJRj+HSfqrkiAut?= =?utf-8?q?9CSvzy9riMMITNdFWMVaYrS/C2I23ptl3KDUnKHX3XrmGy5GjbSFJkkMzb2t6w9kU?= =?utf-8?q?a3haB+IxJ7LK8XgM0xByfsyMAdd106mOI0vkEGssnlCPxhM3Lv1Qe7EfSEc9Ucoir?= =?utf-8?q?0ZLt/zCFwIdCr/hoXdnXtvPLEdm2VpniQ/LFHVsQw9QohOXf1LZYHMh9v/BMkAJ5w?= =?utf-8?q?6i6tLR7wJsO6G/1u3bVTUDPOd43ouFGT8GvS4ckRoRX0urXi/cVddP8yGm3hjvGuD?= =?utf-8?q?SRYi9nS+JN/Oyy6zSfPrfdFO5Q2N6tqr7BFYq5JZ+wUfCGWyEHZyyUEwmw/+BfUTM?= =?utf-8?q?M9f/ZzDIVFntz2TaZboRCknMQl2bY3czmT6tzs8Q1wQZocNP2Jn/2g5Uhy5J+7Cva?= =?utf-8?q?DLCi157gnJr1nKqPr8aatLI0paZQQQMpAWUyABeksfQs9m9yZ3T3qsW8KX5obgw8Q?= =?utf-8?q?6rGJsh4AROMjw9oDWLuD6ouMxiz4kTl6DX4NlArm4PdtmEjNjIX9RtuiAoFWV0T14?= =?utf-8?q?XzBxeA/kJy1dIJVetM6WB6ao6hbj4QKwLJd6dIGIIorvaP7bN7VoutxaltBz7tHsu?= =?utf-8?q?MqVr6tfAtgK3ARvMAfULbYR3zUC6+KzURjdJVrFMvhZFEO1UDO1z5uykjmVlhKZuJ?= =?utf-8?q?gNbG9y2URTUK3xy9Rxl+XfAEa0tmjPgN6+m/JKMKQgFwFhPl3nQzdpDtywTXdzUqB?= =?utf-8?q?v8YIo9T4YUAw46CpcHQKK+8bytr4JcOkPTEgPQqnIglE53ALAimEBN8/3iSgMepsF?= =?utf-8?q?zBtRuiI0ZG/pSR5zKhEJfAuOX4EaujJQ=3D=3D?= X-Exchange-RoutingPolicyChecked: jIYZEykKmHVpQ1TzP9xRPqqRKjBQ06YvqeyETtRxnameIgZvSM4gYM82xkQ4ME7TdT/pHHj6jVLj/sw/Akk6cAes+YxToIG1GT8mqhImBstP/PCOCUXhlyo44a/zA7SiLFq8bWWR4YhYp2aPnuzEBloB0v8igM5qStdw1iFhOdIPsi9yzo/MWwcXZogNaabLuD85gqEXBD/tbzwtflRK0i5WXTp0PRoz6ZV0hJ5ZFIdV2NJMfS6IpA1fVG8sXgA+ATTBd/T0Bih/HOvfscDq3i8kYIqzx0EsqyK9CNq0SMVRV81DeTWayTe3uidAAuAxnqRavdJMXsSE5/scQJpsuw== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: ce077dbb-2d6d-429a-1288-08decc3b72e9 X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2026 06:41:23.6982 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pvtxlYbCSktyDS91n8ULC6VC08MdvWc8VHXF7iodlqRykk8z4TctaPWWDvrBJS7IwsvYGyUsJmEofu4blcl9KA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR11MB6277 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE3MDA2MCBTYWx0ZWRfX9BesfVECC5HO cNYjxapNJB0aIC/IErKVq98emTHh8A1OhGVOKeDOYo6sNsQ3LwThbJkiXLpDNczEQMilZ3sa/lu uBWA1gyUI/kTK1oKl3p0Pe4G+hlwbaQ4oUkXvxaM7LNEBvIFY4eW X-Proofpoint-GUID: sZiR7M4zQ21kj1sVfm1oieSCMpX2afjG X-Proofpoint-ORIG-GUID: sZiR7M4zQ21kj1sVfm1oieSCMpX2afjG X-Authority-Analysis: v=2.4 cv=ObGoyBTY c=1 sm=1 tr=0 ts=6a324198 cx=c_pps a=+4AL93Ollhzyglb1kYk7Zw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=klDOsUkWDRETUCZYPvoE:22 a=t7CeM3EgAAAA:8 a=ljOHmGDoImW_DtJpQMQA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE3MDA2MCBTYWx0ZWRfXzx4H1NM4B+Ba gwxXoObceqFBSkJ1QLEV58lGP1a8ci5YvZ85ARMHHYX/+WVikIh2CzL5vsR/tCan5wW/YtDmDGl VVtmgD/Nsrz4R1H8fvr3EjGeuuWC96nm87iswZqhnIbGYLuig6mkdfjI9v/lni5AKev6pRafCJe 1Pi9m5z5mM9XL7JSZsSrJ+wR2eb9Yz3Ng6Y+bCjYLQyKmzutxWIFYeSoP0Wo1OEXfXBvQkwmOX7 bxEfZmMWk8ZAiHIiqIEMWDlX4d3HQcY2ApE1fZ9CypvC7dI97mQLvR6fcCcZ9iK2eTETYXpQ61A LxZbj/JVW3+Dxk1P6fP2xiK1O0QmlvQb2NJFP4RYS29LzPtscRm03gZ8Rw0Jrbop4U9BbP3MJ4u ng7hHL7Z/BS2QG0BgFQs11ExYxawoc6cH1ICzIcebkFpOCB2E4TdM1Mk9LhpFMCv03Fitdxnk+T kWao1dRw82ghgyMZGgA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-16_05,2026-06-16_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 adultscore=0 spamscore=0 priorityscore=1501 impostorscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606170060 X-MIME-Autoconverted: from 8bit to quoted-printable by mx0a-0064b401.pphosted.com id 65H4wdpC887882 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 17 Jun 2026 06:41:39 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/9766 From: Chen Qi Document the upstream-stable-release-point bbclass which automatically generates UPSTREAM_STABLE_RELEASE_REGEX for recipes with dot-separated version schemes, enabling stable point release upgrades. AI-Generated: kiro-cli Signed-off-by: Chen Qi --- documentation/ref-manual/classes.rst | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst index 95e07f85a..f0d9b1d55 100644 --- a/documentation/ref-manual/classes.rst +++ b/documentation/ref-manual/classes.rst @@ -3655,6 +3655,30 @@ Three variables control this class: :term:`INITSCRIPT_PACKAGES`, :term:`INITSCRIPT_NAME` and :term:`INITSCRIPT_PARAMS`. See the variable links for details. +.. _ref-classes-upstream-stable-release-point: + +``upstream-stable-release-point`` +================================= + +The :ref:`ref-classes-upstream-stable-release-point` class automatically +generates the :term:`UPSTREAM_STABLE_RELEASE_REGEX` variable for recipes +whose version uses a dot-separated scheme. This enables stable point release +upgrades — version upgrades constrained to the same stable series (e.g. +``1.4.2`` to ``1.4.3`` but not to ``1.5.0``). + +The class uses the :term:`STABLE_VERSION_PARTS` variable (defaults to ``"2"``) +to determine how many leading dot-separated parts of :term:`PV` constitute the +stable prefix. For example: + +- With ``PV = "1.4.2"`` and ``STABLE_VERSION_PARTS = "2"`` (default), the + generated regex is ``^1\.4(\.\d+)*$``. +- With ``PV = "259.5"`` and ``STABLE_VERSION_PARTS = "1"`` (e.g. systemd), the + generated regex is ``^259(\.\d+)*$``. + +For recipes whose stable version part is not dot-separated (e.g. openssh uses +``10.2p1``), set :term:`UPSTREAM_STABLE_RELEASE_REGEX` directly instead of +inheriting this class. + .. _ref-classes-useradd: ``useradd*`` From patchwork Wed Jun 17 06:41:14 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ChenQi X-Patchwork-Id: 90301 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 288D1CD98F0 for ; Wed, 17 Jun 2026 06:41:39 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9681.1781678491741489554 for ; Tue, 16 Jun 2026 23:41:32 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=l1Unq48i; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=0628fa2e08=qi.chen@windriver.com) Received: from pps.filterd (m0250811.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65H4wdpB887882; Wed, 17 Jun 2026 06:41:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=wFU+YD60/mGvqD+nyVQ96ExT1DztJsmiFDocE7m4TCs=; b= l1Unq48iGTOm9KWyIRD9XCVddFqb87lvvu5nVzHhWzzcG7n/1IKtdfkesCEuOv+3 9u0pLWxjVilMNT0ZyFw/2BHUANmwyHChIzL41JIDK/egtEAAsnzLtyFJvcwf+Dam 9rCvjweYOM/SpURGwC+Q5irVTPAKiKS5VwFlpwy6CrY0X2oo8I2l0ziO6Eh2iyX4 AnLYwQQHL05/KOQO20y2nIQaHafKH2jh2uZi2tGZ76U1elq9hP0obEF+0arv2urb EGKJ5zmkPgPwJDR054otrhBn+Jl1DtkHrdjxJnpcW4lsKs5s1F02/YdRmFOMlvIN Gb7pBxQVnRkbkc/my7gyNQ== Received: from bl2pr02cu003.outbound.protection.outlook.com (mail-eastusazon11011011.outbound.protection.outlook.com [52.101.52.11]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4euefc0jn5-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 17 Jun 2026 06:41:28 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AT8uZAUSM32PGaXXtsf2MlmZwODzvvltAZ3ZX6IUwA5TpxmahS5N81lPPpKwa2RHARy0FwFKyCIXjHUo7EOct4sdXa6myb+CtT4x+pUIEhXuTYo1fF8xitxhDoHiRjcnnAwRR+HYC6BlU2q5Ak69Nik6gpRUnbEQISVBEIvho6TWs1YxImizmBa6dHF8/Ae5wtRwj/lKmSsXk/tjy1drWn6xmP9W8EY4cV0IGYSfzZZelaBguUoH9nKy/nv2V1anO90PAV16rJQ1nDH//C47B5a+nXQO7dgYrgnRsDi7gj7Ep07w1DwRsrsmToVMUo3NzEGP9mnWamwcI3trwxO0Mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wFU+YD60/mGvqD+nyVQ96ExT1DztJsmiFDocE7m4TCs=; b=f6zesVpKS2uwOG0SDdqp1g2sBuftyPwzAhU3CfC83bDoQbluRPwJ/Omx8viBdZi4e6EsjToFYbDXDLX5JzDiVgqsvEdpW3+kE4hOM+dF7VdhzO29RorLg2ZMMG0t/56D1P8fbX28DnrGWlBq6u+yofGk5b1InzEVX2vRsC1fbyfHKvwKsFM9avLKThkOwg52VqGbKkmxMBSp7+4iCixIz/+xQBoV6UrcZasMC7Ibwb66RqSFvtnVUBhOqPkfNTNf2U0ekFzbsXXz+y4xMCbKqVtyIgZ4Gwg0C4IVD0v7dSt+41M5dBDBBPF4OtIaYp/kEsa6G/cY4q7zbyiBuctRRA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) by MN0PR11MB6277.namprd11.prod.outlook.com (2603:10b6:208:3c3::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Wed, 17 Jun 2026 06:41:25 +0000 Received: from CO6PR11MB5602.namprd11.prod.outlook.com ([fe80::5ad6:8f90:b01d:2c62]) by CO6PR11MB5602.namprd11.prod.outlook.com ([fe80::5ad6:8f90:b01d:2c62%3]) with mapi id 15.21.0139.009; Wed, 17 Jun 2026 06:41:25 +0000 From: Qi.Chen@windriver.com To: docs@lists.yoctoproject.org Cc: alex.kanavin@gmail.com, paul@pbarker.dev, Randy.MacLeod@windriver.com, antonin.godard@bootlin.com Subject: [docs][PATCH V3 2/3] ref-manual/variables.rst: add UPSTREAM_STABLE_RELEASE_REGEX and STABLE_VERSION_PARTS Date: Tue, 16 Jun 2026 23:41:14 -0700 Message-ID: <20260617064116.2672321-2-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260617064116.2672321-1-Qi.Chen@windriver.com> References: <20260617064116.2672321-1-Qi.Chen@windriver.com> X-ClientProxiedBy: SJ0PR03CA0090.namprd03.prod.outlook.com (2603:10b6:a03:331::35) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|MN0PR11MB6277:EE_ X-MS-Office365-Filtering-Correlation-Id: e315deb5-c0c7-4747-8320-08decc3b7322 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|376014|52116014|1800799024|56012099006|11063799006|22082099003|18002099003|38350700014; X-Microsoft-Antispam-Message-Info: ip6+jaednHjycFsyCBYkkrdJ5rxy0PODPtDj+ioPg5uLYEsMtlW3xVo77HgLYgQ9hK3x+Td+zJO3IVjy42gKim5WyIlDn5R+42pYpn6gKav7qCSAY5JHMJd9gzBtTc/8Mnqgrza4H2obgv+j+RR7MtWPpRX9nGFpXbFEKQX6oqxXf/vGvVg8H1QL1r7AK/kiG7VlmioZiPFgkqt84wpBh23KQGYrFKY/7jUxI6HGk1ivZRMN2cqUarA7R3UELw3kCBDqUP8Pmzww2FfV0ytVTbScteFlrIpsNopYWH65cBcNY7L3j6XKsxBuJmyeF4nCOl7oRBMDWAg6Gm5VBcB5YLClYetnjw9jaBDocY4VCkqYJqsMiOE83gXxPhejUGsDAjNJ1U35wiET0XqudoRGwPXyWryjDGVBTuG8rxleSZtVHF3EPtPl7a2s7obIc71IILNgZwAwvVfUDgCc57H9m3PXsAkExDB6AqQyYydwvtgOq7+BQbg+Ky4NWnHO2ltxw5rRHiDJ12h1SwSPUtSEpquSeIgfCCUL8+6h+xOo7Bt/OsWSmyJO5ibbvuaaMnFcWwmgibiKWfPD47WTSdIwoN7Q7EjvVnafAMq67HE+Mb3aYMyFhFzz33d4i9zNxkPtDlUAQ7RifDO4OOr2nme5Wdrnk4DQh+H8GsKL8olYJgo7sqjOuRFjRjRQFbDGPuXLHWH0C5pdRgbkMXY+zfn+h73IvGxAB8E72LzJw11GFC9jsvBI5pykRSIqjsV0by5H X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR11MB5602.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(52116014)(1800799024)(56012099006)(11063799006)(22082099003)(18002099003)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: H1Om1erpXrJSfiJ3UBtz+c/8qHK7CMWPM/uFssz+/q+UJaVJRC+adE8h1KgjJH60kf20C/tXho4043OliGPME7t/jL71JDelQDUBS5PVTPRdEmHone31kwZkUMyQAeZxG3bVM4cKR/CDs6yj/lOPmWiP+kn4xoUzRI7yAEGFQQiw2f5Xrint5S+MZd0klxWoNOWDudR5W16aAemjBouSppwPpF0j4t+EBalHbQodWCCjBceEHJsnqNlf7nEXjK4Pp9qJ9HY4kJBTy3K0fZ7jkzMhsuB4QpfObqmA5R7rtWuoBg6hdHYjeCRCaJ2CpmsYOD5DjeOamojsCwrPHOMN8zOOA29kHnRVnI10CJGVBXMEde+rmNDIWpplR6LU091Q0b4QlRheLmMp/oDm+BdG8m0AhqhoiHA7V/7cHE5LXjPXjWYaYJSh6/Lo3fqfFhuftq8BizJ1h2ov2bmsuFBuT1qgB+IW5Eui6rX38FF78c/zpZI6KE+Bw9bBzq2/lDyxrojXX4kmYEUXIvSSQchKA1Kd3jziwuzgWSYwXn4QLGwEv5EwxZKxqcMP73hb5PgqW7COiim0/KjFkVFAhr0GbjlT21ne6ZobzyZERwZ5mKNX1DMtMUwitQZXK0zVWLa9gei7WexeHUhRevflR725aEftSy9bg3ftsFzVzdv7b2+up3htpt4aPLgb+VAOkcQuzIDuCMBOrR4pyL2h/y86kIC8Bav6ZJwEF8nWIR3yrsZkpkNS0iaf/S4i4E9BPU63eYMvWaJXBujbJBFWxX/CUEnINWxbiijj3WRMCFIxlpyhkyEzWY2mUH3zDgMW8yi2ABahwI8Y8LP5crh3gSE3+fyblgpV+01EWlDF+/45JWFOkxGiP5ZJyMiNXpYpRzwKEXlCGHGMIpMswnsNcK9sAsCZJW5ruFBbZ83eCniHn9QXzl2DaVRS9iLmYSVHmr+j2WaPzdPAiuv2CVIpUuhn4C1H/K1YuWXR2k1H+YYlROss8WZquvZzoiPWt7K6otQksMML6cpA/rYgtVrsj7WuAgf2VSJeP0W7d3MVe1EKCDEnl7xgCfYexXhLDBDm3H+tjY9HjC+S8xDc8ugYDNo6eQ+WT6639yWyFYCnguz2GrNl4LaS1IzIVH7xyOVy5R2t1CusavJvzqyFQIzihUWv/PINKpHgujZq90kfWedJCefmSUL1rvlthkms9bHFNlmmaMoeo1t1++VN8ORt/NFP3hVOVxC+y/c7epF8vmh8qtcYgqec+5/UTfVFcZOk3w6JfdMzhtNWPgoboJxWUrAfCFdQc5WyXxrqFo+jKl56Qthgy6cukZF+U1F1CivwFk3nso1/hkp6NPTjWyPEj6xDfdCDnOJ/rBb9c1u8xfySDKKPZUDIoXfMqc6YIWhG8/RiNXpJ1oaGk5zuZ4hpOLzhbrE07trpCAVrHPBMlYTrLR0EW2VItId4pMCQff2lL5UeDVPMCkX8rXqBo1xrQ7p2z1PpVkJVfvh9oGG1/ltgc6eBXD2m7O6AKUFh2gPsz8A9CjP7mFgoz+LXX91AAGgVMsnhKvDmp8wgX8sb9ziWGLm9JrKi/zm97GM72ztHrP7LbVs/vWzLYMaVvtYfIIhC13na8rAoECpq0t+H6/UgWVqAkqze/gJHS2nFtolKhf3y63nituoid3srClCYH/k5tnTvUxsJ9iTdfIEemIkG9wWy5NanGIPb6zdCt17wTZHRZNESWjIE8AM5sc0+bNoZAg== X-Exchange-RoutingPolicyChecked: XDQfgjmDtjUDYfamjN3v92O97o6x6CMzu43Wt5lKFWDx1ZG4lA4vx6HUBaZYMMsBop3Tsir0LE0kYiMJpnI5b/epfy7ObUNGD6yaCepLU7eolTp4BkGXRLQH9arEIVue/R5EUq8av+Ox52W9jk+LbYhgohqtE3gxP11sk2vsLP0pqKsR7EsHrfasPr+h7NWXLTKk6JdRqShsqzEWLm04I2uuF+ly2kV+q9VR7AY+/WqZdadA1hfBwa8kGBMEXWHKJzFbMyp2DAS+EwCbjfE9vS+Lwx8NQOgCf/+QmE40GeDYnrKuAGtsthoVRo7Q10TOeWITJ/CXF1GGpMxisuCOZA== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: e315deb5-c0c7-4747-8320-08decc3b7322 X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2026 06:41:24.1369 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1bw5pn+pw8Nh8mXqXo48gT3HRM1N1VH2svTZYiqA6vLJu+7fDDtWKVqUHUBdZetODXll4VhumBfNsz5LAvzxyQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR11MB6277 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE3MDA2MCBTYWx0ZWRfX/QqIxiDsNrP8 +xEPMwCLMZrLVQ1IXV3+VVIUsyigxw3rk7qYYzMG3tmU8orFEM2YgbZ9aLDKCw3iiKnVrhofxKc JCfb5r1pY4zHmXVaU+BkltHtQfzZUIHRrslhS6ZgI2H0IqeSaCQA X-Proofpoint-GUID: XxQPv7l4NM255ogxtQpKyuoipQmydtku X-Proofpoint-ORIG-GUID: XxQPv7l4NM255ogxtQpKyuoipQmydtku X-Authority-Analysis: v=2.4 cv=ObGoyBTY c=1 sm=1 tr=0 ts=6a324198 cx=c_pps a=+4AL93Ollhzyglb1kYk7Zw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=FelO9ux0wxsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=klDOsUkWDRETUCZYPvoE:22 a=t7CeM3EgAAAA:8 a=Sh2Md9FlZb4d1zb7sPgA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE3MDA2MCBTYWx0ZWRfX0bczHNZ8bZsW sWZeMP7jAkw0vsfwF9XtFKadhI8PU8USXPjakN9AW66V0ZhUIqtLlfKBHiBrkztRXhi+tyiroGW g3NXkkWQuafcQ/UVmPcY2u2VFcXch4swnQlcUIuxWgwRJGK+BiayHGWMV6MrgAd539mX6rG/xN+ sBxznJPyZebOJcjn64UzfVFbK8SLC8Uob/cd/ZiRpLUGjiHKow5WzgYwrZN/3mfUVZDa0NzZMLO MoeNev0CbStBAaAvon7pLPJuop53JZYVH2X6h6NJJtNqJ/ASsmd5OyL++bQhc+hPPQttcZjVhsZ cS2fGHYZ8b+1ZvjPo66ueA8f/tN+l2zo2z+AyTNd/9CbDCToJppkiu2MJoX+Ec62gicThRaazs7 gPB5u4PPzaR6R8rMg/xTXTourD6bwezngSvT1n1oEfVGBVNK3bHdNScv2q34shiy/YsfUfIkmzq g+rz7cy2Etpt3ykOA/w== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-16_05,2026-06-16_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 adultscore=0 spamscore=0 priorityscore=1501 impostorscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606170060 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 17 Jun 2026 06:41:39 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/9765 From: Chen Qi Document the two new variables used for stable point release upgrades: - UPSTREAM_STABLE_RELEASE_REGEX: filter regex for upstream version checks - STABLE_VERSION_PARTS: controls how many version parts form the stable prefix AI-Generated: kiro-cli Signed-off-by: Chen Qi --- documentation/ref-manual/variables.rst | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst index fe3d5a999..cb11f7901 100644 --- a/documentation/ref-manual/variables.rst +++ b/documentation/ref-manual/variables.rst @@ -10097,6 +10097,15 @@ system and gives an overview of their function and contents. SSTATE_SKIP_CREATION = "1" + :term:`STABLE_VERSION_PARTS` + The number of leading dot-separated components of :term:`PV` that + constitute the stable version prefix. Used by the + :ref:`ref-classes-upstream-stable-release-point` class to generate + :term:`UPSTREAM_STABLE_RELEASE_REGEX`. Defaults to ``"2"``. + + For example, with ``PV = "259.5"`` and ``STABLE_VERSION_PARTS = "1"``, + the generated regex matches versions starting with ``259``. + :term:`STAGING_BASE_LIBDIR_NATIVE` Specifies the path to the ``/lib`` subdirectory of the sysroot directory for the build host. @@ -12001,6 +12010,25 @@ system and gives an overview of their function and contents. UPSTREAM_VERSION_UNKNOWN = "1" + :term:`UPSTREAM_STABLE_RELEASE_REGEX` + A regular expression used to filter upstream versions during version + checks so that only versions within the same stable series are + considered. When set, BitBake's fetchers (git, wget, crate) apply this + regex to discovered upstream versions and discard any that do not match. + + For example, if a recipe is at version ``1.4.2`` and the regex is + ``^1\.4(\.\d+)*$``, then ``1.4.7`` would be a valid upgrade candidate + but ``1.5.0`` would not. + + For recipes with dot-separated versions, inherit the + :ref:`ref-classes-upstream-stable-release-point` class to generate this + variable automatically. For other versioning schemes, set it directly:: + + UPSTREAM_STABLE_RELEASE_REGEX = "^10\.2p\d+$" + + See :ref:`ref-manual/release-process:stable point release upgrades` for + the criteria under which this variable should be set. + :term:`USE_DEVFS` Determines if ``devtmpfs`` is used for ``/dev`` population. The default value used for :term:`USE_DEVFS` is "1" when no value is From patchwork Wed Jun 17 06:41:15 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ChenQi X-Patchwork-Id: 90302 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id ED3FECD98F4 for ; Wed, 17 Jun 2026 06:41:38 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.9499.1781678492290954153 for ; Tue, 16 Jun 2026 23:41:32 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=Gp/yKYyu; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=0628fa2e08=qi.chen@windriver.com) Received: from pps.filterd (m0250811.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65H4wdpD887882; Wed, 17 Jun 2026 06:41:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=TNJ7iYomKqrFL5q6ZNgIfUiOxOAXSH6sKzjbB1s9u4g=; b= Gp/yKYyul23owhmJONPGwkOwwcUrJpnBYFJK5SJOezI9KRjUa84wagz5PPQr9Pp2 BUMTu1c4B9+9ttmMDRS8M1jonzgcd7/q9K0MNWd+LuC2FaiBSL5PwxR0g/bwxe6p oGApQ4wz+owYrYUfUGiDcw5xmVkDPl/z6VUtx1VQtPrLoZINtyienVIDuNxkRIpG CEN4Vp34YObaRfwwB+RGsNIxPi14f3wcWGboDQfN+5TEKUFQcSSPb2GNfP9fKijU bglwAyJ1sjxzMzX6vsmRTat0WR11OmP+Zu5H9+8ckaeUZhCeFnsFGuKnOXyOpex3 S30RU6FlFwsFxbh8QwQMhA== Received: from bl2pr02cu003.outbound.protection.outlook.com (mail-eastusazon11011011.outbound.protection.outlook.com [52.101.52.11]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4euefc0jn5-3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 17 Jun 2026 06:41:29 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=C/cPZAnFYDvkORSwtqjV9hmqH8qHkOSbwFVBXNDMEgTjD6vprDqO4PfHUMc3aiZMkBXUExnO9UAM2lZbzyJW4v4DOFwXwC4nkrSOCE7pNmLL1CRknoPE4w36FAC2WD/8LhSFmBS+xM14k6t3qx2Q7HklJWzoxcmCoI14lpp0+7zDAIG4PtnvC+lU9PPYgwueC3pHA5hpfdsOVR5HLfszGDW0Gkwq5ZUpeStmCYzok2ARRJXJ4igsrJYQqWKwgjqubCVBre80+9zuev0F/Gf0Ft9gCKvJR4xDn3tbqjbLq6lkpD0yziY/CvRlfnL7ZMXZjqwJwZtWsKgYcg4Wo/P4aw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=TNJ7iYomKqrFL5q6ZNgIfUiOxOAXSH6sKzjbB1s9u4g=; b=eI4aBvkv916sJEi+b0SsZYCTouqhXBVLTcj49iyVamgMLxwt8DVUlKic7vmwg08FWBNebwvhoV9CR9aGqj9Q8cPfGhbrgFLMFJm+jbiLh1+krVGaMP2c+Gp26G49DaaGctjKt67FU+yAzAi8nNiVIsAy68BjRBqFI+5NUR2GX74FInwJOsXYkP5mwbU/oa4GT5O3pchOvg0Siftkj7+QtIB4FmFXhUqZxP/GJ/zCo7Zb2RqZFZnh4crmg889/m7NDyEsnG3qdmIgMPx8/V4q190Kp1I25a97LrH5hVcmydZhqJhTTZ2tvwjRVYLX+N+ieu1ElDQzeYAAW2tN2m1YnA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) by MN0PR11MB6277.namprd11.prod.outlook.com (2603:10b6:208:3c3::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Wed, 17 Jun 2026 06:41:25 +0000 Received: from CO6PR11MB5602.namprd11.prod.outlook.com ([fe80::5ad6:8f90:b01d:2c62]) by CO6PR11MB5602.namprd11.prod.outlook.com ([fe80::5ad6:8f90:b01d:2c62%3]) with mapi id 15.21.0139.009; Wed, 17 Jun 2026 06:41:25 +0000 From: Qi.Chen@windriver.com To: docs@lists.yoctoproject.org Cc: alex.kanavin@gmail.com, paul@pbarker.dev, Randy.MacLeod@windriver.com, antonin.godard@bootlin.com Subject: [docs][PATCH V3 3/3] ref-manual/release-process.rst: add patch acceptance policies and stable point release upgrades Date: Tue, 16 Jun 2026 23:41:15 -0700 Message-ID: <20260617064116.2672321-3-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260617064116.2672321-1-Qi.Chen@windriver.com> References: <20260617064116.2672321-1-Qi.Chen@windriver.com> X-ClientProxiedBy: SJ0PR03CA0090.namprd03.prod.outlook.com (2603:10b6:a03:331::35) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|MN0PR11MB6277:EE_ X-MS-Office365-Filtering-Correlation-Id: f99d3e93-2ebd-48bc-475f-08decc3b7371 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|376014|52116014|1800799024|56012099006|11063799006|6133799003|22082099003|18002099003|5023799004|38350700014; X-Microsoft-Antispam-Message-Info: XOGx/M6wwDYv0HIhRTVPjbaKIHxdcd9k/+Zic9poeM4up4xnSaK5p1h10GGMGuVHffNSVnWLMToDuYe+4F03GLnm10K1SumbBHPrHRwrvmAC/h4eyM2TDHkzKr9kUoQGZKj7UBnb2ABleiF8QWTrh4Ubssg+NixNXgW/ODBSgizBwdKPoCfWdDiAi4cEvhaRlbkBUEfcH2P8gY2m9axr15z9KhyO1kDJl0hC5Q6zg8d4iHMrQRQQglnMcVwovtRpH2ZKvgqzev8bim62MjwTYikeINlReEkV/H/f9F6C4MmqD+jDME9UfX+5AgRmBts6Nns3L5fPkEDjeqYgHbFI32wfp9XJTQ6Jz1GjMFD2kjG8mt7G4iAlIJKZUQ5SbzvqjPIflDQiQKCTrebiY/P4vxbESo6P4ImoC43vAkIolHaLIPCPImZWKzh0soRV/Wgd3kS4Z2weT4ZNsOP1YJ/btIxnRvOYpZm+ngIlFj7lTcQHxnLyJEFzQqESiTWawvM6Nx7Sr7TV3Tt4kbuwdlT1++MQBhG/jPo0KlybY2ex9BANeDXPlt5ltKTvb1n7MDfIwiNpD9btCQLzjQpytPGwf0bZiWCsRCddomLKO+CyKwar4XYrotvGwb8PXEb2HT7k+St0RqLwCx/41fCoFBc61bL0QpKPjvAVhFwjsR5jo7TBGE4R0mMX5m3dftO1iM4x3h3NNd+788zgNW3Qb0DiUtGAb5gODbkXWB9vVJZXVfMPY+MaSgvUeYKgqgYVpQ2X X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR11MB5602.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(52116014)(1800799024)(56012099006)(11063799006)(6133799003)(22082099003)(18002099003)(5023799004)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: QZtrXrhivckZ5axWCiUVmjyMY0xyuCKQ1xx9rolkGqfFYvxiBbNIj6Az6fnJDSKNUDyMb8CHRrFtzVYIo75TTjx1vnC4hAbYa/kwt6YuANMHHIhOP1voedIoQHwpPtN1ewcIq85oTMlhF0JsuFdyaZWyjXcM4MxcBiHLEPX2/fGkaXeBKU9ODoQq8B35/XGsh8xwuprvrENe9A0KPcTZvHg++UF151ch6smRDVKWu7GUBotbuQbJja++RkDk+Td9jAEQxKMDMCn8R91LVrjly0cV0UC/7ZoMrqup1IWngTXJH+fbjqnGPixPtqtyzb6NRziiZEKAUVdDIytf8/XgstPFEi46LDBA5Q82g/e0y5lUNKeyp4yuIGPbsM9/JchyO1CZRkd6S7xQVlhEEX8ltL5nR+13Qv1Gf85pAZxj8la3upRN+c1KSSzPOyQC6m0UotjooDxubKg/D4x+MteUO25GnzwWWkfXX2LRflqg+sRpEur7PEb62iIv0D3kQ3lmTtmtOPkD9RtNi4mpvNM9m4kcGhLR6Qc+70ZFkg3FY1Iqz3iVlbvquHCCNvoWAvyx3yc4B+t8BhV3ZIpPouIuT3d8+9lrIja2XKTD689e6AcFhJiz6oHQhsBGbGVCMo3vNfl7XJCBpSCA7NGKclQaN4XB4t62DmcKwJTsguZEFMV0QBnBQLWl9IHR/C38R5L099KyV4uZSMztTDMxz6LH0LEBIq6QgT78A0hQi/IZJukVwanIQNAqtR0o5sqecE5p8WCWw/TNcQ5emUPbMCS51Wp8QZTapsh9fR39hW8VTxdXGftFDwOUlBHXVeQLFWclLlVk4XmfgGluXdfr6ddXpaQAZeSw6X+Ir9W7swoJ7dSiKGKfOBG+pPywtYZjsjPz3IfRUJsUIsqIICJj2QepnRN5S5NgG2nlp9doCFsjU42Gw9Xf5gqovypcNcGWuz5sYdrlwgojSxntWIZn5sh4ukin8GzdAMnXQ4U02V/qqLszAkqBkCDOFX78r8J54RzmkmBJ4W04iWfPIxK3TUZ+k8lXhsONq6e57vwjhzmGZ2b4tqnvgaDDeTMAUxtj901tFEvsGpmvcJ2dtxk/puJKGFMF5KTUrXo/g6uhxbz3sQICUorZSePZg7M9Zp3hpwQgSBCoVoRh3IIhuB6AuriDlE7lWxrZVxMsTge422DcsDp9XMTuj6W+womIbAhZKHXg3NmlN4kE30kE2nGgmENn+ixF7bmDlpVxkCUYZFSFLERbmMewIOINM3+ZrV9RJ9KGrUKh8SxRMojBvKGBDShFd8AX/BsOseqsdLgDRzpjW5CZ7DgxqplGMhMPGhm9Oh9yytiBKrWqWRtitVEo9zd0gWsUlrRCsqxtbmawIF9mYM8vPDvHp37GNeocJhmwglg9xlGx0OZTotTVDn42F9pq3bayLK9XIaum88RQJciYWRl2wJfAIk0sHpTqmEOfXFTQPnPaeeXctcuzXUMz5Myalxu0b3fGNy0aP84c3nETAgzduh9WIYG7eV0dbDAxMsbfiWBniRUkNY3u03YCk1gv4tgv8i4L+q1D93sYoVRddp1b0UJoZ1XEP2n8U+Uj8L5u2RLgmKUQ7EKYpcEYCp+bf4cnUvJjl7/WNxw+2XpWC9JV/AbhWfBZZGdC5k8Ez0reAUNrH5mq+Imo34qs8OsDNEo0oe222oJ/CTWd6ZfqjwiqFYpRqZDN5XNugaeqmVI5aMII9hHKz1SZjV3GMwZdlA== X-Exchange-RoutingPolicyChecked: lsG3mRAmJ65734MXh5jVFm0aBAm8NaTHr/1LxFOspaXFyH6cC1deGSVMU46kddcE3sHtMIk1nH4WjgSNDy5wKp1WzTDm6xx4+N1daTH197zARdCsD7PEu/1YCXLf4xrGkPrggjf7uV3/+qUkLo2CI+t4+EFPd6Bv/LttQFl4nrfYMDn1xxKp4TMR39k48Wn4XaI+rc0TtMlTxE5QN9wil04S8dDEm1eTsQucFoyBwWgq6vw9IormWT+i/2COq6kLh8814vJhB3PDi1slujncIf42Cg/kPAnvPaiEWxqiZWL6K+Jlb7fxgV/Y1c67g82J3+r1+XJ3qMdJE1AL+Ua2YQ== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: f99d3e93-2ebd-48bc-475f-08decc3b7371 X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2026 06:41:24.6998 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: P9mu6U5wdyGJshzcG1YS81a/Q9kRA3r4aQfwzvrOXsdjhJ+TORpcGJjEdw1cav+DElvArwAMvKyuI6kz4+Hwsw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR11MB6277 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE3MDA2MCBTYWx0ZWRfX5difaicjAXm3 p9fuXW/DBdGXNudRVkjmUbuOQ2R56sHaYr8ruedVnRgGej9DVMoL7R7vqgKoT8roKudgvpTq2LD TUBQgmDVrJKw9zsICvCVVwjYpPDzW+ZHderk3Qpl6ETlPTx1KFke X-Proofpoint-GUID: njnD4cBe1XOFQUneXmZgqfy3MGnUndgi X-Proofpoint-ORIG-GUID: njnD4cBe1XOFQUneXmZgqfy3MGnUndgi X-Authority-Analysis: v=2.4 cv=ObGoyBTY c=1 sm=1 tr=0 ts=6a324199 cx=c_pps a=+4AL93Ollhzyglb1kYk7Zw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=FelO9ux0wxsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=klDOsUkWDRETUCZYPvoE:22 a=t7CeM3EgAAAA:8 a=QpPr8eI-N4npw5oLFEMA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE3MDA2MCBTYWx0ZWRfXxuoGiMTWzU/0 VG6kdLRZoKSpgLK2BlYnf08E9CgjbmFg4yyJ3pP7gsKijGtV/G/dxNc/QII/QDSzjji+TpVs6sR BmcLDHkIWkeWmOx0wTPTfB5gu1H6sF2bE/r5X7h3xMH9LBsXjz5Llyr5HSEGtj0nX/LFNjEwGOt MOg0d3meN1k0B5oLKhcsmTCq/JGLl+K7l4vJC3QPFDw2/3ctJ3D9NBG6dTncmvdFa3CPBu4Az3H 2B8d+k79e5LgP5RhRXuj1bHDAhPunY94OEP4sHYwZT9sISljE6zicNQqYOcENJggi+eHIcx8AJh BfFOl/fnOgjugYwPosFNHpNzJlcBVqP69AU1EIg4zTqrzgmuY6g0C8CFWo3a1VicqE0EGgSUWTn 8Ftya6KG4b3b5neptSs/+zKKSQLYLnIjC7Kqctzfss0/colycMDpyChLxXoWp2IvVdZmQ5CFT5j KaIlrxJoqRpDHf/ATnA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-16_05,2026-06-16_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 adultscore=0 spamscore=0 priorityscore=1501 impostorscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606170060 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 17 Jun 2026 06:41:38 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/9767 From: Chen Qi Document patch acceptance policies and stable point release upgrades, including criteria for qualifying upstreams and how stable release regexes constrain version checks. AI-Generated: kiro-cli Signed-off-by: Chen Qi --- documentation/ref-manual/release-process.rst | 119 +++++++++++++++++++ 1 file changed, 119 insertions(+) diff --git a/documentation/ref-manual/release-process.rst b/documentation/ref-manual/release-process.rst index a55187c14..3026b54cc 100644 --- a/documentation/ref-manual/release-process.rst +++ b/documentation/ref-manual/release-process.rst @@ -127,6 +127,125 @@ stable release. exception to this policy occurs when there is a strong reason such as the fix happens to also be the preferred upstream approach. +.. _ref-stable-lts-patch-acceptance-policies: + +Stable/LTS Patch Acceptance Policies +===================================== + +All changes must have already been accepted into the current master release +and any other release still within its stable support window. + +**Acceptable:** + +- Security and CVE fixes +- Fixes for bugs +- Version updates which follow an upstream stable series or LTS that aligns with + the original release (based on compatibility). See + :ref:`ref-manual/release-process:stable point release upgrades` for details. + +.. note:: + + Once :term:`UPSTREAM_STABLE_RELEASE_REGEX` has been accepted for a recipe, + version upgrades matching the accepted pattern are considered acceptable + by default (with the usual ability to reject if upstream fails to follow + their own stable guidelines). + +**Potentially acceptable:** + +- Fixes so the codebase works with newly released distros, e.g. + :ref:`ref-classes-uninative` tarball updates or build fixes for new GCC + +**Unacceptable:** + +- General version upgrades +- New features +- ABI/API breakage +- Metadata improvements and refactoring, unless this is a dependency of a + required fix + +.. note:: + + Exceptions to these rules must be approved by the TSC. + +.. _ref-stable-point-release-upgrades: + +Stable Point Release Upgrades +============================= + +Some upstream projects maintain stable branches that only collect bug fixes +and security patches --- similar to the Yocto Project's own stable release +policy. For recipes tracking such upstreams, it is possible to perform +*stable point release upgrades* (e.g. upgrading from 1.0.2 to 1.0.3) rather +than only accepting backported patches. This is the mechanism behind the +"acceptable: version updates which follow an upstream stable series" policy above. + +Criteria for Qualifying Upstreams +--------------------------------- + +Setting :term:`UPSTREAM_STABLE_RELEASE_REGEX` for a recipe means that certain +version upgrades can be confidently treated as stable point upgrades under +OpenEmbedded's criteria. The +:ref:`Automated Upgrade Helper (AUH) ` +will then automatically send patches to upgrade recipes with this variable +set during stable releases. + +.. note:: + + Patches to upgrade recipes without this variable may still be submitted + for stable branches, but the barrier for acceptance is high. The commit + message needs to justify that the version upgrade follows our stable + branch policy or that there is an exceptional reason for taking the + upgrade. + +A recipe may have :term:`UPSTREAM_STABLE_RELEASE_REGEX` set based on the +following criteria: + +1. **Upstream stable branches exist** --- the upstream project maintains + branches named with a stable version component, and there is evidence + that these branches only collect bug-fix and security-fix changes + (no new features or ABI/API breakage). For example, util-linux version + ``2.41.3`` has three parts in its version and upstream has branches like + ``stable/v2.41`` with two parts. This demonstrates that bumps in the + third part (e.g. ``2.41.3`` to ``2.41.4``) are stable point releases. + Similarly, systemd maintains ``stable/v259-stable``. + +2. **Upstream maintainer confirmation** --- the upstream project's maintainer + explicitly confirms that a bump in a certain part of the version is + bug-fix only. + +3. **Clear historical or common-sense evidence** --- the project's change + history clearly shows that a certain class of version bump is bug-fix + only, or it is widely understood convention. For example, openssh's + ``p`` suffix increments (``10.2p1`` to ``10.2p2``) and kmod's patch-level + bumps are historically bug-fix only releases. + +.. note:: + + Patches to set :term:`UPSTREAM_STABLE_RELEASE_REGEX` are sent against the + master branch first and follow the normal review process. Once accepted on + master they may be backported to stable release branches. Exceptions may be + made when necessary, e.g. setting :term:`UPSTREAM_STABLE_RELEASE_REGEX` on + a stable branch for a recipe which has since been removed on master. + +How Stable Release Regexes Work +------------------------------- + +The stable point upgrade mechanism uses a *filter regex* to constrain the +upstream version check so that only versions within the same stable series +are considered. When a recipe sets :term:`UPSTREAM_STABLE_RELEASE_REGEX`, the +version-checking infrastructure in BitBake's fetchers (git, wget, crate) +applies that regex to filter discovered upstream versions. Only versions +matching the regex are considered as upgrade candidates. + +For example, if a recipe is currently at version ``1.4.2`` and the regex is +``^1\.4(\.\d+)*$``, then version ``1.4.7`` would be a valid upgrade candidate +but ``1.5.0`` would not. + +For recipes whose version uses a dot-separated scheme, the +:ref:`ref-classes-upstream-stable-release-point` class can automatically +generate this regex. For other versioning schemes, set +:term:`UPSTREAM_STABLE_RELEASE_REGEX` directly in the recipe. + .. _ref-long-term-support-releases: Long Term Support Releases