From patchwork Thu Sep 10 14:01:58 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5453 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 10 Sep 2026 16:02:47 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-pl1-f188.google.com (mail-pl1-f188.google.com [209.85.214.188]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 68AE2QlY007287 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 10 Sep 2026 16:02:27 +0200 Received: by mail-pl1-f188.google.com with SMTP id d9443c01a7336-2db3734d06dsf108885805ad.0 for ; Thu, 10 Sep 2026 07:02:27 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1789048936; cv=pass; d=google.com; s=arc-20260327; b=PY/5/CIcRobEtTkoDmIzjawSw0wcS03WaKq08sonuCQJktZhxwbPuLPPsScezByim3 mQYa2dzrq3iRR61zBM4CeKCL6kEeRAxURa1yL/V55sZK6ZqF5Ekxhwd5ODdD4BYMMI/Y sN/GCtU1PD+Pr8mMWLHu5kMRi20ugntXHOHeV7Nx1L7H0lTD1mOcl0Cr0p9V6hYJ3VDM 9+sk/+YAAW7wHdS8mgXF4i/NGVRPTJU8G5VgSv7oitFTOR6HFLj7nN1Gqoj8IPo5LQZp c5eQyOYD4Ib4zJZWF76R9jXDD+RQlmck0h9LE6saud3i4onUilI257wkCOYcDTBX4Lt4 Q8Xg== 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=myeuYz2eR3O76HYoTG+FFtK4VnliRbxB77uog9Ybqtw=; fh=v0wmMaMxOxUjBrs3Bwg+s6sofwoX7Sn0e2zDdf/CG6I=; b=YLd6hV2MVkUvIGGBNaSG30bPjqYjl0fhp98b+hYjZsnAv6iAckz+g5uFWxa8O/Lkoj r2ZuB8+FTKYTLw0Xjr+CC5gPWJz1LMDJAY4rIU78Eeqmkqz9MDydUKmJKAEx0Cs2X7qM IKRGMsba05rmUKmiNZnP2wANZu+eFi7Mi/l3OnRJIvLdbvPWOVjSfHn+rQl50eQ/gLzz 89aByKwpPJyBUTQLgeiiopX6zwYKl8fG0RFfDCXCi0rfDrXMtXqOhKVwpodNC+6EKp9g pMaFYBFh9R0EfbVdHF8miAEhUDV9bUNBzDr9PwJU5IQl7zwv9mYJ3+9N/8Y/8T2LufSJ e4FQ==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=qd497ZOS; 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=1789048936; x=1789653736; 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=myeuYz2eR3O76HYoTG+FFtK4VnliRbxB77uog9Ybqtw=; b=N29kzwKLkqNmLnAKSvuTbWoA7X7vNmnKHa9ynOQrx80VEYViXc+bNTYvEWHNuEofpr WOnCaluKqPDXGLOKWPghfMlEu9DcJUzI+H7soGa8cmj2rFWD2i/OYm+b0qabwNrH92q4 V8zaDTJXr3UpuTV4tS4WZdVQdluEaPyI2535AtnBIPRLkk8UmByGaHefF5+R2bsBiwWW CAY5KZ4A8iXXQZ75UNPOdMZunPJLdSP7W5lUPBjAgXv9s1yB6wVVOZqlXV6j1RMvUQjz 8l5DAE87Q7y/otiMSWcAr8Aetqym9yQ6y2cA0ezxgYsnufTjQgPuSXrmnViRuHr39xar x5lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789048936; x=1789653736; 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=myeuYz2eR3O76HYoTG+FFtK4VnliRbxB77uog9Ybqtw=; b=f1tk1Hi2ayhbm1bf50hgJm/XNHOl10yxylVvwYSQ2XJjNY6b5XzuF/a9cSw3FhH4J6 /SLfYi3aD/w4ikQ89CtV2N8/VyXGZskyF3s8k/9syRzh8HrzqrAwawFXAnmCHgWMJMfs 4Y6vHPmbCexukSaGFI3nOhULWNKqyWk+U9gbUH+o559t7YHZQQ0F4bq2S7lRyGVL6VIi EIdL5eN/zYLmSmN5D/owr7hKb6haR3UuQ0aTahCV4Sf2N+/v1FxHVbCXQxT0b9fhwnkW ZijYNB91c5neRorn0EgSh7LtLVUlAF0+6Dq+BwTi41EqEsMGFDypkBrgzsMZmGwZXYiB tVNg== X-Forwarded-Encrypted: i=3; AKwUvBxixfwexhE9YcgIYF3Hg8AmGnIlzeBUWRaeAEURRGqXrBeMnOvVJoDA6+CvieSCUwSipyqqZ+s=@isar-build.org X-Gm-Message-State: AFuF++nqm8FydoaYUXx2+308JMcMROcdGUierBGKWfrSQar+WHJp2uxa MwtpfXDAoubkR6kI4fVvzzq++uINcQNLn68I7IcgZb7+9oqOX8OaLuXn X-Received: by 2002:a17:902:bb84:b0:2d8:d4d0:7932 with SMTP id d9443c01a7336-2db128dbeabmr368138625ad.22.1789048935783; Thu, 10 Sep 2026 07:02:15 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ATskLddhDkxJ5B+Fb2qz+IpecrHnxCsiGvq1/yqscEY4d9rubQ==" Received: by 2002:a17:902:fc8d:b0:2d6:d6f8:1242 with SMTP id d9443c01a7336-2dd0e8b09b5ls21744055ad.2.-pod-prod-05-us; Thu, 10 Sep 2026 07:02:13 -0700 (PDT) X-Received: by 2002:a17:902:ccca:b0:2c9:aae1:a61a with SMTP id d9443c01a7336-2db127cc2afmr629359125ad.14.1789048932793; Thu, 10 Sep 2026 07:02:12 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1789048932; cv=pass; d=google.com; s=arc-20260327; b=BLnZvCRHZeaXKsrgSMjVYSmNiropKqHnnVzGtmGyblmVvIVDmQAt+GignESgXq8PSq 8ETG6Y7XIQAhv8SKBRMzvF5euhgZ3pZT2G2jqj71ydf/QIkCstmvTzIJ7rEc0B3SE2yB rkZ54Je59BPhg+uJozkYwuyvCmqKIrRN0uazQfHISXG7b6EHL6HyoxpNett+fP6zeY8T 2kzgueuJHf99qvAxxuLyZeSXy/hD6n27X4M6hYzokkKnU+If/Ou+ly5WrJJ0M1KOC3Sy 5T9vkXngHfSkWqyiKoGlrSqm8VpE+fVaaaHGUyxTGvSrotaZHezg15fdLoyMppfujO9T a9hQ== 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=163TMW5UGzknXHCXmzklsYSxmkmZepJpcGgvvfTdWM4=; fh=2vPEtVRFZgJExMSCfX53nKBFsjiPYp/60rbGy5S5Mwo=; b=VNF7ui58dPOnAVajsPW3hxHSjDs7651ApckoomQol72hQQP7b9qVU8p5RLrJTKZP2K mAmekzKJqqlWS5ygrcXRCURBlhIQPMscHWXkRegnja0AfExblzAn6AcYLYoH6SSZq6fF /4lbf2nOWG2EQVNYk3pnquQWZqq/R/ve+qqjBQBIK3EoiH2izAniTy/GRzOF+ZBwmqJT TX8YyCMq2d1p9YrGQz8JAUjm8P28jXpUTRWHNaBIaK9rfxz0UZbcQCQX6t/fU4yG46qk ud0ZL8G72Rm2AAoFdl2yArWh+sS4iyc8ZAg0AkFNqUfk8y1Eosqev0lLfcWn8Qqi3Pcs EXKg==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=qd497ZOS; 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 d9443c01a7336-2dc733cf1bcsi1764205ad.8.2026.09.10.07.02.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 07:02:12 -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=S7cMU9fgeTgyt/WtexDlnT3CxrfHY5zOPO5/y1yqibcni8TDUZSHyidcAFimrW8NVXEM9pggA/Y9/NOaBClvEmZqjxWLcRYYEQuAV94eTt/xYIf7kyhS1s75cXZfVzClDPc8etLJMDlymD6nKAzBXpoVSzO8wFgeTCQOx/AlK39hybsnbO6WW2DgQeEqC+9a4d6vWqVl2Xl2on/7Jo7r8eo3seZ1a4Wc22Bn29t0LcCti+erezPFWrQjpxYtTVDyQWpYDYxcOtkQdvsevk5AJhqmdc91wlkeImaqdvZTJIInK+zNNNLwV+sagUhHwLJbz5xytn0nHbs8cPXYjD7Srg== 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=163TMW5UGzknXHCXmzklsYSxmkmZepJpcGgvvfTdWM4=; b=lST/Y8l9T5Yj/NTCKh01CtMpptSxxYq9pJ16oyJ8QiqRbV0gzEEjZDUnXs7N+uVMPmrcmjKgiRKfqZUQrP4L4/rhCsTlNlN+Sa09MVwnseAFONwHOfVH8KHO1k+rsWp3PSPssdKxpRV5rZjNnvtIb6Oxy49L9iLbBgve+7KEP7wwOuQJM7JTGX3ki3cHU5wm5Ih6Vd7ivPUJWF33sc6a8C+ts0V7HiYEMZ988m4Qa9OThTv2Q56folffd25Lx1l7cCPlmpZ/nFjs8R3Mfy/Tmmlrm7w4vnekwvdbfqKANyx36DP+C4gyPCiqoUWAcmRpQo8GE6lc5pN4B5qYAANIDw== 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 MRWPR10MB9602.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:501:9b::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.9; Thu, 10 Sep 2026 14:02:10 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%6]) with mapi id 15.21.0406.007; Thu, 10 Sep 2026 14:02:10 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, Felix Moessbauer Subject: [PATCH 1/4] fix(dpkg-build): make sstate updates of DEPLOY_DIR_DEB atomic Date: Thu, 10 Sep 2026 16:01:58 +0200 Message-ID: <20260910140201.250854-2-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260910140201.250854-1-felix.moessbauer@siemens.com> References: <20260910140201.250854-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR0P281CA0138.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:96::7) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|MRWPR10MB9602:EE_ X-MS-Office365-Filtering-Correlation-Id: 5f500ff8-0d0e-4065-df5e-08df0f441b6c X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|10070799003|1800799024|23010399003|376014|10067099003|3023799007|18002099003|55112099003|22082099003|56012099006|5023799004|11063799006; X-Microsoft-Antispam-Message-Info: oHc1Qwfm2YeDQamPE5Ruq6gRkkt/DRiA4DaV8puRtRqlwTreOhtc9Di9BEmEO1Y2ruKfnkmlidtjUYLY5MOrXXaG7gbB/la3n6RxYIrSS/XrWuKjeXo14T+0TpbJ7racs3g9vndBMWKKiYX8Dh00IwwmxfemueaZYZdfjitrUGMbBhkItwb1FbySp7ElcrZOELq0UflohikFlHkG0VHA24+3/gY+PPPCqvQWga5Kn5/D/rLInXNZwrKKDlNSeJZksyq3b+aPIiziw4YUYnfNrxhr9zIW+nL20JPhaD/53wQJYRQieDHugRnXcWFYUZlbJVvlbdSn88eutDO8rtRfRQTfnkn+pSmJ0e7ArcLoDRbxRhmyVSpyRuRtSUWOFFTBxhQgWTpDqo59414zUMf+rhh9xL+9a9SE4KAOA0NAI6X+wYZelWnr2BessL1vpwiHrP8Lr8qbftdaYTcOYmnGprSuo1pdMY6aWVqtpvgS4yD4rQkFCK5VeMCbUnrzovI/kPFQHGIMy9h771zybSGU2mSHXBPUCAHeMR1wN/uf4QLg/X/lwxWkjuMooG5SCr96S7yOTJeY4HXREgzwrZBoI2yRHbW/zTwOUZ8W+sf0rd7Vge+amxNoX1S/fTD+X6v+xeU+EqIH5v2seQ4DcDhSoP2gRvcu3an6A7HfdNW2CDM= 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)(366016)(10070799003)(1800799024)(23010399003)(376014)(10067099003)(3023799007)(18002099003)(55112099003)(22082099003)(56012099006)(5023799004)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: SilRlujgkEJojcnpx1b9xfRUKxw2q0mBOkiwMA+/uhQDOmYWWZJzKSmHF+F6vI0+3SfximBIQvY6sWrnBLWA72+miP6aenCCHNoHxdMZGtjtN8UtCDdaT7siPalMk+E38p4Xo1oeSb8QwqtbvZjDr5GQIBIdQ7kEjgVCtgptq+P4xoSdnP9vBgm9a5VSJuCj/HYI8ah7CVHCIuXdOHBNQhn5+oal+Qq2kA3uM9m6u0fH9KYv4Lsw+1EZ8s2turY9mcTw9G3CXXyOi71NdObY163LqJrv9YeOpcYXT5K3DLIa8jK5UmX9JHpGG3C13WqtQYU7gpRO9fmjRaHFMy18OVJ9dRomAKDEJq188Gu6iY8L6hseoluTSVWxBzWiRMkFkBywa9aWswGK3i/rVuQlUBJxnBoFZU4tETRJbWrCJvG2pHEqCr5liclSczP8XD37XRPT1ul2gx+jz2clHzBSKYP6ZSPiaY7XUCifw19r58hhDJGYFAzu8BLA7EhhXSxK8ABa+Oa8Vgl2NUa4ghiX01FIKe/v4vaie4GAwmdkbB+jqhTQWUbhPBYLztM0UqkYHDy+HpEeJZlH8capcR32LDtOMCuUBR625k7oqKUj/NVb8Mz/IqKEBFYJK4cY4fCV0FXFKwPWHcLMRto3Qo3e2AMx25lhWfSuUy1kPe4sertEwD/PN47Hqyl1KV7B+6MQxMwQOjENX9XDgI919KctzZn9ZDFB8Sq5s9BncObfmXVKbhlqR99tSUGRhmuCn7VzoCG07L0K846P3wQH/1MrL0hPOV2oS06l5Moqih6nDKlBtn6FDyqX1a3AjEd+0UHIwPa8R9f9pTuE5HaGaFE6bITGQM1Wsq+nRwWr/sMDqhTDe3g917oWt6xeLmaFlMU3X0V7YCiuYDzBd2xcooLOlOiaddKGqDnSjN+47FtTiBq6eI2DzZv1Vu4VTVQ6OGR3DIqUZgHa8Gl8VBLVbVRFCySE+v93llOhVldCggOnbqg1pRRlDKTKtHj5o2RmVXWgLTXDF9CA7e8BZH0OVrGmjU/guGpmHCloD/IoEnPa/t5iUNUvhlPUcCbL6uQGN44q/fzMbV8NtnzT0WWpC04Fio8pVVNBWbiDaj2aD6iEfcEVDRJP+PRGdQrNVIGm1oDMIu30540dwvbcL7sLpp0upww0cNvxmDQDl07UX8E/tlPF8dlNvBP+p5iQpzF0JHNL/eo4wYPzfowYPYUJF1i2NaLuCxo/EGrbuD7axVc3NLbn/saAAfxxgiPFJCqQ1IupvWCss32+Vd9xEP5V1sgSf5+2jz+BX5snMI0V7AjT+6G6F2AhRljFjQGNFNdIcIy4ZS5nt9VNjyLKU0tWjrTrIFghwrnZqF5yJpFH0xJzc04MksdRp5wKyVZq31kXJRtFygnA3EQmrZzabH6Ixm6VPHDanDLW5nR8cm8wuQlOEUGIq9Lynfnzg9JmUUlFaJh0RvKDscdn+wItnpuKDKm8nJN06BJWYWecR0hTUp75ichsuiUvQ0a5CxCOhN9fXqHmY0E/NVjP2n9p6MlmgliYfsx59xLI6PfvyLGBsB+YVtWf8On5r1D5VrYz3+F9FlnPpg1iSfC0dTBPY8Iv8+jphBE2or2XtV/vUoG+gl0zT1Ap2aIdrnX2SVm22LyacRG7cmRdG3N8cdlfcSGj3IjiZ420MwqNY0JWCSlo+FinkKnW7qCTqrRTKd3N0Ysc+v6rjMGKQs2ioU5EWrsUDDjAIKoYBuB5S5XLePAi2AjyzYH8bjcOkmuCYp1VLCZNb6XLVaXkdZxX X-MS-Exchange-AntiSpam-MessageData-1: fJwzuGv+g9zzQ9PngOIMnjb/SLyOWVPSYS0= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5f500ff8-0d0e-4065-df5e-08df0f441b6c X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2026 14:02:10.3444 (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: 8p8q7uK2/LAqdKIGmwGIfmhbDAoPhb0qvCPfOyIxV6hHlreTFZ5s08wCLLCCTu/ERoYzf5PhlrL+CUjKOWNmDm2Lpt5htJcCnJnOxD8k+NY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MRWPR10MB9602 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=qd497ZOS; 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_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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= DEPLOY_DIR_DEB is qualified by DISTRO, DISTRO_ARCH and PN, but not by MACHINE. All multiconfigs sharing DISTRO and DISTRO_ARCH therefore run do_dpkg_build and do_deploy_deb of the very same recipe on one directory, concurrently and without any mutual exclusion. testsuite's test_cross for example builds mc:qemuarm-bookworm and mc:nanopi-neo-efi-bookworm, both armhf, so both provide hello-isar and example-module-armmp. sstate_clean() unlinks the debs listed in the manifest before sstate_install() puts them back. A do_deploy_deb running in parallel can therefore observe DEPLOY_DIR_DEB partially populated, remove exactly the packages that are still there from isar-apt and add back only those, so the remaining ones silently disappear from the repository. Take a dedicated lock in both sstate_clean() and sstate_install() of do_dpkg_build, and in do_deploy_deb, via the sstate-lockfile task flag. DEPLOY_DIR_DEB is then either complete or empty for do_deploy_deb, never partial. The lock lives next to, not inside, DEPLOY_DIR_DEB so that sstate_clean_manifest() cannot sweep it away. Fixes: 1182a45b ("fix(dpkg-build): deploy debs via shared sstate dir") Signed-off-by: Felix Moessbauer --- meta/classes-recipe/dpkg-base.bbclass | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/meta/classes-recipe/dpkg-base.bbclass b/meta/classes-recipe/dpkg-base.bbclass index 4a81787e..164f247e 100644 --- a/meta/classes-recipe/dpkg-base.bbclass +++ b/meta/classes-recipe/dpkg-base.bbclass @@ -18,6 +18,13 @@ inherit essential # WORKDIR lifecycle. DEPLOYDIR = "${WORKDIR}/deploy" DEPLOY_DIR_DEB = "${DEPLOY_DIR}/isar-deb/${DISTRO}-${DISTRO_ARCH}/${PN}" +# DEPLOY_DIR_DEB is not qualified by MACHINE, so all multiconfigs sharing +# DISTRO and DISTRO_ARCH run do_dpkg_build and do_deploy_deb of the same recipe +# on it, concurrently. Serialize the sstate clean/install of do_dpkg_build +# against do_deploy_deb, so that the latter never sees a partially populated +# directory. Keep the lock next to, not inside, DEPLOY_DIR_DEB so that +# sstate_clean_manifest() cannot sweep it away. +DEPLOY_DIR_DEB_LOCK = "${DEPLOY_DIR}/isar-deb/${DISTRO}-${DISTRO_ARCH}/${PN}.lock" DEPENDS ?= "" RPROVIDES ?= "${PROVIDES}" @@ -207,6 +214,7 @@ python do_dpkg_build() { do_dpkg_build[cleandirs] = "${DEPLOYDIR}" do_dpkg_build[sstate-inputdirs] = "${DEPLOYDIR}" do_dpkg_build[sstate-outputdirs] = "${DEPLOY_DIR_DEB}" +do_dpkg_build[sstate-lockfile] = "${DEPLOY_DIR_DEB_LOCK}" do_dpkg_build[network] = "${TASK_USE_NETWORK_AND_SUDO}" do_dpkg_build[depends] = "${SCHROOT_DEP} base-apt:do_cache isar-apt:do_cache_config" do_dpkg_build[postfuncs] += "dpkg_collect_debs" @@ -232,7 +240,9 @@ deb_clean() { done fi } -# the clean function modifies isar-apt +# the clean function modifies isar-apt. Do not add DEPLOY_DIR_DEB_LOCK here: +# CLEANFUNCS also runs sstate_cleanall(), which takes that lock itself, and +# flock() would deadlock on the nested acquisition. do_clean[lockfiles] = "${REPO_ISAR_DIR}/isar.lock" do_clean[network] = "${TASK_USE_SUDO}" @@ -249,7 +259,7 @@ addtask deploy_deb after do_dpkg_build before do_build do_deploy_deb[deptask] = "do_deploy_deb" do_deploy_deb[rdeptask] = "do_deploy_deb" do_deploy_deb[depends] += "isar-apt:do_cache_config" -do_deploy_deb[lockfiles] = "${REPO_ISAR_DIR}/isar.lock" +do_deploy_deb[lockfiles] = "${REPO_ISAR_DIR}/isar.lock ${DEPLOY_DIR_DEB_LOCK}" do_deploy_deb[dirs] = "${S} ${DEPLOY_DIR_DEB}" python do_devshell() {