From patchwork Fri Feb 14 21:14:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "chris.laplante@agilent.com" X-Patchwork-Id: 57348 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 AE5F9C02198 for ; Fri, 14 Feb 2025 21:14:21 +0000 (UTC) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (NAM11-CO1-obe.outbound.protection.outlook.com [40.107.220.89]) by mx.groups.io with SMTP id smtpd.web11.31877.1739567657627284786 for ; Fri, 14 Feb 2025 13:14:17 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@agilent.com header.s=selector1 header.b=PDKvVNed; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: agilent.com, ip: 40.107.220.89, mailfrom: chris.laplante@agilent.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YfEsRZoWVoQe0awSismHUTEQI/dD9FmZAP7l1tv0dbYHfgsM8lxhK3so65OIbTJUvqrvCNUr2vh4ZvjNA8Xn7uXTPqCEyp52JRc14V141VGczuQJHYCnz9HYHp/JGJteMUfNKc2tsjX1RhbB8QBTqMh0PvA+WBy8OPZgVcVyq7J6P8Rgs8zZWaQuK9VDQEjcmdsT7LQ06F3JkW4rUgcOm7FHj6gcGV1ZACrAarrlgWyn+Igix1XhkxwyVXHuKDVrEW3Hs7atVIvJuC8UA7REQpQgBgDdtFkGiJXLBOzxJYNcjSfVf27Qz9PvdMo78Q1wmO0AA4yvlO7dOHviXmEinA== 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=gbcd6W0XuhTC6ccpN0UwEoGtsNkg9ntHkb0uQi3FxBs=; b=gZjuwvrLJSneIoUz7+1+1gdaEbuKnL0QSNOY0X5wddJ92IsqQ3G6X/wWF+Nx1/MeQd0Vxa/59Iqb6mWhczvSgBOcyXvySSzM+BcyY6tbGVKMYLpL2w2WtShP7tBEK5L3/mSJQB3eLcsqz5y4qGJjgjmt6A1oC1QtO9awbmGLg49QHPBC8uIzHsKparrJSxa67fxJFubmyp1u1v9SIthdkmvBJ9r/WpN2QaoquG6zBCw21tSQ/oxhgfcSoNX3LBevpi3owCExM0EHBChhXiraT91b1TcM66c1pPU6NMA+oxghHYCcGELDYUVG66OIbKuWnMc2P9DmMMBvh+uzvmRCCg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 192.25.218.37) smtp.rcpttodomain=lists.openembedded.org smtp.mailfrom=agilent.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=agilent.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=agilent.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gbcd6W0XuhTC6ccpN0UwEoGtsNkg9ntHkb0uQi3FxBs=; b=PDKvVNedh7Foxjf2B92Ubmwoj75pYsJijExC1yOXIl0dX+MI9kLeo0b/pAGBjh2gQ/bUXnEWq6FTv+9TNjkbaa7wvcTLamNHm/sN0sKsB0A3jroR535CQf70yGsMxhunoFy8dZ9UgYMKsXPX0XcbiOweSf70XPGsZPc3iG60jjnjgzOpR4/DCpoKpiP/G4eg7GTnqd0FdaYxgWzETZX0arOwXMz75D/QnKjHkje/AfkYz4+5VdW2/3vzi4FbL4U8C9+k4KA5lwoImORRuJLOyBkU/7eCl1fm77PG2iHExIX6r+9iMPm/see+ROCKmo2tP1nuf+4H/7JHwMcFnVUOlg== Received: from MN2PR11CA0024.namprd11.prod.outlook.com (2603:10b6:208:23b::29) by PH7PR12MB7211.namprd12.prod.outlook.com (2603:10b6:510:206::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.11; Fri, 14 Feb 2025 21:14:11 +0000 Received: from BL6PEPF00020E62.namprd04.prod.outlook.com (2603:10b6:208:23b:cafe::54) by MN2PR11CA0024.outlook.office365.com (2603:10b6:208:23b::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8445.13 via Frontend Transport; Fri, 14 Feb 2025 21:14:11 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 192.25.218.37) smtp.mailfrom=agilent.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=agilent.com; Received-SPF: Pass (protection.outlook.com: domain of agilent.com designates 192.25.218.37 as permitted sender) receiver=protection.outlook.com; client-ip=192.25.218.37; helo=edgeappmail.agilent.com; pr=C Received: from edgeappmail.agilent.com (192.25.218.37) by BL6PEPF00020E62.mail.protection.outlook.com (10.167.249.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.10 via Frontend Transport; Fri, 14 Feb 2025 21:14:11 +0000 Received: from laplante-B650.lfs.agilent.com (192.25.126.5) by edgeappmail.agilent.com (192.25.218.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Fri, 14 Feb 2025 14:13:34 -0700 From: To: CC: Chris Laplante Subject: [PATCH 1/2] cooker/event: add cache validity checking events Date: Fri, 14 Feb 2025 16:14:01 -0500 Message-ID: <20250214211403.493573-1-chris.laplante@agilent.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E62:EE_|PH7PR12MB7211:EE_ X-MS-Office365-Filtering-Correlation-Id: fd3181f3-a07e-4c71-447f-08dd4d3c8720 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024; X-Microsoft-Antispam-Message-Info: A6aUqmodya3VuD0IUxMp0cs4+N/YQlXYNKyu3nMkmaSj4PhEpz4sL6CwfmnRh6eK2DDRcsgcAvSn7g0a2vJBSY2ZEONLdsBvXUkDdlxuYWemjOAuMUihrDe2soTxoR7YsvKsmWWZ1RxcNgRtALl0R1o3xpTkppdcUX9vahjOAzLkrf3nBLajErbEQjOQEZAEShIR5HQ3Plvnvqbr5jLlGdzRAVCvEjcxXgZfaZrGf4RYiKaYQcX8IK8xthx0ejbB+QHPV5VIFZPj9PfgGrfufRu4uyLejtmEcCFQ/1GYDymC70ZHP0RaLqwWG0s7Fzj9AD4VZWOs5ogvoXP1cnzT6AtE1dcsg/90222jLqkTo6rKZSv0nsJpLmGfbvaywYIZjMaO1yDGTwDMZQZ5G51FIBeIR0FlXGcSE7mUJmZuyxcMRPgJHreAuWgg0Tj3nD8PbpHHB+oQpaMa8Ig3a0cUts2G/tSShAjhrqgtpFNXqZD9cvaKKcX9hjD0clHFPMN/2fJ/rIc/IskrTHLv0dcsV7Y+RN4iR2YWtMzQEC4GgZsE/6RLeBRlp/w8DbquvV+GEoUmoukYmw2FVMBXaQMZMLsS2gmBxCurEY3ygmXgUItBrmrbCd0PWspEIKrVgRPLySuyxmHbP7vlSYtW0uLZoPSCEnJE/6WECjsLo2qix4VennKA3OxMFbvAAu6giOg4gfJJUSQbqmJzRZ5SdVSbCDXvJhqrDfVXKNscpKhshHOSWNwknZ8QIKNtgEeUzFO0WxK0faYT6jx2u4bSYHb5VuD8KwXOpGaGA+dow4IQQHH4PrxnGPHIINIvPLnRHtiotRUe3P4sTzQC96kbKs4g/zfYNEdMlcl89cD1f9bu+mrccbC7LdcCxI5NLF3xXrf1hLnNVPtrjVjxs3kQ7ofQ4SfmuVI7TlDn3xVHAM0gQfxPOKeGHtK4G5ak8V+JIQprW+jl6r3LtZUvPDdsj/3tkmyGAtqV8RafpvIS2mjUdUEOw1yi28tyzengVzZftoSdM6GBtuImO+Hpsf9iwgFcHz1IwEUl1X1Xj5pmuoKJkwUiRN9337C+vOaIzovD2q/YPNV16tp91vvSpHtP4Rqk0dAH/uUrV7slaglB42KPEWRnBL67jzOxzk3qVj4VAQ1w+oSsyJGEG2XluHuQ9WEy5MNPpJCbuoamlMU58zaRevi8Fi9Zt+E+yak6SZaSiZQvcwCFhgFd07QpKh4JvZC9tAA9bs0xBFywH1K/5THntaNPQASlKM1RIwtV6LRHLYqz07wgmY5qd3Kqy2tW1otj42oD5hgpJ1jmdwcYQImH70wnokZCiMBvy5YfSIRPLib//nZwm3Wzf99sanPtMPlnKdPBLVHr9SeuGP3Y34JuUw8feUPFFmL30tx7qOc2nyPlZpVZsQr+SuGUwjHhHUsJV6HAB8+PwdG9pI1ZzEpGbAPvKG2fOuqmzERLlW7GU4dkKpP3BPdsywXI/Mw3r8Kt8roJPO4eAw201Mqz36uBE8I= X-Forefront-Antispam-Report: CIP:192.25.218.37;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edgeappmail.agilent.com;PTR:wpcosapexchedg1.windmz.agilent.com;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: agilent.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Feb 2025 21:14:11.4862 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fd3181f3-a07e-4c71-447f-08dd4d3c8720 X-MS-Exchange-CrossTenant-Id: a9c0bc09-8b46-4206-9351-2ba12fb4a5c0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=a9c0bc09-8b46-4206-9351-2ba12fb4a5c0;Ip=[192.25.218.37];Helo=[edgeappmail.agilent.com] X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TreatMessagesAsInternal-BL6PEPF00020E62.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7211 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 ; Fri, 14 Feb 2025 21:14:21 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/17230 From: Chris Laplante There's a "dead zone" between the "Loading cache" phase and the "Parsing recipes" phase during which bitbake checks whether cache entries are actually valid. Even at the highest (-DDD) debug level, bitbake produces no output. On my relatively powerful baremetal Yocto build PC, this phase takes 6 seconds in the presence of 4 multiconfigs (including 'default') and 40 layers. This patch provides events to track the progress of cache validity checking, so we can give the user some visual feedback. Signed-off-by: Chris Laplante --- lib/bb/cooker.py | 10 ++++++++++ lib/bb/event.py | 15 +++++++++++++++ 2 files changed, 25 insertions(+) -- 2.43.0 diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 5b885cddd7..9b78530ad3 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -2127,6 +2127,12 @@ class CookerParser(object): self.bb_caches = bb.cache.MulticonfigCache(self.cfgbuilder, self.cfghash, cooker.caches_array) self.fromcache = set() self.willparse = set() + + validate_count = sum(len(self.mcfilelist[mc]) for mc in self.cooker.multiconfigs) + validate_chunk = int(max(validate_count / 100, 1)) + + bb.event.fire(bb.event.CheckCacheValidityStarted(validate_count), self.cfgdata) + num_validated = 0 for mc in self.cooker.multiconfigs: for filename in self.mcfilelist[mc]: appends = self.cooker.collections[mc].get_file_appends(filename) @@ -2135,6 +2141,10 @@ class CookerParser(object): self.willparse.add((mc, self.bb_caches[mc], filename, appends, layername)) else: self.fromcache.add((mc, self.bb_caches[mc], filename, appends, layername)) + num_validated += 1 + if num_validated % validate_chunk == 0: + bb.event.fire(bb.event.CheckCacheValidityProgress(num_validated, validate_count), self.cfgdata) + bb.event.fire(bb.event.CheckCacheValidityCompleted(validate_count), self.cfgdata) self.total = len(self.fromcache) + len(self.willparse) self.toparse = len(self.willparse) diff --git a/lib/bb/event.py b/lib/bb/event.py index 952c85c0bd..e9834d01c7 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -639,6 +639,21 @@ class CacheLoadCompleted(OperationCompleted): OperationCompleted.__init__(self, total, "Loading cache Completed") self.num_entries = num_entries +class CheckCacheValidityStarted(OperationStarted): + """Started checking whether cached entries are valid""" + def __init__(self, total): + super().__init__("Checking cache validity started") + self.total = total + +class CheckCacheValidityProgress(OperationProgress): + def __init__(self, current, total): + super().__init__(current, total, "Checking cache validity") + +class CheckCacheValidityCompleted(OperationCompleted): + """Finished checking whether cached entries are valid""" + def __init__(self, total): + super().__init__(total, "Checking cache validity completed") + class TreeDataPreparationStarted(OperationStarted): """Tree data preparation started""" def __init__(self): From patchwork Fri Feb 14 21:14:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "chris.laplante@agilent.com" X-Patchwork-Id: 57349 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 B18A7C021A4 for ; Fri, 14 Feb 2025 21:14:21 +0000 (UTC) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (NAM11-DM6-obe.outbound.protection.outlook.com [40.107.223.40]) by mx.groups.io with SMTP id smtpd.web10.32063.1739567657048774886 for ; Fri, 14 Feb 2025 13:14:17 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@agilent.com header.s=selector1 header.b=E/kyeCYk; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: agilent.com, ip: 40.107.223.40, mailfrom: chris.laplante@agilent.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iJA4CLfl4VEL/WESidoV0kiGQUP3KpHggc0r7hfQFuc8fsN+VZhfzvRMBJaK1ve7lyWYoyMBB7+/RTv92Z8QR78PXtVtLmcsUtLCvLh73KXGvaEza9u4vIwxcq6nJTruuuo5lsB14JliiYKEPz6WaN8jje6dIRVB/hDNiJEVzOG/FPd+Nb8N5mUkV/ijPN/CEi+r6c/e7/4K5+kAcZuTvWP/JbqhJ+rA8zXnarUKLPceKxUtw3AyB7ykb24bNT+cqLKHaEP2YPAWxi550wj8Nm5JUV4FqHlRJxfj+neOuKXxnlRWtkwhcFyGy76lUT+Ln/l8kg0+wHSlTk1Pf8s1JQ== 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=YEhmxzKuAGtd1d4Nb2bwfd+b7iObwaW953BAaXzQJQ0=; b=ukh2/svD7VxLeDwl2zgVA4RO7akPCq7Pm12PHATjL6aAoasZyWtPV0zOrI5f9szKIbAJpDTAmxBvlO9PD8fhYMDPnzYxqY7pWcyY/4lX9+mKfHH7Z2Sg4GsCKx1Ea3nUQd5gK8yjx6s+XprRVyxLzcxxSEh+VUbLPJF7Jb1pA/8hNkGZSpGTd4bz/Rr60qR/raZ2qaekHx3XMfR8IgIeHsyJFlN6u1Wc1rJ9W81nuc3Ghwf1vcSi96M8cBk6Xx+2KDae8Wdy9mlVwb2EdeTXQpg7/HKr/BAOfSS4p3qsHmW4CG0ihdbZUYtWrsc0DsEa5x1S6Juo0k48UJybLNfhyA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 192.25.218.37) smtp.rcpttodomain=lists.openembedded.org smtp.mailfrom=agilent.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=agilent.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=agilent.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YEhmxzKuAGtd1d4Nb2bwfd+b7iObwaW953BAaXzQJQ0=; b=E/kyeCYk6wGM3GJrG8o7Y+wL7QdEyTIBqwob/89HPWIuEgpbHCNFkAIV1FJnL7eDAH6KkB2yKD3DE+MMoZHTwWDxN/wUkYd/e4BgHFsRVZLuVo7qCBzBjhFZ8gm0roM81FOrgSdlcWhCZHf4ho+uxr8p+rzYX96Y5fNS7YoRbkj4qfEWDJxGVxhqoxsZLQ5R7PcAKjcxSQYMNrjPmKnsF3/oGINEs8C+x4DLILxP/PGzBan9bbFGyLR0qcI84kRu+JRmxSEOoMf+LytLzUBR54uZx5LfM2Z99uKxd2h2EHm3T++apOm4pLmUzLqjLv7yJMkv1Gi9JfzUPxG2H81QHw== Received: from MN2PR11CA0027.namprd11.prod.outlook.com (2603:10b6:208:23b::32) by SJ2PR12MB8719.namprd12.prod.outlook.com (2603:10b6:a03:543::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.14; Fri, 14 Feb 2025 21:14:12 +0000 Received: from BL6PEPF00020E62.namprd04.prod.outlook.com (2603:10b6:208:23b:cafe::cd) by MN2PR11CA0027.outlook.office365.com (2603:10b6:208:23b::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8445.13 via Frontend Transport; Fri, 14 Feb 2025 21:14:12 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 192.25.218.37) smtp.mailfrom=agilent.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=agilent.com; Received-SPF: Pass (protection.outlook.com: domain of agilent.com designates 192.25.218.37 as permitted sender) receiver=protection.outlook.com; client-ip=192.25.218.37; helo=edgeappmail.agilent.com; pr=C Received: from edgeappmail.agilent.com (192.25.218.37) by BL6PEPF00020E62.mail.protection.outlook.com (10.167.249.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.10 via Frontend Transport; Fri, 14 Feb 2025 21:14:12 +0000 Received: from laplante-B650.lfs.agilent.com (192.25.126.5) by edgeappmail.agilent.com (192.25.218.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Fri, 14 Feb 2025 14:13:34 -0700 From: To: CC: Chris Laplante Subject: [PATCH 2/2] knotty: report cache validity checking progress Date: Fri, 14 Feb 2025 16:14:02 -0500 Message-ID: <20250214211403.493573-2-chris.laplante@agilent.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250214211403.493573-1-chris.laplante@agilent.com> References: <20250214211403.493573-1-chris.laplante@agilent.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E62:EE_|SJ2PR12MB8719:EE_ X-MS-Office365-Filtering-Correlation-Id: fce0310b-6f9f-4b1d-f06a-08dd4d3c878d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: jDwEqn0HfRdkEc/bxeBZeGpJQdwMWRf2p6yVVPjIws6XFVzwwBcGTnz03j6A0RW4NvWcGSRd7jQGRt/+PIEQXHavGyC5A+JBiL5YBAZZKxNpeQXXxTp+yUTOXQgqK7T2cccvclQK258f+Bfcizx7vWXnNgy6cp3GOSJ+TRv+39Rl/KTNulyIckjzuRJ8HXyh7xrUTiPO9uwsxRY0e2M0Nc4Ve+r2ts+788rDz6NGsoATjGDgIKo5vds2q8L87BZ1xyVXfvCvqneqjXspXQ9sYR2VnwnErAodVOyuF1etOQLhjCvAWXMnJmI9ARgmB3oh4FohFBy8xmLND2Hdx96S2St2050qXX0sVnloeqY8L/f0LsLbGqsIoleIRFDF/o4RYCT4R6lDygB9/aUDwtwWEnM4Qph44uJ6yz7eMZutCtiudnS7FuIQbPPVQMFIwxTM/nr/LODJm4ksFT6on2LT2YRmZxc/940hXMR7XTH7517nQs9EqO7+k/Hkc4XN1iPCB+T++uKUAMC8Hrv/K8AlK4N08oQfeGUTBFeZifl18Scs2mkmB5iK2PpUANJE3pxg7oA6MEcMw7jGPXPuHxAjcrbW00Hpurwggr73aknHPFpi9ZKP2PSN/F5qOc6w6i186RXl8ZSLWWMQWvi96OnD72a4eotdYkvHK4pBnkTYQ7bBSJh/U0E8fvq4NqxKNvPdG+ig0NXke6kc5byWI2MsT924JfcElfwJjHUDMTvfaoYQz2dO8e2XRm2vLi0B6WwlR8561IQArKi0rYssOZKQptzfpuQsxF4LRjxTOyFlug9uaRtWhNoQgYeaR31o6B46/4kq02T/rI+F5RM2xsSEGVKOP6Xuxkgq0pYrj9vM9ADhKbY23lTdpyfe4B67QNwtoC4FgVvvSOlCqCwT6R+pAf+j4nIj/NnesvhGunmBer0+kXtVtG+y1CuaGcp8/3smBNnAQjmV5yvUbCB2B0rbfj6eWLAWW///9WfRw5kz2h3TmUA4puy/kNoDBHjmB/ZDtrHh4UrMc9Kr/Uc9FrmkTvZZXWguxYtQ+MNHeq210IpH5Xy/ToeXFBcJH3xJ04ZxWYgStMo951KrwH9WtbG46V+yC9Ye3oLr8H2ROQIcTsNhimObpDivH3VzuV08JB4b1i+RRZR3Nn1YqWXa4j77QQVbpt+bMmqXwoT+XQJ9valCx4AQxnhSC8XpaKA2d+FId1dN54IkxsUdxWprnHrPMEnIliK3jV2T744h48IKTjMFfBDnDL2Q9kdT67R3h4/Qn/G0fD1hR/Zvx/fpjfgHr2mq7o2sj2pAgnLouWVinhikyOJn3snt0ual9sMym6WPyXN28CfSyZ/Q/pNhFlHKTVn0HlzphpM9I9k7WgRdnvIkKjn8wuko2I+NfICK1vud4PE+8/pzv0OzaOiI4Qenr3bBw8deAJCahmuPpQl9Algh4qSQssitNZtwRcLWzCdg1RPjpAJS7BLqG9FdkhptD4nNoYiRJOzJUw6Q7XdngIg= X-Forefront-Antispam-Report: CIP:192.25.218.37;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edgeappmail.agilent.com;PTR:wpcosapexchedg1.windmz.agilent.com;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: agilent.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Feb 2025 21:14:12.2831 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fce0310b-6f9f-4b1d-f06a-08dd4d3c878d X-MS-Exchange-CrossTenant-Id: a9c0bc09-8b46-4206-9351-2ba12fb4a5c0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=a9c0bc09-8b46-4206-9351-2ba12fb4a5c0;Ip=[192.25.218.37];Helo=[edgeappmail.agilent.com] X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TreatMessagesAsInternal-BL6PEPF00020E62.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8719 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 ; Fri, 14 Feb 2025 21:14:21 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/17228 From: Chris Laplante Signed-off-by: Chris Laplante --- lib/bb/ui/knotty.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) -- 2.43.0 diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 2fff1b3669..92b1980f5d 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -404,7 +404,8 @@ _evt_list = [ "bb.runqueue.runQueueExitWait", "bb.event.LogExecTTY", "logging.Lo "bb.event.MultipleProviders", "bb.event.NoProvider", "bb.runqueue.sceneQueueTaskStarted", "bb.runqueue.runQueueTaskStarted", "bb.runqueue.runQueueTaskFailed", "bb.runqueue.sceneQueueTaskFailed", "bb.event.BuildBase", "bb.build.TaskStarted", "bb.build.TaskSucceeded", "bb.build.TaskFailedSilent", - "bb.build.TaskProgress", "bb.event.ProcessStarted", "bb.event.ProcessProgress", "bb.event.ProcessFinished"] + "bb.build.TaskProgress", "bb.event.ProcessStarted", "bb.event.ProcessProgress", "bb.event.ProcessFinished", + "bb.event.CheckCacheValidityStarted", "bb.event.CheckCacheValidityProgress", "bb.event.CheckCacheValidityCompleted"] def drain_events_errorhandling(eventHandler): # We don't have logging setup, we do need to show any events we see before exiting @@ -796,6 +797,26 @@ def main(server, eventHandler, params, tf = TerminalFilter): print("Loaded %d entries from dependency cache." % event.num_entries) continue + if isinstance(event, bb.event.CheckCacheValidityStarted): + if params.options.quiet > 1: + continue + cacheprogress = new_progress("Checking cache validity", event.total).start() + continue + + if isinstance(event, bb.event.CheckCacheValidityProgress): + if params.options.quiet > 1: + continue + cacheprogress.update(event.current) + continue + + if isinstance(event, bb.event.CheckCacheValidityCompleted): + if params.options.quiet > 1: + continue + cacheprogress.finish() + if params.options.quiet == 0: + print(f"Checked {event.total:d} cache entries for validity.") + continue + if isinstance(event, bb.command.CommandFailed): return_value = event.exitcode if event.error: