From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 04 Nov 2026 10:23:06 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-yw1-f186.google.com (mail-yw1-f186.google.com [209.85.128.186]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 6A49N4Hk000493 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 4 Nov 2026 10:23:05 +0100 Received: by mail-yw1-f186.google.com with SMTP id 00721157ae682-88322409239sf7548137b3.1 for ; Wed, 04 Nov 2026 01:23:05 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1793784179; cv=pass; d=google.com; s=arc-20260327; b=O3rHkxk0kflK95/6/1Rx5v4CEvI8VaU1TpmEAeOyj96m1eCuCn14GZGoBpaIRLCQSw zMCbDf/gwz2G8e+KgLJobs2ePeevA8uEevDqfDJr0MIHqnRvqQ6lvh97U1N6MeuSLtfF 5aWONMVJS+YOIaxN100YmcYKv2JmnUWNxwOowIFKQ85KpRDZLwDjiJBXnaTUT3T7XdGN 045+Rb4Q0SG7av9W0aIIUlOfLR96kJ2+armRsjzf2YsIcJMTniR8JSb3oA7e45bussK4 IvBF5sLFWYFewsI9FLWsq3ex/1NmrcYcH++NKrA/HQDaBLB1BQ+nHQm9LS0PkpvJAuX3 y2aQ== 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=eO0rjY4+h4WrnI7RSKVpSgPKzs9FaWQbU27rEpwFomY=; fh=L6VKH8s70aw1KE6JSxOVUqQDC4EFQchk0aVarCxhEb4=; b=JR1EYOCMTuWt8I/Z0SPd6CY/HwEOW6kymfuWU773GDEglXzMZPhMUKh8+B9aUFYPim ZUbBYuwOoS/a8D6E18QrxIt6ZtCQJKAYnSCL3g3zb5RyrdqbA3Fk1YoCI+fYn4BO2/VE EVaMPnR7eiaE+9Yd/oLn10fR7rGTJ+zjXRooVhazF8mEQKcXn7g0fVFBehBZUcWXH+EN 6wF2YjXLy0mZvLm89wZCsBdWYjw4uioimfmc9MQO4FWKBV8g2lHxXxdZxRb65S07ZSyW vwo0IT3U7CHspHAJE6x6oYJ7yTY6xryHDi5AjommQqlVBFUEpxS/McBTI/DQ8cXJ3+XG RzRw==; darn=ilbers.de ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=fYIIdvoE; 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 clara.kowalsky@siemens.com designates 2a01:111:f403:c202::7 as permitted sender) smtp.mailfrom=clara.kowalsky@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=20260707; t=1793784179; x=1794388979; darn=ilbers.de; 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=eO0rjY4+h4WrnI7RSKVpSgPKzs9FaWQbU27rEpwFomY=; b=NBrqk+aIi2kJ1phecCsy8QuL2Rkswwv8N7laBejyQy1QeqA/AHfWGuxJHj5utUCzT7 cCF99rdHlAlHXeUp0tguXBfi/j+zAytBkS1cKNmxwXqK0OM2tFuel/WJ0+cC9Pfd161M jtL2XQYADbSdiUmIYaLrYbrzthzCKpwGNfZJfvKstlYfg9g8gARfLLfKerd3umjCLhJx 5LHM0DGcn1PSUGxiMwUr/hZPhwoC25ACs+Dhkd0Pgc/5ZyVshlSHRZJHyPIRWzyI+Q2Z deR3sPUth9fAJGTbs2l3UZxoh1TDeVcoZN5JavdUZRHs70f75ZgA0p09sTQgnSZEjhvu tang== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793784179; x=1794388979; 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=eO0rjY4+h4WrnI7RSKVpSgPKzs9FaWQbU27rEpwFomY=; b=SKL6c8HOVG9tzomHpmIOHS26craxAwDYRcxnsEMz9GJqkqbfi2FC0VtANoTmvmt3Mp w3lKhPE7KtzuZUUp9AfiaADpLYJvxcdSHiRcSaF6RGSs6F3VVQlnLO6g5zdcDjkyH4bz vLv+2cHYItjILgmtGQ5O4ltrbtJk1OBh2QnJ6bWhRWNyQkrlasjzq/UXfjKSjMi3X/Jv LZZTDcpvp51FQ2yZeba95AYjVIzkQbotb5EzXEJciXwj95axQ4KwmsbxVw5jg2x81tN8 xgtL7wDEOU61VScMqW5ry7hcFdfSJAqtM5XY/+aWVasRZzT5uFvda7zzren/N+1SfOQx nhZQ== X-Forwarded-Encrypted: i=3; AKwUvBxvZ4CIzWvRhvt2dC0SBqqGnq1BKDTA7WAXk4VvRtfIXN61Tz7Amq7cvLSvXnTgTp3ED2u6@ilbers.de X-Gm-Message-State: APuU4Z9n1x/RcOqBVYDkogo9xwZybrOkSY0oAlrX6/MMlY1xaus5DpSJ c6+SAALlikxAF3TMqkzqYbdx3a07B5ZO9Wye6OeI52vUVtPKWXHDu5NI X-Received: by 2002:a05:690e:13c9:b0:677:b7a7:ba38 with SMTP id 956f58d0204a3-67ba4c806b6mr14030432d50.14.1793784178982; Wed, 04 Nov 2026 01:22:58 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="ATskLddE96g2VV+HHA/1y9VAYuil2Ue8Esf6vrhHSRNJCh3WYg==" Received: by 2002:a05:690e:400a:b0:668:220d:e7e9 with SMTP id 956f58d0204a3-67bed33ba11ls636288d50.0.-pod-prod-02-us; Wed, 04 Nov 2026 01:22:58 -0800 (PST) X-Received: by 2002:a05:690e:bc6:b0:66d:1877:121b with SMTP id 956f58d0204a3-67ba4ed9d6amr12512784d50.32.1793784177936; Wed, 04 Nov 2026 01:22:57 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1793784177; cv=pass; d=google.com; s=arc-20260327; b=B2g+jCV81op1z1gMVcpPyg3OqSxfa6cJUm6CkM7W8ZMNcvUok6OEoThSQDW2HsxsP5 LvwebGD+K1Jx8/BBd1bCOHljkrlSsezDjVtLWS4y9/xdImZ6m893PXOY/E8dY1I8AUj6 UlgArxKQdKexM1YuOyC7DQ+XPFBxdAqXrnHGIboUibnbV4nCo6H1BIkklbrjQVSwhWHR bUkUbN1OVLzl8qGV6H2edEXgcElfvTUvbj9CecJrtpTuJS7NWYvTLtJ6Zglz8GKf/RH1 9b/y5VkgaY97dFyROEZfO/LlLDPklGIxzqagxmRKSShfHDMrPaRdGEeIJDK0yXWTobsq n/jQ== 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=XNbfOhuCWk0GmcnYyQG1tVH01OxJLYSXTQ5fhyxQedg=; fh=AqT8zD6jUs4YP+XkSwmnbRYu3wrat9Vyg/xvm1MGQCM=; b=k23jETFmCK2CICfz3JMpWBhNMK756281pKUxh8CYw+rrKR/m+1rKXV+vlBf9s6N1im +fFCUYBlBSwnxTimohdeLdFYAEh28ZmJngGJLK50q0JAWkUZtcDwZIqmU4eXnKB6q2WP 5d7wOx3mL4mtLmZ+j6IDJgeBYGcUJck4k2ynlRsy02p1BccVQV0p9eRtLFzdgEUMpQYn Ki14smaTxG708aUCRCtk06YZfuebxxGQvUAoqkxzo9pFsJpnNXUMeYx7A6u620KHKD92 yXJez2HwOnDpbTszWI3KvV7BGSVZa+yhuLvZQWq0/KrBD5bRiP+v/S2mZipbwQJqXi56 Ik9Q==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=fYIIdvoE; 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 clara.kowalsky@siemens.com designates 2a01:111:f403:c202::7 as permitted sender) smtp.mailfrom=clara.kowalsky@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazlp170130007.outbound.protection.outlook.com. [2a01:111:f403:c202::7]) by gmr-mx.google.com with ESMTPS id 956f58d0204a3-67bedc43846si45146d50.0.2026.11.04.01.22.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2026 01:22:57 -0800 (PST) Received-SPF: pass (google.com: domain of clara.kowalsky@siemens.com designates 2a01:111:f403:c202::7 as permitted sender) client-ip=2a01:111:f403:c202::7; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=W+RKkuEk+I4S7hiSwgIVxn7MZ9vWvNNEldoH8dq4mQ9ApAhN9/GmLUTDOpc41KSB94JL/mZ0oOIQigpm2eEbTCJbsdIe7khhOfgc3ZPIySYAumSRF4jF5lS3NHxQvpAyBR9y3s1id19Jfo9N5EBOdXo60m3iEHGIUdWwM9eco1m6jT8HoXGwyX90DAJEYyj6vUzQSzmuN+5sSUgdpZT/HbUriACQS+eUhdC49ql49Vlip6TAvYErcK9y0BfsJuEDZo2tYuGQF2Ihu1ByRJr6kGB7yn680iNNuEu41OWzkJ+OexZLEmKLaUj+u7gdqESsxt3iyQsoHnRTsvW3IRA3TQ== 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=XNbfOhuCWk0GmcnYyQG1tVH01OxJLYSXTQ5fhyxQedg=; b=oI285MxTzTXvV6KjvSlPYQmeLC/HTDkd6UTlc8hejcGc0HVGvLDcnAAAzuNEdrLBu5vaS2C/GISAXNmZdRe8TPf15hT1KMpq2ELHaayF/74aGgBIQ/Nzg1+B1/rJaqff0pUQhyBCumg6fa33wqZ0f1ak3nu9B1zDWT1ybhnl6SOKq5Rtb0kqRCZDPVoYnT0L+KyE0WOACyXKS2VY+Bbx0ox88fesLspR9kYVpbtAT5mYNZc1RFEzdEKakAZL73XCpt01Qsz06d6IfppUFF+UgyUp6CSbbCGewN/ZLDRAi2KXY5loEwFD1C5hdu8SM5Bs279FFyziA+KCKqUaZiIEig== 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 AM0PR10MB9645.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:740::12) by VI0PR10MB8404.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:800:231::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.592.9; Wed, 4 Nov 2026 09:22:55 +0000 Received: from AM0PR10MB9645.EURPRD10.PROD.OUTLOOK.COM ([fe80::527e:14a7:bd3e:86be]) by AM0PR10MB9645.EURPRD10.PROD.OUTLOOK.COM ([fe80::527e:14a7:bd3e:86be%6]) with mapi id 15.21.0592.009; Wed, 4 Nov 2026 09:22:54 +0000 From: "'Clara Kowalsky' via isar-users" To: isar-users@googlegroups.com Cc: Clara Kowalsky Subject: [PATCH 1/4] base: replace BitBake's outdated persist_data Date: Wed, 4 Nov 2026 10:22:12 +0100 Message-ID: <20261104092215.3567061-2-clara.kowalsky@siemens.com> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261104092215.3567061-1-clara.kowalsky@siemens.com> References: <20261104092215.3567061-1-clara.kowalsky@siemens.com> Content-Type: text/plain; charset="UTF-8" X-ClientProxiedBy: FR5P281CA0050.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f0::6) To AM0PR10MB9645.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:740::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR10MB9645:EE_|VI0PR10MB8404:EE_ X-MS-Office365-Filtering-Correlation-Id: 247a0688-f6ed-46e9-dfc6-08df3a5534ef 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|1800799024|10067099003|22082099003|18002099003|55112099003|11063799006|261026140227099003|261022105027099003|261102123227099003|56012099006|261026121527099003|261028144727099003|261022075727099003|261021121427099003|261021123027099003|261009223027099003; X-Microsoft-Antispam-Message-Info: P/BVcZxX5nbEQWkHhBwE4NlpwtMiKFRK58HUKFcPTByvn1VnUP/0K1yMKjzk0SidXwxoF4apvKBVI7VBKpyNLP0hM8PkbUYJZwCyS7Ghc+NnErFeWBrlBTDTJ8tai6se9YZjNFF+f/v0uTZ5xSKzE3bOpgALLO1nlPr5S4J/BbrXwSrYv+kv1DdYbfSMP4oGYuF4nHoACZhADVN/iD7ZGxjf/Fq/XVwPilRZmSzR7xHYczsYk2eR+7t9YAHnjdEhzkk2iXHhXwr7VozRv/ro/+2A7CXyXQnqi9PxAd3dxr3Sh7aj+B6OOTKcb2J4j7me4zQoQ3BFu+K0k1DzSd4d1ZvVwmaYIRqyBEa0aXaxHmcYsUtCPVu6RZijY559P8oYHvtOaDRtodqLlQJPbyOIkHHqa1n8c/UgBxaAhEEsvywuG28qSAy3JzFlw0fpYOsx5ZJwkimB3WBmsvEgMQG9jjAunm1yL0VrUc7MMZfVbj2xNNTlDmeNYRZJVAMFIJaS9GFq8ZytyYtFnhX5eRDpIfrb5VJ0470JRfoOjCyeDP1KERX5xVlnpz8xu77oYjDTXfs34J9nJRudXNdN7q9KHiCm2V0yECV8ioTkrF5ZYQqfynBsLVVrvSylkXhBDrq/lHjWD7+HNS6ZcecQoitP3RRaJJUeReewTgVjsPHfF/I= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB9645.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(366016)(1800799024)(10067099003)(22082099003)(18002099003)(55112099003)(11063799006)(261026140227099003)(261022105027099003)(261102123227099003)(56012099006)(261026121527099003)(261028144727099003)(261022075727099003)(261021121427099003)(261021123027099003)(261009223027099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zfmZs5rrI0RRLYVd/FOsf3qsy4iEwlDpuVjUViEGomisT60ouUbWwAJrKMGY?= =?us-ascii?Q?/xnxrwY5KpWBCvSRhGtRRw9Q3WO89Z0QDPSCtD/5za+jnEsO+E+TmDiaktqv?= =?us-ascii?Q?sWupo1zMC8p1OdHxIyZ+iBYJXRKlOgyDNmXnE1qpZD7s/g5T+N2PCU0GXYFr?= =?us-ascii?Q?beMpW0fNvysU8BR23xIi6yzxLQO3th0jLcJTLcWUzfP4do4BdpuITOKBZhh0?= =?us-ascii?Q?RKccH3SeV4JrhhDnBzH/67lGGjF1BNAfboTltO1GvflNmKv/ENc7foo2pi+5?= =?us-ascii?Q?lvJMtoUh+q+KFgIvNAcfljKqo7kKXVyHhznTHZpXvpW7MvBvTyJzOZPeJTm5?= =?us-ascii?Q?6cxFcM78DKjHQyPPpmr4MwCZ0AkvlPQh7sl/ILMbFpRrZo7FlDxAJdoJc94g?= =?us-ascii?Q?VR1Hb+z+oDbqstpknvHQTnM7SvlbTk1FqR995r+NevgBSVKJ//T10wWDrP3z?= =?us-ascii?Q?S1AlqlywhPFN5zVXQtViDBJmOzXPU/ufZuW+vqHhsyRPZudrNJomoVzwpJh3?= =?us-ascii?Q?8NlKxo2FWKmmz3B1hq+oNfeiMqmk1oSvLbygHxhn3NpTM9sISafkd3WBLfBb?= =?us-ascii?Q?DUXIVi7zXmFZ9TLkVPKuM2OnUZDg9W32ryja+4Bm8wMMQFuFPOvYhC+OC8hy?= =?us-ascii?Q?pNewMRvgJlQxxtorJeVzpbnGQrPy6+6tWWMvlUA1sNLDvWH+p9CC4jTNnUbb?= =?us-ascii?Q?ViOXMkRKHXOG2DlM+jhUftSt84pISJBKV6m34sslgz11TAO72qWnmaAKDwzv?= =?us-ascii?Q?RFIID4ZbeEHMuAgmb4epYEUaHgxpmLdkX6yXCMO9STK5fiXEngSZzuTtjHg/?= =?us-ascii?Q?dD6k+XzBtuenfvlAjaN2g3sL/zQuhYA6rv6ZQItXBoK6L4RgE2ypLX7RYn9C?= =?us-ascii?Q?rUlAFN7F4A7Mo5OMmS6y/pxUkYoyrwbbEtehDEMCGwBjJ2+qsI7DvHwRejTr?= =?us-ascii?Q?YJUSF/1/9SaItdsVrtYbd7X41axs/HXzcxZD0tDgMDRLa2PaZXkA+aiDTT0+?= =?us-ascii?Q?zWKo3XIlXZJV4HwDL8ewbFibVhQJh0zQ49KEyVBUvYKvApH3j6RZ5mHQa9+d?= =?us-ascii?Q?SHFquQuyL4kE81Vx0mRX4xgnaALHoriItu7Y5AwyVddOAh5lgMk3WF7DtWER?= =?us-ascii?Q?vQ7+s+vgZHzsGDunBGXXJZ+aK6MMsu4+ta+getkd+f/uREA2Gk6WrZJo6Fc9?= =?us-ascii?Q?5RloyTXEvK+s5pTY58gjKatsmILWulwpwv5Vc/76CBkG1qySgWldLILHeTRo?= =?us-ascii?Q?88Li2xGdgh/VWVemmMME4Bz1Mi4U4N9OVnpwm6Du6cHH45Q70+pIeNAcRP8K?= =?us-ascii?Q?ROrcUu4U4HyRTn+hxd9bCigGNQSCCZguWxipbJC4oZNCOTd+OTBF4vyRTHqj?= =?us-ascii?Q?tuzqNiBYnYEelymlom6sSEMDgOOockT03Jk59Kjt0qnMldckwWbzaI6plMk8?= =?us-ascii?Q?/gabFIDaQb/NBRyxHJPy5yyEFd0hw44tHDk2ercGcm2zzKsY8ZBQp8jqudPL?= =?us-ascii?Q?H9fPlCcq8yMpjP8fkjueL4RqoEFVI+D7kntDFqVR4kAtk9iiK+Aew/dzKnJs?= =?us-ascii?Q?W8KWVWn9aMmfIwcTA7o876zb/BZQfd81Ba09Iz4bhBy6QkO2adbDf8fxzr6o?= =?us-ascii?Q?28/TB2FnlCH5FGUK2jHp7phQUgcOfTyEJwt1/D1Y+wKDO1yVhp3akTc0cs3K?= =?us-ascii?Q?CRoAfTUuW3oIQO1YBHU3nC2RcVMws7Rj+FFbq/n93vq/Pd7PbCA7sweY2U24?= =?us-ascii?Q?2qYAX+2BUVJRrox0fwn2HfJN3vSFUKg=3D?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 247a0688-f6ed-46e9-dfc6-08df3a5534ef X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB9645.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2026 09:22:54.5298 (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: nMYwy3ttKu0fNXdQ/gAoIdC1GGTj8ZMh3wJvVMPoaFWeKepjbgxmbXXMXz4SkF4u1/kTMEeSGL6cKt8gj02IqBeaV2Wro7GfbW1wHmHp1ic= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR10MB8404 X-Original-Sender: clara.kowalsky@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=fYIIdvoE; 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 clara.kowalsky@siemens.com designates 2a01:111:f403:c202::7 as permitted sender) smtp.mailfrom=clara.kowalsky@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Clara Kowalsky Reply-To: Clara Kowalsky 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-TUID: VoNF8pRz81KQ Isar uses a persistent UUID to distinguish build-specific resources, including sbuild chroot names. The UUID must remain stable throughout a BitBake run, so parallel builds using separate PID namespaces do not clash on external mountpoints. It must also be shared across multiconfigs and cleared when the build completes. Isar currently stores the UUID through bb.persist_data.persist, which is removed in BitBake v2.9.2 commit 681a7516 ("persist_data: Remove it") from October 2024. Persist the UUID in a file under PERSISTENT_DIR instead. Use BitBake's file-locking helper when reading, creating and clearing it to ensure concurrent processes share the same UUID. Clear it on the default BuildCompleted event, so the next run receives a fresh UUID. Add unittests for UUID reuse across calls and multiconfigs, cleanup and concurrent access. Signed-off-by: Clara Kowalsky --- meta/classes-global/base.bbclass | 25 +++++-- meta/classes-global/isar-events.bbclass | 2 +- testsuite/unittests/test_build_uuid.py | 89 +++++++++++++++++++++++++ 3 files changed, 109 insertions(+), 7 deletions(-) create mode 100644 testsuite/unittests/test_build_uuid.py diff --git a/meta/classes-global/base.bbclass b/meta/classes-global/base.bbclass index 3d5d1c12..c61e59b4 100644 --- a/meta/classes-global/base.bbclass +++ b/meta/classes-global/base.bbclass @@ -341,12 +341,25 @@ def base_set_filespath(path, d): def calculate_build_uuid(d): import uuid - uuid_data = bb.persist_data.persist('BB_ISAR_UUID_DATA', d) - if "uuid" not in uuid_data or not uuid_data["uuid"]: - # Generate new UUID - uuid_data["uuid"] = str(uuid.uuid4()) - - return uuid_data["uuid"] + uuid_file = os.path.join(d.getVar('PERSISTENT_DIR'), 'isar-build-uuid') + with bb.utils.fileslocked([uuid_file + '.lock']): + try: + with open(uuid_file) as file: + build_uuid = file.read().strip() + except FileNotFoundError: + build_uuid = '' + + if not build_uuid: + build_uuid = str(uuid.uuid4()) + with open(uuid_file, 'w') as file: + file.write(build_uuid + '\n') + + return build_uuid + +def clear_build_uuid(d): + uuid_file = os.path.join(d.getVar('PERSISTENT_DIR'), 'isar-build-uuid') + with bb.utils.fileslocked([uuid_file + '.lock']): + bb.utils.remove(uuid_file) # Unique ID for this build, used to avoid name clashes on external mountpoints # When running parallel builds in different PID namespaces diff --git a/meta/classes-global/isar-events.bbclass b/meta/classes-global/isar-events.bbclass index 15bfdb99..cfe6d7dd 100644 --- a/meta/classes-global/isar-events.bbclass +++ b/meta/classes-global/isar-events.bbclass @@ -85,7 +85,7 @@ python build_completed() { bb.error(str(e)) # Cleanup build UUID, the next bitbake run will generate new one - bb.persist_data.persist('BB_ISAR_UUID_DATA', d).clear() + bb.utils.exec_flat_python_func('clear_build_uuid', d) } build_completed[eventmask] = "bb.event.BuildCompleted" diff --git a/testsuite/unittests/test_build_uuid.py b/testsuite/unittests/test_build_uuid.py new file mode 100644 index 00000000..374cce64 --- /dev/null +++ b/testsuite/unittests/test_build_uuid.py @@ -0,0 +1,89 @@ +# This software is a part of Isar. +# Copyright (C) Siemens AG, 2026 +# +# SPDX-License-Identifier: MIT + +import multiprocessing +import os +import sys +import tempfile +import unittest +import uuid +from pathlib import Path + +root = Path(__file__).resolve().parents[2] +sys.path.extend([ + str(root / 'bitbake/lib'), + str(root / 'meta/lib'), +]) + +import bb +import bb.data +import bb.utils +from bb.parse import handle + + +data = bb.data.init() +data.setVar('BBPATH', f'{root}/meta:{root}/bitbake') +data.setVar('__bbclasstype', 'global') +parsed = handle(str(root / 'meta/classes-global/base.bbclass'), data) +namespace = {'bb': bb, 'os': os} +exec(parsed['calculate_build_uuid'], namespace) +exec(parsed['clear_build_uuid'], namespace) +calculate_build_uuid = namespace['calculate_build_uuid'] +clear_build_uuid = namespace['clear_build_uuid'] + + +def calculate_in_worker(persistent_dir, start, results): + data = bb.data.init() + data.setVar('PERSISTENT_DIR', persistent_dir) + start.wait() + results.put(calculate_build_uuid(data)) + + +class TestBuildUUID(unittest.TestCase): + def setUp(self): + directory = tempfile.TemporaryDirectory() + self.addCleanup(directory.cleanup) + self.persistent_dir = os.path.join(directory.name, 'cache') + self.data = bb.data.init() + self.data.setVar('PERSISTENT_DIR', self.persistent_dir) + + def test_uuid_is_reused_across_calls_and_multiconfigs(self): + build_uuid = calculate_build_uuid(self.data) + self.assertEqual(str(uuid.UUID(build_uuid)), build_uuid) + self.assertEqual(calculate_build_uuid(self.data), build_uuid) + other_config = self.data.createCopy() + other_config.setVar('BB_CURRENT_MC', 'other') + self.assertEqual(calculate_build_uuid(other_config), build_uuid) + clear_build_uuid(self.data) + self.assertNotEqual(calculate_build_uuid(self.data), build_uuid) + + def test_concurrent_workers_share_uuid(self): + context = multiprocessing.get_context('fork') + start = context.Event() + results = context.Queue() + workers = [ + context.Process( + target=calculate_in_worker, + args=(self.persistent_dir, start, results), + ) + for _ in range(8) + ] + try: + for worker in workers: + worker.start() + start.set() + values = [results.get(timeout=15) for worker in workers] + for worker in workers: + worker.join(timeout=15) + self.assertEqual(worker.exitcode, 0) + self.assertEqual(len(set(values)), 1) + self.assertEqual(values[0], calculate_build_uuid(self.data)) + finally: + for worker in workers: + if worker.is_alive(): + worker.terminate() + worker.join(timeout=15) + results.close() + results.join_thread() -- 2.56.0 -- You received this message because you are subscribed to the Google Groups "isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/isar-users/20261104092215.3567061-2-clara.kowalsky%40siemens.com.