From patchwork Thu Sep 10 14:02:01 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5451 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:41 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-pl1-f183.google.com (mail-pl1-f183.google.com [209.85.214.183]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 68AE2MSF007299 (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-f183.google.com with SMTP id d9443c01a7336-2d6df0a1e18sf143589875ad.1 for ; Thu, 10 Sep 2026 07:02:23 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1789048937; cv=pass; d=google.com; s=arc-20260327; b=LHYPCUlmtRca4uEfKIhJmt6+2NQonn6i8/jZE2mGf5J5mvPYJF6B77oZIse5YB4a59 OXDB+yav9Ug+zULHXupgLAqFo4UGHpG6or/VViFwt4syGKurOeyE7UugvHVUPuCtANNs amuV6806gsfU9ym5G6phvit7JL5hk64V9uziw3ccxDY7MYGuKo6kz+NaRvUCnLzQF1Vx dolJtRfmnmkO0riLGOGLPlZcyQZJ3ffv/hvooAbol8gTkJCtXWrSsuF5uODPAcwFE7ET ZhJQvk9ND8ihQLgvlY3TM+vtxu2CM+UEjayDLhTI80m0uPpUeFl5DLe54B7vAIlAqup6 dOLQ== 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=446r56CvRSHigkfZr1j/ZRGcHwQVucz+BkKiYfSj5gg=; fh=48V3HyphNhdU5jOfGKQk/9Kt9rxy+F1Wg9skECGSLUg=; b=AIVS7ZeYjY+vRlRc91+7U/hulPML9OdqOKF4sBP56Kbb6Fj1+7yTDQPFGLKOFshVRf SX/T6QkwiFS5g/6EKOv/NiAgvq/xBvX+7z03RiRQHEY/HdJIfcLFWP2Nr9v2KPZDGLAr Lk4s+F10eNxvs76fPQTDH1W+MPLIwd45t5Rvpa/2ynJRYVy0jr/lr6KPr2J3IntGM2Uh nTN324fZ6Ldg9MWaQwqK4pODezu+QoVKoKBBPLaEpSu3+UQi+bkhJMwgw0GRxo7Hp9yd as8Sngu3D5MPxP68oAwQPiMJBe4xTYVzOhOUUzaX/pB6YobHKyBo0Fj2zD7d0R45USsA /efg==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=X7a3+hzy; 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=1789048937; x=1789653737; 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=446r56CvRSHigkfZr1j/ZRGcHwQVucz+BkKiYfSj5gg=; b=fzmOLJ1d2sJ6HQ7LJsow31oCOY2CW51T/waBi9cqzHlFWwGKoSckxgD0OrzyRhcqUT ImHZeGHDjreoz3cp7bV8Y3akUwmDCFkScOjH+nCVPOFUzM4BFJl8eFE+boAezo+3OeQZ ltNYEGsCzRUpiM8UVClwkHYQhDULvFEqQpOdapnMwDREAoeKI7W3WMhRGT73xmnC2Os7 gj22Dj8hlcO1L5Ao+oMwWQWOIbHt/0ixI8CSaPz069X18FBq2Rt8UnZLQA+ixmx/sck6 sh0f+iLBiB1e+N/PRYwwpKpo3x6s6dr3NQi/A0nW0vy+XmleSi6twEUfSe4edRAkK3rA 2Qcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789048937; x=1789653737; 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=446r56CvRSHigkfZr1j/ZRGcHwQVucz+BkKiYfSj5gg=; b=d2ta1Vgn7TF1NKeZjHtQ9DiRO8qBHaUN1nThvf/K+A3SEAmjzKckC+pfGljXjFrFJa ESDaKZ6LEo8OIkz4YvkS2h4wUMMCznEZVK2nr5X8BQswlTb1bFEaa9i1YSpHrrAW5/SD NkbikFgTNYwZHmk94Vfj1h8Odb6wKUdl+gwKR9+Ts0AwAZUSEz0AABbHh7egvAvW3jcd Itwcv16GyLPYCqImIkjh+Phna50TUDtGOMhH5/JAMYtFZlQK+00QzG2HFroSrXqXLDRL MchVKj5bbK0pmgYKkkQhkB99wTaMx5W0v1l2CQFm+Vqf836fTTaRasoVSVgTGsU6bYht e+yg== X-Forwarded-Encrypted: i=3; AKwUvBz0bCTatpVc+5zd05jXDLDQKQJ+ORLDGObTjtF9+zuaimn6NsA9QDXV0r9qWmlqn0NMWTZ3eig=@isar-build.org X-Gm-Message-State: AFuF++mBu2z8n/9akx0g91zb0nASHn2UqMydyZsClOBRznMdQJDPCCj8 Mm6xE/IfizSAtIJy7VXSvpTtA+4JrUYI23usDncKzy9U7zwnijFt+c07 X-Received: by 2002:a17:903:46cd:b0:2d8:de9f:9a44 with SMTP id d9443c01a7336-2db8dfe7322mr181238275ad.19.1789048937155; Thu, 10 Sep 2026 07:02:17 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ATskLdeNVTPyDFCxZx8Zvo3NEzBm7LLZJWVgPodmO9NqLsAjdA==" Received: by 2002:a17:902:cf4a:b0:2cc:89b8:4246 with SMTP id d9443c01a7336-2dd0e666cdals19369405ad.1.-pod-prod-01-us; Thu, 10 Sep 2026 07:02:15 -0700 (PDT) X-Received: by 2002:a17:902:fc4e:b0:2d7:3f6e:5cb9 with SMTP id d9443c01a7336-2db8da30a48mr195761285ad.8.1789048934745; Thu, 10 Sep 2026 07:02:14 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1789048934; cv=pass; d=google.com; s=arc-20260327; b=rTwNcszKEjxpblWNxqai/uztyPdLr82l/UWbiIbRZsf9yEY/6K7jrb6VDzaYTd0as5 XS3bt+HzKwWGM3e9Cu4j0cEoZoPPf/t4TwkSoYFiInDc6f5QIN4Il4dWVuIrr5WWLzoQ I6g8XxwrbkivBJb3+79OazmvjXuIz53BP0qvCP2Fn6GYlEjWVn8FxDWWC8CALSvV+hJJ 28Kel068RCM+Fj2PM4WLoocxMUoQwbhzaPulQZE9ENQpYmAI58KIcLFVshs+CgUPRS6i pnsihrfJryXRdTu3OmaoLlfXekbWoRMylPnV6x3WfsNPp7J9qCEuGATLGfgvsu1o65D4 4r2w== 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=ddp5oRL9QXzCAD8mQvNtlBHgONwHk16hphOBPJfRyKY=; fh=2vPEtVRFZgJExMSCfX53nKBFsjiPYp/60rbGy5S5Mwo=; b=gSrYsWwY2oVq7m2PjkKKnX+b9bIexh3jC7vyGGDAVi7tELl5j69O/34439la7L6s/a OTJDl3YUAtFDZqH9bR0VlIMk+QET9d9jbMwmokYbsH46Yrn5sk3IEJlCzQw9UlA+iF74 fTlXdXmpI/CWv9Lhne+VlMn8sU5QmTjUIoKZUT7tQ0bTxO/ZAMQ9Su8snYaOh5SzHob3 EFUFrMOAiUU0mnDSytSUSPIjiVQ/+FKus7VBeJbpDsrmvaAayfr2bXznBftcPIAkRY9x kirvUmWX7kEX6TwI4stCfbr5kJJyPve37mVISmCAebFJYzrLeTdDJkcNo+w7LHi7nCso yd5w==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=X7a3+hzy; 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.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 07:02:14 -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=BHWZfWwQ+XIOteGRdzw+EcVtEPQiJfQrNlH7nxsENSg74BtoyqGLHDn4ZSNvdQ+N+Jq6zXiVyAcrNLKPvJ/q4FgXo3kF5FTrQOc/TIvBWGEeN4K/BQvUTQfYo4J+pEERHRByFg68i4ewos+Jw4yVby/fvM1Xdnl25g6QZmQg7/1TLbpBEgfvPvGIv8JYma7zeX070RVm/LmRMqDO61DMcTgm3TLRO+W4TngfSqdWDe1AHIZYyVnJCoWLmSpxNhI/NAki+9hEOnuTuVZ3ks3aw0qMN+5HrHqtJI7k3uy0OXItwHkRFd7NGJrbGqwCSrxsXvkAGqwe3gFlyCdvPVNE+Q== 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=ddp5oRL9QXzCAD8mQvNtlBHgONwHk16hphOBPJfRyKY=; b=nLMdmcPeQyIAyTe4bDNXl8OnvY7HxSz7y1InKSGug3CB2LPTJgaCK6/UaNMmbl3pi/P7sXMXsh+0jec4QPDIa//iyy6HubG42WqmHrkLYvyhvl+jNAmYfveBmfcpw8iv4ptDMAwABTPUb7rvh0F4mSKfQ/KWXUQsQA4xzhYup4ao2u97XwYmAKecWv3ShcfnEqBcjbObfLOtbK8+XRA/zsNBumwvtkW5liR4GMJ2zlLFlpuEUwy0GG1LgabvuTFMcCjB4IA1fhubLJkMDqMJM84nHaQKHu83Q4KimwMLhubtg2ed2bTd5XaXM1TmKKH3UlolgnohqrglvaNG0iQhDw== 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:11 +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:11 +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 4/4] fix(dpkg-source): make sstate updates of DEPLOY_DIR_SRC atomic Date: Thu, 10 Sep 2026 16:02:01 +0200 Message-ID: <20260910140201.250854-5-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: bffb3fd3-71a6-49d4-46b9-08df0f441c32 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: 8efid5+Rtreq+beRGqNGHjztZhqbAlG3SLGj8TvHqYdvDapie2ESeRua2qntmeLY7jnYbH9C5jDFDXoCBmyFmXE7n2R/Mzn9M4kpqQHHLKkTLKfUq9ZB/NMdkWhLfZtyhG5jojFhIVriJuSzDO6doVQ+2brvWfMNxsY47V8eqokseufvHic1WUGZIOBifQEJSvGdy6G+LAKVCzYNAWvA87lueRDIiL94sYNdLxqpEgKtKpGihPO78YnQlGrpH6o5VSEaOr1KgeRdDaGg5z86fcEeuNGE8YoJL5u6fgHtjQwIoKtaJ5wwJnAR/y34JqARgxezWejjTLyie0SF8z0NS8495QxWRoaHV4yyuvrAiY3GvkjCVVjC098PC2F6qssL22ROqj8t/aH03vEDw2jGOQCI+XyPqpjTOpqkHqsFNIsLwI/5gGEPcHhwg+jL0yqSU3paTrkIuWG7cpZ5xJIY/i+RQlDCxir3DDPvL9g0nuePDtJebROv4F9EoU5OTjtzUBL30iFLtdgLLY0cSj/s8ArVX6JF4PucyIUQd2Hs6sGezaCi1ZpBH2KEo9OyTPrfe9OepLzzFATtlR5j/riUxl8r2k2P6vHx/vOBIJPp7MQGn2kK+dpP91SS2zE86kRpDIv0+lhx9mPjbQytpWGI0YCqzIwRo2RWk5Kbq16Xwvg= 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: x1oNKDNv6HLIKNA4c7JqnieaHGKP12BVSTVy2PgGbeUU2ueONhypInt+oe6gcw2RME1LQXYPnSHTv19dyFQPDXJacm0ugsAKClUjHnVn1GLW1Mx3DbtZ6UtTrGNs2CdytL+fhvgL6owet3AC3Vk0t7/mbN7HJu1HfaafV0UhpcE2gXduI5Hj6eVYWCdJ0M2ZQnZyg1bXdozMReXWnguRyRChgyrDp2bD8dfkXrNYp/itUKewjEvca35X3P9G3qcx6hWuc3xotSy+DN/gj1zwmfz3y3+Yy2uC4QhIZjn51tufnaO7e3GIb7pJ4g9nieA/QF9mjsxBRuSZSS7AbUCKcGPtU1pIBxHYzCLkCKdAcAjM8eLKxyjbd7xswyKvB0l6tAtn5uByKvBAaz3kxqMCocJ9B/ae7JuTkhuFpOtBxygBKayWOLST32Flqh4PCSynmlzP4agHDtQz00oVFLObDfrgapcQjOYyLeHQbwywJ+gfp8iiNW4Vo8zW5wj81BkMwsNjbCFAXY6y1oY2SCkwgwOfYg+cAoC8S2+Gesq1h4xAHYCgX6Gt3mqiM5pTRCJe3z8FWxfOVObZ1x7SJ7f6S8/1EHHQln5dS5YSJ9+lJ8IsYXky5ikdmgbiIIgmfP+OOdl01y8ooUVw5Of7HCDbSpg5kAcZ5Bii79TyYjNfXYzl/oKAtSzWOL4/kYZB6orWH4u5qNSJwqYGsUQqOB+gLNKj9K3PEBnfyT3tXHgg9iR602jED2Ub2M2X3TcYqOhvepKcps+L2D1ECMqRB84z1nQzH8cVaO8QeSLl7LGIIUruwaMc5+Ns5x+BWYXfVP00myFErCLqqcWaygFvZnR5atPuknqkA7kPNk5IuphmkGhoHw7aOPRBkrq3gJaTr1zZh36Ub8/RYQDmYgn+JJro6KCJaa82ace3wprvrI9J/CpCO2qdnmXkf+2ydcnrjso0zZkm7BeSbKg9Ygi/UQZ9uNKK1SigbWWMkWOljohvKKDoNbxj0TbBNmOzF3C0tIJ08Gv63YRgaeHowxdv/R8zmm288wIKn2dmT7SC/kIKfKV2uT4Vv/voGRKAr63SYursBRNyNv9WaKw6jnaNzua37vf+lfVU+enUefxEuGWtOjMk/i0vSdwuV8ghrfZxFvA0Ata8uEPysdRjOIg7a6cAGDeU7idxfRruBBI6jmbbptNWcGorWzLQBayQUhuNwK/sGyy3SG2Adj0Q8oFIGX7k/Q8yKiW+cPVLFqIBYjFDOitBooMVNOAFnDal1WqAwauB+hFPbWRHIO/b17HgzafiXeoZpFOMGD2GkG3efYFNEaE9i+XI+q/Zwbpu+8TnzBKzlVBJ9Jg5PCOITba5QAOOoCNX33opcE+2/dmDpxmjvqbZQWQd4HoQuF/nQ/HALh1X5RSqUUID/DjZgr8xhv1sU786gjprAky6tmJLmTuXnt0KBxzfo3ENvqINp67K4sbeyXDuVb+8d7k8rO6UdB/MqPq2nqNg9G0IvRRTh0WOFcDlyNn6UwYC93btOfjZ6WYmb02/TScEykRlHpKzIytyynQtF9eb+ML5Bfa3X1EmdzCRIMo/OZgsKoJXNkHn5pRXLDj7FdH6eWLX8BMShRQYf2+jj/rfMDZ6FoBlz0H7dGb3Uw9jvN712KowLjKCWp7/yoP2+3Pl9lpPHvkvnf9Cm0Ol02S04nqMhpFT+Ik573Cf4FM3LoObiQLGaLWYyPVB0uYgKliIGEryGjfJbuzdI1W+zV0EZhSUUgLlvTND3OY4ozIYrFchrBQqBKWrLSQT+awfgpUx X-MS-Exchange-AntiSpam-MessageData-1: 61AddEKE9xXb79NrqPAiTZgSzXpjVGyLZGA= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: bffb3fd3-71a6-49d4-46b9-08df0f441c32 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:11.6084 (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: mizb8z9M7JNfAclJU8UTicB5sBSyQPue+dkIjnpjVpoEbbqquHAxpcTeTKwbt2Uj/gTE38rT51zLJyKCFegdAodU6kgjmE+7iiW3SWGnux8= 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=X7a3+hzy; 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_SRC is qualified by DISTRO and BPN, but not by DISTRO_ARCH or MACHINE. All multiconfigs sharing DISTRO therefore run do_dpkg_source and do_deploy_source of the very same recipe on one directory, concurrently and without mutual exclusion. do_dpkg_source updates DEPLOY_DIR_SRC via sstate. Its sstate_clean() unlinks the .dsc and the tarballs before sstate_install() puts them back, so a do_deploy_source running in parallel can observe DEPLOY_DIR_SRC empty or partially populated. It then removes the source from isar-apt and either adds nothing back, silently dropping it, or fails in reprepro includedsc because the tarball referenced by the .dsc is not there yet. Mirror the do_dpkg_build/do_deploy_deb fixes: - Take a dedicated lock in the sstate clean/install of do_dpkg_source and in do_deploy_source via the sstate-lockfile task flag, so the latter never sees a partially populated directory. The lock lives next to, not inside, DEPLOY_DIR_SRC so that sstate_clean_manifest() cannot sweep it away. - Scan DEPLOY_DIR_SRC first in do_deploy_source and skip the update when it is empty, leaving isar-apt untouched instead of dropping the source. That is safe: the multiconfig doing the rebuild runs its own do_deploy_source once do_dpkg_source completed. Do not add the lock to do_clean: CLEANFUNCS also runs sstate_cleanall(), which acquires the same lock, and flock() would deadlock on the nested acquisition. Fixes: 826acb32 ("dpkg: cache do_dpkg_source results in sstate") Signed-off-by: Felix Moessbauer --- meta/classes-recipe/dpkg-source.bbclass | 35 +++++++++++++++++++------ 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/meta/classes-recipe/dpkg-source.bbclass b/meta/classes-recipe/dpkg-source.bbclass index 97cf9714..6f9091a8 100644 --- a/meta/classes-recipe/dpkg-source.bbclass +++ b/meta/classes-recipe/dpkg-source.bbclass @@ -15,10 +15,18 @@ DPKG_SOURCE_EXTRA_ARGS ?= "-I" DEBIAN_SOURCE ?= "${BPN}" SRCPKG_DIR = "${WORKDIR}/deploy-srcpkg" DEPLOY_DIR_SRC = "${DEPLOY_DIR}/isar-source/${DISTRO}/${BPN}" +# DEPLOY_DIR_SRC is not qualified by DISTRO_ARCH or MACHINE, so all multiconfigs +# sharing DISTRO run do_dpkg_source and do_deploy_source of the same recipe on +# it, concurrently. Serialize the sstate clean/install of do_dpkg_source against +# do_deploy_source, so that the latter never sees a partially populated +# directory. Keep the lock next to, not inside, DEPLOY_DIR_SRC so that +# sstate_clean_manifest() cannot sweep it away. +DEPLOY_DIR_SRC_LOCK = "${DEPLOY_DIR}/isar-source/${DISTRO}/${BPN}.lock" do_dpkg_source[cleandirs] = "${SRCPKG_DIR}" do_dpkg_source[sstate-inputdirs] = "${SRCPKG_DIR}" do_dpkg_source[sstate-outputdirs] = "${DEPLOY_DIR_SRC}" +do_dpkg_source[sstate-lockfile] = "${DEPLOY_DIR_SRC_LOCK}" do_dpkg_source() { # Create a .dsc file from source directory to use it with sbuild DEB_SOURCE_NAME=$(dpkg-parsechangelog --show-field Source --file ${WORKDIR}/${PPS}/debian/changelog) @@ -42,24 +50,35 @@ addtask dpkg_source_setscene CLEANFUNCS += "deb_clean_source" +# Do not guard this with DEPLOY_DIR_SRC_LOCK: it runs from CLEANFUNCS, which also +# runs sstate_cleanall() taking that lock itself, and flock() would deadlock on +# the nested acquisition. deb_clean_source() { repo_del_srcpackage "${REPO_ISAR_DIR}"/"${DISTRO}" \ "${REPO_ISAR_DB_DIR}"/"${DISTRO}" "${DEBDISTRONAME}" "${DEBIAN_SOURCE}" } do_deploy_source[depends] += "isar-apt:do_cache_config" -do_deploy_source[lockfiles] = "${REPO_ISAR_DIR}/isar.lock" +do_deploy_source[lockfiles] = "${REPO_ISAR_DIR}/isar.lock ${DEPLOY_DIR_SRC_LOCK}" do_deploy_source[dirs] = "${S} ${DEPLOY_DIR_SRC}" do_deploy_source() { - repo_del_srcpackage "${REPO_ISAR_DIR}"/"${DISTRO}" \ - "${REPO_ISAR_DB_DIR}"/"${DISTRO}" "${DEBDISTRONAME}" "${DEBIAN_SOURCE}" + # Scan DEPLOY_DIR_SRC first. An empty directory means another multiconfig is + # rebuilding this recipe: DEPLOY_DIR_SRC is transiently empty between + # sstate_clean() and sstate_install() of its do_dpkg_source. Removing the + # source from isar-apt and adding nothing back would drop it. Skipping is + # safe: that multiconfig runs its own do_deploy_source once the rebuild + # completed. DSC_FILE=$(find ${DEPLOY_DIR_SRC} -maxdepth 1 -name "${DEBIAN_SOURCE}_*.dsc") - if [ -n "${DSC_FILE}" ]; then - repo_add_srcpackage "${REPO_ISAR_DIR}"/"${DISTRO}" \ - "${REPO_ISAR_DB_DIR}"/"${DISTRO}" \ - "${DEBDISTRONAME}" \ - "${DSC_FILE}" + if [ -z "${DSC_FILE}" ]; then + bbnote "${DEPLOY_DIR_SRC} is empty, leaving isar-apt untouched" + return fi + repo_del_srcpackage "${REPO_ISAR_DIR}"/"${DISTRO}" \ + "${REPO_ISAR_DB_DIR}"/"${DISTRO}" "${DEBDISTRONAME}" "${DEBIAN_SOURCE}" + repo_add_srcpackage "${REPO_ISAR_DIR}"/"${DISTRO}" \ + "${REPO_ISAR_DB_DIR}"/"${DISTRO}" \ + "${DEBDISTRONAME}" \ + "${DSC_FILE}" } addtask deploy_source after do_dpkg_source