From patchwork Fri Oct 2 14:49:33 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Moessbauer X-Patchwork-Id: 5533 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 02 Oct 2026 16:50:05 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-yx1-f62.google.com (mail-yx1-f62.google.com [74.125.224.62]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 692Eo24f006648 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 2 Oct 2026 16:50:03 +0200 Received: by mail-yx1-f62.google.com with SMTP id 956f58d0204a3-67692931213sf4203879d50.0 for ; Fri, 02 Oct 2026 07:50:03 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1790952597; cv=pass; d=google.com; s=arc-20260327; b=WGgf/WGIqynFNNe18hVXlhxocfOvIFeEAZF3wWbdJjS98W36icDNUpDo/mAXQRVfWi lHwDfVn67zWkhbr0cQ73Id2MwALKl1Hp5M3y5Qc6JdxB9zikWJkSzJGlQ4Y1tHHhkAba 1Tc8xDcz0a43H6POVzOiZlzspypp2R0TT+vPbzilJaRsPJG5YLkUOBDHqMay7y+4g4TI g+Pp4e6+aSzfuHuFMcW2im2PilbKOwxZl8NRjCpG4H6l500vj7GkeuEM/1MMul3OLnp0 nPOCa1p7ICcl7t4RqrgXDhKBCqtdMnJTqn8PXfizAbhvzxXK5MNp0e4QgLG5zXPtkSqg ADqg== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=BrsgGXssfskIRDoSX/MxI7+OL9o3YcFFuahdkEEVILI=; fh=LByJWPTRyrnxbYQ50HfRd1vvI9uEbK5sq823ir0PI08=; b=MjLJ0/4ISYeN5SpMHpen3TdyoJzIHv+OXmKHRXp6j+SVWlLHC7YpNgvHf3A2mj2Q1p YJO83xIwGZkOwtSNVLXwyEYVCb2dpLNkHDKJraLizkF+UrHJUf9pZKBnQoD6Y93jYP+o aVBuVKx5qePULHvUsOyRskGMHpRvXB2S1d/SWFVXwtxW+lQDWsauDfSc3cQLLci7m2Iy /IQb6s3bGER/0u/f7Y3KqhGMOM55hph3/EDnpDbWCvmQVxry/S9dTEK6PpJGyaNysqbZ cCnStaGBzLzrB4fnuzigbuBDxpR+oEj6z3MyhW/7QdknAat1IoB0pWt+zNR15qX7O/RZ oseg==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=h0NQSOQm; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::1 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1790952597; x=1791557397; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :content-type:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=BrsgGXssfskIRDoSX/MxI7+OL9o3YcFFuahdkEEVILI=; b=VPA9wByKXWLq0hAwFm8xBNaNBgxK1SrA/BKo8Ja8tp1NRDu5/z+me0KtgVNqm6Lmqt Q4mN94nNgibkcOgvZh0m06k3SPGlU24fPqJ7hWAt79aJFIO/W1ahtft/P+iZfDzx+OYi ZZOCr8LIRGf6ctPxW11qfHKB5C0Tqr5BA9Z3UZaygHZJZHfhBtZdfQ/BZqqDuBdHCwly NZvuHYvyFyPz3GDrzZpWWXj8MaEXiyob6DMoCgen8GtdDF9uOHT0rgt5F84SqpwmnEcI l6zryKs0z8yek0ca2M/O/CbfrHzdHaZzaxiEyCrm4bBfJxnbUwE49VVrLprN4AeooDFz NhFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790952597; x=1791557397; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :content-type:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=BrsgGXssfskIRDoSX/MxI7+OL9o3YcFFuahdkEEVILI=; b=tZ0uizDspFtaVt/90pj3KvXifbZ7z4dHPhbw3FdKklffCRvOv8x/haymcE5ZNts40F cwoc8ShUi9Bg3NCDTFno9cE9QcNNCTOyfp+REfGxQ8bP/ZC++2rGCgDOo8+TiV10yq29 LCWtjgz/UCGdq3IuV+zZuO5TkIY28UifD2w1rS6A5c3JHbOaYc26+FplS0xSg2ioudLR 7NklUXGZbZTOF0/uKLN2Q9HOmvIsQHLLcatRdSXEuCwpFynYnVyZEBEN14eBSQ9MUBY2 DeBms13kMcMMh3BAvvrhn8d+z5MxUEQqL8T2VypHv5mk+E9EpAhsHTDG0I9Aa5cQkgZj mXIA== X-Forwarded-Encrypted: i=3; AKwUvBxamNo2eU1rZLECz2FFnExg3GchX+TFhquxM5C+yl8ROiE/GfOx2xRmtSagFnUMMmOAmgnIHOY=@isar-build.org X-Gm-Message-State: AFq9FYIqm8xVXBh4ub6EWczQ+dlMPFFTH7rbrq7WA+ruD7jnutUj9nGu Sra7WMT0VU5+FWYuz1ZMon8QlICn70Wx4JpYDG4o7pvPkch8AeXnTsMV X-Received: by 2002:a53:ac8f:0:b0:677:ae5f:927f with SMTP id 956f58d0204a3-677ae5f941dmr963519d50.106.1790952596978; Fri, 02 Oct 2026 07:49:56 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ATskLdclsyKatu91uhI60I2jLYG2uPDeOKmtYd1MlZj9Hzibzg==" Received: by 2002:a05:690e:454a:20b0:675:65ee:cb83 with SMTP id 956f58d0204a3-677ad0fb658ls844924d50.2.-pod-prod-05-us; Fri, 02 Oct 2026 07:49:55 -0700 (PDT) X-Received: by 2002:a53:d013:0:b0:672:f1e7:d232 with SMTP id 956f58d0204a3-677abfbacc1mr1215108d50.26.1790952595768; Fri, 02 Oct 2026 07:49:55 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1790952595; cv=pass; d=google.com; s=arc-20260327; b=ElQLd0Neb0XqRYy+0iRJJn+PmC2t+L5rKCWf8qsWAA9n4D9BoqBGGHED7iTCjqvEbZ kX1x2WpUpFwDFsXfUZsPRC+xCFl3+GO8Qtgf8cmAV/55WZaIK+JlIK6TyR78TkqlKoFX v8QYiSec9vr0d6ILXEmq56JoE8Ehzpx2bGxelytfllF5oB8DnQPYaOwxvT2HHEPyAWyr GARNZaYAmirIj/sMc08NLLCmIM5ldqeEUWAn2sOy9SoQ6IgeeOT92BN5qvcvbTqgQP1O x2k1teqfP/2TqCQ6G7jA+aB47Do+ozkZCD0scXrYqrBTuxCOlWmDu6BktFfOyIXzaYOc GOqg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=mime-version:content-transfer-encoding:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=qJyxQj0QGPz3NKOD6X439wPt4r2pNNDvnIbhqr/CZR8=; fh=8dBW2IRCVdGsmrD2hdAVDsJaRF/dLexRtANCwaOHVZk=; b=jVKTRxQZp8fegWkSFz1p3XHgjoPuflHcNKBDuSSHAr6c2g/lnAWEEawmGikszvE/jM tT4HLHwrDlDZOCMqa6OtWDJBuVS7PH4wGnnqEHnvhRV3cQSoHiI4NW4BuE28mI6/DgrZ FOxjUAqyhHGLflgl8ZJgmqDoJ9fEnldjO/FokrsN/EJC8GQehy733hWVV/cGkyiuF1N/ VG+4N+rJ/FqU/cBTWZMNCsJnwTyY9FFfs2gUuIVjVR+G2kWiBnkz/1JonJJaXFlyEaXc Yq1gg/ZzfL0nyY8VP3aOSjM48l88bt27zhf1VdTmnghl8IMQTMiHSERib095bF8Cof8g oLhQ==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=h0NQSOQm; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::1 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazlp170100001.outbound.protection.outlook.com. [2a01:111:f403:c201::1]) by gmr-mx.google.com with ESMTPS id 956f58d0204a3-677ac54f4c8si93667d50.5.2026.10.02.07.49.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Oct 2026 07:49:55 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::1 as permitted sender) client-ip=2a01:111:f403:c201::1; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TAojxDmWeJbnFk6FW6SX5v/NQczA4/0JrZFhwbyOmqfaU7oYwt6Yjhs6mfdxvL5nY4rx/rPYcSTLiyEnAMfCeUQpPizdht9vJGJEAJOPMDPYaccP9JKyYXJ1LaCioDlvuKvwk9e8V5nOnXX9mxrEVRb+nhQ3nAZWXtbjDBedPnOofGP99TZwH9xs4tH+Qfm+Bpao30dDOujAwiYEewpPCsfl6oHdP5qIvZCI4q8qrZyZByj4Iq+rgwXP99dMDXBx8LeRFyl868uCaVv/zXtgAQ/Y42k7e0vJihKwbExBoG8kfBz8TNXppe/ihozHD9ON3FcMD1mst16xIE0e/OaWeA== 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=qJyxQj0QGPz3NKOD6X439wPt4r2pNNDvnIbhqr/CZR8=; b=qrCwp4k7Uey4RaNrbmSI7hVQeFk7jiHursJYDrY5nE+DIoJmYdjTiw/MOL5Nllai/br74I02m/21jwRZRl/9+Al3tKgiffgwjv04HSWo7YeWdOXyMOPEwTAimSFSDSr2JxXYERjwAQZPR4/K02Jvjhb8wm5j1KkSAw79+AeuS7f1D/VN1LAb1M7Fb/h+PYYm7KCCO1h6pVlXSQXQmbXTPzGNVDJaqRJovkF0wpnhiF8l9UuJUzfjhEsIiutF2XYxKWm8vk8J098e5AhPhfc3ewA1nuFRuHTDAI9xgquH1KRnP6xNt9/+u3GIlvJ2mfYQELLOQCNCxPC5lIuzINsJbg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) by DB8PR10MB3737.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:119::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.472.18; Fri, 2 Oct 2026 14:49:50 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%3]) with mapi id 15.21.0472.016; Fri, 2 Oct 2026 14:49:50 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: Felix Moessbauer To: isar-users@googlegroups.com Cc: cedric.hombourger@siemens.com, jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH 10/13] isar-sstate: add support to clean hashes from hashequiv server Date: Fri, 2 Oct 2026 16:49:33 +0200 Message-ID: <20261002144936.246628-11-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20261002144936.246628-1-felix.moessbauer@siemens.com> References: <20261002144936.246628-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR0P281CA0205.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ad::19) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|DB8PR10MB3737:EE_ X-MS-Office365-Filtering-Correlation-Id: 60cc591b-56ba-492f-06bf-08df209468e9 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|23010399003|366016|10070799003|1800799024|22082099003|18002099003|55112099003|56012099006|3023799007|10067099003|11063799006; X-Microsoft-Antispam-Message-Info: fAOckatl370+p43MEHa4oOMYlxTNbhlwVXH6TD03VB2YOQMU5ZttnCkgUWelot6YM1tZ5BJsmXUWur3XoAf1il47+1UFTM/jcy/GLYSFKzVAxOD9d9KudEeyCh7w82z++jxBQELrugQDf7UIIaezB3ZKdx3hHxeT9iG9eQflYZ49+KaI2I5kcyQ4DAdSEkAq/EtvzwmUE7QeE2TrdYZ2FxqGAzJ4tUjWG4oOcgWPOZF39lAxMKK3pRvYoYnDj1d4NDHw5i0EmvXanl+OiGLb3rU5cSWpxQVaTjMeGrW1kE9h8yB9NjKOG1HHd+sLwJWrXXIsXL1jhRdGHzipu+8IJuWcaDr7uy1a354tD6hRFfwBRfh8Bfrlh07+mr6qOjvn+Qd6KRdZR+ByFvCX3drR9dCSuUqQLNKgry3RpG+0reAHVFfGEiCjDUgiGdNrbq4X7GfCUA6jfAUrwoCIuwXPXawNfOkhm6e8Z5cHaOHuhqZQFhtkBwfWRutsUNOFr73mrWhkaAKpdbfscDOBbivNH20qqyqKqsdXdvlI12ZmyRqwqXC+BwAbleLDn4XH6PZjIbBufX1/mcGtRHk1BSyriCzcls+ZJ+9utXYBVRBfAJXJ31GnOWcdDL0DT09aUm6b93hNwDAztoYwOlkjEG3nUPJtApQYBQh4iitLoIgkAr4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(366016)(10070799003)(1800799024)(22082099003)(18002099003)(55112099003)(56012099006)(3023799007)(10067099003)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: zDivTpL5flA8c9w+uKB+Y0ojSz/BqBpa4c5fRiAKvfHiTGczrPxh6A1VI1ZmiMPcvwHYsUXNU67S91xbqv0wKp6aITsiF2DCWHFuECMZ4Qs+hqh0CX7QuUVU2xZ10GqpbO0K1PgX6lR776nz/tnaa58wJ97dsWJITye7Yp67FKgrG8FCm+mQmF3GlrRAo5Al/TknCNzD1w3apHizC9oBEb6V1vUunteZ0hsL+G/0+yeVHUUIHVB6KSegNCOVl+htdIn4XkdGqkId6mAH2OsHU6CZsFj1GjYUoMnEiOoxDO3VkcZzplvGsUmSwwPED5tAWB+uDDR+S/LrCZnQhWE+D1h1HtEqh7FdFVFLNTo5V67QuIq0J11K5Oyk/rbCMmLH1QOzwJzQDwBNGsBVkvnWDcmW6PGUNO7Ct6z0UQp4tyq7/xXk9zy8wC/JxrlP6lF8UPk+6YRQ960nzcL4nSe5V+upiEMcw5Q45qt4k22ttV15dwBJ6DJRh7qEf30xOP1AwZh2FQA3LLf2zvkptMlwQtw5xfy7rwQ5R2oecbOQ1sIknUgoqpztd4yd7gM2Ui4in0XCastgJVqmwe7V3Fnespsrx9WDRamBe6yJtNFyXcR5hBDEKuVG7C/yLmVCdrpxqxrxxk7whyZN5rBbDCh9dfNg96kGPS7EPlhOVejPueTJJa+Y9w7Newc6EOLiDUdwermjeA4X/hWXEwzIlOIiJCwI80lehT5jkUu6p0Y3TM2rLe7izw3HIV4gRLnln2hQSzXAd9sD3QJcX462wZ/QOvbU3bUgj7Qer5paHKTUX3xvobRYCsiTD/Zmr0WfyfHlD1w8Daz/AuKuf4umzdEsTnRZAE92yfcTucux+EvY8iavycunMR+8mXDzmbJF3u0CVDoOGKjZIVfSHUmXd1I06KMglCgFuKOqkNDLJPN7ucQZM89o7S77oMKHmfuyL55JB4DJrNde05ZubuD3tW041gPJY+kUhEpBQIDyZUDHx3QNP+8EM7pPs9aEkvV/it7BUtleq8CcN9DR9/KAS6Nmf/qSIdbKTfOh4UyJ/DjpTrsJXIHZHPgN9LScBuOvSp47w5j+EkHX5NyU4TZ0bYXeYwtyfqifLqrTox8mDYgEw66HbonbXkwi70S9E4TyNrij9fskXgYpLuFHsnAqAyvMjt+0g/IfTmY8hHlZCMx52SXQNr5GniHhdnwkrqBJDNSGCXN+F4da0p69uCzqwK7z4oggQfCZlcBhJ0pG9B5LiuJnon91Vuk6aTrPJvDSXOGg6FdlX/2zaoQaZE6cqhNSk041lwk/U9zXPZL34GQlb3W1OJ0vCf0ud85ajV2WseBFmuUN4A0mJxlBB1BExVYsAwKA7UGNoXRIvZ/KyDHrbWheD7AMBZdagoInAYGXuDhicgRRbp1xqhRzFBOIjZdRpb680lWIBvNPOfQ20NHH+WPeUgUkeaNs3GVMHQPEzzC5OfvaRJIe4N/h9KixD5F/rGbLQ7XyuhuChZn7/V+RvX1eEx5C/9u5vHufUrfoAfO2L+H7gtpzEYB32lvul98zzpocxbR61Xvi1u/ulj2tFXY0JbYXvLPg4ZGhTE/F8G/DT3B9n+9Ur+/rvVeVE7OAQdZ8DRpQvx1tfHA3UXcGO/DmQq8BYSSa9UCmw54yruSBWcTRHpt8ycJi5+xPVjPZOz5Rn5fz4dUwtPemGdoGLakYb8SdP5vn8DM/fwRbhEQA9yCqmYPnwW0fFl5ePcIxrRixoDICAidnJ7w/IiE5ma5ErxAcxjmmIjGFQDDV9ioozBfArHJx X-MS-Exchange-AntiSpam-MessageData-1: /+nv6Q4JL5HU5dPxUQtNKJlClkSw8NU8RzQ= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 60cc591b-56ba-492f-06bf-08df209468e9 X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2026 14:49:49.8098 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: U1qAD3iUJTRriQK38W4nhV5L1koIsQBrqTtK2ZEkNIRYSTCZiR2WRYJmckCkec4J01oEkNZdmzAMkpNXPFi2f32bDSFkehrXuoe12IGe5dA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR10MB3737 X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=h0NQSOQm; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::1 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= The sstate cache and the hash equivalence data should be kept in sync (in case hash-equivalence is used). For that, we a add a runtime option to also clean the hashes from a running (external) hash equivalence server. Signed-off-by: Felix Moessbauer --- scripts/isar-sstate | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/scripts/isar-sstate b/scripts/isar-sstate index 36a91134..d94091c8 100755 --- a/scripts/isar-sstate +++ b/scripts/isar-sstate @@ -49,6 +49,13 @@ files can be kept longer, as indicated by `--max-sig-age`. If not set explicitly this defaults to `max_age`, and any explicitly given value can't be smaller than `max_age`. +If `--hashequiv-server` is given, the unihashes of the deleted archive files are +also dropped from that hash equivalence server using `bitbake-hashclient remove`. +Note, that the command has to be called from a bitbake environment. For a local +sstate cache, start a local hash server and then run the clean command as follows: + bitbake-hashserv -d $BB_HASHSERVE_DB_DIR/hashserv.db & + isar-sstate clean <...> --hashequiv-server unix://.hashserve.sock $SSTATE_DIR + ### info The `info` command scans the remote cache and displays some basic statistics. @@ -145,6 +152,7 @@ from fnmatch import fnmatchcase import os import re import shutil +import subprocess import sys from tempfile import NamedTemporaryFile import time @@ -677,6 +685,10 @@ def arguments(): parser.add_argument( '--excluded-tasks', type=str, default=DEFAULT_IGNORED_TASKS, help="lint: comma-separated list of tasks to ignore (default: %(default)s)") + parser.add_argument( + '--hashequiv-server', type=str, default=None, + help="clean: also remove the unihashes of deleted artifacts from this hashequiv server" + ) args = parser.parse_args() if args.command in 'upload analyze'.split() and args.source is None: @@ -734,7 +746,24 @@ def sstate_upload(source, target, verbose, filter, arch, **kwargs): return 0 -def sstate_clean(target, max_age, max_sig_age, verbose, filter, arch, **kwargs): +def hashequiv_remove(server, unihashes, verbose): + """Drop the given unihashes from the hash equivalence server.""" + hashclient = shutil.which('bitbake-hashclient') + if hashclient is None: + raise RuntimeError("bitbake-hashclient not found, cannot clean hashequiv server") + + print(f"INFO: removing {len(unihashes)} unihashes from {server}") + for unihash in unihashes: + if verbose: + print(f"[UNIHASH] {unihash}") + cmd = [hashclient, '--address', server, 'remove', '--where', 'unihash', unihash] + try: + subprocess.run(cmd, capture_output=True, text=True, check=True) + except subprocess.CalledProcessError as e: + raise RuntimeError(f"could not remove unihash {unihash}: {e.stderr.strip()}") from e + + +def sstate_clean(target, max_age, max_sig_age, verbose, filter, arch, hashequiv_server=None, **kwargs): def convert_to_seconds(x): seconds_per_unit = {'s': 1, 'm': 60, 'h': 3600, 'd': 86400, 'w': 604800} m = re.match(r'^(\d+)(w|d|h|m|s)?', x) @@ -776,6 +805,14 @@ def sstate_clean(target, max_age, max_sig_age, verbose, filter, arch, **kwargs): print(f"INFO: found {len(siginfo_files)} siginfo files, {len(del_siginfo_files)} of which " f"correspond to old archive files or are older than {max_sig_age}") + if hashequiv_server: + # drop the hashes first, the server must never point to artifacts we deleted + try: + hashequiv_remove(hashequiv_server, sorted(set(del_archive_hashes)), verbose) + except RuntimeError as e: + print(f"ERROR: {e}") + return 1 + for f in del_archive_files + del_siginfo_files: if verbose: print(f"[DELETE] {f.path}")