From patchwork Tue Sep 2 06:55:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 69405 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 7EE9CCA100E for ; Tue, 2 Sep 2025 07:23:26 +0000 (UTC) Received: from DU2PR03CU002.outbound.protection.outlook.com (DU2PR03CU002.outbound.protection.outlook.com [52.101.65.110]) by mx.groups.io with SMTP id smtpd.web10.71614.1756797794202570130 for ; Tue, 02 Sep 2025 00:23:20 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@weidmueller.com header.s=selector2 header.b=xKPFBJtG; spf=pass (domain: weidmueller.com, ip: 52.101.65.110, mailfrom: stefan.herbrechtsmeier-oss@weidmueller.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Jap6TYkeh4vIuLMRrKx86pqYsoFMkxR11bbZvHvr1PoAAqcGlC6sgMVpvl4Oysq0XeiWbg4jzUfQgPx2K45EIsr7o8qvHL1Li3Dvl+VpmUw4ysz6uLA/sTSACMexomfZGirAH6/dZ8kEhZ0ZxPPKVVXtokensCzDNrrJmqUztwYlSeoj8F03zEg33mqe9CqIRBkrCo1wLWZZ1qStw2ji/eW30+BDiaINBRtW0JE7BgpJbi5FGM49nniwhbXGi2M5lyH+dPHZrzmv9bq1SynhOKLZQTuaBAfxsNX6LpR3AKrvH7cBSqbV+bdDSo/2ASwMLnJVGUcmDI0Qu3NFmELd6A== 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=kXc30iOzwHnw1svFcZ+NyNzL3YUsMSzvpacAe+E8W3E=; b=zRWbTOhBof0hRNhNqAJpJQ2uEWUdGrnhKA4awzXOksBi0OKBndOGga2VBSzBS65dJ9GZR/rsIai8OnVszR+dcocYAZYguJPv/bmD8aPgKygj0Aq07+Hw5HGhxBCQ9jP+73dJrwkRCsW+QJoW3ovgyxrv2StiUdAcBhrpY9yyCa4FVCSpt4fyAsRg/y438Wps2hYuF7JhAn/YpX1EWGiE8EP3XD2n6f+EnPsBZqIjPnYDjwdV361ApmZgoGiCG1zOYTTYl0YPDNwLp58mjslvR1A1H9zG/e4Juqc8QUX0Z8IKdQTe+BCxjxau9sJ0YeCdtvaZt5Rmxn1e9vFiRI+h3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=weidmueller.com; dmarc=pass action=none header.from=weidmueller.com; dkim=pass header.d=weidmueller.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=weidmueller.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kXc30iOzwHnw1svFcZ+NyNzL3YUsMSzvpacAe+E8W3E=; b=xKPFBJtGamr00Au8mhwTCkFYE7UMPsUKYSqwKvmpicLR5xiwAz0dh9mePoODHL+rxqwGgpGTcNa8GaNBjKgQ9TH+9j7enLAAgCb6TQFDmQPDlRM4jwhoUoYjQ9dXjB/zbDeZAXvhKzhtdSm/JRcoTWy78re8cET+2Uh8wEZzyCErUBFXuwvwzvn1wU4ohdcxlUWAT4GgvQfQaEW7s93Rud//3mHr1U1naI7mOpsFxtpyzLLZhKuxUTdhtwr+m7Bjel0rN1OWj2uTToABv9yNWKRgO/taZtrTqF3sxYZjlq4yFK8rWmJzXEia2pg70RSOwF++nYpt+L584FxKHb8nfw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=weidmueller.com; Received: from GV1PR08MB8426.eurprd08.prod.outlook.com (2603:10a6:150:8a::17) by GVXPR08MB7678.eurprd08.prod.outlook.com (2603:10a6:150:3e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9073.27; Tue, 2 Sep 2025 07:23:09 +0000 Received: from GV1PR08MB8426.eurprd08.prod.outlook.com ([fe80::f9f5:b4bd:9e01:9013]) by GV1PR08MB8426.eurprd08.prod.outlook.com ([fe80::f9f5:b4bd:9e01:9013%4]) with mapi id 15.20.9073.026; Tue, 2 Sep 2025 07:23:09 +0000 From: Stefan Herbrechtsmeier To: bitbake-devel@lists.openembedded.org CC: Stefan Herbrechtsmeier Subject: [RFC PATCH 3/6] fetch2: add helper to get urldata in Fetch class Date: Tue, 2 Sep 2025 08:55:04 +0200 Message-ID: <20250902065507.35737-4-stefan.herbrechtsmeier-oss@weidmueller.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250902065507.35737-1-stefan.herbrechtsmeier-oss@weidmueller.com> References: <20250902065507.35737-1-stefan.herbrechtsmeier-oss@weidmueller.com> X-ClientProxiedBy: FR5P281CA0012.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f2::9) To GV1PR08MB8426.eurprd08.prod.outlook.com (2603:10a6:150:8a::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1PR08MB8426:EE_|GVXPR08MB7678:EE_ X-MS-Office365-Filtering-Correlation-Id: 84e067bb-026c-4743-6319-08dde9f1912c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: m2lLxrxovwGv82/2O4mIpG8/F6yNOlcg6Vt148+5v5uEmbkMiFo26X+6Ldve97IsiGKuPW7lFXyXOH+J4fojEZ9yRsWx9rCCc6tSc5zEYeIo9fsXpNyeDmHdDl98G7iw/mEf2FNDEAaPiuUNISL2APd9fCyqySsTjqZMPZPldYa3gnMpstt4MBnwOn4RzYqzOhseIzFEWKIZy/5/G5aQyj4ReVCcH9sgOvnxTt0A0A3878M6u1Pxzp8E3xbq2UODB5az/MTMnUF4f9O4NJ8GoA/8q/uXpouI9gmyecQvRdE5UHEUXBbPOrVpV5OwsLxX5RqRVoxwYGFbVW9AS0naAUwEg4qA0hcyg9dobxk1sIsXRFlRMKVhsdDO6lznG4JIZnJSlgx2OQ0mLwpPZ6tpv8KwA7LiAaV23pqRnUItnWbJ91xKPDqaoqEW1VC8cNNQ3mKjhUSKqKtcbFsYzYGnzI4KSinyUooV6+ENsGFoDZOdOB/jUFDpwEMBFTclqpP3AYD0f8AH55jAnM8zkKjExUOieirmIypt+TuhWpZX+pPdxumK87s4MG16OGPWO03VgkhYsgYW/RYvZ0qVaLwQv2GIEHLc46JND5rSroFy1tOdPQ604gX3/mOMXTB605p5SCGWZEt0+9KSzd66jJZVgIBHlrGE0upTycwgzQDzwJreFPS2zIdysuA85BCqmcQCWMM8r7si+mbVtiojCVpBdvKqs+6ORNIlAz8ku7FVVhT4snsfJ8jddwTMFKFRUDjg2NJMFpN9gzNBMs9SuPy7tR5vU4t++xO6Q2Oqe95Y/nhtMoF7Eyw6Vqp2bV1zDEkowTbdSyju85vD5CbkeJr4mRDgF4eoJxC4Sa/aGm+JKUS3J60ZvGskBL096m/HgLf70lk81OtL1oeBFQpEXvt8UP4qvZmqjL5NhWhNK+SNy1qtF1o1lH7L/0Oxe8UJumH9unCQQWUCh1arktye2qjJrO53LovIa6y62IvveAWsusA7J4i+GuhYRay09OzeuevdvrrLw2wr+mlPEa2jFFtGuTVX+vFKEXT9YBV/hlvJH1eoDcht9in8acJczyISWE3EDB0hIfPy+r4x5frxLOP4wkfSCKRasR/ycYkeZjLzPCXOms9kxIJJvRaExCsWx2wX1NapLNDFWN2F2rRrnSx1WeZTdRxMapHnlsQcDLtVlLdEYYvPox+XRfgiw8G5v4GCzNTPqeH6FkBYtWJtmXKjk7a5TBK7bn7LVUwfwCif66Vt41jx02nNy3oZw4lrbd/SK5qzaxz4rtfxdH7lAD9Z+wto2TX6wZSyFzIHbY/SjA7DF+hd+G2ScJGeAwm2mucO0DoUYKUWOMnhuMHonDa+++kE5DfFSkcFG9V3nGw5/Lf+JLDlyaxUQikGw7sKQ+snr6eIEiYJVbtiY20RdF5OdX4EX/R5dizGZFpk96yQ4EfbSu11Dgh/VdKBFu06vNzBXx/emApOpgSJOHCjlwLPgA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR08MB8426.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gg9ahCYwyCoYnTE0xEUqgLnPjZxnHUIl7SDdeF6+/0FChcU6YaoFiQ3fufjhdjnFH9+emDVL7RJ0wOu0wYkP9vP9H9SSv0/nLZ6pmZe56F8KQdO+i8EaxJH7HxYep4gFipza09IJMDhlvTVr4PGpj06BJIk9fdqInK9dA5WS8X4542K4p6z5uO9Xj9pMdKH3P5ChR+sam1Jf1YPs7rrD4sfrCkOryT4y5fGTUsr8VOVf55D0HSX35HmfpPvTAjzjItOltiIRWVBPZ5DVM9m/tAYdr8/X7vipy6FSkZmTN3gI7W8XrHLlNp03QwnV2E4/JilnK09ImUjX41IbQqkZfkHd4Ji+Rk9Wtveu3SZCCXxHkuR0tGmzoiEebsYxZdpW64ahpX90WB7m/hjIXamxX+Ya0VvvWDmTzLTXXuk5h3L7H/bpZqevMS51cj0TAp17YaZLupsypwftbCm+mMMzn1uEl9aj660dL2P2zDG+urbqeUTpYGCN1qlx3tZQMRGy4Peqgo9/HhJclygRi6/WzH5QeiNfaT3zM8zF1N2bfLsyhojgVC6ChEO5Ep91my86rgJJBiXnG3ozpLzZEj5jepu5McLVsbLuxXaYHlSBe7faoGs+ip5dH9qJcY8FpBY+Ahrh6dmft+ducbsvOhaXUb/5w+Wqd4Gl8QLDwO+M0sOf0womyUdI6EWVzue2mB1xiPnG4hYivi4fEPnv2ON+l3F//Qzw3oqU3bnofUhFey7nD7gYXiG7SlWG9B165yrUDv3JCbg6txw9cSZM3ZA+B7XPp59v6JjU7RtiVNw5OKWL5z3NFuN1IfknbeoSh0ilzJXtC3iMFrvHLGxAOVA5hkxenemr64YxntHvgpp7XZjJ8O8go/I1DrkDVF5nzeMGnKd2I+56/4PKKY6o+3u96Y7QcIinEIQokOcxQ2rmbvTIPEb9DbM2ng9IuaUzoUcYAslA9qB/6PO8cGvn0CMsM1qzvlW9AmOxPRCVCbpoltm40wr5KZDT6Od3A9aG8Z04LOnzvEOwXlA2m4es/LJYHlEMZF9sD40ddy5sTIyT+G53YAbG+qi5Xp4qUvGqj/7cVkFDpcMNyBWDJYnTjkDsXrdCBg+gqxnkMW4M8G5r54vBXHhcMCeu+7UQHYxiaDRl94YWZw01Oh5UWDhoFyTg9ZCusvnS7KynqQK0CB+bHTQ5fScZzaK77vf/FG5unxFjOnSQfkXoxIAzd4FSu1DV4bTp/2rXxJH5iP6cfZ509UvU87hUdoG4/ULq2CiNXu7L5K+iES8nEo3ca/EQm0RXmgD00cZh/XvhbFUrWs4RV36eGf02AHgnWsVnnw2vwd1BVkjrEfYn/uq6hBdcQX/dOswG5KnBgg6w2lJUnbfpryyqb41YPp12vHdOl46EmF3eiff9QBhIEA0heS3BAOstg0rw3nE9Tqv5GfpKCOXkgpfXmF8z3VnXsd8d1H/+ZSVoSzp8pHaTkuiflWtupgn+ibDb7vzJ+Ygoat8HQktnV9EkD83oBFc1fgSpniC2oL2WRR5q6rA78l3nareqL1E8Qwci9DEptqhu9Ql6kGd4AqrvqdPjWfzxlN9UkuYtj5S6N2hgew2PjedJKUBthIxq0Q== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 84e067bb-026c-4743-6319-08dde9f1912c X-MS-Exchange-CrossTenant-AuthSource: GV1PR08MB8426.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Sep 2025 07:23:09.0432 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e4289438-1c5f-4c95-a51a-ee553b8b18ec X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: tiKYgeKMw49dCzD2tlUCr4WyZROkMR0FZBvOOVb6sIG9N75W3bJ5AY+LPG1ywSe4er2QjgYYXwcJLy364us5gA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7678 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 02 Sep 2025 07:23:26 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/17940 From: Stefan Herbrechtsmeier Add a private helper function to get the urldata object of a given URL. Create the urldate object if it doesn't exist inside the urldata object list of the fetch object. Signed-off-by: Stefan Herbrechtsmeier --- lib/bb/fetch2/__init__.py | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 80f1a0c08..6da75008b 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -1829,11 +1829,9 @@ class Fetch(object): urldata_cache[key] = self.ud def localpath(self, url): - if url not in self.urls: - self.ud[url] = FetchData(url, self.d) - - self.ud[url].setup_localpath(self.d) - return self.ud[url].localpath + ud = self._get_urldata(url) + ud.setup_localpath(self.d) + return ud.localpath def localpaths(self): """ @@ -1842,7 +1840,7 @@ class Fetch(object): local = [] def localpath(url): - ud = self.ud[url] + ud = self._get_urldata(url) ud.setup_localpath(self.d) local.append(ud.localpath) @@ -1863,7 +1861,7 @@ class Fetch(object): checksum_missing_messages = [] def download(url): - ud = self.ud[url] + ud = self._get_urldata(url) ud.setup_localpath(self.d) m = ud.method done = False @@ -1979,7 +1977,7 @@ class Fetch(object): urls = self.urls def checkstatus(url): - ud = self.ud[url] + ud = self._get_urldata(url) ud.setup_localpath(self.d) m = ud.method logger.debug("Testing URL %s", url) @@ -2011,7 +2009,7 @@ class Fetch(object): unpack_tracer.start(root, self.ud, self.d) def unpack(url): - ud = self.ud[url] + ud = self._get_urldata(url) ud.setup_localpath(self.d) if ud.lockfile: @@ -2038,9 +2036,7 @@ class Fetch(object): urls = self.urls def clean(url): - if url not in self.ud: - self.ud[url] = FetchData(url, self.d) - ud = self.ud[url] + ud = self._get_urldata(url) ud.setup_localpath(self.d) if not ud.localfile and ud.localpath is None: @@ -2071,7 +2067,7 @@ class Fetch(object): urldata = [] def expand_urldata(url): - ud = self.ud[url] + ud = self._get_urldata(url) urldata.append(ud) urldata += ud.method.implicit_urldata(ud, self.d) @@ -2080,6 +2076,12 @@ class Fetch(object): return urldata + def _get_urldata(self, url): + if url not in self.ud: + self.ud[url] = FetchData(url, self.d) + self.ud[url].unpack_tracer = unpack_tracer + return self.ud[url] + class FetchConnectionCache(object): """ A class which represents an container for socket connections.