From patchwork Wed Apr 29 03:24:34 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chen, Qi" X-Patchwork-Id: 87083 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 8DE4CFF8873 for ; Wed, 29 Apr 2026 03:25:02 +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.3865.1777433100484685126 for ; Tue, 28 Apr 2026 20:25:00 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=Tx5lHyvY; 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=95795ebc5b=qi.chen@windriver.com) Received: from pps.filterd (m0250812.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63T2sX031343308 for ; Wed, 29 Apr 2026 03:24:59 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=/8fkk2BPK F/9UnWvHcVgpGilpukkRENDM1mmNhgT27s=; b=Tx5lHyvY24V4cWoDHC5Ugb2oU t4KzbRIFbJM0ibjltmcOaKJBBqyxt8HxUEwy4H/rYQVTXsvFDl4GgUJ2d1BH02pU VDKyNo7UOBr3YsrGpDT3yr/k95KkwtiDa2PQOo4ivwctIzB0eFiUbxLyMlfU1F5D 9A/nU3/VP4WwkD3FRTpWDDj31Eb8arPuw81z0cEbfOQZz1vIJ1WVE7yCYLaFkzo1 f8iD6Ugb6p7tXOUv2aYeO84J47/eqDlbqTyyKPemNon243WXSgG9lpRS7o0ge5ww HKjRxzF1ZlxBMfiB1HO+d4gzIgjd/7ZZUtzbgavZbb9Bd/HWSRZy3Uw+oejdA== Received: from ph0pr06cu001.outbound.protection.outlook.com (mail-westus3azon11011028.outbound.protection.outlook.com [40.107.208.28]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4drmk6vctc-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 29 Apr 2026 03:24:58 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=b9mnGfV1UMguEBTYMPTs9aOX5ryi1F3vgviClcDGYBTt+FmbgcYRK9S6RAS4SuHYBkjMG4Vzde5DUPXHXgQI010+0V+xvN/KXFOgWmA2PUT7NPfwwMjFEx8HF5qbno+yIqvUR9fGW5kdacN7zNbPZzkCGy17msNaac0BHiMe5reR0LMRAXEiAwc6kPLTb/G39AXny+SH8i/4iD0lQeW5mRKc4Rb2I6UZSPMb9cxiBlZf8QpTOBlORqTWVIhA1+PIJthwKG65AnaF6741ekiq//eHZmB5nBDw4XPwE/I48AvrxaoOEtEhHY8AwqJrQV1OJ7mWtOH29j4/FZjFQB1LOg== 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=/8fkk2BPKF/9UnWvHcVgpGilpukkRENDM1mmNhgT27s=; b=PCX9NXPzjGTtJ71uXt0brswz/VytuCMJOPBaZ3UsgucnqhYa9c8k+ypA5oZkGcA2rAsPHtyv+K4x8ozn4OAUqgXUq2y3kTpIT3CssjvXwymkYKi2tkEjiauomJ5HLxnCoryRDWTy9Vpv58BhNlyF/R7H6BqKH2DVMspiL6YyeDfOw4cYvCj7ZMRdelQtQMVtPnkToJqZFOu7h+wL1SKJGQTmQLQRpTRCPjDNpReMevqU7OutNCcnn08VdjgdKJGYBPoqGSvXnCpolUS1EeYpQzOpEjnk8YZ8JS1Edxn/lNTGEHiEqHtWHqL/dXSiQt8UtVQjZGcsDO9O9Zv8GNffag== 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 BL1PR11MB5954.namprd11.prod.outlook.com (2603:10b6:208:385::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.15; Wed, 29 Apr 2026 03:24:54 +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.20.9870.020; Wed, 29 Apr 2026 03:24:54 +0000 From: Qi.Chen@windriver.com To: bitbake-devel@lists.openembedded.org Cc: alex.kanavin@gmail.com, richard.purdie@linuxfoundation.org, Randy.MacLeod@windriver.com Subject: [bitbake-devel][RFC][PATCH 1/3] lib/bb/fetch2/git.py: add optional major_version parameter to latest_versionstring Date: Wed, 29 Apr 2026 11:24:34 +0800 Message-Id: <20260429032436.1075831-1-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.34.1 X-ClientProxiedBy: SI2PR01CA0019.apcprd01.prod.exchangelabs.com (2603:1096:4:192::12) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|BL1PR11MB5954:EE_ X-MS-Office365-Filtering-Correlation-Id: 546dab3c-8e06-488c-278d-08dea59ee187 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|1800799024|376014|366016|38350700014|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: oF2JyF6kT9PZyOof34FBIP8n7N2QhKo4uVz+/FAcO7KVDgshNhqq63PKkofENRngq1GVgmLl9kzdCgUzUmxFYisuuGwgQKQIHDuwH2pJi/5pMfXfYF0Cz+WDDT5MAClxb+zVSv6ssZlZLaca8PrxwU5ZheykUEuLatuztgs2sATgqQAEukdkyOBZxkXoFuZCrx3yqJgkQE6Yqkt4LYW0VCO6ri6/fOgCxvYodLd5Kf9iyuwktu3ZUBouuHJvaa8MaFJFv+FsG0jTrDPGVXd0SauZ7zVVrrDpPY3Ojcpsl5JVX8PNBr21IDGWisaZkZ97VDdFYsaEy6YHmz9jnMBvOWwDPh9mfLmufDtLe/Eg/hV4P45WHtPDHmHatte8n6sBbQ+ylQpJIrrMo/MJNOTivjHPYN+6mfHRJSx+Vk0+Az0jU+miEAj7FEzS0bdwWDY/RpdiPyxjMjeNXcdxt+s2lMq8YVo2y0dnKrsyecee+Z9SIPPDVA8E8aYNIhbkw5f3jPmGqv5AQXjPfObsOOh8YYXHl98+nhflK6ct3I3vEGXb/cp+RQyXYub7Pb9e13nSjT1VzAeNB87fBRfhAyDoJf4JlGOffYmUydrrbYLfRDrg3kvE7JSzUEAD+unsyeuhoqnM//rNiE8nc6TFpqmewcD+y5JhePVTnRGyR3pxRf7X+WtX4lbmfirABCvmAaTRRgma45x/cv/A6YIQBzibRcdVZ0KHwYFoSrJ0Z3FLMISmvW3q1Mw2TTAiU7csggKb6GJZY8yvomORfLIfSh8RvSq2npzBbRQMygkEmJsLp2Y= 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)(52116014)(1800799024)(376014)(366016)(38350700014)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: iSdt7abt6BZq/dHbFUA/ntYu+zG3LyobJV0xpAIG8/w1s8JpMWVxK/5+BsT+c7c2+IRD4/NVL7hhiyPwI5fxfgiSNGEATCXgeWoqq7Obiy8ZFckqLtaogtXlCld/C/KdoNXb9h1e1owpfSA0CXq2kuR07upEdLiPraVGMreLnKK7b/VeGuL02jJcsQiKvFrLYNYJzYDYkrRkw7+cCtNUi8nbSJIAvg4zZCMnq8iOMhtOyrDguwAtz+G/sLzUwnH64sSjwKtpJ4JpGBkrBJzF+1hRqg6IXTnprno2QRMQnJ4xPyflabXxCptZ3ofNmtGUUkUfXJNzR0DrfjEwdU0C30AHwM//Fr+AEXvrgY+mkBtTjQpJaldHyHG9D6Dqr27/ht2ak28dTQMyrtcI1kpn2qjVYpJueZFBg5USPG8DRE+5KZFjrU48TaoAoxJpc5yjH0YKUsE4GztzdYj/lhuONjdrTrCVMwszge0hFItJUvLU8fCQf6STMUAVM4LIjuDY5oitZNa91jDfTLopPAY841u5MfQv9V81opv14osYavgMzGQ0OxlTySFg6K+FNUudLhrDkiN+OFqUZ+ajaeYjXNhHjltHLYHY9bycTj9jKdbce9jIJXugl2HMJS9kiF7fnD2EJ29SmQZ6m49XvP7HHWCPCBQ+o2nV3j4oJaplJjO1OeM8MlcIkMh3eWSDzFlNnIrpLy2N8JWeCq+iXSo8ozxYFzCgluH/6whLedNVY6+d9pUrCpDo45h4pGouktIqGegZHUQsc2YHhBLE/3tAdRAICVjPnxGIKStcWcnZojIN1sJGEeRmgMUfFB+Aqfe1lVZYEC3G3ANFqgDTPtD+VtNy4Tn95ElcACrgmMrqbsTrEpNYRSdJJMTNFgPdh5lea2J+K7L//jBu+KNWg4cKwqdzT2JO4wm2mo4hyzgzUq5zSRe5AzEl1f+gSvVTPtwEx1CzL4rkQMVeJDCBHWGEMy0RbSFxbE/rQVFVCzXTuQYkSHBp1cOq3ULZchHrVG81qo7FotzHlCalkPlFbtjnMWu7vSW0ZphVPg9lXYJHPpgbZVjoofXVH33butyuB6UjMGhLzmcFRIxv/Q1l01jSYm0q962VF6Zyd3kQYNuckuGsmUuQwwpmFMIP8IJM+RK3IXFbWHA8rq/fRpNgSvaQxVNDUebBXPwHfa1va6sjNsmlGFtnMfZ4d9jJMtLxvz42wsBAf0qxnV4cNpUh6RSdVRzK29hUnIAn+OI5vuvr3oJV7jE6jydbp9njPqmQ+0j3GiBlHwp2KNTfaJK4j0f4371esMl44M++ikVfLM/wwKCXxDGkWbdWJkhHdA9KROIbU8STHSuE75FGSY7eOjaV5d8sHHt6HdOx9TFCXaHEQXG5EFD4nx6JIHcGzUvTOWlcaXpl5maUA+GkJDWbge/7hJK6mUjHgZZfrV/8jTizpNbRSYFmFLFg70URh96YpfaEUAhJGaRKiK7JtqtaLShXm30MhTSCXOkGDNnkyOXwAS71K0qik5ekV9MCJ6Sk8Utgx2AgRbVK1GWlaXqVeaedaihxC28/YE5k/4CtIQBgvqdHNQ7Q9kOoCYQ0DCcfJmHDGhilcSsucGFG0MU0ERIwmz/VrHpBweJ+zMhZxH7NLnQSNVQT1dg+aoEgPrZTUelNWm8fXWSc3Ktolv+VXIcEsIr90S633p9rEIe70Hi7RbmQgSPwqW/00ZD07bsxmYTxLhnIFZjZTTDz/L8Dmh/EPQ== X-Exchange-RoutingPolicyChecked: F1wBDgo5zaJVEtZhlvFAaPRytY0diC/zTL22yoWak5qTm86+GYazdtc7FepB6no9vauCDrwTmnJjb3bx6tSiJAFsvwO4FXGeRjZY/V2U1hIgKSvFyDK+p5EmJFd52hinN/FJUgJe9pZtbHRXFf288D98kq3E2QFV/0FndqZqfnI1KGMzZQcppfdxEBa0HG8EeNR4ZVZIfJLY6PXWldQ941usK38pJkzkOveoabBcHDnzstkK8AveBu1u0faZGNyoSfMM198f6GWMfUhAKYcJOCPOpr0zJ2c7ACS549zBAYlwcdKFuJ9XB4GTnRkqWMGxMQv0L8Jiknnu5u/EjWTD+w== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 546dab3c-8e06-488c-278d-08dea59ee187 X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2026 03:24:54.3209 (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: eU854JVzPVnZtGiuw6aJaHOzHnezcY6sU9quGGmOodSBOUOM3AWztia05quh2IHPJnU8IsSGxBDSTUAj5pHumw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR11MB5954 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-ORIG-GUID: f-jqYV74Gdx7DklkQHTFjcpKcP35NR7o X-Proofpoint-GUID: 9EIqtqQ6mRCQ_MoZc6u64u06PL6Rga_S X-Authority-Analysis: v=2.4 cv=RN6D2Yi+ c=1 sm=1 tr=0 ts=69f17a0b cx=c_pps a=r8gZD2gelFFA3OdVKTiE/Q==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=fTW__CHxibyLmBMfj2wP:22 a=t7CeM3EgAAAA:8 a=b4nhW9Vc8iuCVDfx7nsA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI5MDAyOSBTYWx0ZWRfX2XN/v+v4xkfE DNOCF1EWZeubgzsIbu8P7bdp/YATVeZd3dYAnerO4VLHGwzhF6zeIeg43gB76OCGtsDzH4WHFIS B3V476k+429tCo0Sz2RW90A5NjR0CwOWap4B3kK5sXfmTJkABFfWHGdpTklhK809T++d5DYAL5i +oP94pnVxrfuZ+gnfCmV7vYswOEuVUjK9RZpXRpI3bxXdn++g3yJqRa58/9jbQJSSWMZsf2UK/p 593zQi4qEpuGfo/JDrl+sp4inrLelGGCiyuOOGtcdLhEh4MLwTaZ1ZW9c+KsvCkT76+N1VQKoyK lmMwfevNvv++YbAlhoPr6NS4KMeW+/A1TV0es/uRcOuVO36AqDpsLAI1dfs0YLoXM9XyGViTElL CSEBa5nSwVVo1OeKbhBKikaT2Hw23uZvApwagL9cJW4UPl2mVlqGCJf97C26AltBMJ2EJYk6brT Twn20qPM0Wo2VLdh7SA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_05,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 priorityscore=1501 suspectscore=0 spamscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 impostorscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604290029 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, 29 Apr 2026 03:25:02 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/19408 From: Chen Qi We need to handle the situation of LTS upgrades. This means for version such as 1.0.0, we need to find the upgradable version of 1.0.1 instead of something like 1.1.0. Signed-off-by: Chen Qi --- lib/bb/fetch2/git.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py index 10eb63b20..3109a7256 100644 --- a/lib/bb/fetch2/git.py +++ b/lib/bb/fetch2/git.py @@ -976,7 +976,7 @@ class Git(FetchMethod): raise bb.fetch2.FetchError("Unable to resolve '%s' in upstream git repository in git ls-remote output for %s" % \ (ud.unresolvedrev, ud.host+ud.path)) - def latest_versionstring(self, ud, d): + def latest_versionstring(self, ud, d, major_version=None): """ Compute the latest release name like "x.y.x" in "x.y.x+gitHASH" by searching through the tags output of ls-remote, comparing @@ -1016,6 +1016,10 @@ class Git(FetchMethod): pver = m.group('pver').replace("_", ".") + if major_version: + if not pver.startswith(major_version+'.'): + continue + if verstring and bb.utils.vercmp(("0", pver, ""), ("0", verstring, "")) < 0: continue From patchwork Wed Apr 29 03:24:35 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chen, Qi" X-Patchwork-Id: 87084 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 8992FFF8864 for ; Wed, 29 Apr 2026 03:25:02 +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.3983.1777433100807217294 for ; Tue, 28 Apr 2026 20:25:01 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=fD867iVz; 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=95795ebc5b=qi.chen@windriver.com) Received: from pps.filterd (m0250812.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63T2lxR81332311 for ; Wed, 29 Apr 2026 03:24:59 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=f6AIW+pkTWJ7LtoBaolk8sr+Angc4tU9tRt/EcasLk4=; b= fD867iVzj/3qu/jkpsA6qPkMB5C3l1O6Zp87r7cCStlzllm3XC9Ga3/diqQ5Bi2Z e2mXG9wUphWxtFomRka9Jw302zOnnCQ7gjJIS3vYYbEZtUtXgrHhhvbhK+NYP3Yz ymiAmkBwwSQF1lO+cgJNFlAYzfB1HtPJfJHf0RubHxxjm6UyLarXN1QpxJajVGBW xYQXTOzlcqzomNwZlzyRkIlqyLQyUDIu4y+cDM38NlmnC0IBJNBtWNzTe5yqFrYv GoaU1LFPLdiU7S0rIifup0iLWeFbRYQXT5AF1eXsOJ/PLELNfgJ/c90Q8oTmBlV2 T7g4TkaP5ElJ/HSG0RN7Sg== Received: from ph0pr06cu001.outbound.protection.outlook.com (mail-westus3azon11011028.outbound.protection.outlook.com [40.107.208.28]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4drmk6vctc-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 29 Apr 2026 03:24:59 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LcylneIESgYk4b8OrQOtpqgI8g2WYapOqM9fP8FWqGNmaT94uvoGS6cZPoH+vG0I06xuVgiM9jgMZapWkWGaIGYGnkkg7KIP9VbuqbMytFyz4PRd8nmbeJi1vGsDgXQnzPN8hR58qZ6MZeSQ2VN8LjgGDnih/bfFalh2xQAAa4bxC6gXbjXued4VLDj8kl+7sjBXQ4SiUqKWm/OYr/9QYXi697gjASiaeq/XqYvNvj3O5jHRL1Q/NKyW7NkU1PLKDn9YuObEz1PKsHZv++TCiBzVKUoWYZXRYrgMDedPCvQO72/dv7m/5Emjw0cVqz5DD4gOrqNb3HREh9niWYo1sg== 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=f6AIW+pkTWJ7LtoBaolk8sr+Angc4tU9tRt/EcasLk4=; b=bth+7SniRzvDJu0Ul09xYh8ojhPI7yK8G+894n1NmkOQhysqOlhGLYZjoNDVtJdg4dIcCmm65+Z5Hr3N45a4sgddKsU2wXU2y7Vn+CaepRaSQ+E44w2dz67s9xdVewXQuFIqEQmSXUlEaWF+1NUdQKWHBCRwviWYCxdovDX3iZY00foyytjhRRpydvu2gZUh5iyb0Ju3CRRyRXZSCHw1DVPsnwkpot5oXsZGoq+52EcKmJLEt+mb7z+Hs0TNeVFs/pTfn1OJFqOII1E+RJuK3VHCeVn22h6JHzOAgNzEnPABE6WlAC5m187uta5k9uTW1x8WAOlEU/0kCjCED3b4TA== 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 BL1PR11MB5954.namprd11.prod.outlook.com (2603:10b6:208:385::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.15; Wed, 29 Apr 2026 03:24:56 +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.20.9870.020; Wed, 29 Apr 2026 03:24:56 +0000 From: Qi.Chen@windriver.com To: bitbake-devel@lists.openembedded.org Cc: alex.kanavin@gmail.com, richard.purdie@linuxfoundation.org, Randy.MacLeod@windriver.com Subject: [bitbake-devel][RFC][PATCH 2/3] lib/bb/fetch2/wget.py: add optional major_version parameter to latest_versionstring Date: Wed, 29 Apr 2026 11:24:35 +0800 Message-Id: <20260429032436.1075831-2-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260429032436.1075831-1-Qi.Chen@windriver.com> References: <20260429032436.1075831-1-Qi.Chen@windriver.com> X-ClientProxiedBy: SI2PR01CA0019.apcprd01.prod.exchangelabs.com (2603:1096:4:192::12) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|BL1PR11MB5954:EE_ X-MS-Office365-Filtering-Correlation-Id: 3edcd294-6645-427a-7ab3-08dea59ee2d8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|1800799024|376014|366016|38350700014|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: 4tglDZnYJuvSEO0uRzw2dE2vrGoJY9MHBffZgY1i8KmKiuKAJF0lt9Yomcvdo5NR2/PbnmF2l2hJZKq7kRvJxQVKg7D6RzdJFQsdJB1w+CQW3IhA2RxJIro3tvRY3HGzCFWpfP5++6KI5nR1Q1fPYlyta7evsbjGccP/ACl8wy2nH+9YIsrTFLZz6ZBG/Pl/uGUIE05rre422Fpwc9oni9kYoGQo3IPqk/liJ28Dq1fdUsD6asK6kGOB1MhYy7dmiNHdN9gwCz8KbeFVKnzRwpFH0yGoev0dkiA3WJunQ2mEjuXMGWwcz4fyAc909mmeOzr4/0+LC+YHxF2kt0vU1hG6HHp0YQe9azRkKKQgehqVe02ufZX1Rt3PIYXzh0Wk3PKIW4wY7Q/uaNDsrPt9INNXD7O+Rv0EVp3RHOP30STVMFgwmSKMup5xwqbt2NMTJGMJQlPxYQi/g8urdxYYxG4xx70fY4zvSTtP0DOT7NumcB0AD3gudjos0bDg52uNCt8vdeAyfgwwX11eb6BF4eA9BngIT9ZJJOHUUVY3919RkXcqav2EreabYNDlCyMmSAIMX05naF8simAlP1uIVoNxPXdvdQ1NJDb7ZeRLJLC8bOkswJX5NlRRcPihYJLr9jQ094zLhWNhFkcIjDoIyKYb8ThiRNqGcZuhjmfsVwxgyhtSu+cBXIAtqiCJsQosJFtHxlzzK3haXIU5SUfJoFkwOyMbbWnDpwPUNWm/zrdAviwvJlEJ7/Lq/rb3ewkCPNvOZuJuvt8cVLSI1Eo5gEP2gSBYmLZkz3Gz9LYsRJU= 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)(52116014)(1800799024)(376014)(366016)(38350700014)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RBXyEvYgB7LFroEhJhAP6+C80Crcdzb2eM5DXi0YhqoZzj3mQwxGic9isfe5id4Q9lDJyS34SjFjweFC27quGilSk25zkBoA5pVn+ND/W7FnRQiAcYS0t78RQIiAFkiJVZc0DyjZOLGoQj1nUEI/ba7sN7OgNko50uhcjcWMwiT+pzin9NdXGhtn6DingJQLGuRKZkxjCUif6wleXq65P6jc7eld8+Fhf4FNbgkGlLTaZv+46tmHZJngAn5t45UqwegON390Kw1gY39HDtuW8zLpGM5Nn+j/+OE+IMppOIDCgnYOztrlNea5ZwPUn9DF/XXFaJP5WCzhOVhvyIfK2P+1GrExJHn9f6byYt+KSyueyPSLs3dPBGmcCVxwUlfvRo1gbMs71ubTi1WGhlLYPyO7b892PctXINbkwGz1N+SIP29oMkccSr2pLTBaLNBy0G2G7V+Ti8e9JU5e3lXWgxzCvbJf8nLTFJ8IDDW5D36Lz5mijvtSp9ewCLm646TWaPn1J9/r7bng47t4deB6vj3HM728xmFHYJVuEyZ3rZ5VLkRfDO6ksvVuIacwpqnd0ykou4jB6N3gTNEElZpPgTmFAru16ilVfxXsiXl+piXCdRz0cIW4CC3/7oTi6ujkbFgiIzH2aUvo6/Fb36z+qUGpG+Hh1JDH3QJ9piLqVxrKQg3gxdBFeqXI2G/dKSvgLZKZk2AzXrkstkJxWWZw8fWcTv3zgkb1ljnyjyHWGATAUdCFSkd+f2Gi0pD8qAOXA+rMqodqUvRWK2pNIcwm7cn9ZjrU1SyhaDeGfhdEz7jji3Jc+PdcYMrGZr4NToa5UosSsTkK5RBYFxmQSWED2fFY9bTtN+Mm0LN16PpfKkhqrLXUCdwTV3tASZ/fFIhh6JFVvRpWzW5PQNcht4HZUCC7FQ3m41rU9IH1PZDz4X3cIcnDwZMBimf/nOe7iqG+Rv84i66k/vp3xJzzT46Jq9KrFB1BrBWJIKJdriPiEIgcjIEiwpDLRAT+WiDeeFTgMVQxxs+meIz/e26FCIs/AQsNAY+gbEe31bk8KaHfB1XwUReB9Gg9ibT1JQRBO7Sa+8pTmcXAAu2f21Hn5SAaJeZlQ+umX/+araovfSHTbJ54S0/NXcd79IBkufBpooo1Zd1sM1kmN8c1Q4Voj6uT7uDQ39PcqX6vH8KeeOdBA3IZlOrErFfk6RjIczMEJuaDEXZl8RexntE0sTjnZm48sdAivuHnJgcaHkXhhqG/lZ/G6JZf4rXDiLaA1GOilCqVeFpD5YvjVdCK1D9zYHk/N0xpeqe7mMGE5gZRA4mcFCT9r0SaOsZViuqVNn2yoHFZTh0Y0gRznHne543eI6+NHwKNPpx+sGfkLqNFeJRcIdvHY8B420oiinFvAZXCsgn+BCMQpfSz/IxjAWNUGN43B/yacRBszRwgEIJWlL4DHGs0TTLl00g8DNuTX9LMWL/LffnldqcPl98MMCRlpgTlZOxV8i/t+7F3on5GM2ORxL9kFgPdXtgSn0V+gQRgLS82TtLapsSzw1aI4XRQ0DUBmqJVuWqUAnPkmoi1/kS0AnqPWV75Vd6lrw+huF6VSN3mrYOvPZweRNHNCfWuE1tFLn2x73r4d4q0IweV3/6nqgSghDzkdD5RwEBgo2MkqlVHj3g4lrpspQvGlbHE8X1A54TWWYW+exhy63rit9qv61rHdr2opPQKQuQi/wtufVEWd9ETgUzMHx+BSZNqnvuBGA== X-Exchange-RoutingPolicyChecked: Ehr0+6XInfWi+JYaeR0zjIR7wf5ylZsfUKSIgO0YZ/nP3rxE0iVGzf+hYiYwDTuPQXP8vB0r3Lld4tHpnHcHaYacWx1OPtvlk9c68x0ww39JEcmSwZVTPZ4PszDYPCGnSfSk7H5je+eWMMRI+tyLQQsJDQo0UQ3ZkPWFw6emRW+xx+NHHCtJFRD8y2VAvN28n0MSpGsKpwvj9V5rH01HXNjbvwIJnALi1uQNVXE7wMp2b75ObkzdOkPKQoEYM4Mog8PSdI3GPNdOHjFi2GAb98qJ/VuhSkqK/7K1z/0PvSgV0PgtFMOwZ1D88WlqGTS1E6YULHWkRbocCwQhcTsoQQ== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3edcd294-6645-427a-7ab3-08dea59ee2d8 X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2026 03:24:56.3964 (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: NhyIBpGKPhaEEFSqhIiw5o95IvaIv+PVsx6hgf5NC0F5ICTFyKjHEsWA+RxsBJnHLGLSyQWezC1F+NwT7E8xRA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR11MB5954 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-ORIG-GUID: pBq7rjncRZTy-R0lZpm_iAIfGRhJNJQW X-Proofpoint-GUID: dFrUFNWswIj4woF7oyudqofWjqvSsmTt X-Authority-Analysis: v=2.4 cv=RN6D2Yi+ c=1 sm=1 tr=0 ts=69f17a0b cx=c_pps a=r8gZD2gelFFA3OdVKTiE/Q==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=fTW__CHxibyLmBMfj2wP:22 a=t7CeM3EgAAAA:8 a=zn5JUfJC_tOmDknYn7cA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI5MDAyOSBTYWx0ZWRfX8D1Lf3NjzH2f My0GN8a0ySrxhHpw+RVwihCcRHCMkyuAVitIYNMoWlz9UkV+6hzT1i8wJGThNZxiQex7YIyw+7R pGPhRHMY9A5mctKBzsKGe8P1XKvk6u3PtShfbZcH6Fyis8oJO/dF9IWsTIaAbdZ5LKXKziMEZj1 AX7xSfJ5UMxEyJU/+L+ODTPyJB+VJCdoehf4u3sbAP1L+5nLjHGJZavDr1FILPTosDXBGB2DggG CcJr+l5D+sMKvZCnYXLrykFu+FZMw1LCwsG+G4hbP6c2FE/Pev3iwrKhEX4o14GnnXZL3XFKUw7 CnhBUqtejvtQzwJi48LMhKqeYw8xTIhci//3Ez89CtkodmZO0KTfRECD38m+8H+hFubftDwL3SO qC24nia0nuXg64TcoQKhamznnav1t6JxXlQuyHp7Q3JYu0jVSbx0ARuZbjpxa9Uunj5gcQWswMm 2Od0UNAin1cNjVLWg1g== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_05,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 priorityscore=1501 suspectscore=0 spamscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 impostorscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604290029 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, 29 Apr 2026 03:25:02 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/19409 From: Chen Qi We need to handle the situation of LTS upgrades. This means for version such as 1.0.0, we need to find the upgradable version of 1.0.1 instead of something like 1.1.0. Add optional major_version parameter to wget fetcher to support such case. Signed-off-by: Chen Qi --- lib/bb/fetch2/wget.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/bb/fetch2/wget.py b/lib/bb/fetch2/wget.py index 6ac4306c0..86d0a604a 100644 --- a/lib/bb/fetch2/wget.py +++ b/lib/bb/fetch2/wget.py @@ -492,7 +492,7 @@ class Wget(FetchMethod): return fetchresult - def _check_latest_version(self, url, package, package_regex, current_version, ud, d): + def _check_latest_version(self, url, package, package_regex, current_version, ud, d, major_version=None): """ Return the latest version of a package inside a given directory path If error or no version, return "" @@ -515,6 +515,9 @@ class Wget(FetchMethod): newver = self._parse_path(package_regex, str(line)) if newver: + if major_version: + if not re.sub('_', '.', newver[1]).startswith(major_version+'.'): + continue bb.debug(3, "Upstream version found: %s" % newver[1]) if valid == 0: version = newver @@ -532,7 +535,7 @@ class Wget(FetchMethod): return "" - def _check_latest_version_by_dir(self, dirver, package, package_regex, current_version, ud, d): + def _check_latest_version_by_dir(self, dirver, package, package_regex, current_version, ud, d, major_version=None): """ Scan every directory in order to get upstream version. """ @@ -576,7 +579,7 @@ class Wget(FetchMethod): ud.user, ud.pswd, {}]) pupver = self._check_latest_version(uri, - package, package_regex, current_version, ud, d) + package, package_regex, current_version, ud, d, major_version=major_version) if pupver: version[1] = pupver @@ -637,7 +640,7 @@ class Wget(FetchMethod): return package_custom_regex_comp - def latest_versionstring(self, ud, d): + def latest_versionstring(self, ud, d, major_version=None): """ Manipulate the URL and try to obtain the latest package version @@ -678,11 +681,11 @@ class Wget(FetchMethod): dirver_pn_regex = re.compile(r"%s\d?" % (re.escape(pn))) if not dirver_pn_regex.search(dirver): return (self._check_latest_version_by_dir(dirver, - package, package_regex, current_version, ud, d), '') + package, package_regex, current_version, ud, d, major_version=major_version), '') uri = bb.fetch.encodeurl([ud.type, ud.host, path, ud.user, ud.pswd, {}]) else: uri = regex_uri return (self._check_latest_version(uri, package, package_regex, - current_version, ud, d), '') + current_version, ud, d, major_version=major_version), '') From patchwork Wed Apr 29 03:24:36 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chen, Qi" X-Patchwork-Id: 87085 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 5006BFF8864 for ; Wed, 29 Apr 2026 03:25:12 +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.3867.1777433102299967823 for ; Tue, 28 Apr 2026 20:25:02 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=Xoc1U2fO; 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=95795ebc5b=qi.chen@windriver.com) Received: from pps.filterd (m0250812.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63T20QAH1252158 for ; Wed, 29 Apr 2026 03:25:01 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=zy8uDSYgFl8ehFu9JqHaKqVaEiM6ItCsmHZ4FaXmVDw=; b= Xoc1U2fOCbsFn8uG4NuWP4CoaKDnbbZoF528FknHVLBmL0wfUD+8YSG0TwcChfPC p1PidIASIquwXeo33K40PZ6Y1wTiqrDMDxN9RWzgj0cNA55T/Jc6UEiKn+NRgHts K0+nzqIp2u2adJMALHa+5zVdh63Xr7tH+yws3djU5K1UkUm146pssY8+8wX/5j0Y f+Xz+n0wQEVNFufQPejLAv32SmCMekdklqcyPSSY8XS1oZgk7gn/u43oq9cEQScH oR/Cr6oh59c9YknEhARaETnA830vSFR1NcHBKEXhKh/i9jnrnoQ2SBPvn6o0xCBc 77SbCWjIj+5B0TRqLbbuAA== Received: from ph0pr06cu001.outbound.protection.outlook.com (mail-westus3azon11011066.outbound.protection.outlook.com [40.107.208.66]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4drmk6vcth-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 29 Apr 2026 03:25:00 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=C9C3yUN0ZSDBnC7IJdoPVpA9BhLGoQrNLLB6ODMCtZjbPvpGxQSb9XQ3+BhBKgVNac8nl02Ck8PuStnNXjJZrSLM2Trm2eSbnlynzifVPv/3p4Vo09hTs9ntDhJdBANL0obFgZLdZVAQQMaFc+tb0dkfp8E3pCV2tOz/NRnAPaKrXSkBgPRy1c3qxkK/qy6JlD8XpVsHViJfzl5MDXxyjK+h4VxK3AVoUbeM80cAvzQ13NVkwIU5sLI7c0InIK0h1jhol2kUZXjW6JrDvM9CDc5UaoU+5JAJsnXI0X99i7Z4P+PZk0taN+hJml3H0R78S0ACGPS+y9StoblaHcoQEg== 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=zy8uDSYgFl8ehFu9JqHaKqVaEiM6ItCsmHZ4FaXmVDw=; b=aY7EwmLT8PsCv3B30a7KgB/Hgi+XJ2Dw5eLGMxT2RLrUUy0hqvH7uLMwWjdmg9GBkRMic4cytcxkRM1c44A1hersc86kfEduA6ZWC0P6VUGSaHhF0qq39Kiy2ZLUW0KdI7e4VGX5L6MBoQAR5mTLBY6rKzKg/oLWYrY/YwbdbhWi5zLBVzL31qd+WC8Qys8Xpe+QolMRx/AffAsnGPKl9RvhmHOzf8XGtutP3DUacmlaZkhPRbo24RDNKTXUWfITF0akuLpN6YzMsBNGoaAJstHEb+exen6zHGs7OdKOx8276M6QUiKuCyWhs0kP07+ynewb6ZcGUOy9UBRwR7qMag== 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 BL1PR11MB5954.namprd11.prod.outlook.com (2603:10b6:208:385::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.15; Wed, 29 Apr 2026 03:24:58 +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.20.9870.020; Wed, 29 Apr 2026 03:24:58 +0000 From: Qi.Chen@windriver.com To: bitbake-devel@lists.openembedded.org Cc: alex.kanavin@gmail.com, richard.purdie@linuxfoundation.org, Randy.MacLeod@windriver.com Subject: [bitbake-devel][RFC][PATCH 3/3] lib/bb/fetch2/crate.py: add optional major_version parameter to latest_versionstring Date: Wed, 29 Apr 2026 11:24:36 +0800 Message-Id: <20260429032436.1075831-3-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260429032436.1075831-1-Qi.Chen@windriver.com> References: <20260429032436.1075831-1-Qi.Chen@windriver.com> X-ClientProxiedBy: SI2PR01CA0019.apcprd01.prod.exchangelabs.com (2603:1096:4:192::12) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|BL1PR11MB5954:EE_ X-MS-Office365-Filtering-Correlation-Id: 172242cc-0d91-4f1a-6737-08dea59ee405 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|1800799024|376014|366016|38350700014|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: lOFH1bbTZJzQ/0sPN2k2367Kq/CGo3lSusowNk//FHYRo3oacoGRldW0+Vx69uak5915jwWogXxvXsz0IYWx9vJAMKGr8s9f2VnQwD9cFz9SHGhIVYJJHHwd9lI5KKfOtpX7911jlvsCHwfTmT9h42XJfxjqbbNNgxvQs1OUeLaz41xtAcsOxO6XTyA88lRYLiFnhO2hRkPwpq7I2rZxZhE8HInGKQbHsjks+TgxYkUPkQ89nSUk1SybxVIh5YhieRQHELThsCYxosyAJfwJOE7Bu/N6NHghizQ0KpLawQ+RthcYQUmiSVSP3w/0ZVrMuRFYudYWkGIQfeCfhJfW/14DTUFqhEnQRuXKjzmoV3cmz8qjDs3HM7XtgycWHD8k129CYb5yB1qe7fOjwh9h0rKGS/OPbFhPvb4g9gembmmu/8bK+BIM5/eNd2qM8Du2TOBJRJwzVEy78Umi3WiTdbAWg/VUS+3mupULtK3bRR48sFxZYCCWe3Y+TKY2V94joAusUOy11f7vfpTuxBE68JGRWE4gPoNDVF0I+TFkCJv+g/sAhmcV7Am78Kh3wYGrPk72led4N88ydQqStFCu4CSUlva1YOVbQDM/rewZ+N06MJGFrA5sdKRsP3RvsnO6+QVLaIIvbc9/0SCHikBV2ZqN+6SZWADGP9fTocqnRfCCLBFUw2eolw6kk2cDboxn/aQTvJyIrvr563W0Q3SkO0h3c56bRpMIAfedv9itU32aYzW1RYy9gffSFRaB//nSVKofE9JgYH54tgHQeuiCqzs+YQN1x958aVql8OszXtI= 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)(52116014)(1800799024)(376014)(366016)(38350700014)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ymGtAc+9tsp2lYbv1ST/lmAhYhxxY5PAhmab/i0XOu3Jn09EoKyb8pOzRWDKi8011ML/XN5qsLYgMX93baagFI6W4yre3ji9K1l+eGBPNx3jju569MXIm/ftRQ6EuZS/eqPChlyvHZESJhZ1k3xt1Ve2oqzI6wZuRJ/G+ve5cE3PiglTG4yBlFl6pqCIGhuAEgu8IfiRUaOdOfMRMDosVmf8rsdHOSsyAv9qF1RHE9Z3wOe5Ly+CX4UzuB5mgXW/9witwMAFZ/yhScadqAs2Tonf3WGlHcRFlNf65UO+PepN1YfGxV3QN6QLO0oCdUy3zFlZ94BdOL9xtgLPJ/73jR/V2d/YDqi/7pkgxfZs9NGxBfjjuh/3CkMpECITDJeWA3sdYRYsc/gOPwD72a5njAD+VozqWELAuDpFF/lI1VWytueLKE6jS/43ubLcL4MbkB9yyrGFBmyUfYPi0Gn+tALEd9MJ5IT0DPTiKfAAtmhDsu4O+2SRAUBILpHZQYRz83MECBdv0uD92mJQQIIjDgDa+SKlMUA3CczztWkAhGu8FArnaCizt+DOEnqma5RKlux8ILSSFfepDFFwuOTPepgTV4JouCepfJ5+b9JijA76oUufCWtXT945u1FO0tIj92wBtM/dAPUQoHnXGfqkCfB3JPedSPwubsNeQcd/S2l7rsAitfmayQNBB3T2nizbXEc79bXwNKe23JGpALc/BgmVHybGFUXTc+LEOJy+GZGaQbBmnIUPCafw2ExlBKmcLTXOgPhlsFzWOampvcwv+Q0cB29t6ZCSR2WPrQXsVq3tQfi+Ax16v/XfexT0UHYdwoqQEkFhY/RVuA1awv7z3TVyRlQUueXKCX0hcsc0PjEQQOwxnLpZ2d46VqyYR2o0vv1IMcnneAfXSjf2QQHg93OtIx840nKANzJlK5zWYgtzhiu9NiD1bvjxa662QlJvr5sl94Bha7kNhSDAaHi54CqLx5+UHAbQ+B6tLKCvc1z7BdAqwrceEUiWEkXDE9uMr4wyCLQxHcTIs7siUPNTrNQ5Hn0xJKloQNCkYHdouI1r4kvWv2KHHzB6NwYdJKWoGogwhWtsWi9A/nRZCCqcofLbaMgEBLI/+IsIpyTNGo/jsNxFTw/bHX8cNkpHp8WItoLt9UXLKmVn39LsskZBX8wgpJXxjive4ipH3OEWgCODUXbSPg8N+a2GBeXRzTK1hNM6QDMDQzk+sHgVqw4PPokQJgREimyiBodwDqfXqiD10geBwN8wkyW8r4Mcw3pF4rSCCCslXV5bFW657/MN2hUK/OcgBhalJrd2f+gsArMVTjkIdG0dy6Buw9IVVUZOXoEGKcX15RnDYrl9RTZrGXDhMczeAb79cDS7YlgtJ0hdT9GE6nQPR9oDsnwqSanumO/2y0lBfnAtTRE893+IpJ0H3193unx/wqp73KF8h9nH/BzytM3sO9ECYCK0o4Y6Q2yw15g092v9ztaAxBZx40f2B/IEviNNy8rRMKOtFLLGLeD3cmuwRghECLeV1Oqn8EzVGUT8s50beI9NyygCnuMU/KWaNPOYG4AnvJxUp/lhEN/PdBiXlj0kcLvjsuNsBC8SDlW+mQ0uqnkBO9h0tYDWXve9W/aAJ4IsDdPxXko3QJ8bdYBYZFRvupUYx1vGXX4nWydCXWzdV6jowGKqS+uj61vdgL5zI7fv7N/gHRZDF/+yDBN+/5GVH1YZup4yZaMeK5VtKwZmhHY+2Pfpew== X-Exchange-RoutingPolicyChecked: m1gDlADp+cm6Sq5vdaAglj8B/G4Q5F09vazzPsZvogfCHkU/SVMvKWWLxrVMq15yUH3ZrSLLAqKiXMTVoOTswMkGpicTNaocMtWqyqDqlT40Hlg8noEOZJ00geag8khRtY4Nunp4DG6SL7jAngiIwasVcF0Pn8fP3fUwok5I8ymCty/PItlKvz5RK2W/pKbWSWfWp1CHIOVHGSIDb6yit7VVXuoH0Ky7UNq8sRDbFqeRBomMkLxgXZaLzegP8EH0q9mFNIaEtcT4oYRRKRgrWGPq9F2hemNn8KfridNVlpcm3aYDv1CZzpYFbYqm6Hhg3Mfp8yXvS9EAcNjKiU0CWA== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 172242cc-0d91-4f1a-6737-08dea59ee405 X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2026 03:24:58.4892 (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: JXU1g2DbVuBhlTnrK0HeQBumzh/i4qCdUUSzaBKWQEJkVHJmkNsJTWOnRVmnNvEYKI+OJL7oXTboB+Jm8Lgo4g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR11MB5954 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-ORIG-GUID: L2hmYOd2RllwB5OyVCMubZnhZYQ8lWqf X-Proofpoint-GUID: Wl3jLYM5_4Z42pMIccW8CqDawcdJ_gaW X-Authority-Analysis: v=2.4 cv=RN6D2Yi+ c=1 sm=1 tr=0 ts=69f17a0d cx=c_pps a=+lVouGy4Ef+S63FV+3Relw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=fTW__CHxibyLmBMfj2wP:22 a=t7CeM3EgAAAA:8 a=b4nhW9Vc8iuCVDfx7nsA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI5MDAyOSBTYWx0ZWRfX5sXkDQmNUr7a VEcUW8xuVupzLKsGv5xD0xQ+i+auVWJBmtU8FiEynJU9iIcVzpXtcqcjJfv7Vk4DVW4EHuTh2G4 u8a4uGZO5ssdmE+V5pwk4ac3o/XtgC33irHOY23WuognaJRnWvm5s0FX9cgKapA8AiOs0z9FTeh 8RcnCFHSoYxmqwVy6q1XdbFkARh0rfya/cP8Lsm0k7Ipme/HE//lq7nJf6TI4c9NFwdM0sq55eJ MDTtku2j/3PQGhh60EWdiJKVkv6WGI11U3zN8kLRuusFrYwTsRZcojDtXT789wCrI9WEwB9SnrB KV633frmj7kAoems+XJSucFz+HDCN3MHkNomF+h6lHumcIxCqCFHwqH36tEtZAzdPFgb5WnZREi sHMXpDWLwTrdQ85Ax+S35VatZUNeABG2RYPaFmgIfTcH/H+DUbWKmuoJEcwyXoS9m7C3WGVfw2J ttciTLYK+LkK8y/k9vg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_05,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 priorityscore=1501 suspectscore=0 spamscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 impostorscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604290029 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, 29 Apr 2026 03:25:12 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/19410 From: Chen Qi We need to handle the situation of LTS upgrades. This means for version such as 1.0.0, we need to find the upgradable version of 1.0.1 instead of something like 1.1.0. Add optional major_version parameter to crate fetcher to support such case. Signed-off-by: Chen Qi --- lib/bb/fetch2/crate.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/bb/fetch2/crate.py b/lib/bb/fetch2/crate.py index 2d3078899..4ac71946d 100644 --- a/lib/bb/fetch2/crate.py +++ b/lib/bb/fetch2/crate.py @@ -144,10 +144,16 @@ class Crate(Wget): with open(mdpath, "w") as f: json.dump(metadata, f) - def latest_versionstring(self, ud, d): + def latest_versionstring(self, ud, d, major_version=None): from functools import cmp_to_key json_data = json.loads(self._fetch_index(ud.versionsurl, ud, d)) versions = [(0, i["num"], "") for i in json_data["versions"]] + if major_version: + filtered_versions = [] + for v in versions: + if v[1].startswith(major_version+'.'): + filtered_versions.append(v) + versions = filtered_versions versions = sorted(versions, key=cmp_to_key(bb.utils.vercmp)) return (versions[-1][1], "")