From patchwork Thu May 7 06:18:41 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ChenQi X-Patchwork-Id: 87600 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 397CACD3445 for ; Thu, 7 May 2026 06:19:13 +0000 (UTC) Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.5949.1778134749448616166 for ; Wed, 06 May 2026 23:19:09 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=VOpiK9Yf; 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.166.238, mailfrom: prvs=9587885fd3=qi.chen@windriver.com) Received: from pps.filterd (m0250810.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6475xv6u3336311 for ; Wed, 6 May 2026 23:19:08 -0700 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=4GYnbJYsN u6tMakLuSMeRYquElI8go5B0OurvZ2Qqmw=; b=VOpiK9YfMs/GqLlXjry0rNoLD hua22iOX+d/aVrn42xvhX3bu98vfImNZKNfnO7x84iX2FtwNvZTOW+zW7y14ad+J Og+nPxxwpQc0bmMk2wVoJC1vmziHam8YLZBJiQ/o0fQJ0nV63r9Vb06uO6j6rlZM x6h3x+VerVqvi2+9BbtkT5aCyjpAa/useudf+TqcCFzdoVHhrWlf1tweb3rx9vDZ k9TRCSsfHArJTb8ORyRW/T35uHa+F2s1bhkSQurTfmLegLy2au7R1sIQwkhgfQdC q5h6hoVGDKRixWnygTvoqR9zdbNccTwYQYP6eGBsPDElnXQDk1pxK00EwF9dw== Received: from dm5pr21cu001.outbound.protection.outlook.com (mail-centralusazon11011070.outbound.protection.outlook.com [52.101.62.70]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4dwchywwm9-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 06 May 2026 23:19:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LUcn7AbIcJxGB45SHesCmaesMYb4J956jDFvtJnQVIqgRBzJkRFNAmVG9MhSifKkNXlhs2a0pVAnXXNyxuq9cx53KRLW5ngnBQzzLHeDqG7bHTlktjOtxGtTjDlDq5Z2z6bqijRPkflLFfkWIU5fnByX0J//18b6P9pL9GdsjW3XcQJN5AOFpd8IAEqYBC+PCSQ+2Dg6jxtmf1X+8TKeGLxGaoPgjwcUp01YEuYNdI5gaaNlR+TO87KZzkv0r298itxMD58AcpNzZQQa8dM8SiUR+12v+RYoeeyupBoTTaUvE7p/TSaN8qxCy4D4gH55vZIZ13WCqaHiRk7//kJ73Q== 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=4GYnbJYsNu6tMakLuSMeRYquElI8go5B0OurvZ2Qqmw=; b=kbd0XduOKvfGwkbggq495aJtBnJK0yBj4MDrh9XMbIAr08LuJIGs2PGQxgpV/5bUAnzhYxsNd+5kVwmdF+Brne2yRX3Gqy/xseYsrmXzjmT6at3YziaLe03yX2UvZz5UAeblOkd1OTFDc3xsRODRUE9RIgRPp5NbzdCQ8OjoPoE59nx59pzIwh4iThBat05Kcok0i9+BC9iNwflWwbgihBxUvxObrPT7ur6KHdj2hNr/6z5NPoVyD3bvtMOpsKJzjPljphEThfgBHpAB5GqfOeSK1eAulsuCFrdkIhEA9JnBUGE0Ldu1lkoHM+X8ijarcVbuXu1+HfUcVlotP7Xe/g== 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 PH3PPF383C22AA3.namprd11.prod.outlook.com (2603:10b6:518:1::d17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.15; Thu, 7 May 2026 06:19:05 +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.9891.008; Thu, 7 May 2026 06:19:04 +0000 From: Qi.Chen@windriver.com To: bitbake-devel@lists.openembedded.org Cc: alex.kanavin@gmail.com, randy.macleod@windriver.com Subject: [bitbake-devel][PATCH V2 1/5] fetch2/git.py: add filter_regex parameter to latest_versionstring Date: Thu, 7 May 2026 14:18:41 +0800 Message-Id: <20260507061845.1460893-1-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.34.1 X-ClientProxiedBy: SL2P216CA0217.KORP216.PROD.OUTLOOK.COM (2603:1096:101:18::22) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|PH3PPF383C22AA3:EE_ X-MS-Office365-Filtering-Correlation-Id: 9e145803-0381-4e75-2d88-08deac0089b1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|52116014|366016|38350700014|3023799003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: JLuG9kjP4MywB5VFR4ccrZ66B/WRNm6q19KwYai+8ocyzQDp0QRbajrVWqexSA3+pDbZBsPwF7/eNb73BkmPWXSrp7mleAUsjAtnLs95Vt8O4a3suGBrvJtfiiH2YUKHIo32+oxWviT02TuU9TkuRaJVr3ygEZ7wDvl6wYZFnsKAq6HGNPVJjP3h3GUrpbUJY7BrSImUI4PNt/XpHCeiTt9njC8KYM5KBoyUyoRFRbCL9iu02DWuXRYG/sxv7DT6Mz9lQK++S/axn7slC/jYH8SMqcFuX0337pqR7ozsAOnRAXMJhG35Yq3dWzWklX4657zYB1HSOj6+zVFuXqRfg2/+jPoSa2dsjTbH9zuAkcPvKMkFpBS3rjbM1bPSimBYnnm00twa5Ebc7McU8oZZVLP88GDkQCdmyb9cBZO3c9RPdmiYvgOyOVA/atPLq54PTcgISlqLK0I8V/irOHRPOErFa5YnNerlFOCjsodMDdPqJ6T5i0HW+ehle37sWuXt2U3UJ9+M1Q1I99qpK0+eXO76aU+xbu7jIOamhi0Z2kAzfrUbN4krODaRERchYt6Sn+/ItqxjIWn0iMHuUJMbNjc/u4+lAQiYWB2vm0mo0zhnOYt4rpJ+zhHXYGDUYqCE+dFc2mZb2v21PPbnxqpsZpGhCHCEwTCIlZWE7zrUSRHaaZbeGARMjXOuT70FG+PjvLAJzGAE8bGP0aPKVG5QbWeHmrX3cm0x9qkdjELwqSyJCnNsrYAt+7v2/cwkLr07 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)(1800799024)(376014)(52116014)(366016)(38350700014)(3023799003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RiehaXNERpC83WkTqm+NdFlB9EL2pzr5zxbWiQqUESIURgtQZFXct7jjz3Ji1KecH2FhgE2yhfkekcl4GNGiV8vWdsh/eoAvRj9OE/O7s6ykMvpNIRPocH9/hJopeBCaMr62v8OjzBncTpBxT+70NBOhHQqX6l5TIB+iDCK5CHsWBy+1rHmBh1fn8fAWah8Zgf37HcqylkQM7hKh4oYMQMUcpp2hboX6VUxNgrh735qeISSkuR280YXK+aMK7FN9mICphDaubdLC3JtDRLiyUoV4xmoVwiChxE4xcuy32xy2kOTcslFRPYzPBxpQvfUCCRlBZdz4rng6b78AixuwRmVTvOIrFOfnx2NLnqctc4clYqDehWBL5w+icPxlCmm71l7yLdJy+qJyP401+ItbHrdMeeir9bPib8qmmCpOvA5CdtOd+fxDXwPC7609/2jduRYYUwMqChZpaaq9XGEVMmKP9Cmm0V2v/IlqJt4wMDjsZkVMQ9CTAm6lkVAR7ltCwqXU0IY8gUdTxxgKmJnivotTjcXR5gihHy/N7uOlMiP5rJSkuXcI6O5BQKJAa2X7+yOzC5e3DQ8UZSXVMM68oMLCztBishVPu1gSt53MKm0aeQigKDSsk13WkuLdeQB1mqmEzcpQ+GawKavOdfmwhyqTh4T5UYX8jneMvssIH7cmJZLRtAUPbtyME3Ct4v76+emWJxQreissg7xjsES5tihJ5/YFTqk+LyYMC77GIXyISQxo4KC+NgmASYNkIh15/RyeXJhaBXu7UBV7TTiGwMaXbsUQILfPyqrdwmBs3/8nOi6PzkpgA4z0INp2l21a04i7Xy/C5SQaMp3V2BeKare38HR5EprLrgqWNDaKvEf7TllwWed9JEe9d3TlqgKe86AbmL8hrmxHZ+5sQ0cA926RvJCUxV6wexnZaDz9Yi5uK79059mSKi13TgRHkwJu5K2B2HTN6o7FicJhkXIAIcHXoGvmxYc/5jfxFFNjLaufnBMrvh3vv7Ct0rWcjGffbW/Qs18+fLZwkHzfDJrB1F7slWUOBdzqwf5D9/wjcBQ+IGmcrns0UQi9JlXMOOQdoHeyuOD52cLqEp472r4YS4t4OB1dAVG6YQnck2r028Lf1R0coNWiNmHGKHV7rI1pBzVhErf9oDKFWG/sraRb53wqDE8SqQWa6WQReaXyTfCd+tbC/Dt2Pws5pfDfocyvMJn6Cu36CCHck5ugUmCeB0oANxz+Df6wNr5YWLjc885O0RBRwb+7pWtmZpXBnX+b9EBUFEszLx4nTWdiXa+U2vA04YLTpcAAitflIR3hIbKEIJRS7TeHLNjoIYR/bwH4Lq7bCr4LUw0u6cu5ADpiAklhj1JoAMed4H+KnbtRlZKa9fXJftsPfeFbDY5n7H+nZqKnTkKVnD0UlrWDCw1ESXjpWoLVKpOYQlPpFAl2IaZbP4ukg3U/6dtfjA72n7D+BphrHSfD8KrDgkD+mesBIJ7M+yJwn9oVsxd9fVaHjaS9fr290q6TEvctu6WE6ZuqpL6zDnjJPTFQ0tuOaqgwAdkSXBG2naBABcQZuLfyE8kflVCca4cOv+9TiqwsessunH6giPCjrHAcLkRLXZJHtgQ9RQHrICKv+WEtMZU7fBdzOspLKh1Xo20IYBk1zGe/hAOGaas0GcolXgft7sgs7NOhVgeLUR4qAB340BDBmOQxZinMlbx3p2UHCgJCAePiWRlOU6PrAdaQqUMyEr4+Pg== X-Exchange-RoutingPolicyChecked: nZhN18cU36XtKqZA9XZrHvDhxSWJArymeEzGDCJ4pm4u6UhPGBWX3T7HGBwmV+rw3khMoM9uIjKrJR51t1eVkoy3YxH7l5g7gnSLwYWJzlhhLWm7D4pUaVyNcmZCDZ3Jl4jx3UiLygJZUQd360q5iTtJTX647oCxIb8ExwnJY8FQiPnUDxykQSpMNKCclopbq8PzKcx/bMsSj1PImDXeWuO6tv72daUMA4DuTREGDeGzyWmzSXmlufMQm0aiblWcurWsL5LtP8/dAPbKcE0AKPpGk0VgT6QYP53OE9NrIT+dBzdVs3LI6XFHBp/LOOquRjw5iXIl4SicLxltutxi3g== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9e145803-0381-4e75-2d88-08deac0089b1 X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2026 06:19:04.5922 (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: zZ1dT1CFwgCRaNqqRPTxz+mJx+pjUocGNVKRgVGWjvnvw7sdPrfGbJekTRScA48mbbLJhiBN5ozmVf05IIlT6Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH3PPF383C22AA3 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA3MDA1OCBTYWx0ZWRfX3MSbPzRrDhst 9OPSLkjbFN5quNrKHYwhxMUMt+u4yh47ijyGja3qXS3cF3215CdPciKYVqLh0KYDz/vmUydTxNc J8ABWQtFtauIgAu3EVbLLMab5GLzdRRG3IKSpE8RFvcCCoJ2Jej3/YP3ZagOW6n0GKMnsv2/SkS KYvYO0QmYTH1zkQ//4mahcTRKGCHB1HzsR4YTW8s1dSGHhMYnh3ByXdFJa1D9i4Tr6lijQQmwbV JJPeVujDNU+Ekf8wDYcxPHPjuUUoTucRxG5+7sSl0y2Kzw/98vXnBwj0PlKpu+Pp/C6NQ4mVRkb e5LR5lPXJIosbb5MISGhY4900qXKw0QddhLNuaTEP6VeCZlV42cV8SPfG17q+y0ep2CtspeY/ap JFJMsksFdUiOp9LVBaXRUHL6yZQly1EdQ1MzYWM60Ix0iJEgv9uuYhTMboP/0EsamnzfeaRVNCD d4LPU5AO2LR8w5KNikA== X-Proofpoint-ORIG-GUID: rP7KKzXE51rHkSx0rjjIn0AffTgMoAMT X-Authority-Analysis: v=2.4 cv=LsSiDHdc c=1 sm=1 tr=0 ts=69fc2edc cx=c_pps a=CrKnoqqb99nOpAJSR4mnrQ==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=NGcC8JguVDcA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=HK-ge7EqtdluswH-FwHe:22 a=t7CeM3EgAAAA:8 a=rVcF9mjB7NWXllDnQBEA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-GUID: 48gl_PzEasQY0TwwRXDFYNYiXjXDqCvj 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-05-06_02,2026-05-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 spamscore=0 suspectscore=0 adultscore=0 clxscore=1015 malwarescore=0 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605070058 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 ; Thu, 07 May 2026 06:19:13 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/19451 From: Chen Qi We want to be able to do stable version upgrade for recipes. For example, 1.0.0 -> 1.0.1 instead of 1.0.0 -> 1.1.0. To to this, we need an extra paramter to latest_versionstring so that we are able to filter out the versions we need. Using regex has the advantage of adapting to different version schemes. 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..a3a26a46c 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, filter_regex=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 filter_regex: + if not re.match(filter_regex, pver): + continue + if verstring and bb.utils.vercmp(("0", pver, ""), ("0", verstring, "")) < 0: continue From patchwork Thu May 7 06:18:42 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ChenQi X-Patchwork-Id: 87599 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 E06CCCD343B for ; Thu, 7 May 2026 06:19:12 +0000 (UTC) Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.5951.1778134750260849307 for ; Wed, 06 May 2026 23:19:10 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=YRaUJtOq; 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.166.238, mailfrom: prvs=9587885fd3=qi.chen@windriver.com) Received: from pps.filterd (m0250809.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6476F24b3911855 for ; Wed, 6 May 2026 23:19:10 -0700 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=u9dANCllFPCgP366S9mMMAETnoCZYnBKHoh+MzisOWw=; b= YRaUJtOqtDSYCLPBMkMNgD8UcQQEDTind++WvN0Pf46f0PxXNzRUUcWC/eIrpLIc j6Zbp9/4pT8og4sm8l6COZsgAedPYl/6umDL+wZMEE1M0hnW/rCWLRPwyg4rI822 uM2gfyrf7PrAvEaLTsx4GaElUqIt0HdsSLXBB8ld5rhZnHZ1i5TTy4qIUMoGuaHH wEBacdJltabg0L7Syv9bOUUcHmSmJ5vQLBAIeAr6b0gvYzepfNfRBx3uiQJgbsn9 XsVHRlEBnJl9oRFsSAcfhBjkg+VyedEL0oKnnHAE+xLDg+LkbMlJqBovXVzz4ywq Cw74V69t4emdSq5V5SCqVw== Received: from dm5pr21cu001.outbound.protection.outlook.com (mail-centralusazon11011070.outbound.protection.outlook.com [52.101.62.70]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4dwgsddssu-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 06 May 2026 23:19:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Cjoi9elZp5nqEcdbenY0REtknnnOYW4v0H9R2ljlt7uExhYM8UHlbBODWYX8xH+xWijZBPVd2h03Y3xdys8b+76qUnfpelZr24Pv5EVbbp85nIxJ+ectLz8wbZVzRIolMmYm3k9MeG8yFEPiMzy/NOtuNiHgu/w/kp9C3pZfI4KitwJwgKanxTDpwVBF5hKJvMb6M6WZT2VORz3i5qAgMnxZlz+8It4dpC0aljsWEXT59S5pwKSlRp2lH2cbERON22hCh8+ZecTGRcX/t1w7WMYwcZZSZ8TAqhCcy5TVeAiXdlkjxIIDEyle85Qn0MaBbwL6PXMiQK9+9QcxlopKCQ== 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=u9dANCllFPCgP366S9mMMAETnoCZYnBKHoh+MzisOWw=; b=K8nW5Ct9RumZXDKqMGukCPXj9WZurNfvY66PCU1LDm1dm8fmGpEP7x/A8D69mBA3lpPwOfFq+rZC0lfQ/XZAIBBNdHELxNPYVMvdPNWItUy8QjhTMFFza6lrGMXE6TFz2lqjOS+lmD2xHuAM8emFWaMfA15JN/aPkcbj7O/mE92rpyMfbF6lcTKgLvUgT2nfceYe4OgNoLyY+PgWGeeXhdJVlc10YU0Lj2zK3MIzFoujLWBTS48OmSyFk+kL12JUgQ/90ygRGO2FdacB0+AZdFlhJ0NQ6DJNo8cF15qHRsWjoUaHNT/dFi/Kkz5Z/hpOkG+6OeOiA3SyaEx0cHLfxQ== 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 PH3PPF383C22AA3.namprd11.prod.outlook.com (2603:10b6:518:1::d17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.15; Thu, 7 May 2026 06:19:07 +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.9891.008; Thu, 7 May 2026 06:19:07 +0000 From: Qi.Chen@windriver.com To: bitbake-devel@lists.openembedded.org Cc: alex.kanavin@gmail.com, randy.macleod@windriver.com Subject: [bitbake-devel][PATCH V2 2/5] fetch2/wget.py: add filter_regex parameter to latest_versionstring Date: Thu, 7 May 2026 14:18:42 +0800 Message-Id: <20260507061845.1460893-2-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260507061845.1460893-1-Qi.Chen@windriver.com> References: <20260507061845.1460893-1-Qi.Chen@windriver.com> X-ClientProxiedBy: SL2P216CA0217.KORP216.PROD.OUTLOOK.COM (2603:1096:101:18::22) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|PH3PPF383C22AA3:EE_ X-MS-Office365-Filtering-Correlation-Id: dbd43d8f-88e5-44fa-6a63-08deac008ae5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|52116014|366016|38350700014|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: vsYxPT94aMLbbDCY3ZZ7M7Z0vgKG0/i03bBl/VrHIVN4fNV6OUsf4J0MUGf93Q9RWNsc7cYItTczIGvEFnfWrAazx/uQegnju0QbIwCIpvfZmA0N/ADaudHf2GAs1HnAeiUyJnYAAXDtyp9znLupqjrsC/93sXwIiZNxssDceXRbs9oNk6tkjXasccStxkrTXyfs2Ccp9UWsw0uj9TVK+/FTyLR9cYldE6uLl9uGDZYvQRn7pXIJqM4vUE/345FtNX3ctfSHwoBIAXoCEGb7FX4cBQesdXkjNlM3JWZvExPwPvy5/e9udfbwNKyinjRFEThCtL99LD7aHjR+pFz3m/EWp1C5eDBeIzfqfkY6362+SNZ7c1/ohQPJMSeglCaTcvCOGtOYixRiXre3I8QN/Ytc/48NNht4F6WE47CnkdAJw76s4UMYNSMrInlSElRJlbRkC9sVTG8zCdSOy8upTl2hqtDDpLyc84MHo5gZJyCpHgxUDjLZmKS1/K50dKb3wROE1zSebZx1kSbG5OfysHNgXAvEt/VFjQ44411vNL8ur0xYRqLU/YJAUG+VkESAHrQL7Qyp4xL8B8QIsV/B+F1fZ+lP4Pi9as81gesF2nnxW4usc3DRfeeKMbbsMT+Kb/xRMeXXvg3VmA/H0sTx8UsvzP9l39J9YADrqHr9qxbFPQcWJvJVi7j68da+HTuiiY179gTXEEn3awV42ttOzPlQZZWDgOA9qFsLkBwgKq9AQr6M5e1fZFNWGS5F9KSH 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)(1800799024)(376014)(52116014)(366016)(38350700014)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: HIiEYaXcOSXCoNr4Tkm/lRmg+YqhYSDq+fQLDk9mWi5Cx0ajADDg1ieZYCtqSykbEJ+fMCRshg/Kcf4yM1iwLOVI788ty4HWjgnzTER3wo03jSw+yDf8Nk8RMOh4X3iINvkdM6aRNTSlMDxX1GFO22alJ586UtaKcRv2OWIDU5b964KzEOlkGPpn+xxF+tL/cx+7Jzc/H8oailVMADxnvHn5UFeAq0gCiwfp+4Oa2Qc9+LzUDi4X9FUtXjmWYzbpYkOi6v1YdCaOgfFdtkRabZSYZywhwIl1RddUEdI3QetA6gxsHkXDv3Px7kgqbCdlJkq2QsVYRsbeuRSHM6sd5DDtU6t3DBw5TMEImwSvjTfEjh5NAs36+l8CkJpNBPMTgUgnVF5/RUNdxV7yxFWVgUP3s+1rn5mj7UPV/e6jh1ZIOwIxUIXIJxOUbT19ja0l/bdybNvTcmj4/PkBGqtwOX4v2K/xP6tYxQdfnkmGgCYL8RwnGtkZpIkbpYNuhNN2Ci/SUkuS2GfWQiY/tP8mGz24SO9qq/Rpq6kteGh+eDf/boCqYmVbS6MoEgpyzP2PaxjLcLRdRlfZJtD2nU2sIKLYhhKfwnMi3ugLOHT8fdvhdvQe+pPoo7bCbJ/Ui7YaVNBHduXDKD89aKj0zBzgfAm5mkZ0J9Gjrhr0UDPm3CjxcM7CYqIocEy2q8tq2BWilEMUyerxeB85X+76IaMzX73s1zUzsgPfBynSTAtSlCaxV350gGr+WRPwThKzHN035N+dHBh2OI7Y8gZ+vcgEJv3pvKlrEkEQsV3mINKA0ufJC2tNCAZyd10+nBsxjKvP17BqQxOmzMQ0iOjz3f4VCFNDyFAif/VR3i8EAARk5AX4cFKPUXowymNTmpERMxH4yHbUeklnJtL7N39lMxUtJWVIBtqmwVtJUosiUS2kaN9zgAqHmBpC+f8W6eMP3ppUa/tgEJ9k/6IsGK49pErfUsb2TkQ8KuYOuhyQi4u8wIfSUxB3v5khD50jom5C570fN2gxKaWPalYx6Xs+drqVCY2h823LHI1GjPtOlQW3bqGlS53DemrUBZHtwF8T2hfRn/YC/U/FGgSRn2C4SPWgD6q+I6Yz8hLkfi/i8njHX/4YAd7VGxlNqzmYvMu22Kphjemt1kmKjlg+vmoo+BRlRpyNBwPj/RnZzeJuKUNg0shaPWFNXomCF3M6IOgGJxOPVK9X+ehNTbNd6om757EQPXGwz5PE3XLkpuIUH9cavixOE8rK298bCpYDxVhY22g/KynBBKGkUnkYreccU6SiJM8/TkoRxAVTJkziSBPVXThgGtjOcm6aZHBfDBvngdnb3XIvNA7w3R5fPHyWg5ebzfRpG+dTzEzg35/O2T/dJ/er0jEjKjC6450+GXFb2gMiOhMMkwXQxTGMWaULqyKYU6NnL6xrm348nWjk5NuNS881PZDBPLJOpjk2la9rWw73Xeyp92CoiCwZU6kRwZe6pZagEogJxTY5Q9fH5lyN03BJDg+jtVRJESA/4kYIRm4fHmA0nuyda+dbT9ShRuWfnCWnAzZk6NyvuzvferYapF2JBtGoFWsoe/vEKwmn+sGUgLyDtBUoSeBNYB3jISHGOJIDgt25OVIEwaGctGC6844xNC60iolKqaI9P2bae2QuL3Nq9dFh04+zTyYm1SSKyK1tpk2qjMUvRW7bWZHAHW8a+oqBsE9unK5kzSH5rhO6zwEt/dDjuqL9Zu4bZZER9g== X-Exchange-RoutingPolicyChecked: kCDYKpaxYwE4mxAhR2fVajlJ/XcLQ9mG5QBiWWF5TopwTD/4QTC64xnEkXk6d2J/ASpjOAHMPxcMbroW3sTWf8qL7ZyyujbBcvrfI4utyzTviq3mt3KD7y0ceM8tcI2iekr3tzHlZDrJhR/sY5Gr5rgB/HYvAjMMfRjQc5hq3Bv9dLwg/5CHO3aDgO2uSop97LgRET6SnPlMKxJyOUU//d+XBeJp3LqEe6rcPvwUJu8s/wZHZNwNf+HY21ubrbaX8buRHYkH0DY9PFqHl+rxYIhwnrPz+W/5ZKWBkrvHWf4TpYAcbx9+nD6UsWoH/clm4GsYan0T1xo3nPKL6ZCCgw== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: dbd43d8f-88e5-44fa-6a63-08deac008ae5 X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2026 06:19:07.0592 (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: 1bAZ1AwXC80cT+YCrHtztfyqY/pqoQxBaNR6vxX9aGaBcto2JvYXvO+n7vewBoFBOYsu4ZZ2fuXL4DL+NdZxCA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH3PPF383C22AA3 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-GUID: qy5Wp1TCVCfkNJvKv2QiEmgoqyuH6uVX X-Authority-Analysis: v=2.4 cv=JeGMa0KV c=1 sm=1 tr=0 ts=69fc2edd cx=c_pps a=CrKnoqqb99nOpAJSR4mnrQ==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=NGcC8JguVDcA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=iKiJcTA2PjBS6x5JeXcw:22 a=t7CeM3EgAAAA:8 a=zn5JUfJC_tOmDknYn7cA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-ORIG-GUID: JuNLn-ClIX24wvx-U9gWUOkrZ5wMBjp6 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA3MDA1OCBTYWx0ZWRfX0iI/x3GOGzSc lXIH8RBaE56H45gKmDTIRGmFOukRvMO7+6n9zMAY2Wul5huO4yWAl8cb5N5bTsSFjsCUQQ1FBrw io94HAbTwwYlGXIEA6CymeSH9izPdc+pmtb/sKtTURoddnkmnjagM4PTz0Iji1X0k8BnzxV9PFk 7RFtH5RNgpguouAQclEyYDbnJgVwthZpXBjIh2rh2TlJzxWTAYKigNw55WbSfBcd4XrDqYITKBU TlU9+sftSMyDJ9fERRDENpc1V6JP4LMsnFS5qkbwG+hzsCrCwoXLQSfwZMUdXUyNPrPvNtqDy1C dB6HVlsEP6ckgahWK+n1uJq/4kwVPieou+g8uTdFF4ShEzTveKn0c2F/DttW4vUVB+N4fWMr99U 9l76kLNNdrnm3Q7JAj6m/FF9rN2Vxmi/ogHF2uqknFWWXpeb7cFgRqjhgmB7mang3qEhtCVe4no ZX4t3KmxiT4E64LKylQ== 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-05-06_02,2026-05-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 impostorscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605070058 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 ; Thu, 07 May 2026 06:19:12 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/19452 From: Chen Qi We want to be able to do stable version upgrade for recipes. For example, 1.0.0 -> 1.0.1 instead of 1.0.0 -> 1.1.0. To to this, we need an extra paramter to latest_versionstring so that we are able to filter out the versions we need. Using regex has the advantage of adapting to different version schemes. 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..1f331ba3a 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, filter_regex=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 filter_regex: + if not re.match(filter_regex, re.sub('_', '.', newver[1])): + 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, filter_regex=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, filter_regex=filter_regex) 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, filter_regex=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, filter_regex=filter_regex), '') 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, filter_regex=filter_regex), '') From patchwork Thu May 7 06:18:43 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ChenQi X-Patchwork-Id: 87598 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 2F8BFCD3427 for ; Thu, 7 May 2026 06:19:13 +0000 (UTC) Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.5952.1778134752171749224 for ; Wed, 06 May 2026 23:19:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=JhMYbQJD; 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.166.238, mailfrom: prvs=9587885fd3=qi.chen@windriver.com) Received: from pps.filterd (m0250810.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6475KetD3268537 for ; Wed, 6 May 2026 23:19:11 -0700 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=cBH7skyi9vYmfIDyznFMicMZQ98OLsR7ozxkbg6kD2M=; b= JhMYbQJD3Y29J6f2wagV9+Y1aRWb/2aBkvAyOIt5z/hGXqIakf63f34045B1e2Uo BsFDcTwklQd74G36nKTlfrwbMZuGzdQhWAU95cqKGKVfOKzQB0GCqkn5z7pLsXvm xbEZC/4pWCE7Kr5ks8ne/4nQXs+vgzrSjYpcHVrkM0aD4qC9dd/OMTvRi8GKrIuo 7+QMlps9LfgIyMu2IT9sdABTCKohPwpc0m8Bt50ml3KnUcQUCQXpdGf13JfUELHz uTOb7ZskAe0f/LuEaHqRc+l4+Uky4yqMpHGouWvQio6RjfEFv/WBzgpPXwny5ZMS 83WEBMYZ+IKlJ/d7Eb6e8Q== Received: from dm5pr21cu001.outbound.protection.outlook.com (mail-centralusazon11011048.outbound.protection.outlook.com [52.101.62.48]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4dwchywwmc-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 06 May 2026 23:19:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ALtJ9Vp/CMYDYYVRSAVcq/KgVUKkZ7kOeR4KXXSe6+GGyFwRTy5cWGJCP1jVTjarXstx6P8FUJIUGUcqaTZCGY9BVs7MA5bD2zRY9B5+4tPPeBxsfvv12hXsdqnm4iEROeKmx6CcG64Oa3EA8vratGBJeqFSm0lUSXJPlZkPj6e/f8tOZ7xowLWI60AAsL/GfK7cWRjYmjzuU6xScTHTCYu6drFB58KLJX5A1uYUG8ZS2j4Qk/OxAqo7IiwaDLg+ooT3El4kln204R1fHKGNV+7GXYMYcoTY0oGGMlVuv1VE5BBEu2gmbFtAECGxR6Dzw1xie1D5Cl9AMsHKprdPbg== 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=cBH7skyi9vYmfIDyznFMicMZQ98OLsR7ozxkbg6kD2M=; b=kKri3h471TNJUsrYf0YM8igGX0bHrTDiRM9g+1kGh20Pq3sxwvnMMq8hZXI1E8YGxiAlqKfwetLQQwuixWyebX4TtGZP+py05nUleMaWGGQ5ZFjZF0OJLuo7b2y1T09Tpe4RP77Ob2iemD5LPmx/nS0LjhPIdySkjZTqcYQLZQOB8vpiSJqrv0n5cBjhihYJuCvQ+5T/huaLHNvLwzNSusnOHMU5eSCyj3EZVW1XcnFLUbylLHibANioH5zyXiotTqWUXv3XX958U9b2odMBWhZzTmLVSBjvZ53ki4xtQtK5VJJugLlJYHeDITLEd7GBfQfVcsva2AmILOeQ0738Yg== 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 PH3PPF383C22AA3.namprd11.prod.outlook.com (2603:10b6:518:1::d17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.15; Thu, 7 May 2026 06:19:09 +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.9891.008; Thu, 7 May 2026 06:19:09 +0000 From: Qi.Chen@windriver.com To: bitbake-devel@lists.openembedded.org Cc: alex.kanavin@gmail.com, randy.macleod@windriver.com Subject: [bitbake-devel][PATCH V2 3/5] fetch2/crate.py: add filter_regex parameter to latest_versionstring Date: Thu, 7 May 2026 14:18:43 +0800 Message-Id: <20260507061845.1460893-3-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260507061845.1460893-1-Qi.Chen@windriver.com> References: <20260507061845.1460893-1-Qi.Chen@windriver.com> X-ClientProxiedBy: SL2P216CA0217.KORP216.PROD.OUTLOOK.COM (2603:1096:101:18::22) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|PH3PPF383C22AA3:EE_ X-MS-Office365-Filtering-Correlation-Id: 944f3e5e-e185-4fd9-304c-08deac008c7a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|52116014|366016|38350700014|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: x7DPN+9wRfKbcSf7EQrkChgjmeMIBztEJWAto3hz8gCNsgM9uL2HrFRm5o7fDW47ddq12BO4llKatP8rRXxB7JBzpNRrgJHQPbKRknsyUJ4WRhJhrusxU4BYY3Vbk10H+ZVaO5x2s7cqD+RKARUlF2LOjp68KzzzS2k2H+0xMb1s26QBOoBQDLCbGN+mOIF8LHFG2IwQRlIPZscmMB/60OOKQkVlVBwG83ON58Ow35hdkExLP/QuGxcqFJzOth3G1Y/WfY4758GuQrZxyNopd53v32zZy7z2i7hFuwLiAf6AgC26yTIo3vClMoCclJiJqnq9eCq8E1gqSzrUa4DVlNpusSjq5Lhy5MJd+3NiWdTjDoyudUXoegdy1UPM298f/sFETFV5iZKI5zvxy6e4UHQ73nttkKKGl5bN9YEXFvbUtWF+ien9Qz+e5P4B/3aYKzb4iu/mesiImfQwkfF7SFfrTvpffeMtLJi9oPyz8QxYDtDoRt++yXINSNsr7IqGQWu1AO8tV6uWNvsuFxtvyHi1EoSUpmne4jG4uC7jc88pc994N/1VJQGBZprrcWDXHb8al2pVxyvIXfmlROmhEU08Ag9tkSTfhrNDKGiVeNcoh/ndln8BBpUmvBYcZRVr1BEq+MqgmNtnVAwKNdy1NEypKmz/tpYGgyIKbdcCh0q7I15hG+xN5/TdWzXRib/IlQ9wcwWijdwMJP5CanGS8a+mTFl8AXvpjDdUlAoFWnbo7clN4ZumqM4Utc1/sDK/ 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)(1800799024)(376014)(52116014)(366016)(38350700014)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9NaPX7UChIPn+Eq0JBtYsHAYs3JGn3ZczMBmInAkSHyhevXZrqSQWOEL2fccj1H8T2PjPUYbseNE14Gi+KWZkcu+xR4YV67Jwyb6PX3+LD+Rwv9S+MyQ8GQMK9HEkTMZOgRb3iW3Go/+gGZl2xpgu9PLr6uCsD4pc1g6mEtOkkIo4mHJ9BEL8lS4foU1XpdFklO4rcYLWhJBJuHYmkF+dEUpe28CiBD2uHP1vFFy3YFve9klGFDwBadXiMzdBe7Ew/6MezmO3JRLkVy1OLNSVu365zuSHBtxoNb3VhZgmw5zo9WmWsKDMGhpvEw2p+DxX/b4wxHF5WyRoj5scmNcOuAZ45jS9umgGpdepEk+FoOo2Vuk2miycDOwbDmPZSLl4lStOYQHk+Dr2BAR4JanbexU611dKep5IXejM7RPAuFL1NOy6xvdMC7fmd9Mei21m9iNouxKEq2TvGIc8VB+Nm72cOmGCxxczJlmcn5VbT0+ya8BYgVxfbCbEaTQwDxg6tazG81+CobTMpRobJnBO8l1WsmRKulol64vWpmlDuJ7WNOAA6TZFaJWM356IqUPiRw2c+Fy/7YhspQzsC7In+zvcfk19Sn+ENGc3t6VyrdFjXkcnCdjECm3JUI4q16fraUiA+W9sXEsfe60ZYQzw3W1bemugRGEtEBYE1wYUco0fAHGBP6+kxn5+ExUtUXZiGKXnOX86vG1A1FDnLLf+Tb1JU/gw8F95Ooe3eAvBqqknAPPhwD6jOuhSBrhytDYm2nId58Ae8nKFCTWabFRpKcgrBGNyzNYZuTjHPAmrgxS7VTkW+GnUZhP9qEyr0OPS4HU82ULxY0FWyI8khJSf/RLoeeqoEECbmoqeGxsvhxWEti0rSrSauy7Z0NC4emu0M+C776SH1a7TOAQW8ZsM/vp/vVLoXvjk9X9n7jL5YtiRIdVik7+2fimYqbdFcfZmj4PNuJsewxk8d/RtgT8n91EcfxrNsyEuqnEiBbmCjhqSGOOdlrFWzLL0uLNKDnC5RJFZGV5O3fo/AgFnohfYkw3JKkMKgINpu78HYIpJIbuNvP3GIGBOyMJm6RJvj77+4dSaO0+UTDRmduyeGPrg72s7Jt/VaTp0SVhXiLbh/jnOSB2fFi6kpDBkdy3ARBKm3J4KAuCKUguNX59GbO7wd0SGgfIoOZuN+JOsWF9SRWPsHZBKUDfZiSCwYuYgivX2n0PiOiQW4DrgjUTEza+EJjPB7H6toULiLjc52jqKVKayJJ7P5wln5USIhlN1f1U32bYDdEx9Upce8BFdJnUfFB5sP49X9ISkjQ8oyCY3rz9tebOZn4EVoJiULmFTm/SLXIyc2SEWYytpO/LAMn+DuKrDSikH1FpYwdkehtiA97v2YbAGbxiwW6Xc8n4XG65/Hk1knQ1jdLKMt5gmEjeihWoq0HPJjbbiccROYQNMGloSDPw1RuDPmoLOXbP6bXHt2reC6q8S7JhJCvCROwl9LdIhTCKH9Dnr0FgzmRY5whztmonDhxxbHLNeWsAN1dZT1gZDm9xmsGO0CxATJ+vM8N8WRKA7AukYjEk62RR7FUlaWP4GZ5B6um2U/7naC+Qa/o5Kx8Bb3b3/rbMU+K5l3dMso2fEgT4+QffVHRrs6nOBksWpEknVvyg5YIsofrR2/vbrfEQ/qVxTE+RiMbgbYpxLOmXBbhwcDBx7S1OU7QdAcLs6+B/CvjdzeWfCGMbQSEZ8o93STgdab7KJITEcg== X-Exchange-RoutingPolicyChecked: b1zRmkb6s97M6ftDGG6mTAIIodChiwAAWvGJy/wDqDDvl1D+syuvk+MXkdZIAXW2lMYn/kxnqMFK2NnWCTrgiofuudSfTZFxQAPLIT4w6C83yL9mZcYDkmiRJXQE/6a+dDhH7CIQPGezkyqtggGobpiBUxNqORlL1mcj6tuo3lkvhab+7jEupjNd/CHJiANFXqt6pj3TCnCZFgQmsJ3muHPAcOZ1iVD4/zZ/Bmim+XSJHGMhca4uImX9rHBGCqzDbn0dGvm49RPtViC+1gNkW8x0iPKhShA2lpLu55yn0DML+pPF0NhJwFADUCFo17kpAU4cQEou9INDMh8cm1TQdQ== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 944f3e5e-e185-4fd9-304c-08deac008c7a X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2026 06:19:09.2152 (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: paI05ak6igRoPs9Xv+pbSDVZbou+ZPexO2kOScH4G153JTG/HzFCfOk3JxX37zGMYdrt9LOA80FRyyOPHIuSLw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH3PPF383C22AA3 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA3MDA1OCBTYWx0ZWRfX8iVh2AHSuqLQ CqtzoH5Y9E0UmQMd3ke1w2myjJwKgk1W2L5r7Kx5rnWMprfybEVyvkxU3NTdP6n0EMc++eqCCuS zLo8dgAoIbxp2LyFccKwHLbjSh3tX826hYvEK4SjQFT4TNLqsDSsA+m+l6TOtkgqpJKz7xbEltM PRnRSK/t53cMUyfzXNfbOxV/jrR3/8MISop4yotfldjMMwp7jkh/GF/m57folbyVn6r0vEBOwJL 7Zo/2S36Jaaz78HHmRvTfJYAmHz4BS1ojbrz1hoKKl3/hKA1A38JwdfTRmIuy2NpTtED82/Vqzp 5j3E+drL0GDn/hDFn4acb+ip/0qkNwTe3Z221+bfPkOsMaCYNsBaEqRIHntSbu5oP1ri+OCq48A Jee73HqqDXRWbJX5u3HQOlbAGM8VYvKAXQ+bhSnwTGDeOob2mrZ6nJueQjJosj1gf21MLjJEAIj 4002PvpxrBADPylebQw== X-Proofpoint-ORIG-GUID: phES1rqvwdpD1UOXco0LWgRDbDv4FUa3 X-Authority-Analysis: v=2.4 cv=LsSiDHdc c=1 sm=1 tr=0 ts=69fc2edf cx=c_pps a=puQxxl069aAozDPRWZ8vNg==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=NGcC8JguVDcA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=HK-ge7EqtdluswH-FwHe:22 a=t7CeM3EgAAAA:8 a=hIPOLQWK0ZafnOV6iRwA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-GUID: w1a0a06g4oLjTPB7BWlx7vA-XmETPM83 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-05-06_02,2026-05-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 spamscore=0 suspectscore=0 adultscore=0 clxscore=1015 malwarescore=0 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605070058 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 ; Thu, 07 May 2026 06:19:13 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/19453 From: Chen Qi We want to be able to do stable version upgrade for recipes. For example, 1.0.0 -> 1.0.1 instead of 1.0.0 -> 1.1.0. To to this, we need an extra paramter to latest_versionstring so that we are able to filter out the versions we need. Using regex has the advantage of adapting to different version schemes. Signed-off-by: Chen Qi --- lib/bb/fetch2/crate.py | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/lib/bb/fetch2/crate.py b/lib/bb/fetch2/crate.py index b89817ab9..1127fa802 100644 --- a/lib/bb/fetch2/crate.py +++ b/lib/bb/fetch2/crate.py @@ -14,6 +14,7 @@ import hashlib import json import os import subprocess +import re import bb from bb.fetch2 import logger, subprocess_setup, UnpackError from bb.fetch2.wget import Wget @@ -155,18 +156,26 @@ 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, filter_regex=None): """ Return the latest version available when versionsurl is the [name]/versions URL. """ 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 filter_regex: + filtered_versions = [] + for v in versions: + if re.match(filter_regex, v[1]): + filtered_versions.append(v) + versions = filtered_versions versions = sorted(versions, key=cmp_to_key(bb.utils.vercmp)) + if versions: + return (versions[-1][1], "") + else: + return ('', '') - return (versions[-1][1], "") - - def latest_versionstring_from_index(self, ud, d): + def latest_versionstring_from_index(self, ud, d, filter_regex=None): """ Return the latest version available when versionsurl is a Cargo index file. @@ -180,5 +189,15 @@ class Crate(Wget): data = json.loads(line) versions.append((0, data["vers"], "")) + if filter_regex: + filtered_versions = [] + for v in versions: + if re.match(filter_regex, v[1]): + filtered_versions.append(v) + versions = filtered_versions + versions = sorted(versions, key=cmp_to_key(bb.utils.vercmp)) - return (versions[-1][1], "") + if versions: + return (versions[-1][1], "") + else: + return ('', '') From patchwork Thu May 7 06:18:44 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ChenQi X-Patchwork-Id: 87601 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 3C4B7CD3427 for ; Thu, 7 May 2026 06:19:23 +0000 (UTC) Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.6077.1778134754502529806 for ; Wed, 06 May 2026 23:19:15 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=iAXnudti; 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.166.238, mailfrom: prvs=9587885fd3=qi.chen@windriver.com) Received: from pps.filterd (m0250809.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6475KpgI3817756 for ; Wed, 6 May 2026 23:19:14 -0700 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=r44IPJCB3w0cNbc3A6UowOAOk7GCrQKZu5/4ohDoj+I=; b= iAXnudtilKlGXvm7kHe2Jwq4mGP8nddO2oKADtl1IJrf9FVK/n+ZZ2zITL1/EI7d nQurqioPHFhpZojivmjnG5J2zNzVwS94YImPxQ4sjrrzmUdYaERRIzMwbFDFhwx7 YSiuNo2AKWWkbSN9X+HMcfhojuY2VBFrQEDThF743PVa9Z26tR8k/MmSjN3rz7ba zoyXD6dZzoctdCHzudBGyOg4/lY9q7YDGFSaWlKSIZaJPubhHJA1pGVFHUNU0zme u714C5mHlAA5gpans/g5ANHuhuAjLlvwiZMbVEUPpRWAMdOVmhbO5nnSzlV6fjpk JLW5w/TcsbV1gCNmAqwOFQ== Received: from dm5pr21cu001.outbound.protection.outlook.com (mail-centralusazon11011063.outbound.protection.outlook.com [52.101.62.63]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4dwgsddssy-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 06 May 2026 23:19:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aN9FhGGbCLjRQXtheA5637nFauX6jGM6n16OEAmt0vFvi80/2LZYF8dAb2AvvXXVR8iBVPxX/LBz9aBRygw5ZFcZ2J5Fg9UN4pBWY3xhgfeaM81iT2XcInvakrMiPEhZeAHnHnA16eBDoTsIyFDQZz1SOuqBcvTDfbFOBNs3DZBIgZmpNtvAys0U4PH208A81oTyuSnMkG4p/k/8QCiV8GUHupq/EntzRI0XOhC45p6T2fTQ1y2z3p5ptl9sB2FfxcSv5/uD11oQ9/PotaaH927xO63zEAsHlEdSZwDL8GosF6ka0yg0/vlaLd80ZJVNRjE+rTMxgb3xLS5HYyGwLw== 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=r44IPJCB3w0cNbc3A6UowOAOk7GCrQKZu5/4ohDoj+I=; b=fMtUBGl02ES+BHCWsNkLUUYNSjdot5bKMk3E9EX79OJSBP3/vzGSrwIQ+yuI5dDelF+7JXR10L3SiGd9deJW7EuNIzpHu7wvl6+6pfC1sbbUj6c2LzRH1Cv8Tyqwfws+3fkIDtGU4CKSdxxCkCbK4DCwMjeyJ2vWbuFsA4nZK16JVBqElsYuWk8i6yTCUCRyas/41MDyq8AwexqbKxUUCHQe4oYDTWmFNFwaOeGZAQ2N+XKPxIgz6BmpDPclRaVYPBYfcioJtsMXMiD+FTK5iAtRWn/bj8rqreVWy7XKtpHN/vXxjjegCAocZty4QkW44rFlzwSrD5QxGwddOz1hwQ== 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 PH3PPF383C22AA3.namprd11.prod.outlook.com (2603:10b6:518:1::d17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.15; Thu, 7 May 2026 06:19:11 +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.9891.008; Thu, 7 May 2026 06:19:11 +0000 From: Qi.Chen@windriver.com To: bitbake-devel@lists.openembedded.org Cc: alex.kanavin@gmail.com, randy.macleod@windriver.com Subject: [bitbake-devel][PATCH V2 4/5] fetch2/__init__.py: add filter_regex to default latest_versionstring Date: Thu, 7 May 2026 14:18:44 +0800 Message-Id: <20260507061845.1460893-4-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260507061845.1460893-1-Qi.Chen@windriver.com> References: <20260507061845.1460893-1-Qi.Chen@windriver.com> X-ClientProxiedBy: SL2P216CA0217.KORP216.PROD.OUTLOOK.COM (2603:1096:101:18::22) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|PH3PPF383C22AA3:EE_ X-MS-Office365-Filtering-Correlation-Id: fd39eb7f-20b9-4c43-89f4-08deac008ddb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|52116014|366016|38350700014|3023799003|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: pmlDmc/uBW5CyN6x0xipVtKLOGENYBBp88p6YsMXm0kOd+4NubrWiKsU8ycLHjDVULMIGtCtVBmYGmLf/HYADQEg/G5LxRXhkgUN7/EQLeqSgqiO7VxjsXOWKErDCLM1fLRVnhFxaBys8Cv+1Bmdzs+eMm9hEv3wcwvUZwmb1dqRmHOGPvePGzeSX+L7fK23qPjeZK5tOGBjAqMCI+HlSVP48jRcUfanM77ER06wUQDE8kSec8a0Fj4qJCiASGcYU/aqk/AgOx4C4J1AFdX1Maa5ip57mYcC6mpFwH+Hp/LhPvB2Yw9d/mRIJzDJz8t1rMTCmlrAIEFiHi2LMZX//xn5ue7UcDV7o6wuI0/gQgzdLyLRX91ljbDCqsOS74hUIM1rRYVGQy+FyFOpWZ40ESocOraag+QL7W+4rDSi7AZqBfhEtQ32hkqDFzGYlz4AFLt8VAD/LLYTcNyzDWEZVj67YrwrXQ/VsdBP9kBhHBtHbpUkVjXHiw9ld6tC69cv2kjpjSurQGJ2B0qIgH2lq7K8a6+BvmYdDujTuFJYfnNTsiJAlNZOv8AGIRYcBdUhvo8WLbkQSM6STySdIB+73r4vVWbDGDAaSR6lHOLDykl0rEfqiZkAN3HtzTVaVvRCkSrxh4QrWYhnBubDM9GT4JuVqDuAtHNA4PAkVHTNM6P6h6HRFhSZt38CfAXt0nluVgPpi1yYrCHxHj7fUjabVwptfF5qgs1Mu2szVXMWSvOyv694guwnid5OtHw6BnjA 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)(1800799024)(376014)(52116014)(366016)(38350700014)(3023799003)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lmliIkMWe0y+hF7iglRKAalStv2gDiwOxnm4+Oa0D5Ds+fv8CGqZUc/VtIf1a4cEQL3rRTIJT8cxA83gt4r/fburtIZC5ozSfQwznA7Szx0EUzF3hcOe6NZDR9gkQMi0X5FUv2VYQ7mF0qPCeUHcvZZbu71PZBfcvnv+gxyrUk91SlFpdOMc1y9tfVWZcdqffvCoT5d6PYc0gBcnba/PDqJW7NV7TITYRg8j6zTKR9M/+d3LH9ZZMv8Nb1gdWqwaPi+cJVpfsaRj39LseGdNtbR/St3ojz3/2azaPfBtA28ODjw4vaieBiQXqeUe7ZbpoFBqwHY2twcMJt1QMzXBYpBFIbq8NVHWTcXAljEIRC4AtEAuLfBgp7FUHa8OU+EV3bNwmgky6SZBSTA0EIFcwkSIYJZip+iJAjKQS0Vy/WDq4nNFDxy67av3bYldjmX2o09HFGlzniY32A5VaIsrPsMljPNmjuArhUQV+WhWjERj/dVM10WaO+uLXEsvmWSZyCU2jj7YB+Q8a8g6l/LI15/mliWTXb/nO0wqkd/f4Rfnt7e/CmQcrfxi7VS695dUNWCkhfDlbl/7Tq0ucqe3SH4yTxNw1fn0PrqUlfYuV4Q7q3OS5s1zs/yabKzcUFqKaSEZA5zMd4mugr0vxIJVMMn/fyzPTozlzJK3Mn9qy1mhsuRy/+B/gSG9JcWxdd7zOZHuZ1UnSPuONzf+buYqMFYHUewqdsIHSbeRCLNywjV4ScOO4izi9fnAUYefO4kcAfgmnqkHODNBW8UDBnBH5Ni8Bt+T0xX8qekuhF84QXdg8E+XZ3yzJcTQtcUyq3NDJcV0kL06ZG4NhCmFsmfCvT1IUyLhjcGBvasUt8B3uCaYL/oMA0M0Uo7t34O8haAV32Ywo+d8LhHwQzrIF7kzngjTggbARrrW1cKTPJc40IqCjFZvE7jFRYiSgx4853U1dWrB3+sO4WJzsdBRKtNikhZScjQDEorwVmRHoXecYfX3FXyaQKyG43CcyVRDi+sRgqLAx4XD6/tUyFYQoI/sQq5Aws5uJb9/5c4IcoZ13CAXIA0ZipEhZto5Ps8FuIAfZPYNt2WM+cPAg0+S0yulZosysneOCJL38Ei5v7bJUrh9GOjMzSWggSfLNudbNT8QME61CKz1NjbL2o118Xojbo55xVbCAQMbymZXLuRMNgcMLVo2gCzIM7vYwKYHJjXKzc6Aecg4HEwEhgJFY7AA/oSCEgA28aq1a0EUMNC4LyemkhJyMNssZeSnewJ2T3cWp5o1etW/dwYv0H3vBG75svY9vtJnBnEXMpj2LBk0g4RGFqNqCV0owJ/raGD75epQo7BS9TP8JN+t0wkAEN/281euk3xX4+djKs7yge2J/aQjgbABzMoeZSFUM4Ljuf1UM6rNi87bj3ws4LQTrLLTltSppF8NqBOBx81oryL2xh9US15N0dj/LusgPQ9n//icWBxsKjEvHMGQZ+Fsocg3tDhyahawIe4AwW7YI0R2EEpJpEjWe2lVh1pyTw5xFzPcW0KgZFMs6PnY17TbbWRwC8/ucOxYrVpTxeQb2UnxS9sUX6GRZqxAjDfWURuJhR8rz2X1jxoYLNKT50/q1nDY0NFksDfUmMdEcGfcupE36OwJedGwuglFIAOExBiU6XVD6uuUsJQ/9LfGlMpGBcqS4GuWaGkFSqd+TNY/5v3EAyGbikiAmv2JBKJ8MrNGMk6WRNesN7dR+uThHf6X88Xb1w== X-Exchange-RoutingPolicyChecked: twgz6SXR0wh+K4q8pPXpCtvPDqIkwljxUyS5Ee+AUD2/C4J15cCwoqKP/GGkg4pCWlCCiBvwo7ImZZWxxzFQf8grJ74/0JVQ3g4O0AWu7A1QkMDFSDbp7uVI1TPX9MrOCtyuCQe55ADas9E4JeMiDATR8EvCFANjM3Hk5tOCaAnXNhaK78BQIXOWIyuzkqyY7tLsQZwih4yvqoQFaXDo3VM5DMbmzdKfj2+ITa+xd4/3WI0NGCRE9FvDK+2MxRSLTfPtuTAdgh7iaWCRDkJe4KgkkRe0daFOCFmte1CYKG1icySYn+7WhOBDcu0RfEn5Tj9Wo+pLWCTOIr4uuqlJPg== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: fd39eb7f-20b9-4c43-89f4-08deac008ddb X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2026 06:19:11.7667 (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: 1Od78yseMuDjW4HdlF/7GmY2vYJWacYJ0VTQTXOUQAHRBlStic0kQRjDsPMFfGdG5l8O+zVxCUUHpxxEk6kC4w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH3PPF383C22AA3 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-GUID: qi8ygznoqQ2LKszEKmoEJUHVTJ-GJOLp X-Authority-Analysis: v=2.4 cv=JeGMa0KV c=1 sm=1 tr=0 ts=69fc2ee1 cx=c_pps a=1HqfSBmQQ8HGCHze6/9uFg==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=NGcC8JguVDcA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=iKiJcTA2PjBS6x5JeXcw:22 a=t7CeM3EgAAAA:8 a=OUNPEJzuPeSuI0R0wQsA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-ORIG-GUID: n_CHC6EPHSpmqhHchvfyia2_gKFYBsbE X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA3MDA1OCBTYWx0ZWRfXyUXTJXQQR7fQ NUK0Wbz/6asDD/uMTSr9gYhT6TpscQFKzcPSE/0wtYyoJY5IhaZmmm6m34yRcJWl48lTws5uSVh +R3duJexu7zeDuuyirbp7JUUDe+x998PVqg/Q8cwNqNkYOb099vf29+zlNwQVdAoV8pEfpkp04B ubp6qBXcSsDFSp7jZ5aHSgve4pRG+VNuJHAYP9UfxGFbLMz4146vv3u9zqQHYo+YAuTvX9Zpzky XLcJpuE0lGQGbWPq5efSuKyPJ7z7cJj7NSSKssPUMI2XLKTY8Oa+Snb6qKjuMqci7cIsSsuOHom fi3Igo1Is0HpM9KEVc28DYTYUtTjyFd6QGdqfpv72yvV1y8nCOxO9Yjl4sYOUTCtGI9D2lqqgeQ cIOdnBYUsQ1/eqfiARMsjhqoTR84YvXnVAs7mhvHLGCeXM1yPuha54hl2AFHqaFL4dWFXe0a+kU QEftgb79G6PP0Mr5Ttw== 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-05-06_02,2026-05-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 impostorscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605070058 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 ; Thu, 07 May 2026 06:19:23 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/19454 From: Chen Qi Add filter_regex parameter to the default latest_versionstring function so that fetchers that do not implement this function can also take the filter_regex parameter. Signed-off-by: Chen Qi --- lib/bb/fetch2/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 52d5556d3..7d1bc11d7 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -1724,7 +1724,7 @@ class FetchMethod(object): def generate_revision_key(self, ud, d, name): return self._revision_key(ud, d, name) - def latest_versionstring(self, ud, d): + def latest_versionstring(self, ud, d, filter_regex=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 From patchwork Thu May 7 06:18:45 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ChenQi X-Patchwork-Id: 87602 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 2F249CD343B for ; Thu, 7 May 2026 06:19:23 +0000 (UTC) Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.5954.1778134757357464848 for ; Wed, 06 May 2026 23:19:17 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=pPtlFbnP; 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.166.238, mailfrom: prvs=9587885fd3=qi.chen@windriver.com) Received: from pps.filterd (m0250810.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6475Krlt3269026 for ; Wed, 6 May 2026 23:19:17 -0700 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=lUZPcJKxeUSMjDhSh+ln14WTABVX0AL0Rkd8B3lIpIw=; b= pPtlFbnP8OwalAWFhXs2dDAxGpWqY8GVgRcCia1D78GiGUtSpTiNwvubVff7MYT+ WIn5PMOw+5cPrJJFwSPljf6moMHLfPaOelMo5ntTEzm7ScrtkCBtpHnLEumr8G2T Ik+dA0k+US0K3wpCiMgsR4u8bNMFXwwtpb9HxpOjUCpsAKrYUZ/w3v0T6GRiQcAD PQOH10XX0o1zXf1HXOT1/nnzJs3l5Y9NW31+dCr34qYZfIhD2WVQnhz5Bg3CIUIS LcnbVyQhuaO9NNI9gt+nKHVnqJQCuLTf96saB4j+x8NyRr/mH/ExXlxlp1UvtNGt 60h6kPQdCZIy9g6tWOuFRA== Received: from dm5pr21cu001.outbound.protection.outlook.com (mail-centralusazon11011026.outbound.protection.outlook.com [52.101.62.26]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4dwchywwmj-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 06 May 2026 23:19:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=G7SvumU+uF5NRwszuUa4XDe8XADlKItKLiGfC2smFbyDpzdxaq1I9vatcAuA8D+UEZ4YvEzYVDiPY/HUMqcF0W7ebx2652aQyLvSUTXe6b7CNyh0IlX7+Ah1ascYWhbUxiomXvdqd0z3Z12tJnbypyv5gAHSatjwFzV2t8wJGmkvPhskZHlBZXUGnK3slffgq3U5A5gqi5o6arJcdJOHn07lzrAAeQ/V+79Su2PO4HtUiY/dYRuLKXYvf/JtXrE+vuAP9Y7t/wjaNHOHg/v3zhYQfNsqHkD0hdX2evb9EIFyT6YwxOJ6gQzqnQ7O0fuZ2MB50wqa5kmxiUO6/JTyPw== 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=lUZPcJKxeUSMjDhSh+ln14WTABVX0AL0Rkd8B3lIpIw=; b=IVehj2FCuEF567J3EN4xYXyalXyFy7E+GsSFo0loQUu6BovqXOehk+kjsHPARpHtle04Nl/L4NaU+k+YYTuI9lJhjmc8iyb5qCWZCDW2Du5+3HTzGeeRFrQHmxdrRwvLohthuXuLsl61M1UWhyXpG/Ph4bdBJzC70bHxeosBc1zpfQn/5xKfpd7TsRZrdg4ii1qAADs0v3t97Vi72iz2k2sP3xleRAGzMxqQ6MROSW2XxXzCK+bnRtnqaklaSK7FZcs+X9TQ6Ao39hCyKlk3fCq0sIyxtQHKWu/WUZrNaIKpi4CUX6O8twyrb/I5u5DY0uGMq0n+9McsCnPcXfcOOA== 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 PH3PPF383C22AA3.namprd11.prod.outlook.com (2603:10b6:518:1::d17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.15; Thu, 7 May 2026 06:19:14 +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.9891.008; Thu, 7 May 2026 06:19:14 +0000 From: Qi.Chen@windriver.com To: bitbake-devel@lists.openembedded.org Cc: alex.kanavin@gmail.com, randy.macleod@windriver.com Subject: [bitbake-devel][PATCH V2 5/5] bb/tests/fetch.py: add case for filter_regex parameter in latest_versionstring Date: Thu, 7 May 2026 14:18:45 +0800 Message-Id: <20260507061845.1460893-5-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260507061845.1460893-1-Qi.Chen@windriver.com> References: <20260507061845.1460893-1-Qi.Chen@windriver.com> X-ClientProxiedBy: SL2P216CA0217.KORP216.PROD.OUTLOOK.COM (2603:1096:101:18::22) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|PH3PPF383C22AA3:EE_ X-MS-Office365-Filtering-Correlation-Id: 839de8bd-1813-4dfa-8df9-08deac008f43 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|52116014|366016|38350700014|3023799003|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: pt/VFKTmYumlG/B71NzwtL0aoJlb4L1JhqLAihKHb1FuXr/NScBL3nEWt2ey3vl9dtRdU1aHxi9I24BPg3jfgK8bdVbV2lflCeVOb/hmwvco1MbCy84X5mGJ+s6SYLGKF23cpizfjuvAuAIHP4HIJ7LKQx6aPfRGLqXVP6lBQVV7wwbA0w6rOdox/v9eaFQL+Pkw/Si8AZeoguxK70Y8Wm/+PpNDdonmiAzya69Ac2JGcVe0DxU64PAu+9S1Xwt2qqRMhQcbRF2BgEzSnBaTS43HgkCW23IgDVadNfwkblI1WYOTNqmTQeKvcGfEh23Kn7I6jNilZBpsm4sLdD3a20HLnBrkoO7AvGdlIpZzocKud9PbWdIOJZUNLKVyFWR55jcbP3qU0vRRQRDAc8AYyg0cXpZhXS+owX4BjY02q7agwJSgKpHhbqfrF+xuZ6lrYMLFWQ3Mu9WcHGMhvYon2u3TUoHYr5aqy4g0qXSgeLIaa5vWyrp7xcWMokJEqBmz0EHpAoBH8dprYRWZ0UPrPCxlF6f/8WPGKY97A6062n9HzucPhowN4II/7dKoTDPujzEGMKpSX41KEV2yrN6W+DKULyxIu+aDJA4upwW955sdW+hPeS2UlhZQXOe4VLqwFD4rw/ecLElvdcuDL8gle7EAT9i4HNdHpUp6q0M8oiSPRAmO9JUHrPdd4fBoRN8i+oxy0rU7XEZCklvt0CGV2A== 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)(1800799024)(376014)(52116014)(366016)(38350700014)(3023799003)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7b4AXiqiWwDTOsP5AyMe6TdjSuvPQ3vGl6Y/7cWfJgQavzekEXnMU8jYuL0FPGork0xNS8p2wVh08xByAVBWqwVfYMdbF1cZee/Oh6PpxrXtniM6FmjvmIi/cEXAW5PWMEsfJB3ppyugC5vm4d9OP/WbOGoGCy5g8ahgwm3dM0FXwZmFpCxyuCiGD78avhGTGPv5lbrkbAkX0yVS8gxarVvOwaLIgdRqpkNzdMyQZyWu/Gwc5KcZ8N3975d5TNyawkgs+4hGlbWcnwpj6eY/KstSlPPYDlXoS7l4H5QvjXFs8PHNDM57EayqurCIEERWKBjpBNQ/trpPcoWSiUD/B1LnuLISFpZjcYVlIX5dSWgAzCixvzZ0quDrjSabiRgMrhLthR5LgssbopCbGDoDEQCht8rGNBQTD8cekgwqYpKp/PFx5iTeZ+I9nxXGw608K9NdIhbsk366qzOrYGqAAti7PDoEOxiI89h5MWk5z0DQMZeeNKk81SpAyK0XuCOdpQwbBEwcoOT9mbFAGLvDuWlTlIXqBjrLSJfRNNwv5KpM8RsNwHJ1MQLI0E5V4OmYE71uHDGyrEWvp93RmUxFmCFW7MPTIi31WJ2YME+r5XmxmI8Mg1ihkasbc2tHLwMuy0Z4bzmggwqU3VMnReonyEt0eQcLV5tvq1TdaOlvrLJRKXIIOyWmhqO1DMTyAM4GBY2nNkliUWSTHvw9hyqoLmPOaSsXFByq/W2khRKJL1nzHBMJZyWv+BW220AjtpAG1KuNdOvB8rYWp2cPkEhTBcHJKw0CFr3poccAHdttxeM75p2ghggn4vu1IdIs7IyHkKNOKQuf5ax7maP8eVgLmb3yuvlhIFLgduwOXiB+zBb5hRCTIYwvzpj0hSHMCiHrIuIAe6B+foNAPW/w5xcMCmTcHIGutnSYoM8XgN8BSG4b1kGktf2Mi/5B41FgF5P26Xo+hm5dyCSoQ8r6AdkLk0wchz8fljf9wBJwcpnlEgzPmBGp55nI8t9Ojx/79auV76Luw+Q0TIrwIAai/rVSkJWSEeV3US+p6WxDX5ZLC6orfaBGbWzs7HSyHNijp1pEBGC/POdqUDsrcuUYjXd5n24PDRgDbqIIwOHcaVkCkV6R/Ja3I4EpCNXvw23awWZBKuXQ04sk/xovNBs4XPk48l9HGXFDCKPoAxSf+Oo79fmuNfilR6soqPZvLIPzfv5y/WXgMHGA66ggtxA+G6sCzrTl1nIsGTTC6AN9RgpvLHUjJtxytN/JzpYXC7RHL5puBm2nDtkg5ZP+l/x/dkIFw9PrBAgLEvVM1GlVFR4ymQWr2tL8vt9W7jU9JswLxMbNNTuVooOWcL3FGPxnYAjXZ87rjBfxMKhEIZPXTDtEitqhGhgPRyyEPSi72qD0GORwAtJx7PheWtb0W2RvF7HYG+PmHPc9YAH3OPNs8eLqBlfDx/yMWW42AZXa59/0wLjvvtcvihZ9SyKt3ksfvCGfQrsacLF17khRf2PSrt99B3xRJ604hf6+u8L150KMluBcIgoXq0nvFxG5696ahqn7w+KUrvJ4CF/EGw7/p/J0E7naBjLZlOfZGCY/YnzSuFYu1EDekK7Ac0LpIrQRYbmO3tHtInDLkRg6dS8z2fqEb1R/TjtWjaf0xN+Q8oLKMymUA/jwdlpWNgrwfd7JPMeHACYeLO+qn6R351ADS9FVBFyMorinL6No2VgI2maSMAZ+zUxhwh+vJnPFz6o8V0B5Cg== X-Exchange-RoutingPolicyChecked: cAgeiNuANIPzR53rC0omZ8a+z9j7OokH2/Eto99HlnjlVn5f03cB481BKZi8amQbsk08Im29eP7BXpxGukGvSn1eX74wCkm7pJSSMTNXwV+Qc3160kxV3zHLNqfjSZoRWhUiCVFPd2wSGZgJgwTSrNDhRfNYaA8ldVdXTjEUOrNGAKmsYv9tN0bDn6XqoUhoYChAPoD2y5BPvRsoyGXJ5ah1nkQ+6V9VtuY9LPVeSI4KDTMhUxxCN055vm4WiUMqpYKrv0jzkBHPW8UsYeaxrgp5h18tRRXnbQzf0Mk/JESAV6YFuhGw4XUyCH+2DiaQ9b6h1eHUOroCWtt4OD5C2g== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 839de8bd-1813-4dfa-8df9-08deac008f43 X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2026 06:19:14.0029 (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: y44a4OsqdE9bpbbz4AEL5w/XXVObfUHIy3opSBVtflmX/VHAo3N6mPOlbNryf4ehwARU6d+iUDsXMxC5SQbJBw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH3PPF383C22AA3 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA3MDA1OCBTYWx0ZWRfXwthLe+oDrzRq jIkwrNosndy4O6x1I1ZsJ2cLrQm+VMP193UxImsu+SLeaRYVBSdIAPNDzv9zrjU6PK5kI1HAwch yn/69M/c/kvj9KDnGKd+bdXj/0YaEUgxrOYcy/HiEK6PUzm5OUxE+a/4mpZJ5V8x1lrP5JcVU41 ICmrmsjleHjhJQz8flh3iTxNy8A4AQEzzoXTYxMRc8sIcw65ityH9ZbSqWpdrIAj9+BUAA/GBza T+Gclw6r9VENFDopnVyE8b+Fm3cwbbYX3EaFtpdlNnEGFF8iS4qQI0YLwGxxvwEuZOVX+EwDWaf 0eXFISVJzek4NNb6EtbEZPrCdSn6kK1WdQh52dyjPP19aZD3X3gy8MT2x6x8aQgQsZNMaaQvBro Of3egkQkuh6dKBkCaTv39to9H/f8ubMWjRTKygNCrQTIdF7LlV+BkDKdrOad69/J32hx2cygQ0t rY7FrL1ukXu0vr4Jg+g== X-Proofpoint-ORIG-GUID: UqPvIKd2k7KyJSDQwdZhXYEbpRLj8CSy X-Authority-Analysis: v=2.4 cv=LsSiDHdc c=1 sm=1 tr=0 ts=69fc2ee4 cx=c_pps a=zTxK1Vn4TPWW1Y7kXDJIYQ==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=NGcC8JguVDcA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=HK-ge7EqtdluswH-FwHe:22 a=3tcz3bTJAAAA:8 a=iGHA9ds3AAAA:8 a=t7CeM3EgAAAA:8 a=NEAV23lmAAAA:8 a=r6VMbn1M5JNI-OT2GTcA:9 a=4EbjBm0RLgFgoQzmu6QD:22 a=nM-MV4yxpKKO9kiQg6Ot:22 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-GUID: X--Z1x9WtJJlfVu6F819d8AUs9EtrVPW 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-05-06_02,2026-05-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 spamscore=0 suspectscore=0 adultscore=0 clxscore=1015 malwarescore=0 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605070058 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 ; Thu, 07 May 2026 06:19:23 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/19455 From: Chen Qi Add bitbake selftest case for fitler_regex parameter in latest_versionstring to ensure no regression. Signed-off-by: Chen Qi --- lib/bb/tests/fetch.py | 78 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 77 insertions(+), 1 deletion(-) diff --git a/lib/bb/tests/fetch.py b/lib/bb/tests/fetch.py index 86dd92992..2ee1a883f 100644 --- a/lib/bb/tests/fetch.py +++ b/lib/bb/tests/fetch.py @@ -1512,7 +1512,24 @@ class FetchLatestVersionTest(FetcherTest): # basic example; version pattern "A.B.C+cargo-D.E.F" ("cargo-c", "crate://crates.io/cargo-c/0.9.18+cargo-0.69") : "0.9.29" - } + } + + test_git_stable_uris = { + ("dtc", "git://git.yoctoproject.org/bbfetchtests-dtc.git;branch=master;protocol=https", "65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf", "", r"1\.4\.\d") + : ("1.4.0", "1.5.0"), + ("systemd", "git://github.com/systemd/systemd.git;protocol=https;branch=stable/v259-stable", "b3d8fc43e9cb531d958c17ef2cd93b374bc14e8a", "", r"259\.\d") + : ("259.5", "260") + } + + test_wget_stable_uris = { + ("openssh", "https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.2p1.tar.gz", "10.2p1", "", "", r"10\.2p\d") + : ("10.2p1", "10.3") + } + + test_crate_stable_uris = { + ("cargo-c", "crate://crates.io/cargo-c/0.9.18+cargo-0.69", r"0\.9\.\d") + : ("0.9.29", "0.10.0") + } @skipIfNoNetwork() def test_git_latest_versionstring(self): @@ -1569,6 +1586,65 @@ class FetchLatestVersionTest(FetcherTest): r = bb.utils.vercmp_string(v, verstring) self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring)) + @skipIfNoNetwork() + def test_git_latest_versionstring_stable(self): + for k, v in self.test_git_stable_uris.items(): + with self.subTest(pn=k[0]): + self.d.setVar("PN", k[0]) + self.d.setVar("SRCREV", k[2]) + self.d.setVar("UPSTREAM_CHECK_GITTAGREGEX", k[3]) + filter_regex = k[4] + ud = bb.fetch2.FetchData(k[1], self.d) + pupver= ud.method.latest_versionstring(ud, self.d, filter_regex=filter_regex) + verstring = pupver[0] + self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0]) + v_less_or_equal = v[0] + v_larger = v[1] + r = bb.utils.vercmp_string(v_less_or_equal, verstring) + self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s < %s" % (k[0], v_less_or_equal, verstring)) + r = bb.utils.vercmp_string(verstring, v_larger) + self.assertTrue(r == -1, msg="Package %s, version: %s <= %s" % (k[0], v_larger, verstring)) + + @skipIfNoNetwork() + def test_wget_latest_versionstring_stable(self): + for k, v in self.test_wget_stable_uris.items(): + with self.subTest(pn=k[0]): + self.d.setVar("PN", k[0]) + url = k[1] + self.d.setVar("PV", k[2]) + if k[3]: + self.d.setVar("UPSTREAM_CHECK_URI", k[3]) + if k[4]: + self.d.setVar("UPSTREAM_CHECK_REGEX", k[4]) + filter_regex = k[5] + ud = bb.fetch2.FetchData(url, self.d) + pupver= ud.method.latest_versionstring(ud, self.d, filter_regex=filter_regex) + verstring = pupver[0] + self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0]) + v_less_or_equal = v[0] + v_larger = v[1] + r = bb.utils.vercmp_string(v_less_or_equal, verstring) + self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s < %s" % (k[0], v_less_or_equal, verstring)) + r = bb.utils.vercmp_string(verstring, v_larger) + self.assertTrue(r == -1, msg="Package %s, version: %s <= %s" % (k[0], v_larger, verstring)) + + @skipIfNoNetwork() + def test_crate_latest_versionstring(self): + for k, v in self.test_crate_stable_uris.items(): + with self.subTest(pn=k[0]): + self.d.setVar("PN", k[0]) + ud = bb.fetch2.FetchData(k[1], self.d) + filter_regex = k[2] + pupver = ud.method.latest_versionstring(ud, self.d, filter_regex=filter_regex) + verstring = pupver[0] + self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0]) + v_less_or_equal = v[0] + v_larger = v[1] + r = bb.utils.vercmp_string(v_less_or_equal, verstring) + self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s < %s" % (k[0], v_less_or_equal, verstring)) + r = bb.utils.vercmp_string(verstring, v_larger) + self.assertTrue(r == -1, msg="Package %s, version: %s <= %s" % (k[0], v_larger, verstring)) + class FetchCheckStatusTest(FetcherTest): test_wget_uris = ["https://downloads.yoctoproject.org/releases/sato/sato-engine-0.1.tar.gz", "https://downloads.yoctoproject.org/releases/sato/sato-engine-0.2.tar.gz",