From patchwork Sat May 9 05:29:46 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ChenQi X-Patchwork-Id: 87782 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 E5F79CD343F for ; Sat, 9 May 2026 05:30:29 +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.6789.1778304619871642534 for ; Fri, 08 May 2026 22:30:20 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=XJbQNJiR; 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=95895a8adf=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 6494jIVN2286826 for ; Sat, 9 May 2026 05:30:18 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=4GYnbJYsN u6tMakLuSMeRYquElI8go5B0OurvZ2Qqmw=; b=XJbQNJiRYNAQZ5XKA7sAfB1R7 e6m+rXe38qiiueI/5J+fbqYyTHEVHGnFkTgpkoLAUXRWKerkkz40wnqvzA1PbnAP SxCjD1mVGYjNeQh2usJSho8JRLObeTtguMYfIh5008G29W7EF0dOXXsHig9GehbV jvkZYMMgBOhazRJFySyu+nTmGHDhsTPBB9qLhAZBg8CDE8eYvoW/N3zGoQ0Eakbb BZagRnNWIUIkQ3yOjeGZ/uVBT6Q2BgSj77utV+ftq95Lf+x3QHdPIwYOxTekC+FW o61Fw2ZiQ0+W9FIvtbwErbuE3EoDsrvRat7/awU2FmgHaY8CjmZrGdVDHxABA== Received: from ch5pr02cu005.outbound.protection.outlook.com (mail-northcentralusazon11012068.outbound.protection.outlook.com [40.107.200.68]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4e1uw6g3xe-3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Sat, 09 May 2026 05:30:18 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aSKOeUnGpcEK/oqH/Hm1zEjnikqAmbdr/FPRpA6zEiGcKhW2gTd8PesnWfX03nF+9uwJpKAOZU6lbmfi8N8jyynB+8CzWXRfmrLHiQYJxPa3Go/WDtMMIrFOLi6pVef53e8XSAPrarSkD6B/jtkRjlihq/XxQv+9udkgHTeZmUwKKEuzpgVHmOJaQGP/yN4GYnOtV1ImEfzykdOp6iuNFKKXvg5DZ8F3+DeOEvIhaQTWqpmBSap18lNQ5SQjx7CLejzSWoy+aaA8oK4/LqoIOdI0K2GkZFF9+YUregvBL5JQHT2RkLG3dH9QBnhvddy4fyTg8fopWBfCHLbwILI9NQ== 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=OSIXUPwEWyvh06u5rDIVnCvdYpCSySN5I9HMcmcT3gh6wykUrF+jIzI5p0L6VGpiOqMIr8HMW7BPtYj/mmmMKrqhc/hS82wGwNTIihQqJnvD8A4KnMzjuHBhxOEbdb0gXEhhyUjZxa92BO/lWZ3OMIs0UMGQ+NwxFqy76ppqcS3neNj+9/zkdVa4Ljd4d+3lmQKbLcVY5Pp3lKBfa6BUVBo2fCbfm/fwYrHD9WtOL99YqSGlL8BZcE0HAkyezVG8kzQMxkv6jZe+1XTuDeCHnlodnf+A+XreffjVDyhpoBDwjhUZVEhSUG+N1c20KIn5ptn+w3WfS9h5+0vdwukaFg== 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 CH3PR11MB8657.namprd11.prod.outlook.com (2603:10b6:610:1ca::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.20; Sat, 9 May 2026 05:30:10 +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.019; Sat, 9 May 2026 05:30:08 +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 V3 1/5] fetch2/git.py: add filter_regex parameter to latest_versionstring Date: Sat, 9 May 2026 13:29:46 +0800 Message-Id: <20260509052950.1565384-1-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.34.1 X-ClientProxiedBy: TYCP286CA0087.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b3::18) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|CH3PR11MB8657:EE_ X-MS-Office365-Filtering-Correlation-Id: 62bfb0d2-60e3-46af-2732-08dead8c089c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|38350700014|56012099003|18002099003|3023799003; X-Microsoft-Antispam-Message-Info: 579aZkGtqGgmY0XRRmFIKI2wGqIj0/dfoKzy3457/PFweNAirZuxlLRp7zzWaK4IB6PUY2MaFNw+/hF9Yf8xvGD+9KC8O0zJLo0NGpw2ArExdoV7MjuDD6fYAA2dsJ7DvETGF5YuS4qTwS/ycRkikhDagqBFr8MUV18lLPhePFo+hlZeSD58ivLZ2ZFbbJ4dO/SNksVXaiQonOoXwNx7t6NcxbUl2eFEd/R5TDoY/laqxpH+Lved6fdlQ6ceNlLRBmfV5YSnXxwwh6SSNKRpTlWeMURxvqSwwvtv3YavD3/QnLh3aAPQJLtIMjLCxLxfD+II51pVZwgmZfROk+Lc6FnUk9QX6IRemvWNoSH9kJaUoHdggah7M7VqUA8WJhnHCI5A8XENnkgyiETV0m5X2czIsTV2+6PNlbATkSq/0ILjhFNRDkFxb1CWQPcg5IZQGUyeHDqilkNS6ccYF3eASDGW5lruaSlta9OCk1uEFD6sjbbI66Nb+stnvJ/07s76VCBMrUnhwFjNo8LadrZutxinzSUzg4dR3UPq7gPVYvyS0FzDNOm7gGMF7a0cRrVvm7SgneYqEiwBaHL7QkLQuklTazVI9yZjBra25UVeILpF3uh/j3XPfVJ2xPrK5y7BO1cGgCnR5SCFpvLT4MAqGTx1iVNWuR2mz2m+CHiiFEX5fdIRf9BHvbnEVRjbt8Gu1+D2xxVcW3NirMnH2MUlvitVjSNqQrg5zflU7fXXONfngDzKLJoJFGOEgPOu8KoK X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR11MB5602.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(38350700014)(56012099003)(18002099003)(3023799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: zYXny70xKHxT0bFmDG6YWBktGuc5hHTlj0WNNLo0T/hndL2jRDm08sekdgS6qY9RO8+385vCH7fqjwaQQM3rLUR6aunFSVEDrjLH3ZwRZyvkwvcD/+oEm2KNlqnS088xvpxf3gILWnWX0kHnQimqxTwuHP7p23jFkrd9hjfo/jnQN12+iL0ulZIYmGo7D3o0l7L5M6w6+rbFJpZWr41g9b6XZ6l++Oye8liQOpFSo1w92F+LrN39+/jZqk9FfFxp1R3ghCDtmO2di4IMShMkN3LYQJPl3+C2ILv+ShU82hbfEqXRqMjHaA1eP9zxK1pYetDubMJjvoKnPP2NUFy1Tb759nIvMDLNl4+X/R3KZbZxb50AQpTzZL56VNJf2D6WHw/MzBcQl6rRUHIR/nTJqVPEZWYEjnkFPLNzmU0W7Q8OKZb2grOTmcp91URnD+1JrVv/MsN1luuKQDLUvaxyDY41eDovcBGIDxsEgzO19+7bmP5XpC1HodQvDBBLFlzUq6AYzSstsn/fGf+HFZoXUP6rq/Dg3527hzb3xmbCxNSkdnkokUh7OEG1zFxbEdHZJIn5hRhLKn3ZF2wnrtYCZIkfkJy0wQ89aq3ds4O+ADh1BCLZacFikmt6BvZIspkvaUp9x9Sdx7WnK4+bwsMK0RXWcw8T0Ra6l6tHvrQrqB57ZX1bwkLDL9tzF0NxcPgSij2ovVUPUrJ3pWLMS890nM4FTqXPJGud69yx5jK3FQUSh/GxxGoG71tXGGDGPfANKERThBnQliyGyjfOFM4FkNcOdkYrsJanglDBB5ZwA6q1lxsyIYh0wyW3rqynE8WIasWCB2mPxPIEQhPH1c4M+fGwwJIBSBouZs34n+MZVJuVzdETViSiZOILhNyHMLHwgMTHjvFeHjQ31L4gnDDLVbEwZhubz5ATRtikXEq+1fYrF5UgBt6X+wtbSL4CY9FMdgmrXqJXLp031dyDXpUh/pmWnkRm0WhsDLGiHVm2FKoVEvRjZ9jAh90/AWhk5uKuz2sMgLbFHkU+wn6iNQeGTVLqg4eAc8DRJHLB0PPUMGzVoWvpcAlqsLtc35lsCRYvR6Mda3qBTbyZC7PBdYtewCFnPUda/y1ONUs24FOJGEVeR730eNT4jxk7Nl+osiT0l1hE+lx+sK7bU6Hm9Ug8YjxTmfQr/4caIu6X7PQ9K+6JhWpJecc9NnyqtdeuTE1FK28NPOceEPKvuw+ocPxjz28dKVtD664vR8U0oLIEe3k/4SiTxr+CDZ4JUMW9Sx3oIN+bOifIUXolfY7TkkI8IbZwxoEO9pwCq87jomW59StVFEVHjgYwDI6zGWLOjiyDbJ4vnfZdviwtGlayLkt9wCtMGwsx2tl6CPgWsXNl8vOa5yPzE2bus2R/zVv64qbsBsuDdmGVDnr5nJeSRDVxxA0n+naPtgP27Jlx1ZkNaA7oiyVviBRGbMK1cZ/6lomWLY6XuC2wb4G15j19sN140jNP/ut1RXgCoRpfaYGz5bIrGboicvfFYjnjaDuh8Uvr4C1z+XVwlC7KjPxPmIVMTIUjOODquIsp+MhpV/X4kzxhZfMUbanRw2hIrPwA/p9LR03G//pu+QQHkm1M/1F1wI2J+WGgjuzWu/7riK185f6XuKZ89f/dDAJj8GdYu1nRHwTEIEHr390yVj7iyex5/9yY7w2NgxJ0daonHPwbiIockjVKY0pckVVbhNI76nwVh/2lMu66Xlngn+R1D240iQ== X-Exchange-RoutingPolicyChecked: LlpzJNUkTQvYsCTfqG92GEim1hsF8tgZ4iB3ZrMrhHuRUflk+1O9sZ6LhREEH21AFX9kdd38/YZrMAakkCpHJX8H5hTZONak5qCzUAJshvZ/OS0TeTTm79BF4sgqOCeFLVrag61Hsi5ozrAooqAqToWzqwXUzZWD6ogZISCG8jjQLUQ8KmuhWmgZqrZ/mjiNQiuxDAgpo1EnvhgjWvXp3NXi5Q38Jw7a91eC5qko6G+63L94WiGRuOgwDmFIxQoteQf1+nMsmAlG3YXrmfkEu6FLBjryKXj7ojSbLcgm1PYBSXO5/iDjxb3GY63E1FUH1Dz5cSj+FMo08PN+hCas4A== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 62bfb0d2-60e3-46af-2732-08dead8c089c X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 May 2026 05:30:08.7729 (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: 9joVriNaFa/c366dORB4mpYohytLxpA88sMfoyJC2jyFfLOUmXFCSBFM2NuZDnNnnIPkewbJ3XN2zFAsLbo0NA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB8657 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA5MDA1NCBTYWx0ZWRfX5tlY0uPWktuG NySMTRGmDSmOxU+YURPPGhG0IGn9YIvbqfv5VbqpGoXg8fiMdEYKHykMtyIMpDQJ5OqfDroFf2Q yyqS4J0TB47uBXU8HD6i6DsoVNjeVLkWmpOa5GIPxWPUlvxFQX1eoW9o6T+YtUgMrvsCHB40XST ckF0q3Mbf2JFw6TI00TqUsDLE+I3R/y6bWkDNArLMKS/ylgkgC5afQWCAWp0VpxXiko++EDgDsU 6GlP2um8r9N1EkCkCdgwprO8VMOJn1f8BZ7YjuQseLwQOZpDKGIP3iQMuWw/22zrzKXdilE7Jft 5mCBwKZp6r/tDgzUy81lKDos+5Y+aqJX/Car8E6/lPq5w9eBpgHPkhcj7sJEBQvJEkjvUdP03Rt j5Ee6dL0tRovuToM9sIOWb9nx3edGRUSOPouYCAivKJpT+2cfUQH4KuDoKQq7rSomUtWYp1Ptzi uNaOEmah0v/rmwLixBg== X-Authority-Analysis: v=2.4 cv=d6nFDxjE c=1 sm=1 tr=0 ts=69fec66a cx=c_pps a=hdF+edV3qND9tYm1xB2jJw==: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=fTW__CHxibyLmBMfj2wP:22 a=t7CeM3EgAAAA:8 a=rVcF9mjB7NWXllDnQBEA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-GUID: ylF2_WiDQRFQ1Gc0OnbqdKNlp2C3MYLn X-Proofpoint-ORIG-GUID: wR4qg7Czalu_xi2b7bWgohReO0Hfu0RN 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-09_02,2026-05-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 adultscore=0 clxscore=1015 phishscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605090054 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 ; Sat, 09 May 2026 05:30:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/19482 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 Sat May 9 05:29:47 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ChenQi X-Patchwork-Id: 87778 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 EFD50CD3447 for ; Sat, 9 May 2026 05:30:19 +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.6788.1778304619438913563 for ; Fri, 08 May 2026 22:30:19 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=suQqM+Jr; 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=95895a8adf=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 6494jIVM2286826 for ; Sat, 9 May 2026 05:30:18 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=3Msu7VGPBNSik7DqiP9QgBDdmBdMMdDKggXjzbsBbIs=; b= suQqM+JrL5tR9HxRrmkrVvcg+NHcfoFiMNpBtnp5rIOlNn2a6LQhShzdox+P8FCb uYe9XtRvMTY83ptQW+H9WugOMQflBU01pSFen15fR0PEz4MCiCQQYE+yo5z9W8lK o2dKpzp1EIvsQmGPUWhAW2S/BH4WIJlgRaY7SnF2xqsvRSMUEBwANaFeSiNc7VZj 2JxR3jEYudetTcfksuvZKlhCAx9x04h/wrTh/e4v1YB2iy4cnACwoXfpLHzIQWi+ XeejP2CKFG9n2kykssNQkpcDpFYXrhJeNw0wLfpYlcNein7bjLJ7NoATSoLqC3D5 cOprA1UaIg/fwlcZi6v6+w== Received: from ch5pr02cu005.outbound.protection.outlook.com (mail-northcentralusazon11012068.outbound.protection.outlook.com [40.107.200.68]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4e1uw6g3xe-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Sat, 09 May 2026 05:30:18 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FRqe9ZhuSlMSCCFQrP9sGw9ZakyA27+ACWelk2POMn+VpX/WOF1dxxpU3rrch2O5nIR6QKMKNmIvJ+rsEtgvtxxJL4u0xk+D2cPaf9JNvgwcAP8O4cceuxX8Sim3sly6RoEwc04c2SFgCLdvqzNG2JfGE5PXheuBgFBiHam+TNkvqlph823GEFAjlzX7Y1BwDNYopX0q/4P3RbFLTxqokQ0AVo+AJcursEdi9oCymfushSQdiGV8OmWvYQCSdYZciwMxUt6SRxSFwPrYmF3HTr3TwJVUKZlNM3GnQdbKX5zoBgNrJiG9oXFkvUTWAB4ue/E33cKZDulN2YwicrhGWg== 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=3Msu7VGPBNSik7DqiP9QgBDdmBdMMdDKggXjzbsBbIs=; b=CB32mgchLwbmgYVMQ0BAvCIrvW6tEIxVg1xojfDGYv5wnF//Qep/0BFxd+MLuK6sy5THEBBjGQ5DegHlVKch6p2g5hKMqcR9gMlGfBDOV+f4dDsr5cAwPLkW/aEoHDJiPWO9IfKiN2Ae7JLrbszKyuGqwEi80kfV2HPmI+XOMlNiRE+E6/vEF/YA8Yb4JUKbvqQiraiZ7Kp0JoAxz7jKInwB/5VOIgrUvYYv94jSgrcbyXmx2mHJstvJ5J+ZYARlHN9FoQlv4ehFIlTGae7UZk4dV4Olwky+/KcNwcjtAGCkvkchXPts7DFcGhidn6r74ptXVCHYIg3wi6omVKjDwg== 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 CH3PR11MB8657.namprd11.prod.outlook.com (2603:10b6:610:1ca::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.20; Sat, 9 May 2026 05:30: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.019; Sat, 9 May 2026 05:30: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 V3 2/5] fetch2/wget.py: add filter_regex parameter to latest_versionstring Date: Sat, 9 May 2026 13:29:47 +0800 Message-Id: <20260509052950.1565384-2-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260509052950.1565384-1-Qi.Chen@windriver.com> References: <20260509052950.1565384-1-Qi.Chen@windriver.com> X-ClientProxiedBy: TYCP286CA0087.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b3::18) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|CH3PR11MB8657:EE_ X-MS-Office365-Filtering-Correlation-Id: 48881d46-fbed-4392-d35d-08dead8c09d3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|38350700014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: UPvnP8qmBty6hxcA20vupAQjwRgSk53JW5padKdz8z1SWNJRbO8a1k2E7A6yY0V1c9XbfHf485XaepyIjGE7D6Ik5hTz+TSrsU3jFY+nVkWd0Mcn2bTDZjYbvZpzIMAonNCLeJcnKGwX+vrzwJ+7+426hBrdxDTBZqgJ7b1yFUc3dF2UzYnXmXhHhTAG/4JVGal/+dMVv7jOLKqu4vwmEV6AOwBDwtQsHpR5fhaZ1ztJhaommjarBo3ZFTuE7SeTXjbS2d7XzBdONxlXjYnDZmHkZUaHDF9Z9DiNszS3lBFql3l3uIVTpnxnAVgj10nsRHN7MxXDhTQhwKJ+t/AP7+Yds8r/W5Q1Q8Lk/y1BgHaRzgMN3TWZWQv42BxcLQQ9ZR9NhESqSE/v2+cH51wVtr6IPhDeG2QtupX8rJLHMAp7YlGIXnHolJ4ETuufzMb3BVOxA8oLrUH/sG1ggjrTofo1kXmRzi1oSxXC+5dB39XYiGE++XQNMqNL828R2KRiFevl4w3Nte+ntQZ+WGV2oK/ThXyzAyjL0AiBKCymA8vA+OF/G52mqQNG3KYwNaCaJid417ifOVz6UMaf+kpMLiqotYFXnESiSXHKh6awFIRfGIYUAe5VSVEseQBoGlMlZQ4TWzQXqr7sj1p87Nap9VVZWZWyiXNyvJ3fNS9wxMuqywZ6r14Bsu5kzHIsz0obEyn4p7uNOba08rOEINyPOS3+JrOKnXYjbZejPPY+XlkxlfK29wF6wrCcliu6+Xm8 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR11MB5602.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(38350700014)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: t514guAR1waX/uldXduWsLsWjfyXTrFFkxlDCYpB70aDG8sks+msxJa7BCHsCrYUVTCHlpR8cKfZQxIOuqv0qs4TMdD7oHyVaIFVoBwJxgAusrpYCAWLXpmi9F76oWCViKberYyQ29v9BmsimRw9iQkOTqdPqbUU51MCBVTKEamAyPEvmg/AKLpCevpiDgJThOGUOOEFCiuNgbwuoXkI1ClG8b+wcMZPCccLaztMUZmmLLe7AgkR9jxNnxeQc6mOh6W2hwy0llPbcKU9sLRPhf22sMfnFXaJNCpP0qn2aePO9S01hDSq7DIJVMG1Tcap7nWspDOb73ZTkIPXrt/PAQ737tNSK5hF+HQrnpyoOfIEoUNd+ZSphlukSV2thBAfOdyZVGMWaZwZikvpg5XpY5bP3jctruKkb4Skz4Elcc8335SRLvtmmUb3rWhNMGONk296BCqgd3C2M+Sa6Mo8FPUI39l2O75v34c5SoD3UuFvQuC0Q2uZD0xiuMuQCJSYf4B7j8d1c+UMwrsVIrYorw2OPeAikyM6Gu7mKxDGZ5T1KRRm06GnowR8DqCWjJO1KBkQSl/bT2eMSXFY+AVLFdeGiwPuG1ksqtDYyRTkKfQgpXPMak68vJvv80/BbmdzhEo9/Pip1oej1SvlnaHiIWaiSS9WAEHC1rFouuoHX+/5D5t9RU60GUDGocPPIWmxx6fNpcO8Y9nIXUtNbe1rgUKpURiyhOuVDuOmewX806Ifc28CT2bbKpup6tqls6UujityQAztzj7M9O0xbN48P6Ai8U5+4uQPdfeVA+gcXCnTnLs2huf6p1rdt+YMvTsMpwMJu7NMeJXcMmMhaQEt4MTYMyMDnar0HfSdOHn2b0csfDq5E71bNg+nW+y04zQwpWzdWwiDLmJUlmRUurVxcs5+RGKXnXvu4xBCODoWLljafKi4fLOALDy2nnUdisKzdUHIrmUDpDxKYKZovM6Wima/UH7M6KjlMkrxBRD5OQizkcQp3Dte99dShQHh7Iuf3MU/XDz8RguEOAe/2IspKlg7AjX8KonhhhrU6ysgzasyE0NAZ0qu/UNH+GwpmSQ9HolTbWop5PvWUfjskEo4DTT59OMb2LnQP7uS8AVbCVtYzvtKGt7ogaElYTCC3M1tQG/uaK5tcvzcugJb1I63wPftzzYE4KHm4VHxnuLiZpQgTipvHZsSB7pvnorBkmLt/5sriNfnSD7Dor4mIiyZI5surQ8fKScarFs/olQQsg4D97P0QliQW9xz1qoF9f4+PuXXNrUZ+2hFF6FGsMfNQifF4BDaccOdRtqQ6jpNr5O8IL+Ph2u3d24KP90CAA/Gd6BL6uRXlTUjqxZ6il2VpAqpLVB02Ke2YWTxFyjJi5KgybQ8iPYbEXYoCjBgCGpH8ifq4m41HU/2rFmGVly5kpT6R+S4iCmQ7MSA1xDgeNVuCaJpNFnGSVIh8mcgjvv4PG9VktDGAVD5QPqfjsSBq5CBxoHIB/LjgNuAir0KqRiQcAw8rd/4FFlRsUXuvJaBYVQivEzIuRVXexAsXEBn2EXQIusounxs7hSghBwysVGiTA0D8pXx2OQSYm+eE4UBFdlJeSTLxjTuwcTvEfVnBqnhzqAIrs9B7xzoje8vXIfhz+2K11rAU7w2Szp2jZSm/MOrxabs0q50HARWZZdAEoHcVUDc9+7BvTPy2ARxpUetFARIGvofyDOLoEISVT6fJ+YG4URAnGI21PoWxMH38Q== X-Exchange-RoutingPolicyChecked: iuFfSPOyPmtWOkqreNQO8smH9jCEByyhqgilHl4GFVLm3lv7jDWsqr65cDvDJ3att+820z53aLkGGTiiNMCvqznA2kT5q4GdNowB/pEEapMpvCCgpdTOwtZm4t264kHRFT7KnqCFKASr6HwjW/wD8qleDBeer+JzGz8lNnwrtEYJDMIcd8Fhjf+dM7WM18EgZdVt/0k9jIZ3bRvi59wuapXUGxKGKQ9UefiYP7QsIuilFP3Gb6ffCOW0/WEloGs8zufDfwmvnzDK54J1LAuZsnjhbhSGD7oyuNJwRRFS2LdSEknIa7N6SxML7vzSr7I1dEi0QFdBbS3fY41sISqa5g== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 48881d46-fbed-4392-d35d-08dead8c09d3 X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 May 2026 05:30:10.9892 (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: msqkTJTyQD7EiYqj0+WgxlgE5PWug6id5HCEIbmQc42YW3t/DRt54+BtnhK+RSKIn2MIKLAPSNjlTzbl8UZ56w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB8657 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA5MDA1NCBTYWx0ZWRfX2OW0kjjA+OzQ nCXaLiZ/fW7BAaTv9uMVJ32oPlbYIVXDr/+HYSxmUQoBbpq8bUgoWKBZnOD9MNdZ/bYog1Xlon9 1zT40xiHr4x7td1mb6KmXsjXQTTiWhDWYDL5aEbNBxAl0eROJyyyt2c7i8JgHCUd/Q5skWHH2hx CiAD/+4KNFo1aHDT4T8HdKoAWCJNNkX0QceVzM9q/zKaltdVmXTOs+q+RX0rsE8dpMP4sYSMg9k gJctBF00gH3iAKCV9Eu7y3SmYx0R73IeOFGX4d892yMTmbSy1PiLxLwlKgw1gi2yns2xb770A2z Tz33z2pqqBG/muVR21IFE8KNnvHLW0BfqdT8AWHKTy3rLH/oHFojj3dhajlQsl4Y1DGpRFJuQDz xacEMtX9QEUE2QR7UNjouHhoLkY/oI4vY3FLCivVKwO9YupHGE8zMkgq3iaKubxmOOdhVUfqGlg FOvcIiY3TzaOX8N4pJA== X-Authority-Analysis: v=2.4 cv=d6nFDxjE c=1 sm=1 tr=0 ts=69fec66a cx=c_pps a=hdF+edV3qND9tYm1xB2jJw==: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=fTW__CHxibyLmBMfj2wP:22 a=t7CeM3EgAAAA:8 a=zn5JUfJC_tOmDknYn7cA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-GUID: u-d-KXjInsLyygdKH_REEo7HAN0hOrRn X-Proofpoint-ORIG-GUID: vhi1GW1ZzLdYUcdwARo3iMbTIBp5A3mP 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-09_02,2026-05-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 adultscore=0 clxscore=1015 phishscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605090054 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 ; Sat, 09 May 2026 05:30:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/19480 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 | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/bb/fetch2/wget.py b/lib/bb/fetch2/wget.py index 6ac4306c0..6e186e1ca 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,11 @@ class Wget(FetchMethod): newver = self._parse_path(package_regex, str(line)) if newver: + if filter_regex: + # filter_regex is derived from PV, and uses . as separator + # while upstream may be using _ as separator + 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 +537,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 +581,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) if pupver: version[1] = pupver @@ -637,7 +642,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 +683,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), '') 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), '') From patchwork Sat May 9 05:29:48 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ChenQi X-Patchwork-Id: 87779 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 407A9CD343F for ; Sat, 9 May 2026 05:30:20 +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.6787.1778304619438566135 for ; Fri, 08 May 2026 22:30:19 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=UEF8Dpju; 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=95895a8adf=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 6494wZ3t2309362 for ; Sat, 9 May 2026 05:30:18 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=7p3aC92/tHVl7EQzv19w8t43teC5N9+KXOx2M/U9/uA=; b= UEF8DpjuhaBfQyzfJnPfApcXX+zrFjPamn/H7xDi77ljIqCAk9U78S9Ygb4jpdwk Vn8fGwuDF4Dd8WvWbcTxFKkomsLjrr4VE8LRRxjQZ1wZlSMWlaEaLLDf05gCGz4t dAdohnuM/KVWbDbt0tyTtbIuHlte7O1mq8Xqi5MTRzoHGe0QJ6SNragEsIhab54U n6t+uf47faNwQcPohYxZUG1Nh+e6tGeXbwq4jwv3dlyWMxJbDR5V1hPVIP3gQ17v 0zOeZ/cdkNPG1v6v2AEZ1B4/st2hCXgHd/e0hl/IOAvVYnGiho/voWrWd0FXg5QX YNNipyek1FVRH3E+WrqZQQ== Received: from ch5pr02cu005.outbound.protection.outlook.com (mail-northcentralusazon11012068.outbound.protection.outlook.com [40.107.200.68]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4e1uw6g3xe-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Sat, 09 May 2026 05:30:17 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=L7F5Kx8u4IdLLUpcRmLZHZiN0+DyFZrd/YFutP8qI3wqEOHH7xjlIKyT7wl69ub/d1rTL7Vpws+foFF3I/wnkl5/f8wK9AKqysyAkuZuI2TpNMiCPFxx3gnMspm52JTms/wh3wUQMlvydhXiS7wymUdzTwKUW0FwPn1fy0+UQq6FNIKEJHTPCxDeFyguOztqTpoA6Ncjn4GQlikWXAWBRtLO4IICZfVzASBCIiNXb0BDxf6aWKbh5xKHCJP122PIDTscdyiPni/FHYSU8GELn4z3VaIu6MhgRBpKPy8tcQSxirp9DXXHMAnMS97Cg/sU8zRjxUDaLpZY+EoxgbanMg== 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=7p3aC92/tHVl7EQzv19w8t43teC5N9+KXOx2M/U9/uA=; b=inFIFGVysO5n3Q6EjszSg0VKQdNgWbTkor7KkcM92/Cy9iJSWzAvOSjazffPtGpe1BOn0ejTaFitGBp2i8MI2fpSrILgey//1VMp1AyetdHSr5obTvxdF76imzz6gv024NlyzBd8BHhVzXRf15kSUqAoghwvMhHr6YH/IkAlWjZEH4AtqWrthkgVoVMFanvlMHOwvWzCakClHjwiAezHIfmx+3+KdtbwO2XwBdLB+pIRVFgnK/8KC/jFCUtF82UgS5t5OEqSxAKFDqUDtdWaR0W4kO6KSjyFtZEpQ/Co3skJ91XKe88PP0KTRgjVWeHXFBODeX6gArJCbWM+S+ieTQ== 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 CH3PR11MB8657.namprd11.prod.outlook.com (2603:10b6:610:1ca::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.20; Sat, 9 May 2026 05:30:15 +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.019; Sat, 9 May 2026 05:30:13 +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 V3 3/5] fetch2/crate.py: add filter_regex parameter to latest_versionstring Date: Sat, 9 May 2026 13:29:48 +0800 Message-Id: <20260509052950.1565384-3-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260509052950.1565384-1-Qi.Chen@windriver.com> References: <20260509052950.1565384-1-Qi.Chen@windriver.com> X-ClientProxiedBy: TYCP286CA0087.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b3::18) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|CH3PR11MB8657:EE_ X-MS-Office365-Filtering-Correlation-Id: 4133125f-25ec-476a-9438-08dead8c0b44 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|38350700014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: lyGq2iJbfyE3rRMwjwL9k+5gEJRZDA7HC7DAW3BTAtlVfsIMZjdVw+q9qoh8ukXSgz7qsmzUnqT/zhlahsYrZswcIuakbIUPnQdHB08fr7yBUX9R7ImlMhYVmI7sym9KJ5rL10yuqDv5+BEZE2zbs7CdePjEk720Y8N3QSu1J/XwxN/DnqLBWlgSlKxrrQkyrQGuTlfaj2H12RRT/IHThAjpeVSyOoaDGov788t2GkI7r91luYT94bXD54Z6dbZevyS8EafnPQDM1WOUt4a9d223nTFSK/Kp/peYANpc0kJ0nwGxHZSDAJKkmljVYv4/iDxQuw77k2cJiank0jWuQ4BVs8grByPz2zxbtdszDNdH1YV2CIS5dl+jPpgm7XgOsMk2dCh3LWpgZapat811WCy/bL0pZ8SjpL24rsmYKo2gC0GRsmRdaaKjUx8m7d6smsdH7FlrEj6wBwZmF1rCH7lZhWu4wOIKLoTILNDLDYTLHchQg0PKjrlip9RBcD7sjZ7/pgKkpXYjVDg5z59e0kmV4jTnfJkwqiVsuifMnogEzCSSByYJ7ySbl64x5MDaKv9BszEdDMtKrbDXlgflhBqHlMwN9+LCDaKThxgc5SqwkUREryOdT/ZPWGNnfwPHJb/SpatElBI7yjXYaSFlF6g5qwLl1ycb5gukMBkHaBm2Bn6QjUbd1FAwxhOmMzVQ/HRxY+0Lu0dtigxasdIrWclEtVKKoVQk6YxizB+6L/0xXTjlO2lvoIncZyHMbU5A X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR11MB5602.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(38350700014)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: tL7ZMeBORgCZT4WAU3yw8PDIsuF/WXueTh52+Xb1Qf8FZOtXzl/OEAk1iDi9Aw99HBjGrvK9aLZLGdu2zK8qIW0vjkdTLTgYxL1Sx0gBDIK0q0NvoVd51302QoT/4fp7DDE1WEwWFFRZcbrKqARDv2+tNXQJG/3DunoGbd2v8ZFadvITaY3bqcrP710etU8MiJCB3TtOFZ6oILX31HKcCJqoaVkLwoT0ucXhb2pIOm4UxKJT+S+l6S9LhhiXt1iIwlM5VyuvZjeaxMXy4PoEGUo38kQ5Y47oOjhuwdC3iM8ifErDqUJfa+vfizpQHVnaMkg0oPQilW+TKo7xOJT+tf21KiOVffViNeDbbHvd/x30x+bvnSRffgYK+Kqn1gzbUl6tLFL+xvb8kbg2LEv21tFKbpLKHPFs4szx4220lMPARVglOnRx2j846xEKbT/Yaez9cok0dCS9Fp1B304JybJk+v2idkm1kWaIoLP1TTILnhkGrruhIxCotklqcgdcae+y/4ReV3EYbeBnmEvPSXIENje3cj0W7Y9dvD1eTDRIweLxfGSR1azjwABQrTZPZXW1FJpq6yUtkzLzJ5kWSVofjLVeu6E2okeCREXeWKySgPYMSgShIDmvdsG41q22aRZHk3Tj/uSZO6Xbn5agLYjgfRdvHjWt26feE9T4XSStI+vbUAlbB2/x003n55ncprtVOhsdxV6NhskbjTCHsvRs4GlUvdRTekqmWBPhx5d3JV2PEVbgWRvzZMwDwxtzSLu4YxaaJ1apKdYCCbu34j0zekxBGtSnSpdmaVQfVrIA2/RgqLEfGEfozJLoqyF4ixibhDG7Y/Zi2HL+v/WSZWRMbl4zPkiRhRarq75OqqPtJ9p63FLmSzgQN+fPCX2b91NRA0v0+31Q0l0+sHAR8BmxIX80S/zNx7TEkoLYo6LBcwuqmY30p797n0QQbUXqwaNbTMcF5GJ5gPYzLx+GJM3sceVDylxZKZOM/i2TNB/zp8+Cne39FCpdOWzYm7yweo8xKyLqgVpZckI+SpEmJS0Fnjm5S2wl5Qh+R8Z1Z3BQolKMqHgf42ZN8lCm0pZ19iapod8cXk0uBuDjNdpudz9BuenfXk4a1grIsfmlVO9FSwLKPQZ7i44n3NHwtoN61dmgnhwIY+sajhJ1I2l7gLX2D654xyXoUwNg5wuaBcl8UsGemp1vFck1C2wAMTVNAVpwOh7mod8UNRAU7f0cVSB/YcT5/afXnKD4fV1MGbBKfw/AKd2Al5VY8Bg6BfzNGasvs1CPeyMv2a2llRk3ueQfCwjCjzXMQZaD+LChgNYh8EXhM4r0BeOfO0QUkNuQV+U7hkyGqhaH/lMKiaN9uR7HbDlC+vxmfUw08MQ9VQDD+8iHftg1t4bKm1z6EUgumQqdx5rO9IDknbKygX+w1nMjroRU2PA/yfrfU8L2nUBXC88fBGL74vw3rh2MbmD8I4KIFkxlum56C7GU83YMg6wsnvBfRg4syK4m2ecfs4Ka8onuXFtxvZIMD64D20INEQf63ojk7E5ZIaJxXh6i74NBZSGQZNa4cyttRe/6HZlqm2Pr0av1+YuceCsrIRxAGxxL5rcdTY5OzQ5+gP6xHtpiONGQcL18Q+KN1lRJfCkeKEH5hElB/zulZbZsDD7kCltdomRc6plYv6LrgsvDIxWp9h2zH2ARE+sqVov6gfZ3O6Ng8zc5xN0A+Jmg3o2bskRfxoiMS5nWtWAP3pTFng== X-Exchange-RoutingPolicyChecked: JYv6tl8wT9vn2RKNsqldB7+R/41lmQkTqDic1XxXrL2bHQg6eq3a+vJdV6Yh+rFPlQGD6IZVmCXTaIrhkWx8axsmdzOWOs5aTozNMJUrogYuTY6URk1oWteIb3mtuHOlIltlFKniijBfzLfM4/Z2mcCSprJF4SrQagmExffQS0OwyPPIBK1057IGNlCrrt7UKYVBX+ZmoA326sJgH+CpX2WRSW/kdziLT8kHP/PHlAqMTMezyx+A3AluYNXRFdeQqpXsFhdoTgJUqdFhCyjX67ba35iQv01MCckuUEQeflrW3MnSUq3GziVA81nIKJfhPBZCsExSg32CYJDfJUXsOw== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4133125f-25ec-476a-9438-08dead8c0b44 X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 May 2026 05:30:13.1361 (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: q4Ce3tmn1uwQ3YVSXC4VQQ52LZwnMkK+AtQUY6DwG5jFJWfXreqZfZB56IbuG6NA//ZsLrCJye2TA4bpN1+tqQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB8657 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA5MDA1NCBTYWx0ZWRfX7CIE3zljAYPS cF3B608f7Gx56Q1+h8CtUsejdVNa8ClnAlW1wwVDN9RAnslebmJRpwxh39uJd/BXwYbjehBVmHn BNUrnZo2J3v//XsQex9oxdEOQeb7mx3PQEKvrhSX353rHQV+JeFhtW5dQUVfvEduUsDAM81Fpmv 5R8FZ3EqApIXMw9aMfNQUpDOge8CpnzPnt/5zr/PaJKvk9VsstutvFlKaTRv1hJj+G11K1ScCtp yqw68ufu6YT1uoZ99VSm0o7gpOrHT7/64dKkQ323NLZinn0q9ZgrqMUPKJBndI99X3cu6IoUrCL UFL7rrEJBiZteWN0reiNySNnLxWQsTXuHj6JgWDQibkY7GCwOBGqQMNnoH+rGdFa3oveukk79oh zETFW/viWCeDt6/mtav56ie7RcIIL5L3iinKwCncAlxpBBFZiiWWlI7sb01blR1M4M6BgTkvXUW nFQP/WOwhuFvNSFQgCg== X-Authority-Analysis: v=2.4 cv=d6nFDxjE c=1 sm=1 tr=0 ts=69fec66a cx=c_pps a=hdF+edV3qND9tYm1xB2jJw==: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=fTW__CHxibyLmBMfj2wP:22 a=t7CeM3EgAAAA:8 a=hIPOLQWK0ZafnOV6iRwA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-GUID: jDU5WC2NNiPIa6joJN2MQBM5S6zdSTvv X-Proofpoint-ORIG-GUID: XRuabJAuC0Oeny0aNRawwsmcHDutTR50 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-09_02,2026-05-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 adultscore=0 clxscore=1015 phishscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605090054 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 ; Sat, 09 May 2026 05:30:20 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/19479 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 | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/lib/bb/fetch2/crate.py b/lib/bb/fetch2/crate.py index b89817ab9..6f0e656f7 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,22 @@ 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: + versions = [v for v in versions if re.match(filter_regex, v[1])] 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 +185,11 @@ class Crate(Wget): data = json.loads(line) versions.append((0, data["vers"], "")) + if filter_regex: + versions = [v for v in versions if re.match(filter_regex, v[1])] + versions = sorted(versions, key=cmp_to_key(bb.utils.vercmp)) - return (versions[-1][1], "") + if versions: + return (versions[-1][1], "") + else: + return ('', '') From patchwork Sat May 9 05:29:49 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ChenQi X-Patchwork-Id: 87780 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 CA23ACD3447 for ; Sat, 9 May 2026 05:30:29 +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.6866.1778304619872140219 for ; Fri, 08 May 2026 22:30:20 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=S5V6r3oS; 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=95895a8adf=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 649501cl2311771 for ; Sat, 9 May 2026 05:30:19 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=r44IPJCB3w0cNbc3A6UowOAOk7GCrQKZu5/4ohDoj+I=; b= S5V6r3oSaXgL7UCMPU7YXEaemOKSFGu/WxbfkrPXQN78dGydSeO7fwutGYmtwyRd XiMOHibbVlR/QuULqv0fesbJQkPd2ro1kMJLKNmvZsXQpTnpAxSC54x5LGtrKRfk A7CC4PCxg8QO/QwpF8URflhH8hc8uY3HLNn1dFN80H+pu8Yi1uz/3iXTEZoCbddi r6ADrzZMhkYIvnSrJjMaKs9yxBivkVSe+yxf9z2jyatpNSZFEQksj5sJFT+T+oyA LtSV+A1b3711mSpPbKIsmh6R3XySYpnsvIJnarKWUbeILw+vVGbZpgYdi/hyWg64 Vtn3k0sJwdNxLj6oAp1g6A== Received: from ch5pr02cu005.outbound.protection.outlook.com (mail-northcentralusazon11012068.outbound.protection.outlook.com [40.107.200.68]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4e1uw6g3xe-4 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Sat, 09 May 2026 05:30:18 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YQ1ILq28hudiA860zSexAa/9qIby6naXx7F8j0NkiQ/6qpQVDUhOzd9kikYBY3FmW25H+KZzC/Mr1xLMzbEm9ae715syIx6zb0Qt+yYsMzxCqJq5SUUOpAu75qWabZfKuKtZN2nfcpIKtXdQnloWXdNPQknLUV6oViiup5dN18oMdM8EgwPfOduwA5IGBT63NXKV2YW76YPfMjAcXjEVz+NQk1GhoNg1j6e1dv183mtuLv0I3HCDtj8gcMgmo5tmWzj0lhBN77VWBXdW4zQKDCeJsM7+nNygQM4mQf4eL5W70ErM3F5vxIrLXLNGNVXAH7cOmAomHGajwFxSegSVew== 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=FTZlhv4dHmE76bqPgp529guDYf8S16nvLmEIepuXaAghE1YqtXIQHS2RGljl6DFeFEShbnFvVClLk7UCw1EpbgFGOKpKPQHOa5SFYfw9fMt/SPkOTzEC2q/+9kwkM2ihBV+kqsjngKRZOaDvZ9WjkBQzuruBice4HrAxosU6cs4HaPk4ZZUbblIF14TVpYjOpmK/0ss/4XRQPxWCrPBeynAJYhOwiYYUdw8GLr7TFO+XdzBKtLHr+q9u02+0X1k52gIU3ZvySf/mwh6t6HbymRA4mSWG2g5fiUILIJdI5toPMz8Qc4o5ccapT+WHMoAOa2buKOGzocW4c2b7nH7LFA== 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 CH3PR11MB8657.namprd11.prod.outlook.com (2603:10b6:610:1ca::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.20; Sat, 9 May 2026 05:30:15 +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.019; Sat, 9 May 2026 05:30:15 +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 V3 4/5] fetch2/__init__.py: add filter_regex to default latest_versionstring Date: Sat, 9 May 2026 13:29:49 +0800 Message-Id: <20260509052950.1565384-4-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260509052950.1565384-1-Qi.Chen@windriver.com> References: <20260509052950.1565384-1-Qi.Chen@windriver.com> X-ClientProxiedBy: TYCP286CA0087.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b3::18) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|CH3PR11MB8657:EE_ X-MS-Office365-Filtering-Correlation-Id: 468d6e70-0a04-4043-e970-08dead8c0c3b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|38350700014|56012099003|18002099003|22082099003|3023799003; X-Microsoft-Antispam-Message-Info: 4fVAs9eqeRFaTjeO/cIM88Sn2RXYy9b+BMziRF49hwP4CWE/eGywYdM+D8gfKRTfBmb5/WTwjnhQOnDUbg0xBxS4OWOEp+l7FpPt/wt2lus90t9vDVDEgYfr4ATpKqBLFdDzDVHJ8TKG91J+fcARVChgF6lfo6cJY2Mphs0T3ASQe/UjJ0Nh7/ITxB9BGHgZ/VA4S0VRtE6PjK3EK8frS0rNBRamMpHnCmie6/fzdZ9bF/ZOeouWGfv193DNSOaf4AMqbVjX14gi9uIakm+q6T5+k4JmskYaigTCZGIFxKpEprMCcbFPIE4lIuDLWov+b2fzdZeQK3lev74yN23mKXkooZ1VKg3SB/qMDffaX/B49djuSyblngaUU5aIH1rMN81Zi5X5Z5CAKvT0djfGwJtVsuG80AkGxbbz5d1hvZHz3TtkoGosSb6k+H9vaLqq8142gJQaE9ncxpZW4nDhVx5XBD5FzPpn43JPEs1r8+3DeVFH7XTG2brEzKGhXn7eKQdvgzfb3kq7oAvo7gyfkSsyXmlgBgfTfGakeAKcR84nO6Cc5DwUnnmGW4+mmqfYZsVZLbpBFbkozG2NRJyGg85dpvrnzgab6zoV/YUDGclIy9IzYTe3QmCD0/SoDfdu72M4B2qSG9aCl63+z/Vf/SjQaoirkqZccSnUWUMTKakhCG6A2ZLYEqtc2lPIydkk98RUVnnRpvjk3gB2DqKtkOZJP6IeUeBvpMkdlzoOzxWIBvPD/Y6z9z6NSSMNHv6q X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR11MB5602.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(38350700014)(56012099003)(18002099003)(22082099003)(3023799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0IlGGG3brLR7tUKDeMlQAaYWnT4VpB21fcULSxE/5/KPhzZ+05YRzTAykmQIfIGbgI7+zx9xsHzTkwll2xE1fM2c+DTR4pPszK6W7wwutJtrB0RXHnyYRItqwJwlkOijF8z5+Mv0ui1GReu2Fm6+QCJQQ/Jb/VbCy8bZGOpopffJafLCdJmfLuEr2nXCBsytg6KJTx6sM3CBaozG3t2sNIYL5QKAqs9NL+nQKKiDeOUP0jajhGuQhWW4VsHu6XkkYVGHGJe/gV1PZzVyqwS1KhSEaDcc59lckjc/4MERW7w+KM8+su3oNh+4S5OWykAvnLWEGKPbNIoqr2UnOe5C3duqMzN3XQ4RKoDVtwxHMRw4PYQdTG1UnSmIsSMgOZzfsowB0CU9kMVL6AvrlRLccoIWF2ody7+cMirnxxrv39ClQApZP7GT903CnF3NEOV3KKLrXKw/R6gl0nxcgUnc5N6O8nkxqcjn5MwSSrAPNSRVQrqe/9VYCPa9iHAnqhNzgxuYLfvalirchSzyLkaK6+1dVpmtgca7qsmTmub4LHholjHjtPoJjOomDW5sCtKE3CRARd0wiTVEp78uoMa61//o6LRuGp8Fn/rLWbgCh4kgPIxfQq7vDy18ksOmxGpfAFjgLezhWYZwm2T4zkGbYhk3ykr+FDsD7j91FRwsgJMjtSA8SETuBlN2mqcCwhBMcHunG0JbOUYTCjvY9IXN8SaOAJko8sbW2p+LnJkTFpW9wxm4Eo5rBPWwZh7SzoDq+s1TSFz2TWGDIadB+IO26gI8N2XJCY3CYHQfvwe56mrymPdvlbQNmNUu0JyZx/bb0uknyb3aB1pwP3PcMxxQYd7D1gYd2DRbVVB3U+jEho+vgI+mbaybCEiUif8KlQMlnqlo4OtwUqEKpcfXH7IGwYYYBpKuaB7Zbesehi+yt7UqsbK6LMGSPYsL0DSrvcyFEVRQ1/6xoJEHOay0VqbOcqjOhzHG6KTnq+nfXjD4u95hMFStwzdVzoHLf3+0ywDZ2YouskVDDcaJjLwAfGQ2LL+eSWLC9EWGtlNq3VTLYkBOjfoB0l8QlUzLM4aqXrDFb8s/HBs64VjXhpCQ7G5yvcmMyrcbjN9Sa2PL3Fmb5fNpt9xd79qrm06RsshVRdFiyahL2HKSE1GW/TrfDULbgmHvE2DzH9RL4spB906cPhUSgsjpj2uRqLbNuxqJue3xY7+bngkIAIeDLsQUKM4WnlGVYiHN3Fp33T7zKIixUXAI/PW/eYLAa2dMWsyfvIN4fy9CfTv0b8f9ALM2johd7Dv060lZ7jOzw6N/x7UMocE49QL/w+DjWlLUDFLRajmLRsBfpeO/A/ys9ziDXIqkdGzjU+ctqf132TN55s0un7V8OwPWJamY9njPtjf18+/G6EaorcdIWU7M6Ti3auKw0rQyzLqcOkIm0ng0lPnMFfhO8mepXp7V1UpzGiZctEsd/hKB+fxawlkyspxbuscmCffiKuyksQjALR0atIGpqlV49+il7n+KZOsGZPKlOKhouzAB748meWDOaXuhIgAXwBTO92jelpJYMzVj1deiDDbHjiVcrxvQqj+yvA+Wcn/xRJBOVG/GOU8Lr3PX6JAT2/mo3m3Q0K4KnBeqqod8H+sXhl1Nah8ZbACBHkTLRoTou2rzf7fcaVTwjMKoDNbuITgOxAUgJ7tzgsdtqs8POP+UtdYkT+fI2SOBIwRPwwGLqCKzLMNQASJXurslsznWHQ== X-Exchange-RoutingPolicyChecked: VQ0PaJMIihIxsOz8j80tTBkg2J6cfpxcQHG1BWen63T1iv/jzZzT5c+IzntV7YCO1TKAAVJL0IsX4gZGiPBDVf65IR9qA8/F8pk8IKVwLpfNsERSw6zfOk3DRv/L+wWzdy5ucrAPOB4KlDzXqBSovNDKOfw7Y1m2tPu6bhsQDOC3SpFzE6CDaEb+8RW+BVSh/StSzVQ4nlZSw5GQZal2FzGicEM5/fdzTrlSlX8CTppDs0jfM3O7mmxB7TJRV/TD26pvjJUSyvcM/ZS4EjF8aplVFdCS4Nh+kWw+UJbeOCT9g06L5YGM9XvcZaLKSwaGh88HihrwnpDyHr048gBpgA== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 468d6e70-0a04-4043-e970-08dead8c0c3b X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 May 2026 05:30:14.7730 (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: b5ENfDRbra8G62fNXZ6Ov1d1O5pc4B9HsLS4swaRTX44M84eh35q9xId42nk+hPdwW+5ucC5m8uzG1Psu0rTrA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB8657 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA5MDA1NCBTYWx0ZWRfX+UMAcSqDEHp6 P3iAPafp1YfFnNqRCCGGIMyGQ1vPyQn03lbbc2y9iNkr+xmcK6aadqMbXxl9Zkl6yaiLmctu7vY ckB1sLss/JaBnBo5Ix1AuaH63pLo+HwNfaJovfjscN53Mi7w5PP4ajQbJT+U6zCH2pOjAhykOnK CKr1Y5zY5jzR/6dxg/tvICIO4NdtMLtxZPHet/4bKBVQcn4ZiwdctT4xAzF014QrSMDxFWPbkDL Y3PH3am5ReZjLe1g0VGPQDs/AB5zQi6DMtjwDZmQ9tBxSGSvp603R8RGfxZIaPejxS1ZAP3v1j0 eqdavqGHD4J7uIgTKVL7q2hIAurRFIL4bsVfQfpKXLzOZya1KvrlAht9iKHxCvbMjMjPy/9xFJi 04+rg2XPgRrE/jozfMFtHFuNEcgALc/HYIxKoHxP/+shqNe5cN3YOfgiRSCg6hVIBehFj/pG0Eh LmByQacMlQ759QTxgVw== X-Authority-Analysis: v=2.4 cv=d6nFDxjE c=1 sm=1 tr=0 ts=69fec66a cx=c_pps a=hdF+edV3qND9tYm1xB2jJw==: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=fTW__CHxibyLmBMfj2wP:22 a=t7CeM3EgAAAA:8 a=OUNPEJzuPeSuI0R0wQsA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-GUID: A1K4SCR9IzjrFoglJqoRYxSdx6WsnEVF X-Proofpoint-ORIG-GUID: feldzT0hI-kG6Sz0lzkABo_-Zp0xCGQq 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-09_02,2026-05-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 adultscore=0 clxscore=1015 phishscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605090054 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 ; Sat, 09 May 2026 05:30:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/19481 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 Sat May 9 05:29:50 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ChenQi X-Patchwork-Id: 87781 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 D9568CD37B2 for ; Sat, 9 May 2026 05:30:29 +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.6867.1778304620791242824 for ; Fri, 08 May 2026 22:30:21 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=mF79XgWZ; 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=95895a8adf=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 6495U56w2363029 for ; Sat, 9 May 2026 05:30:19 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=lUZPcJKxeUSMjDhSh+ln14WTABVX0AL0Rkd8B3lIpIw=; b= mF79XgWZo0oKlYj7o488rSKppTnXJdBOz5ZDdwEvA4AwXl8vzbJtNb50SkmVpw9U WzrQ9rIl0VsE5e9u3foHi1sBtUOXX2PkDSbLET4ik/QrzrgPvku1iISGu9X14qQr XndbrMt4YLmdIOMkSaaSuaDCe7QwuQ3jZYjTlkAx6rWCnL/XQ7Wk/ti+O+HX9Ety +fvs8H2lL2ailzD0gvEiH9MQd+K5JUgcxcnu99C9PTM1y/jUZgxEAY/RK15lGcBn xYyawK3fUU2IAHof4KFrN4U5ITVkQsEl32jPpSbH9jcrQ+kfHQlyQWo3b1OV7Mh5 kcEZa3KVz75nKLvd6n4CYw== Received: from ch5pr02cu005.outbound.protection.outlook.com (mail-northcentralusazon11012034.outbound.protection.outlook.com [40.107.200.34]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4e1uw6g3xq-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Sat, 09 May 2026 05:30:19 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nTOMPP8jouy5GOxe8tGVQo2481RIU5Gndj+xsfG7qIemUHgmQXbviN9HNLRmaCatVBDe8iS3dN+GCGTXrllxMmC4YW35k9gIo0yM7FW+PAewC44gjaIKQSHafnvu3W+fQheL8je8j4IyF6beOdJgZwziBOS0EJUnTGYIXuQ88Bu57UTEf623rHTWuhi1Q2QyuPxiprgAPp0rGSZqn9P6mbMKcIKVuA2iRnWllMqJmeayfJ+x/apR4ocLrGvSGF+GaXVppXYzF9UDSlX3aEofTtVCEIFUTsm7wdLcV72THahtG++CYaTgPE0+C0s6Grh0SkTeKocbfwvsKPhgdPIibQ== 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=c4Jf1w9Y7kza6RFNEqZdwIlXTGgY8WdX9WuYbaFYwsEYt7HBTCfT+eTNNA1xvKA32Hpx+JdLl4qCdLSAn5tDRzZVjSDsjTHEURf9cqwJpgLSR9XpmbOEjv2q7bMt7E0lsDeprUo6V7kDUcGjSVCy4ul5UG5LMzkRk8oNTp3M9cgp03o5w/5DKb0S1WPvTLjKjLnpBJ4Zm+WzF0n9cwSTyImZlXf7jJwxdgeJmsziHX/suer7zwh+lJFgS1mVWx0Krw+0fxYpkVbd0hySSkCfzCvlY+SbwZNm7sHGqoln2gQsKT4Y3mDrt1GXSo56nWZVhoY/aZ/a37YdnjeEVygzhQ== 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 CH3PR11MB8657.namprd11.prod.outlook.com (2603:10b6:610:1ca::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.20; Sat, 9 May 2026 05:30:17 +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.019; Sat, 9 May 2026 05:30:17 +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 V3 5/5] bb/tests/fetch.py: add case for filter_regex parameter in latest_versionstring Date: Sat, 9 May 2026 13:29:50 +0800 Message-Id: <20260509052950.1565384-5-Qi.Chen@windriver.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260509052950.1565384-1-Qi.Chen@windriver.com> References: <20260509052950.1565384-1-Qi.Chen@windriver.com> X-ClientProxiedBy: TYCP286CA0087.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b3::18) To CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR11MB5602:EE_|CH3PR11MB8657:EE_ X-MS-Office365-Filtering-Correlation-Id: 729a6ad6-bffd-456b-1bef-08dead8c0d7e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|38350700014|56012099003|18002099003|22082099003|3023799003; X-Microsoft-Antispam-Message-Info: DDhmQZ4LH//NM6p5SYtUgKFyBZYJro/1Iz/TIqfdNbv7QQRsMqCrTYy3EY8G8Hii2zfZN168ilVmoquMsUvtTVERz2SaxdLsU5mayMP328PwZpwpbYqnfhkFVl4XieJDVoXcpFR+caJH8mCF4SG+pjagjPAbB0RG+emefbVzg9PyWQwh+r/xdMD2Hv1pbsWxVh/u79foR/MmuV5f3fpYIK3l0JUPQ/bMhP/U7tCsOXsC/7tOdS7kUZCp3vD8stvQlQwwfBUW3BSJyX+sa5beJ04qgF2yGbdeOItWrEPOsO3/Eqq8irAXiH90DBTxjyMzjeYpn/EIcOuJ9hIVT9BNtJodZXGG5vSgNuNVH5qFB1vP/wG3cgXftmY0kW8oLw8PghVHyq1INxPi195DZHDjKwGQXTQFzs8uvJHgCtmJVdP9MsgrflU/rsdFxlav9ouaDJtp/qpl0XwpR44l0wq64GrEZMw2T0IIlbgmUtRhL/WyqPwnFuPIO9kSuUUGQF+TYoz/v+Sxpqn+VbxQVGyvD8K50j3/c29x3UnXkYEN5goAoNoUt3pP5zaN/naMAWCa5sK+fEE6n4XIj1MtJzYUoOheG9WaqKxMWyJcxAsUk6ACtVwyOdjEmXMIp7vFTjBKuvmjWxLPmBcFH+vJzSM1DKr3ylHvZLzur6mx0uaVPB4wXxZg7SrKU3zeMFqFa77CEv6AI5hl5HRKhFfmrazy+w== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR11MB5602.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(38350700014)(56012099003)(18002099003)(22082099003)(3023799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: aVJAvjmrnH/V33RTLGSDceVWhm9d3qED5O8/+Iarhdfx+DVDd9Dlk6F4tbqn3rxAEJFCDvsqK74Oj2mDoXvZ70nq7TcVdgFb8+l/5AjPPv5R9nGkEfqjWlDayH7ipLP8IipvJYIf9RyhubbB9oVUY6cmctCwZj2FzuSStkxaPwsdymSgTfQKzVtL0vxex+f7e6zS8I17l22THmmg5sRvy805U+rOEjDcXXPnO6QavgZvoMQToYQeFlFt7PtmvnJaaLehMA8BTGQDbgpCqyQLFo4eBXHehEcflle/1JypRzAxcS0uYqvn0B3fddiU7bNrOFwNHfK5SqnRSfwfUmu4qrpmVkBDKdyYlyuCrAM02Jt1qz7nRkp5IEVOTMwkDBLr70f5hHzhl5Sxt0nyLC3DYzkmb7CL4DY2hx95uwiclyFdvJEyQwX++IpOTF7XfxfNn4qZCCH34XjaEbYhhTYLiSD791fBJnu2E1DB6RtMzpu9oB4UzRNegXV4iSQnIU6V6tyRiBan3ZdkUYmdEfzifd3eZdC4j9DVVxQ+nrNN1t4G88XluKl1cjYZNvXUI2Gg0582n5Qy7Wqbpp2xM3IrOVkGzth7B0/wT5d9rX/7U9hnSZTZAn0sfrITtNAi4DmF7TRlOPVGkLV4lMTcNKgU8bAKR/iGTtAdxoTvQ8MFSZTZtbKdYvirUSOSGRTDGQM0MUTSweJBZP28gpsS1fjjWkPJPcac2fcDkAvzxhM8Gk7oHFv0L3cvmLllP3waWv7SJOq2tFIXYUwLQCfJYvhYHZVCUKcxz0dH1YG0Tk1hr1xs4thaH0nifqU7XvzXotK3xbwUQ7DJcp1t++uJkAn9/rV7EKGdeTcvZlesyrYvvL7FGR3dUEgz1uOLzzjaM2iWepi6KnMkN/5QBIyjpzR2w+bjueG5nrCzgpp5KaLNqW3qKDrBQ9hl5E3ItpjbIY+xvJttXwJMCOzKz//Se0CatV3wXeMzsxvcGH+UFL8+fF4WquGdzsbYhEy3MOqPLwovPtFTq/DmoV3y4r2IVzGX9Nozmrhm7cr9PB0AQzv/L/5kgHn0hp4a19nudR5ClRp51ugHFNupLCat6GHXLg2WSwEdrMBP+FjOjgnGQrQKzjK0CqVPE85uuQ/PpxZvR+o3bcZO7iJEdi50rEhMJTTCYkCuN94UuuJ75wjmq0QifhuDJ3x/6ctdccMFzhvXma94UOaRMgCkq7GxGwqnOTi5j97wYcVkk3MV0CBgTKDVeC4Tki5NTPe5dxhhdZxtgTh/278OASxeHJO4N9eKoDU2H2wA/IxkOAsQ73aox3KDjrt9SruzEtNAK8SyiZY2vc71RBRoJVsnDs27IFvCugsbiHbBTjO31KdQGGJDWbif3jSLzw26Ba7V18RGIyH1Bes4TCBqqvn5hfSACjYuomYzD/L1Lx8hsp3k8m8JeqDAGnbGKKijASVzMMFGHtNS5Mu53JR0djyaM08zIgYvFHA5OrjaMHyKHTnHMVMLW+FXtTJMKdV/WKlUcAZ0ZK2PYKftVzsh5fbk/E4lYv5R2T2dFZYNV3BF9+tp4/rZTXsZFlpsD5etPQbLAV5uFIbTnHOb3ncDNDTkqVNoJ2YfqBvyE/PjHl3T9zxcdevn7slxd5KX6PrKW8fAGEdlKB0QC6MsBsHmNQ/3wnfoFAjLaiqumtGUR4cgQflXmsIgnoUFIZ7cf2B18Zn9IPDsbO1NvpSSpkPxzOVe8PzAiXBnwm1u+w== X-Exchange-RoutingPolicyChecked: M+RS/f7qROuHKE35EpuJXRiY2rQiH1qAXmdXdJsTQEp5DzZ8rGnTucXlhKDYYPvOT0ZS0tPKmO6cgLjjAm2w+EVS3d7/y/wpmtyjEK+HibO1Tq8w1+47CUFdx3dzY2bzOYK8cc9UaiOssT4gfu7TPCwVQD4dvgdjsp1JJjbMhtUR9OS8RErQIyAvB9U9CHJBpId1ovklM7Yg2SPCMJ06DMNxs0leUSqWrgNhfQHEYFVVGxohqrhSw7LghmxwkNZGueK7s9CmJlKXtroPzyRIi612yINr2Np1vYxQ271JDzdcxFguvCG6o90b+KpsGf49DDTwXsdr+coHGXg/IQNPyA== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 729a6ad6-bffd-456b-1bef-08dead8c0d7e X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 May 2026 05:30:16.9831 (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: 1Dwq7wRnn1fbL4EDipmmP5qt+lUemyzBIZ3EAa5J4VA0ZIdBNmC2M1TxWJtIF4L2kg6xvTrH/izckweTLCFcnA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB8657 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA5MDA1NCBTYWx0ZWRfX9yRUt+EzIKHb Es5esiO89v25+WQz8zqJWZWgNaXk+zdlQ65sDzG3V6y7erGJLaZ4+9iHHMMAxtZOv+U9qBlO+9j 0XbDLu0/mmIPCG00W/fbmjy6kiNrANaoPFf2luU4PFCkL2kf8MU7u/bjZMhv2EmYgeP5hXehx9l cA1zbW5IHFY3ouEXZ5rAsmluEkI4O9LDgZzngvOelmmJsxRQezma4YhBKkMIbTN5Rkp/I6H/Lpc PbMbf3Bc7Er03EWsKBIJtF/X1nheuX4Dq6rd04ixaQL1xpbpBYYCgE3Vz4JGZbObCU9XgD7uHdD YKO5PM7XY/E7JXtavujlOeB0J53vJsts1xYwUmhL/Am37nq+jAxxIeItFC7JG24ykH6553/80jD ao3Jecg9xBfn0h9Zcor99illL8GnxIsrVc1E50j6EFqHdrILiCY899mjLeuhj6cQyTRv7KAgugA 70voZxN5ZhiV+4jAZJw== X-Authority-Analysis: v=2.4 cv=d6nFDxjE c=1 sm=1 tr=0 ts=69fec66b cx=c_pps a=9AcDkMntNQwiSFi2uhiI7g==: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=fTW__CHxibyLmBMfj2wP: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: KzaIvXSEAkoMVjWMOyFTlTS8QdipzRmd X-Proofpoint-ORIG-GUID: TV5Aq-qsn9J42Hx2Fq8RJ9jx5nWR5FvO 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-09_02,2026-05-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 adultscore=0 clxscore=1015 phishscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605090054 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 ; Sat, 09 May 2026 05:30:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/19483 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",