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; Mon, 09 Nov 2026 10:18:41 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-qt1-f189.google.com (mail-qt1-f189.google.com [209.85.160.189]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 6A99Ie1Z025597 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 9 Nov 2026 10:18:41 +0100 Received: by mail-qt1-f189.google.com with SMTP id d75a77b69052e-53639e47be2sf13099091cf.3 for ; Mon, 09 Nov 2026 01:18:41 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1794215915; cv=pass; d=google.com; s=arc-20260327; b=Slowy7r9w2WrHlLsMmL2H/QM1EREinfZGEnTeFjSpR8T6zvDjhs6RSOgke5xCvrhdv xRMxFPLT3A33DhwV0hVdk1tjowhUi5VFKS1WE8a0q4ACN8z2tcxh+09YxoFO60Afyy8q MmqqhzpMyG494dy5QotzY1YElQNcZSwyfFyJDIP/cMLy1lTvqvjGg0ASrvVBmzxJSF2+ bBdQSqc5hJphy5MEUGAB8mO+/278JRyUC0FNYVmnB3gbKQQPBCK78+SlAnJ7ZFECgmoA Gn6TZQHW5oa3cRUSRMu88EoUl8zc90cdQwNUzD1QkPD8nmKvdx5Om8ShxglKsatmoJ7U xPrQ== 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=9RR/Gr6lzW2ghTMmh5XnF9s/zzDQzh//xQ4KtNdNuqc=; fh=NtIrs8RZKAiryXBvEKCbWO/wvZBZC5IKgPIzUpLpQMA=; b=bkRwTWIAziU4BA8g5U+Fgv3PAJnTC0iQhYfg+jcptA2+34SjxWUq8OIQhTyw4dTRnc G0Gi5nlFVIdefBIiWDJyjKnevE0dZrVhHDQIsWTeJXyltZqna9se3eyYu7WI4WSm9Fpf inXWoEnY+NcdskCwnNvAqvJRy/G6XGehGMf1vtvAIalrNgI9bATqdtK8ydCO/1uX+2e2 JpnjoP1c/rvn4I+a5un7QfwouqA9muFQqQaj+3ekVTMyMribH7uXSkXz2vNjW1/U9wUx J51gN7z7RxJkx1LnQ3gx9AcWpZh7AwgnpHny8hs71uAVo/ubd1x4vh9M/RTJU3h5OQja IhXw==; darn=ilbers.de ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=dT8QsTcz; 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:c201::6 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=1794215915; x=1794820715; 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=9RR/Gr6lzW2ghTMmh5XnF9s/zzDQzh//xQ4KtNdNuqc=; b=KGY38vW+1nqA4f9o/ejKxkGM0TBbcVKDrYuXRf3/DGj9xyas78+7EPdfLUzUjB4qSp kiwmSLW9NzNcjj6YaiMsH4eC2Q5G+ZbXOgX9aj+4Fi1zaa8UscZ+q5A5mmn/WjvCQ4SQ KPAuyy+u+fpRK3l01o8PP5TMmS/QRWyYqJs4vNiqen6MR4ri5YMveq71UA6x+omlLEL8 BHplEVjTIA16jAGZIjzrcqLUYr62A5K4VfM7cPbRmYeLJUQMdepSnY28vXl+Q/KK7sH/ j/ANDnCIQjfh6vm1Fj1bGi4NeFIbNNLkXtZgpNN14cJxvMHbVWDQ6xrgpWT7FcozI7xK W/JA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1794215915; x=1794820715; 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=9RR/Gr6lzW2ghTMmh5XnF9s/zzDQzh//xQ4KtNdNuqc=; b=AWSYs/uov3nV/sUqEUiwd98TWK6ete+NqnTCJ3Sa5s2Fe8qPQdrSij71I3dvL/fgqE WnnkBaU6s3hf0qgLBsrzquNoYaThRgWx3GbjF0KnBUiXVmHj+bu4+1zR8a5C3gPSWemR lO47Xl/4BiUk5s9QOpnhcVDcgxkEugEHiHcxukzB/3HdLq5eQ/rgZPXbyYkPC2GrZJRz /6OHKIlJKhhkd3y5RzKymMPNuKXcL2/ex8aD4Zx9ebdJO+cAkwZ+WVpCiGrJ7XfGA1f6 GfFbOwUpE2rl0uQbJ6SBCvomCzhJX4eugxCfdYuP7bufADhCtS7hNv2a6zXG/ruiwzmT fCkQ== X-Forwarded-Encrypted: i=3; AL+hErFUvS9s+cC5g+f3vFtkH83hR99dxVhnhhmb6FOhwGQitq3dtqHc7me4X/TDYRNNUMQGu9R5@ilbers.de X-Gm-Message-State: APuU4Z8sEKIi4SZ4bpHHYe8kbpghDMbkkidN5Y/gmQcLekj3VpKh+76/ 0JHlY/qqfRuivldC0fSJ+0lDLW44EV7lvcnew8UABy8V20h2zZJxixFv X-Received: by 2002:a05:620a:46a7:b0:947:7f9b:f839 with SMTP id af79cd13be357-947842440a8mr516372685a.47.1794215914916; Mon, 09 Nov 2026 01:18:34 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="ATskLdd1bqbDk1EcQl4/z3DkgXSBSBwbHZI/Zc5WtIHoLCp5Bg==" Received: by 2002:a05:6214:f2c:b0:91e:939f:6611 with SMTP id 6a1803df08f44-91eccaf6ad6ls34917036d6.1.-pod-prod-09-us; Mon, 09 Nov 2026 01:18:34 -0800 (PST) X-Received: by 2002:a05:6123:4a:b0:5ea:be1b:1b24 with SMTP id 71dfb90a1353d-5ece7248f0amr1049325e0c.13.1794215913835; Mon, 09 Nov 2026 01:18:33 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1794215913; cv=pass; d=google.com; s=arc-20260327; b=mxGWY4otE0xJTBlEogh+rTKBdR+QlwBcfG/dZRbQSceeewa88DsF0RdY0LzKF8+RKt XDLNGKpSSegcvvgzNqjdwo5R/SSStFvuq9RGZi0MHADcCRf7JUrXYr4yhk4T3+2jkFiB 1iC/tPfehsdSSsTBgxu9wS563YfNcNYQO9szbOQhe8Q9GqDG431kkOmaEad6S626jvLn 5KUgNT3NCTkZCTlHp9Me1ZfoZxv968rLGxk2V3qyoG/4+1lY1fdOhGx2I8GV3rc2xzUr RBkZkfJDT+Ov3mxcTXaSdd44Tc+xcukBCsXi6+cIPuAIeyCu6rP+VKDw65bvn07A1QeZ lxbw== 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=I696JiT9nSIGU+62kU6I2rYte0LFwa6fSdCRv1wCEJI=; fh=AqT8zD6jUs4YP+XkSwmnbRYu3wrat9Vyg/xvm1MGQCM=; b=XsinbzHIY2XBEnnT8IcvIwxrr00IGuV1kNzJ1NIrz/waRD72ezSaLgrF6xKLX5gSJ1 cFbAVcFRslx/DjR9tAr+ujXdXq6QKBZW0rIGuRjOiGHxrh/bnc2xl9rf7K+gbTT7tTV1 t/+J5uEtbJfDpLoKLxpWt1ysnNdZmgyOzppt1f6HyQ9xzQczG0OkJ+FkLPLXMVE30Hxs hxls37UgYj2mJU5TAXQbB+PKngCUKIL++EjD/8W2BVo7vYQ6Rg1f9KXKShFjIgccfkJB oifrD9cn2pk8NVT5wRC6PAu4qfu4gSshr22PuZPulQC4TMHVNUXRvz6kxWimfiZ4W/3o i0IA==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=dT8QsTcz; 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:c201::6 as permitted sender) smtp.mailfrom=clara.kowalsky@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazlp170130006.outbound.protection.outlook.com. [2a01:111:f403:c201::6]) by gmr-mx.google.com with ESMTPS id 71dfb90a1353d-5ece60abe70si104599e0c.8.2026.11.09.01.18.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Nov 2026 01:18:33 -0800 (PST) Received-SPF: pass (google.com: domain of clara.kowalsky@siemens.com designates 2a01:111:f403:c201::6 as permitted sender) client-ip=2a01:111:f403:c201::6; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=u9y50ldbOPZ8UFEsuaUIASWOx0tqdgSHr8aws0z4AiV94HfFQybRzVgXMupE5c5CU6Eb0l1Uwf15vZCKErX9HmCXNGESQLdQHtE5cTj5t0ipDaYpGVn0vdAVmCfAMUKmlMCJRB7TfTIfDmUyembxAIKYezOx9xYx6uBIdy4N8QOF4z4/n5bTI5yHHztSniilfbuAaFJI+dfW8SQWZxLcTSmxdGavj/42NiyaZYmZag6RX9XXLACgDOJJ90yJD9NfIPpMGiXthVN1ZTTZjKRzgFPZ1HEVyZSuqM36sbJLZc48EaS7qepnqro4VlqIKFLa8KBTLraOFzXCIO6z3FH66w== 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=I696JiT9nSIGU+62kU6I2rYte0LFwa6fSdCRv1wCEJI=; b=mEOzIneXV7Kaiey4+W+P4nKxNPK2BDELIclNqp9aBFqAHWlNWlaybD5XTjidSAuS0V1j3Q6v6RgD/VKTsv+1eC+3VYpNhy57nHQgfgRBg04MbPKhTfF9OYFbuJljBjgvD7qbrqZqfXJ90KGd9quEjGnEnpgiGUGgCC9DAriB+1jKgPAco44FGwj65/Z9vbSwyxHtsU/dcZBxCmmLEvzBrIhmZylwpzImH1CEzQjQOHEPdWgzUsDMckF+UluZdCvQLM7zyLVTwBA2pzj+D5aK3D95+MVKwDiHvp9vVeJ4ytjS3ZEhmKO3/BacTn18O+YM2Iep9JKc/Om17q5SygbPBA== 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 AM0PR10MB3298.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.615.8; Mon, 9 Nov 2026 09:18:31 +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.0615.007; Mon, 9 Nov 2026 09:18:31 +0000 From: "'Clara Kowalsky' via isar-users" To: isar-users@googlegroups.com Cc: Clara Kowalsky Subject: [PATCH 1/8] base: replace BitBake's outdated persist_data Date: Mon, 9 Nov 2026 10:17:54 +0100 Message-ID: <20261109091802.202521-2-clara.kowalsky@siemens.com> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261109091802.202521-1-clara.kowalsky@siemens.com> References: <20261109091802.202521-1-clara.kowalsky@siemens.com> Content-Type: text/plain; charset="UTF-8" X-ClientProxiedBy: FR4P281CA0130.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b9::18) To AM0PR10MB9645.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:740::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR10MB9645:EE_|AM0PR10MB3298:EE_ X-MS-Office365-Filtering-Correlation-Id: c9d9cf6b-4a9f-47ce-bdc3-08df3e426c27 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|11063799006|56012099006|261021123027099003|261021121427099003|261022105027099003|261022075727099003|261009223027099003|261026140227099003|261026121527099003|261028144727099003|261102123227099003|10067099003|55112099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: EhqH/eYHxWM6phcjrvlze7Wr2hy13LRxA9d9ISELjqUYb9ASqTEISA9IdPQ77SAv89PGbrevwUZtG0ujcj03T+iAd97WQw1PjA3FOJX7MYJLd/MmUp/b5o6lMPkJTW5uIj0OfGL1+COsBan7G0rtsN5//L1G3N9L8+WW9IMvTSsu6Aq28vEiQ3/ov65cS2QNSsZ8X9zweYAW1Slu/gWVfoInG6Df4XLtMT0VRBGRxlxK9r+zHGjrlE3uZ/F1+LnBcsZks03i1MRSaGLaMKEVglacAKJtmFHSx9NHXcfbJAJJldJ8SWo7+hfgU0aSza0uSjQi9xd/P6ihRcUvr4fYKPk76IP48vWpey4zyPMWfgcm0Gj+nQpdr64cZcftmp3GM56Qfs7380yk0bdd49/W2wqBHBdU1zCmYaWQBRo7/l1XcLyFTUQpapxYMvMw5xMaG2VWeEoij3P96isynFXmfFMKEqtq4Gs7tF/P0xEO6V/pUSczYl1s6aXPNindnVA+VmMgV+OuhhaIoiu2/d/VzCPi7b4tEhSiNBhHXUa0wn+kF7QyOg4XBZrxJ47NyQtmbJzYQg8UrHguvSWtYxiBRZb97lu5mnJ1ZNdd1k4Pf8qFyskLK9XDAu06IYyZRo/+Yhfz+pTHFIBaQJFdHJpzLGwtrlA7ZOuokqO1MBofczs= 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)(366016)(1800799024)(376014)(23010399003)(11063799006)(56012099006)(261021123027099003)(261021121427099003)(261022105027099003)(261022075727099003)(261009223027099003)(261026140227099003)(261026121527099003)(261028144727099003)(261102123227099003)(10067099003)(55112099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?TfNjKnpJICWAFDW2sT4tK9w6FirT2AsTGx7pZSa48ZBWK573STGqMA5QM3QA?= =?us-ascii?Q?63Pzuz2tO2PxtQ3M/o2aYhVb+e4pJUryYr4gV1vnuDNXfxoE0qrwrWWxI3K8?= =?us-ascii?Q?zWGb06bz43Hif0E2Lh0FdeVkSSfxPSHCJaSJsh9dEIgyZZ8btQ8OcuAq7SlK?= =?us-ascii?Q?9SpbJlWhHRt6ocAu5gKNuhg5o7tCSjI9x0op3CzzHA5GavW/xfBFAg5QiMxI?= =?us-ascii?Q?xFZuQZ+1jQjqFH7Hg1TfSIUmJ4eIt+UAKwBozY6ur2tqYSFoQ5j07xf26G0+?= =?us-ascii?Q?JiqMplWP4ulH5tPLqd3R8ZhJB7tjwMkwA4bRZrCFaqyUFVDNpHzTtKYx0pZy?= =?us-ascii?Q?hEzkLL29Auh5tZB5A3RCmZ/j+98OzkrwffH5rbg8MOep/lBFWszoI8lXyp8y?= =?us-ascii?Q?o+ZoKQliFHI2pehxvg6GdHSyhwz5lEK2Wp5sDbUIiR2Mp0QIiRYESGzWTpE1?= =?us-ascii?Q?j+3oLIewWEMoLAb5KG5G25VopUrS9GCtmmTBxidfANt3jBwyMzmB0q+95+LS?= =?us-ascii?Q?lhlzw0ze0haAvEGESB+OUyG5IiZTCHq8YXxUmIqmWahGyAk0W+SJq/xoQx21?= =?us-ascii?Q?DLihcRFczQNj4hpR5FUaSlUe2JgxnHYmAvrj/rqzDYbbIeVgSiqpn4612Zba?= =?us-ascii?Q?v1xFlh9xRcnaHVDJp15bWSvCcxfNt5z4UaIyfMYt7UloopSP1EpeOO9CWYRn?= =?us-ascii?Q?R8DAaMu2YuG9OVail1yCvOD83Bhfi9UIl2Twa0Ms5rWgWQGhNnLlDhIdNVQT?= =?us-ascii?Q?raonB5O3/8NrhTbUQ3XvulITcIGubK8wARkZb3ZMv4Y7To99InW/LvL+E6bX?= =?us-ascii?Q?bbm5yvCIBt8gwoR3Ygo/DY1HSnbvCEqEDiCF4zQ6pWBD97c9yp3Vl64V/xFV?= =?us-ascii?Q?slCWqIYJLctzdgy5/85oBmZWX+2I+fYxyriKmTqJ1GV/XkXA0oCu08Tu3TKd?= =?us-ascii?Q?TAJYk3VDKV4pRs/O6nmwa248kgv4Ax1HLYlVH0mD9PdFQ8sPX5pbTD19TX6k?= =?us-ascii?Q?y9tic8RVYlGImgOP3ug9HWtt3lyW7OkzN7JXfyQBKhjZmwbAssqYuQ0nF2n1?= =?us-ascii?Q?pcRwiU5X+wEU57RObr1oKSvY19ZyF4kumR6BAy5wkgKcwvJeeVw1gBQZGK7n?= =?us-ascii?Q?Zs4IsbaHnnngLOgMUdo4pEKqorr/rPWp7RxZp+6BZgco4bWQuV3UDHzrdEBa?= =?us-ascii?Q?8S6HaI37xMeWZwzufpVG2MC5qzFY8EO762zgzsE07qIUqGoPuSs7SntgfCv1?= =?us-ascii?Q?1yPQh8TxZbb+JTYMJCGNN4Z0nEAePWWqt9gWj6BGyuxqrQj6UKRdK7gZsVmE?= =?us-ascii?Q?cWYZJhSGXkSok99KvlhOuG73rikBSfDQV74neXyamC2QTFGJsVUK1vhcFhbQ?= =?us-ascii?Q?CJI9oRj5wh5VEznipBR+cub0Wi2hJBvKc4DgsldQdy7ydNC9G1sFO6itw3J2?= =?us-ascii?Q?taHGAwW2WoP6kKgJMEUNRTNi2vG76Yg9mWv3CybKT5pd/MpmFUqFcHAyXiOt?= =?us-ascii?Q?+LvNTDhwbIq9W/f0yxU8bX0DK48+V6/Ds6sMJG1GUgkJeNVq2/SclFLXtPph?= =?us-ascii?Q?+mUWTWCYUjheD6RH66X8hlkD/txPcnkUlSQdiIz2jsSiZTwbFFy2e4JAxQVJ?= =?us-ascii?Q?YTw6YONRZPsn0rXmLydGcxqTn8r8uYAu38iAxnTgkbRPic0d8qUfGBXlsxyL?= =?us-ascii?Q?7bWG5A6fGcPRsFcWsCbDTmO0fcOJ58XWcqJ0j8sFG+ZIbGkkZHIhQPV31Uv3?= =?us-ascii?Q?goccWZLWP1V5jLZG68B1JX5qRID7Ebs=3D?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: c9d9cf6b-4a9f-47ce-bdc3-08df3e426c27 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB9645.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2026 09:18:31.4669 (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: OdWFfDQ6SfgMf3510BfYFT5SyRDuzr3bRdbF3ptnir9FlbiHXJZFdFhGe4rWOIBhr0KG5itk5uga/ng0Tq3p5VeVEsmturnab4UCEGmtF8M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3298 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=dT8QsTcz; 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:c201::6 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_H3,RCVD_IN_MSPIKE_WL, 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: 4jxPlTATxuYG 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/20261109091802.202521-2-clara.kowalsky%40siemens.com.