From patchwork Wed Jul 15 11:05:32 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5231 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:06:16 +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 66FB6E1U022815 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:06:15 +0200 Received: by mail-pl1-f188.google.com with SMTP id d9443c01a7336-2cca5e0a0c9sf102248335ad.1 for ; Wed, 15 Jul 2026 04:06:15 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113568; cv=pass; d=google.com; s=arc-20260327; b=lWMH3lYwjzuqVqw5juMpF5L1cXSQW/UAHS3kTv24wUnUOgAYpsiIAxh4labIShaEp5 j5jIsd5Qu35uVAe1qlXOuH4xOUe8Iz/pvnQeO28OvBeRsDAK+BBQgXXYxAYyeLhMX9Ly 8fBfMjlMpd5FPJ5LGrjR9Re2XF6w/VgIVHWwA5XOvBjrUFFusccc+DUx8FafjR2XcYBb agsMJD2VbzKvkiVzfwo5ImhmAjhx7Op1MQ7Cq9aP/++zax4C7ahqOUrplZlmLEJ3TC6D p0vZqxr2ue1x1z7FWNoFyzWg/ci3LVdokUVRRzhOS8vNUxfebl8Mzpsm9bPdnFft2SXM nPBQ== 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=18bldT9Y1UKNcwYxPzmEadjtmhTrtqbv6q/ysBqLimk=; fh=SobseOQpux9SGan1VrT6HHPAWLO904e7rTAsrOTfx/Y=; b=nlFr0Bh1/gNdUnHa++y8TA1jvfkf/cHPOvfb9lo5d85hl4fstE+6wOGBy/+9M9nStY 45ThXau0sgAZoxp/EZV3SOlbkhdJiAUVV1lWAo8X0E/CvUKatsZCxH8mVKRuQvYTNEnl 4mD24R5qFZKFhj5c+qEA+HaOy+w3WHY6bmKuXqbosDOijmDjXbUIlDeLQ8xX01XGFren 3KTq4TQmSIlrWkeba9ojoeB3ug3Aqgo83CYJ4rr1ax86MnP+5/04dLyzwLiYky1IFCi8 zs71HWILivw7GYaM2eMkofEbtMMfCKinf7j+PiJjyLJfz+aDhO+Cle6fXRyR6oupPtmG sEMA==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=jLR6OC9w; 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::3 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=1784113568; x=1784718368; 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=18bldT9Y1UKNcwYxPzmEadjtmhTrtqbv6q/ysBqLimk=; b=vV6eXSUrewiIpjWzNjzIApQ3SBqbcKcDQSFB1xiwOqu5oa4m/nfF3tpJzxRGzixhGh 8+toocsZKzLscZCtNgHjUYOgw7WtlI0QG4NxuetayqaICHvpYRVk8nWCGy8IPmKeVWVy ua2HBEgFayeL2AuGAtyAiAkYQUJFfNpgLneHubdbZT961DbIldpY60kQMsn6+Qdi4WPN vtXYE57+PV7+1ThQF11rtjEOLpXOZCsaeFOQYHbN2zSZeMzLPosNripdU8KwcKqrcyRh OqhjiJ27weXYzXQckMrmBMe5TSQAxeDrHX88l4LGLTeeDzCPLYj3GV8Rk/0aFzqNwwNP HDRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113568; x=1784718368; 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=18bldT9Y1UKNcwYxPzmEadjtmhTrtqbv6q/ysBqLimk=; b=DA+1GXxqQ9Pg9iXBs/OEzJAx/h80kVRjEUjrjf0Rvb/9nE68LfKXnrH6QpvO8hU5JT ml4fQAOo2Z/NTO1xo3o0dnnH4/pIxyutpTQnRBNmyjPdxLN1kydi2DFHF/A71gh6CEJV sqD5DwVzHBLAO5VVxetWhFTbGMMFcBMlfH0XcXu5aWqDMwYcmhWKx3pvSIq3yVi/SUD+ SMxZ4XRWaqjuwwGfiFpuLiREugFq12umay6gf5psK184m8mpzdhzNrFvJmL6xvivymy2 45o7CAB473rL1MkbQqySlLLfhwnl0Atele/pbD4n85VeZSd9f55NDhyY7EvV3Rswpeli Qijw== X-Forwarded-Encrypted: i=3; AHgh+RoqBGQqiuWOnzvil871cZnvkCKd7+/3cdGNyG70yjfTvQIARhlYlWtxSfnGqmq4oXg7c/Cq3Ac=@isar-build.org X-Gm-Message-State: AOJu0Yxf8H0jbvybTa3hBGP6Tqp0mpZ+nt/SQACg4OHq1/ZxsPPo2t4i FBU4o+IHtZ6t7UtL/CsTr+M921PvB3JJBFCUM3Cn9wiOaldFbtERVliw X-Received: by 2002:a17:903:15c3:b0:2cc:6817:d9bc with SMTP id d9443c01a7336-2cf03d51383mr18737105ad.38.1784113568369; Wed, 15 Jul 2026 04:06:08 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPR40UmMe3CXbPAzjkGKmT1z3AX7NCBTd1LdnrTC6KJidg==" Received: by 2002:a17:902:fdab:b0:2c9:c54d:7a21 with SMTP id d9443c01a7336-2cf02d395c1ls11831245ad.0.-pod-prod-06-us; Wed, 15 Jul 2026 04:06:07 -0700 (PDT) X-Received: by 2002:a17:903:3886:b0:2ce:e75f:b713 with SMTP id d9443c01a7336-2cf03cef5a9mr21133665ad.23.1784113567074; Wed, 15 Jul 2026 04:06:07 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113567; cv=pass; d=google.com; s=arc-20260327; b=ZIlCua5xMvolfWAGVdIyaT5tJwmlZ9L/TMhbX1ibeMSrfTuHBwR0ek5VIr9B5/w5jU nHKH1rGKZNP7qHfbI794JUQSPXnBSxYjvobYEIBzldxVUXzhcihrDMZZYxvQcmLP18qi zE5P1N/krvM0Ji0RXKa6tvnh7lkq7D7bPwkqkDMR94hIkKDjE5cmwdS0swfAZHaC17ar Y8r+gaV37RGbGRf4iPE9yTfYIW93PxwtgZh4JMw3kbwk9zVP44rCHOUN+6RuFua4D2w2 WhTQx8ZROkV0qzyECeb+BZp+eympo8xs6kp+XIciXJA7SDa4/tE0FzGjvorN6tdX39JC Bvug== 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=OJgOX9j4Haewcj5dn0ls6NtIrlE0Y8OoNk+P0X9zd18=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=TQSO8hT/LDBJRm2pPg77Y2G0lqjDH5YOZx0SltitZhV3Y8ZDzhZgkYkMWMKbxdpc7B F3FxqKTm5PXup8PYNLco0GcBexfvep3oV5HJBIIIhUjUXfI7goi/tSmz9R8t7F7OYHF0 VdCID/kYwleDQEq6prrNJFWbzsPSPFVPeisu3z/T/3M/k3CGbfkfDl37k0HNxEDoRGVa N/R8DfpRSdC5CCj+w8+Wrga0jCkNuNe55AEKSTCFhvL7n/RrzseZQptbMzm8YY55BM13 KbuxoM05m6YAUUKD3qfcqjI1XcnikUS25vL9CFAJ+mLNKvfWQkCKhDOQvfpk0dLsbxfv QHZg==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=jLR6OC9w; 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::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c201::3]) by gmr-mx.google.com with ESMTPS id d9443c01a7336-2cf10489ad5si21625ad.8.2026.07.15.04.06.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:06:07 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) client-ip=2a01:111:f403:c201::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CQa3tFfvpcyjynz7/seKDJeKVaWhStZ/CoDIkvfyP3Y5EhSnoR3a5T18Gh0iiYWViqMExCveXwGOFuqJGKGSlMr55NtVh2FY+jWO29vBtAw7niKwH2kdMX0TjabN+kZR2D+i4BOLyYrCyp4d20JkwdwtO6OoL/zARdO5kYxzVDrLOxaQTDyhmWr0KCwB0Qes67ll/okxq/nl7Y1TPHVPDi0vJlarztHocJXRL4e2dakoVS+ukk+to8tWH5C8Ve0wIDfISV6PzK9LYDdWQwejfdhFFjSVuTaJcMoVI6s0R+nDRHs4JIxRgQm05abCBKzaRv7jtpTC6pYMHEjFktV/wQ== 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=OJgOX9j4Haewcj5dn0ls6NtIrlE0Y8OoNk+P0X9zd18=; b=uZTf5vDK6PeXN4Y7KA0WCtkUx5lGkiUy2VSZ6O/me4z5dVKc4x7kOf3KDZd6WL6W/1B6rh800hNU0KsMS20CjnKh+MFbDDon9R7bCtG6duMVjqn0lkkIlKSbImIqPLdLhoGF9Ks+YrsT9IseWjOJuB58x/sdHFzVRawWgog+7RzXQqoxZtbvZNy+Q3MOHqScwKWEHNAZ3+5xcyiTPsU2Nk4DqXUhsmkI+I42uH9724mAWS/UQALnsttg7NOx40d98ycQWdy06UddAhK/2LVjK2rauBGoPSgh4W1t0j5CiPkeCuGDLQLo++q2GQ6fjDdCD84yiAcx33Dfk7RQBvJJHA== 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 PAWPR10MB7915.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:366::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Wed, 15 Jul 2026 11:06:03 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:06:03 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 01/17] refactor bootstrap: store rootfs tar with user permissions Date: Wed, 15 Jul 2026 13:05:32 +0200 Message-ID: <20260715110548.3605767-2-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:99::13) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|PAWPR10MB7915:EE_ X-MS-Office365-Filtering-Correlation-Id: 159120b2-c8c2-43be-4153-08dee2610f5c X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|10070799003|376014|6133799003|56012099006|11063799006|10067099003|22082099003|55112099003|18002099003; X-Microsoft-Antispam-Message-Info: 9Q2Tc8QjPbUY6PyczG94mEsyZMecyegiwYEhFZzWtCfbDtQCFevjiinzEDbGKhgn3hN8C7/iM+84bymfiiUUA9UWvpHoCIY+sT5Gy42H/Nzkk2oNq0v57w/00Ku0BXYfiFtHaP4wXd1WJBZ6Lju9jMrev/wjJoQk2voxdik4UQAx+7B629w+Xlt53ot9INx1gRmAuN3U2uTq+lfD+exJQ5/QqqIEYxdyZ0JWT9ezdF6eJKwQ4U+CKx+xXAmOyUzg7jB3lCuKF7Ea5pY4K0cjdTjVyd6I6au3ipDybV/QxEmkzZkCnLt1gXCIXbey7CL1nfpGCFy8iWvCVchptMUs2hK6B3CrQmSSkZnlS/6/heyaJjMWh8SAF8SBKaCO8Ex5fOogUtZ5Xg6V6t8tDL8FS+i05ZG9F+SKgmToR0PxIb5frYrl9CI+aHAPZRymYCDr4nwVQdA9JzQ0WeOP2xHRsrSM7YeqU2EunhOxAysp0plvs7gpYDn4qFlFjiK1GvbuD4Lv46N+WPKdfEL4uJNi8JO8DXIQpYks8dDPirrzLPX/jXdIiAnScsXpllSZZqXG4u7RUw7KkZyAXzcjFkySO9LmjTCYb/71cN6UNlqx9mqsiFyZqYjnyf4x1pU3zqc5tjaOBvZJozczGfXFaVj7EzeuGFJHDBEnZsV58V1NeZc= 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)(23010399003)(1800799024)(10070799003)(376014)(6133799003)(56012099006)(11063799006)(10067099003)(22082099003)(55112099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: Ojq4FKGPiZlrTlG8euNQzBd5RBxVtsVZYWX5LbOtWWf2Qa9p3Lhnw8/Q/E0ViDUDZ7h8Xkl+jcC5YrAW/5Pc1cBIjsrV3aDjEogKU+JD/dsJ0Hl0ScQw9CxGibdNY45DY0uIJdLjJJ1/i4dve76owPXWJt/D2Mql/x0sZVcJKqoykJCuovO3HlCDIz6wlyPWHvpXuvb+RmywWSBFG0FvZH2CpKzCf+EaT+RxHJ60GLVJ62KHc6o47NvDPYRvML2oFZy65bkZobYwDNAWnfp4iERqAatzONiVdcr53h9dVFiTjK5NR23GDXVpJYmlOnOAt0vwuAiEfvBpX8Rlix5E5jqicihGtmI3P0vkdQq/JZ8t+6/S5CNCty5vP1OlWdfgatD3cHdgIpfKubgDUidpM2PDmDvl1kQ8yZkaVwHJRJy0anF8upKv78Cm5xS8Ad4lyJBWl3GBsgdJeXz4P7yVlM+XXltiPB9emKzSX6o+vfs5fGugn7QjbFb5OA80BTLoxLD/POO+hokXd1Y6TfQp0bzcRLxZLpGDuvVJcfu3GPxPtPhTA/zyQ0sDm9YUr1Jc3fhv1BceLEH2jm4SYPtc+x2VBHvq8ly7QWccxxfndxLyCvvs4Ho8+5RNX29thIryBWECnVD5Yl4b+2SgukhYtpbzIGlDOxLwQllvQaczD1WaX/WkXLspGpGRGv8qEp6CQFmvpJr5bTIzoz+qnQcFB3taIp888G8a4xrzNxDEry/qECZqxDcesy1zEYWI5M5jo/20wn0O9ofitJ22vEMr+xCxs3SvCDng9XnaiRt8SDQ41G+aMF1IK8xLlK8NICOe/rkPlUHzMr3R83lpiacbzZIBjqTwfCv3ojlvbg9Sty/oMFRQN38nzp3URwWAE4b5oBAppZMX3/K23oiA/coflHMSxBsJxUzZ1P41jl79qu9Jy5eGvk08kINSHEJV6C3thYac01nEWP4ZN3elh/zhwTtoDGeLQ3MsMBGwC2dt2QDvWXEqjywo/mtwu9dq3P24gUhllvnFeByYRoP0pqt+qfMVJdAILHaJ878W8Q1sNWYpkolzM5t8P1WuKbV0mfpVUtC5y8CEMlEGkYpvmlCV+wNpwKjAff/nj45nPInobAZ3IXGWwSV8Tuhurvf/4EFzk1/yaLSECFM9B0LiQ5qhDAt3x66hNK7iv6lR/rPj00v4sTo3sbbt6JL7SmwF2Xtqutfsi+laLmz2v0Nww6ZDPlV6nXvouMVrkEmK8nU6YLcfHRcNiMMXT9pZgp37eq/LVaTTtc7h9oMLwb0zfecpGHNchfZi9qovJnGHuePVox4ikns7WuErgrVzpiuB1X8IB6rg5zWPlup7V9QbwiGpmF2z5M/z9XwxZ8ZJpmDHa81x3ndAy6sBwR+EdbXkuMVQMw+9m7z9iC7yzUdyFuauUsjW3aA4QFrILcxElyifgZY1yoiw6synLPwK1KuAu2HePAIcjgS7sjRkm4biuW8SP/gjWLviQrOWWzD9sTOu2NBBdEXPBi3MnAbjYppbPKCLyl47Xt4Omvk6ICb6GxXihbt0PZygsuY5gRQv9RVJZLzSni500KZfRcPhfsgLoi40ohmiq3nNOTPhe64D3ovlcLdIHIQUWVzRI7FZJAu4twVelZGwhSHmwNmeTtaHreungx1z6PX4Qg5kvHUQFFVu6zl+ZA3u/tpnIYVBdfb2Vp0oCdGqZHw7OYpgWFZFCAn3Vj29wXwLlYDvg+5XS6bhG6zOcxBwDPmNjM+XLcT3B/7PkazVOEitNunLgeooknnf24kCJ8Uk X-MS-Exchange-AntiSpam-MessageData-1: VIWEL0WjlHVQoVnuL9JliMPJ76f+MzkZzsk= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 159120b2-c8c2-43be-4153-08dee2610f5c X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:06:03.1545 (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: vrftBSwyZnW3sgjjpWAeZp2Olcn4qeW5m1CbCWoeBM6VMK/AlWlGDll0+5vXagiGyZjcrdEv9MZh+XYuozQMmllrtL52NacYOR10L1FJ18M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7915 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=jLR6OC9w; 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::3 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?= As the mmdebstrap itself is executed as root, the generated rootfs will also be owned by root when stored as file. To avoid this, we let mmdebstrap emit the rootfs on stdout and write it to a file outside of the sudo call. Signed-off-by: Felix Moessbauer --- .../isar-mmdebstrap/isar-mmdebstrap.inc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc index 98f6c090..22be1d5a 100644 --- a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc +++ b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc @@ -246,11 +246,11 @@ do_bootstrap() { ${@get_apt_opts(d, '--aptopt')} \ ${@get_distro_components_argument(d)} \ "${@get_distro_suite(d)}" \ - "${WORKDIR}/rootfs.tar.zst" \ - "$bootstrap_list" + - \ + "$bootstrap_list" > ${WORKDIR}/rootfs.tar.zst # Finalize bootstrap by setting the link in deploy - sudo ln -Tfsr "${WORKDIR}/rootfs.tar.zst" "${DEPLOY_ISAR_BOOTSTRAP}.tar.zst" + ln -Tfsr "${WORKDIR}/rootfs.tar.zst" "${DEPLOY_ISAR_BOOTSTRAP}.tar.zst" if [ "${ISAR_USE_CACHED_BASE_REPO}" != "1" ]; then deb_dl_dir_export "${WORKDIR}/dl_dir" "${BOOTSTRAP_BASE_DISTRO}-${BASE_DISTRO_CODENAME}" @@ -267,8 +267,7 @@ bootstrap_sstate_prepare() { [ "${SSTATE_CURRTASK}" = "bootstrap" ] || return 0 # this runs in SSTATE_BUILDDIR, which will be deleted automatically - sudo cp -a "${WORKDIR}/rootfs.tar.zst" ./bootstrap.tar.zst - sudo chown $(id -u):$(id -g) bootstrap.tar.zst + cp -a "${WORKDIR}/rootfs.tar.zst" ./bootstrap.tar.zst } bootstrap_sstate_finalize() { @@ -278,8 +277,8 @@ bootstrap_sstate_finalize() { # we should restore symlinks after using tar if [ -f bootstrap.tar.zst ]; then mv bootstrap.tar.zst "${WORKDIR}/rootfs.tar.zst" - sudo ln -Tfsr "${WORKDIR}/rootfs.tar.zst" \ - "${DEPLOY_ISAR_BOOTSTRAP}.tar.zst" + ln -Tfsr "${WORKDIR}/rootfs.tar.zst" \ + "${DEPLOY_ISAR_BOOTSTRAP}.tar.zst" fi } From patchwork Wed Jul 15 11:05:33 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5232 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:06:16 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-pl1-f191.google.com (mail-pl1-f191.google.com [209.85.214.191]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66FB6Evr022821 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:06:15 +0200 Received: by mail-pl1-f191.google.com with SMTP id d9443c01a7336-2cee1ec30f2sf30305365ad.3 for ; Wed, 15 Jul 2026 04:06:15 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113569; cv=pass; d=google.com; s=arc-20260327; b=X0W9Z3ExTpU2OX7kMSFzaYkCjxvv7SfQaHFZNpyOCxnYCUET5EYsmGjckb/a6hcK+P fSRREpApnkrfBZj/6t/diqfgYlf/9p0BdYAoCri0J5qvu+LfuKcbLPRj7FY3gL8OsHZ7 ke887dzrxUqReJAMUQHRr5HMvPYB1y63psFggHCENm32w3/GT55TcuwL5fQFd+haIySh 6dkpLpI8REWcGaphT1D9TXVV6Ige70U3KzWnIrkXijiCPaG3rW+2QaToFtwEyvCilsD0 t7LYkiZhbxqk4clBrEDailCm6PM6ILCze1l73rAFwJkg26iLYX1UyeOdf5wIVRaPkZea ms9A== 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=Suda/tIO8h0fwXZp4py1Vv7np27iMiBYj0MxplN4W/g=; fh=SaCn+2f3q3efKJVspo3m/w4KvOrgBEE9veON4MTKcKg=; b=QffN8dfp2PvtnZjFSmc63ptNyvYkKCAZwrtZ+z1DwRJ7a8zBEHKS/ay2L8NzoA9oWQ A4o/w4lx3eHf2cleLsI/x3Z0KZ4Yk/QpkxvQJpVAegrDs6q8bhWN+Gp6Mz88BOPANXb1 EXoBtf1wBz9iD5FQf+Ui5x8RC447lC642hbHtM8IlBVocMCmHmq48EE6+re08ZpGUsyY 2n0+DGboMiB9kzG9o+Ui3y4P+WjeaPaKED3TdvPx1LVvwd4eU1Z4LK/1chvDhBX0aMwG G0y96+aCkSCXm9BiJCuTz00CLce9OOrSRktByfzr12uJUXSXLMGyOvzGH4Ahrvqs6vrT lrnQ==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=eTdaMpTW; 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::3 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=1784113569; x=1784718369; 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=Suda/tIO8h0fwXZp4py1Vv7np27iMiBYj0MxplN4W/g=; b=f0+0SZeRGhV31VJsBLk9R2P4VXHwmb2dFEjUD4mw4xDTmnqEo9J97V21IUVlfzGUE5 jxjD4OM7dVdIwZvRLiAgl2d2p8l1rI9AI5UIUjwn66oXMg9yRDS5brf5OGwcUqS9VfPJ I3ePa4rGWQs9LcO2nG7qFOOPmIrwYRdO3MAMGJY8+HJqtSmpnSVs4umvalX5XDMjg1kY 3Gp6J6OUcXMDGFv8J1Ht94vP5SaDh0ZYPAXF6CocquuOul2xjkSwsNacTCzx0949zWXB 3T6+R57WWaKskqk5X7/Tm4EmIxwKl0z44f5hO4xNA4oWCU0sd6eU0vPxPwSG2aaH4vWt 9GWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113569; x=1784718369; 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=Suda/tIO8h0fwXZp4py1Vv7np27iMiBYj0MxplN4W/g=; b=Fa0lIo7/X05175qQXttoJTgaZaHDnfk1g2RvXRPoELyV4LQQ7Q4FUvQlZU9rrF5g+x 83BHVwpQKOU5lQ81fvf5VZPMzXBAGuvyJsmSGfNYUFHC7sqNJeUvH4xopM0LUNlx33Ew 6msJVqvwliSDVU1B5srekTjH4a4fGvOFi/uEeS5Qm6YqqvDgVWSunibPHcj1lSU8YzsM qgo74JngY7JC4RLwIoeRP29Xqj801xU8CV2qMaHIZgAsE17RGShQn5nq7XSF/8onfMfu 0IfIdhiLqe+KZHfwaojPYhmBe19y/GCNwKRu1jW0pww+KfY0rm3vcoid9EK2zUCxctyd 2r+g== X-Forwarded-Encrypted: i=3; AHgh+RrahYgS0qu8nQQBfnwQODBMF6GHgS1kML+gGban/J6kieCv683zzYxkHegduUt4A0D+nJ5C2AE=@isar-build.org X-Gm-Message-State: AOJu0YxM/3Lv/AFdemNK/y6PJ0zSVUvr4puJp9bEWt23OvhAy18vxONE Qf9M2vbGnHfSuVwMdFxWBiloSF3RMVGyp7mwmJLniz28Xx6sWE32GfqC X-Received: by 2002:a17:902:d98b:b0:2ca:1bbe:c3d0 with SMTP id d9443c01a7336-2ce9f3d5e4amr162019705ad.43.1784113568962; Wed, 15 Jul 2026 04:06:08 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPQbAVmFH2/bvire7GhpSkVRUOgbUSaaRixjJ/JMgSBzgw==" Received: by 2002:a17:903:1d0:b0:2cb:59f5:816 with SMTP id d9443c01a7336-2cf030e041fls12850115ad.2.-pod-prod-07-us; Wed, 15 Jul 2026 04:06:07 -0700 (PDT) X-Received: by 2002:a17:903:2a88:b0:2c9:d8c6:1db8 with SMTP id d9443c01a7336-2ce9f284e45mr165419835ad.28.1784113567596; Wed, 15 Jul 2026 04:06:07 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113567; cv=pass; d=google.com; s=arc-20260327; b=qW/CwvbQk2MBucJek26a5Bj0xiELWgT4uox9AdgfVbBluReDR2X8g3z45JwB3et0AS FrlRfz5f72FnVGPULH29nUENS0hXmgKFHHoTQAOxu1o2sLOl5eeh/t2a3j84i2qHxivC tsXQfwnwK1R+64i6HEgOOZqcTsL6o3TzsbH6T7j55UftTZejP6gf1bEIarjDVPRjLzov rxi7uxUjSmVsiwQ4s4FWpUAg0JT/jADehqBo8i9biqmOn/pfJTesqvt/oEulS++raxR+ ToxuS07iagERppgUT5QGerkJzVLOyhNKPFKONFIK5G0tNBLmKd4y0dHfdF3ySjJ5gsFP pqIg== 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=KjbDYw4pHRssAXH0te59riXxdPlsw1o5WFn+aYomoCE=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=S+H/A44d3wUUgnLp6Fa7+KHdBtWV42hKsq9E9jmHDWICIapQOlri78/PuPvtnaFb+o 7H8lXZDMH61tJpHDPzV+wvVLr9lrQKfgY3HA2HyWwEtwgb+/d4/uhUzF6Ut6SBhBMNod S2WP/yu+Iz1GxsvQdW+ndRFKASU/2d4SnRcveUi7OvP1+dqnmPKMVdtJqpaR5DLgnQn1 KgDiMuj9BYdIpQhf3KYI5L5AARiQ0j1HYkoWSZmNl1Pb7dUCJ0CclJLw7X6CF40tRwzd 9+iesnBPvq1OkhawmIIzk/zIoQDAyTDSH9k7ZHOHsJIIDIBH8Kth+IXaM02fDEp9J6Ly t0+A==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=eTdaMpTW; 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::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c201::3]) by gmr-mx.google.com with ESMTPS id d9443c01a7336-2cf10489ad5si21625ad.8.2026.07.15.04.06.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:06:07 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) client-ip=2a01:111:f403:c201::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=O1AIKUZ8zRek98q7DQWTXGau3vhlpljI49/qM+VCEy/UNUCevZptTP14XCM2NSTO3oEjkKg+uU+4oSLa+Vlvo87rDv0AX/MNipv1itG9Pu72XAM084h+p0ua7U7Fm8ovmQyazS0VNuqWMfDlV/+uz1B1qeuFUaZ+HgmaCSdIiL+zbyfYHxZc0pzF6t0Rjnvt+WNlcIVz6YUrf9uKDV3FZJg3D3nb8i9A15YAzP6efwv3NKn0RuZaN01Azg0Iv/fun4I6GxhHvCQKnCzdjCEGOENhztofuqHi4jPgr1IRFBQc47eb76XCntk2VQW6R0QWxgtc/OuoN+eAokZMndMkNw== 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=KjbDYw4pHRssAXH0te59riXxdPlsw1o5WFn+aYomoCE=; b=W7z2a+9uySLYfYGC5Vi+lRKvQevLGhHC82zvlPt/6sCBFU4uu6V5FwsPnXJ+P4rwh6DIW/dDxb9z5z2yZecqFKh8ZNQbugO0n5YQAku1wJ3oilOYEL3uHhwfVOyaDrgkgl7MZaLlVvF6XazvVfF2blGudBG8MbNjH4r0EViN5YZm+JRNl4CWcyU1M/Qnl/yJ6i5Bh0HRWrICPjFfaKBw4gCQ7ARZhS3XmyK9mDE5d+LnAzRg7gCHkHWlMy73kxpUTqh1PrclI7jSTdjvBfcVwbhT5iAAmIiPAoRyjZzDgZI1FMU0HIOmPpc5nb1Z8BFHMCkuGy6VJeXAuxx8+w4izg== 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 PAWPR10MB7915.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:366::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Wed, 15 Jul 2026 11:06:04 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:06:04 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 02/17] deb-dl-dir: export without root privileges Date: Wed, 15 Jul 2026 13:05:33 +0200 Message-ID: <20260715110548.3605767-3-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:99::13) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|PAWPR10MB7915:EE_ X-MS-Office365-Filtering-Correlation-Id: 74ff0f44-fa9b-4600-949c-08dee2610f96 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|10070799003|376014|56012099006|11063799006|10067099003|22082099003|55112099003|18002099003; X-Microsoft-Antispam-Message-Info: 16YRVgEv3kCtznTwlP+b9DEFIFeYA3oT1a62sTNkqM/tea9dcfzEDf3GnlaT+sVRQ3YhukgypZotR8pA2AtmiuT/tieSP49xJNQWn+R8lxepQSmQQxAdpHiqO0TjLAy2Jga9btWlyQ/E7Fe+ZPURt+gqnArinCxEjLy52yYgktNtIJWXFzbvc+CfXXRPytqoMJjxTuJRmxOG/hEkqgQdjBa4sH7cogodxgBvPQIEgMkU/NuXO2h+Umd0go6MIoKPUiKczW5tYGvkm/Lb84dV+N7ssZc6+rjJ9HGTPpipn2YMjvf+H8DXixdJRwxK615C/vyZTO5uOIaKc4xVqQH/++TJ8OKgVt6HrAqiEQugRtYCXDlGV+QCq8XKUcZnwR8YNjf9DlUObjHj2eQ8LT3SvkOuHiq48hjE+rvVTbfi2sdn1/oZA8cFv6aLp/Wjm+I/5QR4hri6GkrkCo50LhCrymCSpCQlsTJzbJ2NmMCXEjpQUeXBbsweqxAoRic2ZARZyyPgPb3vC1zyK60ergP4GzhD1nOIEJTPUS5YBpr5w4nC3ir/C8axw/LVCeXR/i9gM5sORFGDcGcJnBu/mmYI0JiG5UybvUbCSe2GxwMvB7Sd2KC9z8wyRb7DP1e9PQRNeVCEWJRNVimxrRiFxfZaKcn6RtjUWYc9ebnE8yAgSrE= 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)(23010399003)(1800799024)(10070799003)(376014)(56012099006)(11063799006)(10067099003)(22082099003)(55112099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: NG4H2324IgvRH88PHEKa5b0iLduUcPrEHb1fbtxZsDJDuPAmjP6sESVPBTD7pvkmJQdhDot76MCYkDqVORa1hoXZSeUREiamz9721T2+gpuFfIwEdd373SEQujyO6L7m40xca4LAqIr7jfL+VMioXMN+SufyqvE/BuS6qtZep3iQR/3yE28znyoeZ5hNYBFEoQ8h9CTF93EDeXiGfToPaDeATnkBwVc4cf6nEQvWTn5UJ4e/IsTPIhBsJYPKZl9P5pHKq+pCjlXuD1zl/Z70mqDsdEOoW1N6DfNowvBnoJeyhSdJz8jgtU5KJtuHLfmFvEA7yztjwKFsbng9DyVEF1oKfXdbt/sp6wqosOUKl1QZEjNAeCzgojAcxruO6k4FMSvsfH0B05MLFvAcSDzn9WMTkE34PkIjqJpSWkvY45aK63Oo8gAsmUaNBtpVcQLwJbjPzNHJjbZSBhUQqGbVLPwUA4JLndSQCZLr4OR/jEkvmz42VAlqY3oPSg/MjPgAQ8dVHFp23g6rvQElFPMHEqC194SmG3BUznXeH3RwSNcnyPAdzziWhRCVlOBH5mntjNpy4m7Kig/ox2Me2PPS0USo4EgBvj6Hvxr3I9KRFPFwmQZnlvmEh3oqSJe+7O18PWtsQzVv3ouYWKNSo5joteCfncy17T1wIcYgrCMzjQVmAbNustGT35bvHvEI8LhRcwuO066uQJMQPs+JzGt7Oa4iHgpdKZs0MBjZpVEXU3zFqQzchDVlBoQ22KCuvp5UNB+iyuY+U6247tY5/beI4R39VOXt741J1tfwMHndWNgcXfwzx/LUEkYLxhrfjMMEEY1JnCiKBfw/bsE0gZLJp3VQUQa8YEpIsva4v9a6/qvAPdG6hHmt7zLpY1r/tLWm7ySA0pXTU3Do7FmgDT7kcCOz4sWVRVGKhuX2wiOmi9XNawPPKphkoaIxLtV/ZAXS2A37jJeD1pJVweiQ4ZeTodIlyNnDqiLMwyQZl9UdcW44V+gq22cyXBNP1cA8RvNh8D3SlP8siyUlLTDRflj/3T2frt4Mv4+BSSlqmBC0yoLCBL0a7IgQrp5FrTugwiJI9TIhjG0iX4E7y7mY6LdEANyXCiGTgV9SGUwmAEYR4z9yfOGBwpW3P7qJoy+toPMXdWnobIg5jy6+uinesYxW3bpsn/RHofA+Gw8AsUmkfpeWkZpX6VTrv6gsvZjd0o/7gERYsSVjmyXn/Icy3YrFygS0xMpSn3bhOmwC4S6z7ZZfuU5knI1VpcdxyHhXrF/Gh28p7s9F56lP5UjZNPSJv2z/eL39S1jBHRV45+X+fO7xX1hD/Bi9OV8J+d87/a/ReBJLK9wKtKdq038/RGTNg+8zJ7x6n6skI/TqPntFURI+FZMRq9x5hLdrHyAmh7gz4GL6TJjuTLV+TYkyQox0x2ixE0vFu2LLY/NXaBFE8F9jouoqAnsxrvhFzsmSXF2oBtPKuZiabQjNLycdRx23aN+ZI9iS1r2gifynuN1cdHYThMUVRdKiHDEaP3b6dgQay4U0P4lcYMuzNjP/E5zSctxKa1XkcvOlsjt6xS6ezPyus0l6OzuFKGiQukOnjg8znKlqfEUrtFAA9uw5Zw4SwKyImglk/CHl6EgbxFmLt0WpEnHwBaYvN8LVcTljGw8Y1Ml80S8MIbo9belKwGGAY87J/Z0mFVEwp7waKx5L2W/X6PKlrlc/BzIrDgpFhPpOZmMYpQZHhC8QT25GMACsL3jprxwFbppH6+dZw4m6LuZyxF9bLQN+JuiIX6ZQRYFfzXCGCfBQ X-MS-Exchange-AntiSpam-MessageData-1: z1tbgGZcPmJry2cbitrtHGnaXcnWdpE/VFc= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74ff0f44-fa9b-4600-949c-08dee2610f96 X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:06:03.5237 (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: WlJoEIGrWPrzO1G4bS/TkUjJrS06Co0oxYdBowItoU5LrdN8HJdvLA9Z9WKN+uv03eFf1sUZJiENrmX7SJibGXhtBX9Vr1GBGDmmp8SLpEw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7915 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=eTdaMpTW; 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::3 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 archive is world readable, so we can access it without root privileges. By that, the files in the download dir are also owned by the calling user, making the additional chown obsolete. Signed-off-by: Felix Moessbauer --- meta/classes-recipe/deb-dl-dir.bbclass | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/meta/classes-recipe/deb-dl-dir.bbclass b/meta/classes-recipe/deb-dl-dir.bbclass index cec7bd76..ec08d739 100644 --- a/meta/classes-recipe/deb-dl-dir.bbclass +++ b/meta/classes-recipe/deb-dl-dir.bbclass @@ -152,7 +152,7 @@ deb_dl_dir_export() { export isar_debs=$(${SCRIPTSDIR}/lockrun.py -r -f '${REPO_ISAR_DIR}/isar.lock' -c \ "find '${REPO_ISAR_DIR}/${DISTRO}' -name '*.deb' -print") - flock "${pc}".lock sudo -Es << 'EOSUDO' + flock "${pc}".lock /bin/bash -s << 'EOF' set -e printenv | grep -q BB_VERBOSE_LOGS && set -x @@ -169,6 +169,5 @@ deb_dl_dir_export() { ln -Pf "${p}" "${pc}" 2>/dev/null || cp -n "${p}" "${pc}" done - chown -R ${owner} "${pc}" -EOSUDO +EOF } From patchwork Wed Jul 15 11:05:34 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5233 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:06:17 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-pl1-f190.google.com (mail-pl1-f190.google.com [209.85.214.190]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66FB6FcB022827 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:06:16 +0200 Received: by mail-pl1-f190.google.com with SMTP id d9443c01a7336-2cc86a9ef97sf114489165ad.3 for ; Wed, 15 Jul 2026 04:06:16 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113570; cv=pass; d=google.com; s=arc-20260327; b=pwpdGtDYnMS4q1xX1kuUlqD8MqbosuadCux17S11fgh0VD3TENs7YhX4UKKKOfY6JU dDhkFgQJt2gsMYmaVym06YZNcRYUqdmXha9Vv4zJ5M2Pu5YfJwJwc5UeS9ZiRXM8BKUh fKTYUSisTb2DRvkLq5hM2bRu7tkp15gG7NOojR6R8qh8GfRGL4fh+1TZaGineTloaVfh cpVVpr1+akBNbyO0KhGBOmApj9weGxirVCR2YJGvqmVrvYZMUgdUaJAxoL35/kRuE8KJ Btq9QhYUBgx5iBPx1SIC4wWj8xUpXldgg5qpWlb1pxN40aTPLwauAGOw4fILyT41D6jW G/8Q== 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=ntu5BU+YHflUgkgRX1/Nb9ciJCw23qDXaQqhfEpuJEE=; fh=xpyQ91IB/m5Y+aAwgrwRltrO247RVDmdu/HuW7CAbrE=; b=acCXoT/BW2zbCJLbZKa5Uu7ftPosnuy6l4VhReJ86iMHHiCSB49bxcTITCO+r2+kiF W2lx0HqmKkAlAtXvMtpdE4j9W0NgoxOO9U7jYSh8OywFmpkP4PTOhWjYHL10gfcjwvRJ GFy+6pp6vHilxZVBgqgn3r2DZ1T3aF4yjy9Tpam1HXi0qCltzIz8moEdIAZld7gvBHV9 wzqid8OVgSXaWIZQjbsTIl0qfTQ2T0Dp5JvE0XR3k1MqBOFUgsQqmlq6YtjuMBVmJ6Ia KRZJiMIk4krARfMgA7UcdH7r42WxXwKwo5zWEmwb4M2pYYeOnFaNPMaFL5k/78JPLsbb YNAQ==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=Mbt+3K6O; 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::3 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=1784113570; x=1784718370; 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=ntu5BU+YHflUgkgRX1/Nb9ciJCw23qDXaQqhfEpuJEE=; b=NrXTyiAhtvK8jGH0O4zRV8sZkKNwiGDQwFl8tsH27ogH/7bo+Ic4h/qyMPaGwVzJic aZePx3oMGWTBTM0y8i6+d/9Z/Nn4JAgRkKoXOVWhkRRowN5Jwhs7Tya8ryOM/nx48uVY Pl3krQT3FyFjH3Wv9jGur4iPZ0rzpQN7X+ceN/GSZND9yZUP+csxuysswNndfoUWiH4x ZJlstkM2Ps41YSh57kMHmetzJzRlKN9zddR2DOQy73cgyTFq8rli/kJGMkp1tsIDZvkF 8ygnQ0Awag+WZxTFdN7ptmrR4drgBW+W65fF8fm4QzOo9bwQlVmG/YHmtaESFLH4NWRJ zz9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113570; x=1784718370; 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=ntu5BU+YHflUgkgRX1/Nb9ciJCw23qDXaQqhfEpuJEE=; b=n7EsPQPlRjuTJCD0fT/pb0kqX9/mlnlMfWCN0rI02JkUiOjetcABxPX00464NUB4Gf sQNVsVveLmtYpUI/HGu0e+bcHQm9r/PIBVgB1bItSVKZOBJwqgGjGUwVbFYQO7C38P9a /TOVJ8hXfbgqgL8LuiateAEOTYWtPhOM+jjFMC8KSeo5bnjcMEItSBHV3srCKYEKCORp LYobphqbQbWd8nKOLTYPN0od/2GVgbcU7AvMvfFVf/zYEMdfbZdAK6ihKSO409iy64wG Mb6J3dZZbX/UGB7RFS0A8dg5NYAx4CADQQ7aJsQegx4NPfoz8O5OLd92Na3zssYSxRUD WQgg== X-Forwarded-Encrypted: i=3; AHgh+RoZ5CJ/PrHCeMVCZNMEHzH9R1IEQco3odptJ0FKHCMVpkjg4Bvtp3gKuwWhi71xDtKZosxdUVc=@isar-build.org X-Gm-Message-State: AOJu0Yy7qgEALbE2GB1Q85743ja46c7rJbVyWZb8pBY2HUgQ0vhirTax opxeb9uyWBEXNvuxSpQ37uHjzjKRmB5ncgCPWqIsVE0unLBmAPT2+ton X-Received: by 2002:a17:903:458f:b0:2ca:304:f93e with SMTP id d9443c01a7336-2cee9b58fa9mr70436435ad.22.1784113569425; Wed, 15 Jul 2026 04:06:09 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPQkzJ704nKSBlttWDumV3SsdL2t30MQa+dbeHVR7NTjmQ==" Received: by 2002:a17:903:28e:b0:2cc:89b8:4246 with SMTP id d9443c01a7336-2cf030ff6f2ls13756315ad.1.-pod-prod-01-us; Wed, 15 Jul 2026 04:06:08 -0700 (PDT) X-Received: by 2002:a17:902:e844:b0:2ce:8e70:3210 with SMTP id d9443c01a7336-2cee9aa6729mr79510885ad.16.1784113568116; Wed, 15 Jul 2026 04:06:08 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113568; cv=pass; d=google.com; s=arc-20260327; b=V06bgxhHatFkS2+7/sIZvtSu9wjlew8Q3YOVsl1DG+AYBJMgq5BHNT+WnnPkKVf4lu Wgtg5smledKeR4c4G4WWbOl3LKZx50UNbWUq1DDJhsIpfPeHBDk6d+jaJIBvNpkR/X6O sP9O4sAMHPXFfcketkdjmVmnimsmzOWLJw+18FQFHDsZSjPzizLt3Nwm1jAVD0yAT+yx x8dqyMULMqf8Hc1mc6yPabOLC6ldRIpkD5O2cp88YD6RdjddvHz14TXVWfQ9EOXMCC1W 89cmfu9zEFVIoGy0iSX2Pch2/N5dibHHtvZeRqGMr4TjwoFvT38c1DVDZfp+H1Xd/3JU L7rA== 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=lGVt8V9CUgoqXEHCQ5q8AxLBNkMXuM9pflvOlTrfqiQ=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=AzIDUeeN4DxsAk3HF/fgIh/d0YvDl7YAZQcLjfrxAcrJQT+psBm2xKVDZxIuDtxouC EQ6tFvtXStMZM6KSQlq3Zww471WuIqRF7p2QI6vwpnPsdupfKjx/ZQEpd/1uxqdLj8mJ 4QTL+uVzgUatY3lfHxwRNTGemS6WO/l0MUw84OQBZ6Ec/Ooc2tD5/XG7KCjRrk/y1QyL lp92BY/JfT72v7LlqPjRRZNlgPTsKpOWP7Tb1H6IZeavzUNn5NWBfchbw2n0qj04yJZv 5wAgqCpwd3Pgv0wE2z/M7gduvh7bzY1o0pj50EjsCMsK7581GpAGu1S9URRagWthtC8O GkfA==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=Mbt+3K6O; 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::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c201::3]) by gmr-mx.google.com with ESMTPS id d9443c01a7336-2cf10489ad5si21625ad.8.2026.07.15.04.06.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:06:08 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) client-ip=2a01:111:f403:c201::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Zdv9NxgsbAZoySlRKMEw92MZjQbmQo65UMZsFvKN4ZDFBaj7fufj3Zlr9fVy5q+6f8nc8OxqtiAUK4JUWGdm/RNWLtvUfAgUJk1iKb1rwm1A9yidAZt0C/nEEZEyy4Z3sv2MJ5X1YYDdcEtNutwsyPbvFaI0pI4cYplPZWu7bgkWtjvOpzOzM9+nfNYaGyDuuoshs9x1esTOCG92jUu02bIPbjRQgmINIW2+pqRSIq1f853IMbk4TIQvl4kCEYNX5Ms8IEbqTZPfeV3sNVm/mI3eIc+kVgWFW+iQ4upMcRhmyNXjSk0jBPRS+DLewFSR5hQO0hTRVM6li5wxpM8c9Q== 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=lGVt8V9CUgoqXEHCQ5q8AxLBNkMXuM9pflvOlTrfqiQ=; b=Wy2NvpqlMwKeBvQe6++jLfptKBoObpFqM4punp/yyp7QmAtk2eWscTRff7acmy36qFaF6fG9LHfw3SHQEOK2KT9G1G7idAAsFxKDlPN3zYZPVjuG7kUS2G5laOAb0Ho5DNbipm2EEVzpEsFWondX1M33xp6ZlgqLAuTdVlTibS+Gs1uYvSvQGdxxKQ9K9IWNhN1MCP0Vj7m0W6qSR+7yt7lskwLwdl2rnXR7O3/aR8oLt7o4FO1qABMlm55kEJWbqAr/Qp5jQS6Uq3UOKafOhe16u8Cb0SxpCiZt8csYHwpaBqFWsnKjyCP4BU3GvWL0Ihw1OraMz85HphKI4QkbJA== 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 PAWPR10MB7915.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:366::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Wed, 15 Jul 2026 11:06:04 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:06:04 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 03/17] download debs without locking Date: Wed, 15 Jul 2026 13:05:34 +0200 Message-ID: <20260715110548.3605767-4-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:99::13) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|PAWPR10MB7915:EE_ X-MS-Office365-Filtering-Correlation-Id: 5df4bc10-36f3-4b57-4b25-08dee2610fcf X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|10070799003|376014|6133799003|56012099006|11063799006|10067099003|22082099003|55112099003|18002099003; X-Microsoft-Antispam-Message-Info: e6jZzEb8UIEu2J0hkHKwj+xcmL3t3vXSsm6eqB4A9YBrtYI53lrz2RyOiv3yTRGiCDfqSacBpgzCAf+ZugnuU5a7wM7qkBwh0qFNLMancptwmBn2vl6m8Y8mUyJc98/rH6unR4fl7jXQUHRYgEEy+fpnks3sOyjtGXEBOz2kPaCMfhCX804fGqG0sTi+VjdwCQyPFABUY4FBIz0OzQx0K8uFy1cw3S/cLbAmarhNXL5yhqfA2ywlpwO5sWlLMkBYK6UJimQSIlOPwtvqwiITrsNT48+qRZiF7lNSMNA7t4m06h5BmjtKCqde6Vv+7sRFX15SnqXcK/6fHXiwozemUrAeoHFZAGNEerQlYylXMzrAD0b3l18JEgbPYJwfFoVtYWLW/fgseuo4YPGpCtW1ZzovtoE7j+grbQjRcl2WFFFhkFGHz2ye5jfONDQThJ+1AWn+wiMRQHGncbRQRs7tioSI50pEhjx7CAiZFX72UNXX0OakRQt+2PV+6hyDfif17ukT/PkYFtWYAhB/kc61xATlQb3TQOu+j2rznp/gG8lscQ9j7yfnpkaACa535oL0aA8nYCiMO7gc4ISvFXZuUpZKK8UjoZgFmJczpC80JnTnTZ76FPAiyp9K4LdbjsiVChCw9hKLsegdY8CAT5rQaRWV95/Csck3URrWGqSWP+o= 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)(23010399003)(1800799024)(10070799003)(376014)(6133799003)(56012099006)(11063799006)(10067099003)(22082099003)(55112099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: JwKSJHNTynbRjdS7zsHLTP71XjQmcBLOjGQmAnyWIlP7Vht00QVFCM6CuTzhwEy98eOs/QtnPLRSnkQkgl3CaWkPXnnpDUBIU2ewTBCyDV0g+cx8e2J6w44QDm76NDrSzZoA/kFUbtN6UImT3eT8yFsE+5q198luvKjs6735XFIRO8M0wpH/9Qlwz8IaQq0lENcUiqwwr1cvxul5MqDcPJUcUgSDdPNC2hLSPT8zoqqg/IVFfiW6sL1vgvkt+RNsCaqGLpWpx+YyDJ4mgrkFQ+mMvPZXFZsmjquzQv6/Yweuk+204u2Tb8TMDHOYg9VV4/qrMnqpSjXfm/VxkpnW/yG0Z5eon+pOgJ01AcEzDrRwUDLgih4OP2hd4onfixzIh1MJTJ8FhCRvOJHE4/LvIFpQ+q2qozzq335SD+2ppYtn7LElMzYmZfR2ggw57WwPSkIvp1YSYF9fsSueqMhUG5lzuVVUsG7iThbMJu3kTCOsLs8POLJjkT19EiEBDhlPFdl4fnl3MbZdStQ7UhX80A0XqkUqxYnJRHTBiDWg1/RAZJiMVXFQprN8cakGClqia1iyVHq/5OLkpDmloOkzXx5VNBNiyXw4k8ppHJB6xuUwRlrL6ZaSca8Lfn4FtSGGJ+U8V7yp8Vd/BtZj6arUNAOeLW+bqnOLVBlrTwzncaw8vebFj7zqTs7oWI+X1qoj067hwvbDHykTIXkvRwLBfIhhJgiwKMGlqb+wvjHb+P3e2G6CTgaciQJUdPu99M8bLPJhy8UbSKFUmQzdzNbttnoa0T7nQWIzM4DApZqAUulAcB+ikus2zPMqrkCuf+SQrseHb2DR183kz8YlHYQ8s4BEwz0E2ncnuTCbb8SYm270vpwglpTQ8yMyCdLvA+FYiItPcXVCnY6xvqFsJrSYtRUUrmqB23sajSG10f2fJvbLmd1rrUy6WtnQG1W9yoTpUMfDt3hse4gwQLVU9TRJ4wNXKF44xZsluPK/ppvHMcaOHNQk0j4zKQ4BaMRdtriKY7Zdb3wQjCHSDdWuJMWwE8WyX7Ru2TgKhv2zy5xyy3f2gm2BxvUMXD8Ikp6a/gsnolFAWKD+6cagC/dDQhFxxhcBbtBlLNn9i9G+9XXXctWKZFOCXQ6av16k900M74b481grj35f6U/ngVCd51dujFlY95VN8XXjnTVSoKcfW8/NC2JAUxnttQuDK4Gfv1IKb/LDAcAPfx+Cpqeirb1732VTm5HbyI0E6LZszof4loIkSxH/BBUSNRl92Rg854GTKieHlGeHb0dtv0I+LaVyff8cqOHy37/68AobrUdYOAxSqI1bO1T0niCcg8TmuHf1TEZRWjpq0V2fwDWyvQTNZilhzRNkO705xrt9Zeyp/qafn8bFTlLy9V0p1RcDVOGNO0L79w/QKC+YSv8Qz+j0YwsZei9wK5yaiUpjz4pvyHMLrgKgiuOX03vSKzC58f0245EKbJGLkhAwUnc9dbwZsHMXyrvXaYpMnlGhmtGTkA39M6gnr5fgDfdnNTwoNWuv9IxbJwUnSKRxoknBaA4IezCpCL0aFGkUGt+xWFGSWfE4pvo/dm8OuhJsBwKsR7k3lMuAt9TMYoD5Szh7vazigxPqFaOBvNlBfXL0b1AqnmuGzYZGlLJPx4+Ne31L8OHEVpvDAvbXgAj83dGSqhHhkGEpK1PIMBialaJCOsNNtmngskyZy4Nx4BXm96oXtI7Th3BmQGkYYeeL5uBnfY9g2mKOAWYND0cDMYB/fAJtPm7WiqfEVBjKdVPub2vQRE5ZKsFl3izr X-MS-Exchange-AntiSpam-MessageData-1: Ki5yG+yLsxbaB+E8t9mHNn4GKBe/ZemMqQk= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5df4bc10-36f3-4b57-4b25-08dee2610fcf X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:06:03.9414 (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: 9C3V4rPfm+LD7SupgNWXWLal94P9bh0OgldXsJPTHNcXslDshtjLAhiv8YKCvqiWiQzXHeL7k0CoSMCZW365jXwLgskRVHB4rEjQNX+uFO0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7915 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=Mbt+3K6O; 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::3 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?= As we are only downloading and we are the only one acting on the rootfs, it is safe to not lock the apt cache. By that, we can avoid complex file ownerships in the tree. Signed-off-by: Felix Moessbauer --- meta/classes-recipe/deb-dl-dir.bbclass | 2 +- meta/classes-recipe/dpkg-source.bbclass | 2 +- meta/classes-recipe/image-locales-extension.bbclass | 2 +- meta/classes-recipe/image-tools-extension.bbclass | 3 ++- meta/classes-recipe/rootfs.bbclass | 10 +--------- meta/lib/aptsrc_fetcher.py | 2 +- 6 files changed, 7 insertions(+), 14 deletions(-) diff --git a/meta/classes-recipe/deb-dl-dir.bbclass b/meta/classes-recipe/deb-dl-dir.bbclass index ec08d739..7b7b6044 100644 --- a/meta/classes-recipe/deb-dl-dir.bbclass +++ b/meta/classes-recipe/deb-dl-dir.bbclass @@ -79,6 +79,7 @@ debsrc_download() { --chdir "/deb-src/${rootfs_distro}/${src}" \ -- \ apt-get -o APT::Architecture=${DISTRO_ARCH} \ + -o Debug::NoLocking=1 \ -o Dir="${rootfs}" -y --download-only \ --only-source source "${src}=${version}" \ || echo "${src} ${version}" >> ${missing} @@ -120,7 +121,6 @@ deb_dl_dir_import() { # let our unprivileged user place downloaded packages in /var/cache/apt/archives/ sudo -Es << ' EOSUDO' mkdir -p "${rootfs}"/var/cache/apt/archives/partial/ - touch "${rootfs}"/var/cache/apt/archives/lock chown -R ${uid}:${gid} "${rootfs}"/var/cache/apt/archives/ EOSUDO diff --git a/meta/classes-recipe/dpkg-source.bbclass b/meta/classes-recipe/dpkg-source.bbclass index d14d56aa..629796d6 100644 --- a/meta/classes-recipe/dpkg-source.bbclass +++ b/meta/classes-recipe/dpkg-source.bbclass @@ -77,7 +77,7 @@ do_fetch_common_source() { schroot -r -c ${session_id} -d / -- \ sh -c ' cd /work - apt-get -y --download-only --only-source -o Acquire::Source-Symlinks="false" source ${DEBIAN_SOURCE}' + apt-get -y --download-only --only-source -o Debug::NoLocking=1 -o Acquire::Source-Symlinks="false" source ${DEBIAN_SOURCE}' schroot -e -c ${session_id} remove_mounts diff --git a/meta/classes-recipe/image-locales-extension.bbclass b/meta/classes-recipe/image-locales-extension.bbclass index 32666311..08b13529 100644 --- a/meta/classes-recipe/image-locales-extension.bbclass +++ b/meta/classes-recipe/image-locales-extension.bbclass @@ -30,7 +30,7 @@ image_install_localepurge_download[weight] = "40" image_install_localepurge_download[network] = "${TASK_USE_NETWORK_AND_SUDO}" image_install_localepurge_download() { sudo -E chroot '${ROOTFSDIR}' \ - /usr/bin/apt-get ${ROOTFS_APT_ARGS} --download-only localepurge + /usr/bin/apt-get ${ROOTFS_APT_ARGS} -o Debug::NoLocking=1 --download-only localepurge } ROOTFS_INSTALL_COMMAND += "image_install_localepurge_install" diff --git a/meta/classes-recipe/image-tools-extension.bbclass b/meta/classes-recipe/image-tools-extension.bbclass index ab616b7e..766f386d 100644 --- a/meta/classes-recipe/image-tools-extension.bbclass +++ b/meta/classes-recipe/image-tools-extension.bbclass @@ -54,7 +54,8 @@ imager_run() { apt-get update \ -o Dir::Etc::SourceList='sources.list.d/isar-apt.list' \ -o Dir::Etc::SourceParts='-' \ - -o APT::Get::List-Cleanup='0' + -o APT::Get::List-Cleanup='0' \ + -o Debug::NoLocking=1 apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y \ --allow-unauthenticated --allow-downgrades --download-only install \ ${local_install}" diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass index 312b7904..872696f6 100644 --- a/meta/classes-recipe/rootfs.bbclass +++ b/meta/classes-recipe/rootfs.bbclass @@ -340,18 +340,10 @@ rootfs_install_pkgs_download[progress] = "custom:rootfs_progress.PkgsDownloadPro rootfs_install_pkgs_download[isar-apt-lock] = "release-after" rootfs_install_pkgs_download[network] = "${TASK_USE_NETWORK}" rootfs_install_pkgs_download() { - mkdir -p "${WORKDIR}/dpkg" - - # Use our own dpkg lock files rather than those in the rootfs since we are not root - # (this is safe as there are no concurrent apt/dpkg operations for that rootfs) - touch "${WORKDIR}/dpkg/lock" "${WORKDIR}/dpkg/lock-frontend" - # download packages using apt in a non-privileged namespace rootfs_cmd --bind "${ROOTFSDIR}/var/cache/apt/archives" /var/cache/apt/archives \ - --bind "${WORKDIR}/dpkg/lock" /var/lib/dpkg/lock \ - --bind "${WORKDIR}/dpkg/lock-frontend" /var/lib/dpkg/lock-frontend \ ${ROOTFSDIR} \ - -- /usr/bin/apt-get ${ROOTFS_APT_ARGS} --download-only ${ROOTFS_PACKAGES} + -- /usr/bin/apt-get ${ROOTFS_APT_ARGS} -o Debug::NoLocking=1 --download-only ${ROOTFS_PACKAGES} } ROOTFS_INSTALL_COMMAND_BEFORE_EXPORT ??= "" diff --git a/meta/lib/aptsrc_fetcher.py b/meta/lib/aptsrc_fetcher.py index 4fe5a9ea..837a79f8 100644 --- a/meta/lib/aptsrc_fetcher.py +++ b/meta/lib/aptsrc_fetcher.py @@ -41,7 +41,7 @@ class AptSrc(FetchMethod): set -e mkdir -p /downloads/{ud.localfile} cd /downloads/{ud.localfile} - apt-get -y --download-only --only-source source {ud.src_package} + apt-get -y -o Debug::NoLocking=1 --download-only --only-source source {ud.src_package} ' ''', d) except (OSError, FetchError): From patchwork Wed Jul 15 11:05:35 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5237 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:06:22 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-pl1-f186.google.com (mail-pl1-f186.google.com [209.85.214.186]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66FB6II3022867 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:06:19 +0200 Received: by mail-pl1-f186.google.com with SMTP id d9443c01a7336-2cc7e86e7c5sf99560465ad.3 for ; Wed, 15 Jul 2026 04:06:18 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113571; cv=pass; d=google.com; s=arc-20260327; b=UCsU4AfnU5UwrTBpaOmcuP4eYFbFouPuodt+ay3twHIe9Ucu4G1vZeBZw1YryOv1hl ax4GoETVgbRbT4l4lDhHs2zlVgGG/DQo+9mFWrkSgixqWntg6AQHgQ4wb/Unuapdh3Fb Ka139SNW1OepDPRqQu11k4aFUAnu0eSSVSgdl5qgi8npQbMlEYGy4uP4YguCHS193LYN IcNyamaIZECp0kHrnsfYCByTjt9c4UBMgdxVIo7wE0cEuPde13Ooyan1BB2LgjCsVO1K wI5MP3yd1WGeb8dgYFaYb70ZYjkH94Y8KsMUGPar8VuLw6sGcTo+mHcONOY2EeSNsyJo I24Q== 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=n9996TAfGOtAqPi7vTvOkeyx1ULdVtSQ9E+c6114x/I=; fh=5CEUG5UmNBGIQdZJATNU93DM6eEg/EB90Jskpv7yjC8=; b=Cf7KZwsPVqv3lhll833I3WrKfMSqpVpkYd2vezYDauPZ9iXW2WqOcoe98eff5UFCZp 3vMBjftAOCFjZcE7JY0s7WMqgNuD7/zTT1blHOA5bGp9Ao/kgAdN90S1KcvXvCXEsdv4 Zm7EGrTQUGVkgi7AMn+DvXVWYf3TBkv9nME2w3VJD7KohpzLmdfbI9z23kU4PhoxcBUD sgFPCUN7a4PIeH8zZ2wm3JkrCVhMFhJJ+PiTIqYuDSGxO4ixScYnpzm0f7VYThnXWGxF Lbqj/AeffpHwnz+1jbayHa/aH6QWO2tNRdzva6gRI3L0NJQVxhQJIirjhCIvAd0Dy1/J s16g==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=FYic9WmT; 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::3 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=1784113571; x=1784718371; 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=n9996TAfGOtAqPi7vTvOkeyx1ULdVtSQ9E+c6114x/I=; b=XwxELQ2WWIcCXrhW+N1hRO4Hgc5XuZQ73Zit4Gs8wkscYhTv98yAdpf89bDQPFZ8yf 0weECQtnGvlqun/jch3ZIbWAoVXcOF6YUqAO0hFhn5+wqrvx625ulcJ79QI/Xab3tCtS 12agisVc0pyaJ6smf5U28mbUSxqZ6Is2e92zCZwsKWG9MSHhZREjoqVlL56b8I/TU9Oi NzO3E8L47ZYAScnowXsYhYRU0Tq4dmA8FQbON7rvEUgO47y7y98bBNnbfAoYDw/PdZfl PtEhugZu4/Hj/OXgm4dSL5o3Kx4hnD7a7kOIVsrRhE8HjdG3wViftjkMC5t/ms+pVqZa X8Ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113571; x=1784718371; 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=n9996TAfGOtAqPi7vTvOkeyx1ULdVtSQ9E+c6114x/I=; b=Nfe37+5KFJrc69jzq/8JFbN9p9m8Fypj6+XqYyXG8CUWXaXnzog1JBbKsvctJP4tuI 2iykvQERuksJvonfxCRh7arNg5i2VhgvQuGA/HEV36UGiK+WGjaKAa6NXZ69Lo5Y1537 6FafpN0so/nbjZwwD8gFcykMYbC4LGDkG+nrHV8bLW9No5E2l5mvhAgJ5G7xqDU/VVdt tPVMJu9sxRZ77gpAf93BIHlAHsh4RNmBTrHyfCvEAapuaNH5zrhwmYbQmPlNT1MJ1Va/ inrex7GjUhCWlOrsuVW80HRDK4rbE3793E3yM4++/FaIbBns81ZXp9jcAGvbZe25KxYC D4Ig== X-Forwarded-Encrypted: i=3; AHgh+RrnemFgm1EAsk/I4s747ez1GOSNGwUu8tJguYQoQ8mXXKe697l0APZVKUD1GYaPbWgVX7WL5Gc=@isar-build.org X-Gm-Message-State: AOJu0YxDCS4C3XStqhb8ufsUKBDLD4MiobxJQF7xtVBzjnYuxNFuBsBw 0M0/2mXU9v/E1qf+8qAXOfFKpUS9iR+l3hqg/8bAPW32aF41VvNcI6hE X-Received: by 2002:a17:902:e94d:b0:2c9:e69f:8b0f with SMTP id d9443c01a7336-2cf03c2e564mr22743485ad.17.1784113571391; Wed, 15 Jul 2026 04:06:11 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPR+h6CX109SEebLC9HObsNjJPs07Gf9LgHQK1kj5IxF6Q==" Received: by 2002:a17:902:eccd:b0:2be:fea6:e21c with SMTP id d9443c01a7336-2cf031215bdls12920855ad.2.-pod-prod-06-us; Wed, 15 Jul 2026 04:06:09 -0700 (PDT) X-Received: by 2002:a17:902:ecce:b0:2c9:cf5d:d9b8 with SMTP id d9443c01a7336-2cf03d24104mr21254465ad.33.1784113569379; Wed, 15 Jul 2026 04:06:09 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113569; cv=pass; d=google.com; s=arc-20260327; b=VUbhgpmlvtX5TpWTvXg+hL4MOrOMv7iXUMBHYAjcDCo1rQSHnVX/VhLB2vozwquNho 0ZOeXhmuiyfaJXWEta/bbstJ97VfholuvAUkIF51s4dFySPbWVK95DKkWkB/YNPiCz8T 0kpdMZ7NrnX1sSYwQMqDiNI09LeOj8dCvx++/GBAR/FOpQetIBNGvdlLvV5xcOzb0jnO pHxjMWoWZs1/BFp7Ohdvt5hqd4Bx3q/UxfcS/omfEOUgHJPdhY5ej3mG9iKDjJjIH+Zy LNDx7l5GmoErAUVtw9D2xFbPUUwLW9s0Lv72Mqv5eB4+tu6qaVt7qc+sU6wXY/D0WMu+ xNBw== 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=0MIAyAC/gG3pgYxFv5Og+VdExcnzwHgcc7Eha5UmUng=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=Bk5ZWOCd8IFU5xPh2Jt5hjA3WNKUsjhZrzRYuXdKEW1fss2hG1ehwJYLwePwRxi0NX 7vBIzFwxdMyQBNDFkowN4iSyNJr9k2IaBjqsmnzUyrgcd4jT0Vqj1cBfB3MTQ611d6KK XcwaVr1p7fhJtubygJ3Gi1NXEx5VvpNswZS+zdK4NHRzpdQq1r1IS54Y1SsV1CvqdgwM xyA93piK09+qsqtVE8UVk+3OYoXKztVsn7mjyXtaBzO9hbXN360cTetEEUGv+6+B3mP0 hQfigZmr5dZOozb5etNFJa6y5GIYoyhJcgv98tLwTnfDLNfKVfOi2LzH29nK3AqLdrLY /8VQ==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=FYic9WmT; 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::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c201::3]) by gmr-mx.google.com with ESMTPS id d9443c01a7336-2cf10489ad5si21625ad.8.2026.07.15.04.06.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:06:09 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) client-ip=2a01:111:f403:c201::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=omPR3sscpA2wreKsdCKZPpRj/SRfPls1ix1A0ZcOaboIOEmUN1UPLl58A56nVDmcUvDkvWt0z+qAJAFdsE9QNpRr89RYcKi1yVuk2eAdkS1xX6eBHo3iHQMm2bbn3Al05hjl1zvLX4Oj6+dWP5OZGMHtwue6KzUe7noKvZ+LvSKz4xtbDiAlYh6+BsNM7kCgqB7C/xgTTdoUk9xEZGQQs3/tegkXeO+8z+M3gljXcq31vCUK68YLL0+GdHYGgMzqDUeQsb5mN6ekJnrFHKF6IDlcHU81tlTyEKuDeW840Soi8PwTBAZNNHVhiMEY6/084RFGDUOcIzgwVr2E67yHHg== 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=0MIAyAC/gG3pgYxFv5Og+VdExcnzwHgcc7Eha5UmUng=; b=Vq9MdttKh815jR7VwffOCRwWhoXj59sNMqU+Y6x7IycQ60Hiz0SPr2uTrSBs8xt+isYzosaT+tAUJVLShDCYBHWxWyY8Beb2OniFP/fp4OdwOVb6gYNZK/F07gi5Oku6m3IXyE5IDeUroem12mfYioMMa93skDSykAXmwl1dJ4F4A9bNq08dgZfRiGTsyTxdWNO9O0n8WlWJWsDRXTO10iYOOtTzDJ/GHNbXqHM1m+KCAYz8cB1TrGOa2MrngCeJEegNfisUBScNz1E/YxNFesS9oSyaeEBm8/5BFsC7MeX2qvMR5wHcwM/1BSbAoFk6J1UNn7keQ86vtcxUPRKPbA== 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 PAWPR10MB7915.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:366::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Wed, 15 Jul 2026 11:06:05 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:06:05 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 04/17] introduce wrappers for privileged execution Date: Wed, 15 Jul 2026 13:05:35 +0200 Message-ID: <20260715110548.3605767-5-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:99::13) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|PAWPR10MB7915:EE_ X-MS-Office365-Filtering-Correlation-Id: 02889fc5-f946-4fb8-ca86-08dee2611012 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|10070799003|376014|6133799003|56012099006|11063799006|10067099003|3023799007|20052099010|22082099003|55112099003|18002099003; X-Microsoft-Antispam-Message-Info: /IiydY+ZxZRvRM5MB2724qsqhCO8HBafbGfkfq0OJ97VCLKQeG5CERFrHyBwE4l2q/Q8YWcMoysE+PBnzJEqW2WNvOjqaz1I7mfR/lDUZop5J9iINRptlVJMxFhrBdsg36TWuqNrIJwNjMKS35yzQ6MYXHItb6JYl5EObeAb+9WrVZRusmpAq0MOPVOkFPPHHN02uKlo7zbftTyfdEDrjROWGqhIwj9upDQhQ5pGPNhSRy5UI5LRwlnPOMSGxI9xXdF/9EzvCIVTkz1pPso2AHiDV7oNG3bal9UtRtsauwJpDRnaydv3ZNYLZhFTJvc5Z3/kiFo/SMzQxILm4A5iTxfOYGijlzuIyVfYOlzGTcg3r0VBHbWsAkXBqkXWGiqTfaBZ5w9n1+ZxQvhwdxdSsur+eEsh1r3j5n1GXkEnTRWFpiWAW8YgeIMfVDclewkUP58u/7lwoJp7ufjuQu/WbjPVZtWPghtC0mtqNLxOcXoYzp6MP/Ca2iDocBwmrkdsfjLZ5LNbWz4o9TAK1edf9eC0emy7CuWgBNnepBqsINgRojSmr9ve+NRqqkck5HnTW1qoIyMZdpamOLanJzbtS4fOPNm1gOcbmEO5gWQjAlbCMDC5LmwH+70/Voat+oya4yl5Se8ePwICY6UCCm++J5NGj6zIaeFNSdLTBKUTX0E= 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)(23010399003)(1800799024)(10070799003)(376014)(6133799003)(56012099006)(11063799006)(10067099003)(3023799007)(20052099010)(22082099003)(55112099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: N1V213XfoOvHLxlUSrvOHR0l7jCAK2Ld7wijwtIRP2EfSVesGAZCSq6cYmG8HyI9I77jKr7junBy6R9f9cceAHIR48s8r17dcBHBzY+5f1c1Q8sHdGPszYPmwY/Yk2XNPuFbWx20wsxgUcxOTLLSeS4MOQKFfoawpXj4mvSO7KlptCk+AWKfQKEDPANrEJTPUkJSR+qXZOZzWt5PZKP3/mLc9UEVbJwKmASSF2K2U8bvHlnJxUwyuK4Xu0ne95m26dq8Xnv+iSjht9XkVLD9bSfWXX0DcXmyVje5zVH/ZleR2Bo6imDEHcvk/OiBWvYYh6U+EmZPLL/GdG141EduvfOO1ei4fPFROViIb+K/KE+dkbpY9ID96COl9ZQ6NL8tjjoYYIW7bdyiLlBpFhv3NixmDrBCFkUrv1t2EAubzsSwqI5t0P1pZxytezJjJvF4ukKjEOw55wDoC+ZLWBKkSmDWz6PoA8F99WsXmr0qNw6rE0tfG3yD3wdxvvLlrhrw6JcFip8i9XmAy2vx0bbvqL1eLnORkQJOKQra3PO4WWc3eAWq63rVaTaBKD9co6MgO9DObuOkgkzClP6IzQ376Pw3jjq/RdZccPgdbs0iK7cGIqt48LqUHSN9N2iHKkmhZeR9VUwvKwI7N9qPcGHYj9gddrxI6SU5gaw367zFXeGHMUuyxFBq1fLxV0lTIvFiZD0FjLehf1RNv9GFRvaSiS3JkdaYii81tr/svIDNJd63YuollYPe5Rj1NSZxYXtbF88Ig8tjXn7hcE58ssOMjhxJKS7Dh7CsXoNCxFCaO1x2PvE17YniUuABnHg+E1K7/02w6DnM+OhGfl+1pDNg0dz/D+uMXt2+d0e6gcWs08ogYyXI+WU7gknxFlppJE/UbzFk4+3axDeZY8c8NaPU8E0Z84IEVC3HwEITMD21DfXI2CIcpvjXuwiqS7LtpqUl0giS8JsDhaavanJsZbMTI8wSlJU6pWcClXyi8KBsgMu1P95ROAnMVeOUxjiMM/5xUYmpUpYbNrRTGBkhs4MRyXsIReSzEVj93RXjBgJdOFMyBM02yngyWqv/Kg+EwT8Tmie9LmO19sZjG0EFdtWfPObUJE/yLtRAfOvowWjn6ht1h5ye13AMKKUdggLNq6pPBXjBNk7o3C/rzywL5pxDgX5nt3v1LgeH+uMSmUMWp24K6jb7r8ItxRsiPK+chcGV6jT5sUN0bNCvPxzZnuO78LPTzP4iK3WAF8XILibztpR1FRLKMQffPMuoC3O2Fw3h/a4UkXm2ENYVGDLIL4wM+htced+KEJwxxJtoJV9YAdil6QsgIW1iUY0VpSZ2dLNiWXkx2CRA+B5uvFWWCWiVq4nJ+79hm+H0XUBnPgPvZ0oZQC/mx06LeLbZwu4YefBqJFB8jFqdkwSeCln/e8D8Ca6GOEjwO4QDsxI48W9fnezRj8pudiU7mdYIOojc1DmiT3XnFrg3SMTXf6YQieNtnKKsIs3mjuF3XcZW4zX4qWu096KPiHwJSWa8uut+0/n1jCT1BBbNjxTQxG/DltQK55sJbiwoxVIEVvBesLo3VOOlsQTATvuTAjYXK2JogwRWIEwdnhts39xK7DsiOp28377aAhMwwkYhIDmJckuBeOxP0jFtNWSoAIwHLTGB9MJDzkMjDFn3fwv3gXzNYzcHvqoSSihwl1XwfjOsK/wIZ9Phn5gysyPKnGj8Q+XK6MDSauD2uxFyZFL9XtdxUbgpZBhm6S3gc5zKKhVA9iF4INNo115q8BV1ZNwg7eJP+DROV2ORqrLr X-MS-Exchange-AntiSpam-MessageData-1: be2SsyU64Oj3U/MMOQZ7rmF4354PcAmPoww= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 02889fc5-f946-4fb8-ca86-08dee2611012 X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:06:04.4050 (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: anCDcUXEO7i/x0RPBJaxzXVKXUmJeSCZSqTZ1eq0Y5OQPFzNX8JgM5SRddVAWVfKgE2X3g3X2oLl1Wr6SnN8soOnokBSZfHMl5KN1PMY6XM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7915 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=FYic9WmT; 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::3 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?= As a preparation to enable rootless builds, we introduce wrappers for common cases of privileged command execution. The wrappers are defined in the base class where later on the executor dispatching will be implemented as well. The wrappers are introduced throughout the whole codebase and downstream layers are also encouraged to use them to increase compatibility with upcoming API changes. Signed-off-by: Felix Moessbauer --- RECIPE-API-CHANGELOG.md | 16 ++++ meta/classes-global/base.bbclass | 26 +++++- meta/classes-recipe/deb-dl-dir.bbclass | 8 +- meta/classes-recipe/dpkg-base.bbclass | 2 +- meta/classes-recipe/dpkg.bbclass | 2 +- .../image-account-extension.bbclass | 4 +- .../image-locales-extension.bbclass | 4 +- .../image-postproc-extension.bbclass | 30 +++---- meta/classes-recipe/image.bbclass | 14 +-- .../imagetypes_container.bbclass | 26 +++--- meta/classes-recipe/imagetypes_wic.bbclass | 4 +- meta/classes-recipe/rootfs.bbclass | 87 ++++++++++--------- meta/classes-recipe/sbuild.bbclass | 10 +-- meta/classes-recipe/sdk.bbclass | 14 +-- meta/classes/sbom.bbclass | 2 +- .../isar-mmdebstrap/isar-mmdebstrap.inc | 12 +-- .../unittests/test_image_account_extension.py | 9 +- 17 files changed, 155 insertions(+), 115 deletions(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 5d2514c0..552051ad 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -1087,3 +1087,19 @@ and `arch=all` binary packages). Recipes for such mixed packages should append `PROVIDES="foo-doc-archall"` for an `arch=all` binary package `foo-doc`). Consumers can then simply reference the package by its original name (e.g., `foo-doc`). + +### Execution of privileged commands + +When operations require higher privileges than those available to the build user, +the following helper functions shall be used: + +**run_privileged**: Run a command as root while preserving the environment. + +**run_privileged_heredoc**: Execute commands provided via stdin in a root shell. + +**run_in_chroot**: Run a command within a chroot environment. The first argument +specifies the rootfs path. + +Using these helpers instead of direct `sudo` invocations centralizes platform-specific +privileged execution logic in `base.bbclass`. Direct use of `sudo` is discouraged +in downstream layers. diff --git a/meta/classes-global/base.bbclass b/meta/classes-global/base.bbclass index 70b4565b..d4dbbc3a 100644 --- a/meta/classes-global/base.bbclass +++ b/meta/classes-global/base.bbclass @@ -141,7 +141,7 @@ root_cleandirs() { die "Could not remove $i, because subdir is mounted" done for i in $ROOT_CLEANDIRS_DIRS; do - sudo rm -rf --one-file-system "$TMPDIR$i" + run_privileged rm -rf --one-file-system "$TMPDIR$i" mkdir -p "$TMPDIR$i" done } @@ -375,3 +375,27 @@ def deb_list_beautify(d, varname): if stripped: var_list.append(stripped) return ', '.join(var_list) + +# Helpers for privileged execution. Only the non-underscore functions +# shall be used outside of this class. + +def run_privileged_cmd(d): + cmd = 'sudo -E' + bb.debug(1, "privileged cmd: %s" % cmd) + return cmd + +RUN_PRIVILEGED_CMD := "${@run_privileged_cmd(d)}" + +run_privileged() { + ${RUN_PRIVILEGED_CMD} "$@" +} + +run_privileged_heredoc() { + ${RUN_PRIVILEGED_CMD} /bin/bash -s "$@" +} + +run_in_chroot() { + rootfs="$1" + shift + ${RUN_PRIVILEGED_CMD} chroot "$rootfs" "$@" +} diff --git a/meta/classes-recipe/deb-dl-dir.bbclass b/meta/classes-recipe/deb-dl-dir.bbclass index 7b7b6044..fffa9257 100644 --- a/meta/classes-recipe/deb-dl-dir.bbclass +++ b/meta/classes-recipe/deb-dl-dir.bbclass @@ -97,7 +97,7 @@ debsrc_download() { dbg_pkgs_download() { export rootfs="$1" - apt-ftparchive --md5=no --sha1=no --sha256=no --sha512=no \ + dbg_pkgs=$(apt-ftparchive --md5=no --sha1=no --sha256=no --sha512=no \ -a "${DISTRO_ARCH}" packages \ "${rootfs}/var/cache/apt/archives" \ | awk '/^Package:/ {print $2}' \ @@ -109,7 +109,9 @@ dbg_pkgs_download() { | grep "${DISTRO_ARCH}" \ | awk '!/Binary:/ {print $1}' \ | sort -u - done | xargs -r sudo -E chroot ${rootfs} sh -c '/usr/bin/apt-get -y --download-only install "$@"' -- + done) + + [ -z "${dbg_pkgs}" ] || run_in_chroot ${rootfs} sh -c '/usr/bin/apt-get -y --download-only install $@' -- ${dbg_pkgs} } deb_dl_dir_import() { @@ -119,7 +121,7 @@ deb_dl_dir_import() { export gid=$(id -g) # let our unprivileged user place downloaded packages in /var/cache/apt/archives/ - sudo -Es << ' EOSUDO' + run_privileged_heredoc << ' EOSUDO' mkdir -p "${rootfs}"/var/cache/apt/archives/partial/ chown -R ${uid}:${gid} "${rootfs}"/var/cache/apt/archives/ EOSUDO diff --git a/meta/classes-recipe/dpkg-base.bbclass b/meta/classes-recipe/dpkg-base.bbclass index 85c37a5a..e144decd 100644 --- a/meta/classes-recipe/dpkg-base.bbclass +++ b/meta/classes-recipe/dpkg-base.bbclass @@ -161,7 +161,7 @@ def isar_export_build_settings(d): dpkg_schroot_create_configs() { schroot_create_configs - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' sbuild_fstab="${SBUILD_CONF_DIR}/fstab" fstab_isarapt="${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}/apt/${DISTRO} /isar-apt none rw,bind 0 0" grep -qxF "${fstab_isarapt}" ${sbuild_fstab} || echo "${fstab_isarapt}" >> ${sbuild_fstab} diff --git a/meta/classes-recipe/dpkg.bbclass b/meta/classes-recipe/dpkg.bbclass index 500aaefe..e693800c 100644 --- a/meta/classes-recipe/dpkg.bbclass +++ b/meta/classes-recipe/dpkg.bbclass @@ -130,5 +130,5 @@ dpkg_runbuild() { deb_dl_dir_export "${WORKDIR}/rootfs" "${distro}" # Cleanup apt artifacts - sudo rm -rf ${WORKDIR}/rootfs + run_privileged rm -rf ${WORKDIR}/rootfs } diff --git a/meta/classes-recipe/image-account-extension.bbclass b/meta/classes-recipe/image-account-extension.bbclass index e874f3c7..de01484c 100644 --- a/meta/classes-recipe/image-account-extension.bbclass +++ b/meta/classes-recipe/image-account-extension.bbclass @@ -34,7 +34,7 @@ def image_create_groups(d: "DataSmart") -> None: """ entries = (d.getVar("GROUPS") or "").split() rootfsdir = d.getVar("ROOTFSDIR") - chroot = ["sudo", "-E", "chroot", rootfsdir] + chroot = run_privileged_cmd(d).split() + ["chroot", rootfsdir] for entry in entries: args = [] @@ -72,7 +72,7 @@ def image_create_users(d: "DataSmart") -> None: entries = (d.getVar("USERS") or "").split() rootfsdir = d.getVar("ROOTFSDIR") - chroot = ["sudo", "-E", "chroot", rootfsdir] + chroot = run_privileged_cmd(d).split() + ["chroot", rootfsdir] for entry in entries: args = [] diff --git a/meta/classes-recipe/image-locales-extension.bbclass b/meta/classes-recipe/image-locales-extension.bbclass index 08b13529..08109baa 100644 --- a/meta/classes-recipe/image-locales-extension.bbclass +++ b/meta/classes-recipe/image-locales-extension.bbclass @@ -29,7 +29,7 @@ ROOTFS_INSTALL_COMMAND_BEFORE_EXPORT += "image_install_localepurge_download" image_install_localepurge_download[weight] = "40" image_install_localepurge_download[network] = "${TASK_USE_NETWORK_AND_SUDO}" image_install_localepurge_download() { - sudo -E chroot '${ROOTFSDIR}' \ + run_in_chroot '${ROOTFSDIR}' \ /usr/bin/apt-get ${ROOTFS_APT_ARGS} -o Debug::NoLocking=1 --download-only localepurge } @@ -60,7 +60,7 @@ ${@get_nopurge(d)} __EOF__ # Install configuration into image: - sudo -E -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' set -e localepurge_state='i' if chroot '${ROOTFSDIR}' dpkg -s localepurge 2>/dev/null >&2 diff --git a/meta/classes-recipe/image-postproc-extension.bbclass b/meta/classes-recipe/image-postproc-extension.bbclass index 43ab750c..59128c2a 100644 --- a/meta/classes-recipe/image-postproc-extension.bbclass +++ b/meta/classes-recipe/image-postproc-extension.bbclass @@ -17,19 +17,19 @@ update_etc_os_release() { done if [ -n "${OS_RELEASE_BUILD_ID}" ]; then - sudo sed -i '/^BUILD_ID=.*/d' '${IMAGE_ROOTFS}/etc/os-release' + run_privileged sed -i '/^BUILD_ID=.*/d' '${IMAGE_ROOTFS}/etc/os-release' echo "BUILD_ID=\"${OS_RELEASE_BUILD_ID}\"" | \ - sudo tee -a '${IMAGE_ROOTFS}/etc/os-release' + run_privileged tee -a '${IMAGE_ROOTFS}/etc/os-release' fi if [ -n "${OS_RELEASE_VARIANT}" ]; then - sudo sed -i '/^VARIANT=.*/d' '${IMAGE_ROOTFS}/etc/os-release' + run_privileged sed -i '/^VARIANT=.*/d' '${IMAGE_ROOTFS}/etc/os-release' echo "VARIANT=\"${OS_RELEASE_VARIANT}\"" | \ - sudo tee -a '${IMAGE_ROOTFS}/etc/os-release' + run_privileged tee -a '${IMAGE_ROOTFS}/etc/os-release' fi if [ -n "${OS_RELEASE_VARIANT_VERSION}" ]; then - sudo sed -i '/^VARIANT_VERSION=.*/d' '${IMAGE_ROOTFS}/etc/os-release' + run_privileged sed -i '/^VARIANT_VERSION=.*/d' '${IMAGE_ROOTFS}/etc/os-release' echo "VARIANT_VERSION=\"${OS_RELEASE_VARIANT_VERSION}\"" | \ - sudo tee -a '${IMAGE_ROOTFS}/etc/os-release' + run_privileged tee -a '${IMAGE_ROOTFS}/etc/os-release' fi } @@ -37,11 +37,11 @@ ROOTFS_POSTPROCESS_COMMAND =+ "image_postprocess_configure" image_postprocess_configure() { # Configure root filesystem if [ -n "${DISTRO_CONFIG_SCRIPT}" ]; then - sudo install -m 755 "${WORKDIR}/${DISTRO_CONFIG_SCRIPT}" "${IMAGE_ROOTFS}" + run_privileged install -m 755 "${WORKDIR}/${DISTRO_CONFIG_SCRIPT}" "${IMAGE_ROOTFS}" TARGET_DISTRO_CONFIG_SCRIPT="$(basename ${DISTRO_CONFIG_SCRIPT})" - sudo chroot ${IMAGE_ROOTFS} "/$TARGET_DISTRO_CONFIG_SCRIPT" \ + run_in_chroot ${IMAGE_ROOTFS} "/$TARGET_DISTRO_CONFIG_SCRIPT" \ "${MACHINE_SERIAL}" "${BAUDRATE_TTY}" - sudo rm "${IMAGE_ROOTFS}/$TARGET_DISTRO_CONFIG_SCRIPT" + run_privileged rm "${IMAGE_ROOTFS}/$TARGET_DISTRO_CONFIG_SCRIPT" fi } @@ -58,13 +58,13 @@ image_postprocess_machine_id() { # systemd(1) takes care of recreating the machine-id on first boot # for systemd < v247, set to empty string, else set to uninitialized # (required if initramfs with ro root is used) - SYSTEMD_VERSION=$( sudo chroot ${IMAGE_ROOTFS} dpkg-query --showformat='${source:Upstream-Version}' --show systemd || echo "0" ) + SYSTEMD_VERSION=$( run_in_chroot ${IMAGE_ROOTFS} dpkg-query --showformat='${source:Upstream-Version}' --show systemd || echo "0" ) MACHINE_ID="uninitialized" if dpkg --compare-versions "$SYSTEMD_VERSION" "lt" "247"; then MACHINE_ID="" fi - echo "$MACHINE_ID" | sudo chroot ${IMAGE_ROOTFS} tee /etc/machine-id - sudo rm -f '${IMAGE_ROOTFS}/var/lib/dbus/machine-id' + echo "$MACHINE_ID" | run_in_chroot ${IMAGE_ROOTFS} tee /etc/machine-id + run_privileged rm -f '${IMAGE_ROOTFS}/var/lib/dbus/machine-id' } ROOTFS_POSTPROCESS_COMMAND =+ "image_postprocess_sshd_key_regen" @@ -82,13 +82,13 @@ image_postprocess_sshd_key_regen() { ROOTFS_POSTPROCESS_COMMAND =+ "image_postprocess_disable_systemd_firstboot" image_postprocess_disable_systemd_firstboot() { - SYSTEMD_VERSION=$(sudo chroot '${ROOTFSDIR}' dpkg-query \ + SYSTEMD_VERSION=$(run_in_chroot '${ROOTFSDIR}' dpkg-query \ --showformat='${source:Upstream-Version}' \ --show systemd || echo "0" ) if dpkg --compare-versions "$SYSTEMD_VERSION" "ge" "251"; then - sudo chroot '${ROOTFSDIR}' systemctl mask systemd-firstboot - if ! cmd_output=$(sudo chroot '${ROOTFSDIR}' systemd-firstboot \ + run_in_chroot '${ROOTFSDIR}' systemctl mask systemd-firstboot + if ! cmd_output=$(run_in_chroot '${ROOTFSDIR}' systemd-firstboot \ --prompt --welcome=false /dev/null); then bbwarn "Your image is not configured completely according to systemd-firstboot." bbwarn "It prompted: \"${cmd_output}\"" diff --git a/meta/classes-recipe/image.bbclass b/meta/classes-recipe/image.bbclass index a44c6de4..849a9fd4 100644 --- a/meta/classes-recipe/image.bbclass +++ b/meta/classes-recipe/image.bbclass @@ -363,7 +363,7 @@ get_build_id() { ROOTFS_CONFIGURE_COMMAND += "image_configure_fstab" image_configure_fstab[weight] = "2" image_configure_fstab() { - sudo tee '${IMAGE_ROOTFS}/etc/fstab' << EOF + run_privileged tee '${IMAGE_ROOTFS}/etc/fstab' << EOF # Begin /etc/fstab proc /proc proc nosuid,noexec,nodev 0 0 sysfs /sys sysfs nosuid,noexec,nodev 0 0 @@ -391,7 +391,7 @@ do_copy_boot_files() { kernel="$(realpath -q '${IMAGE_ROOTFS}'/boot/vmlinu[xz])" fi if [ -f "$kernel" ]; then - sudo cat "$kernel" > "${DEPLOYDIR}/${KERNEL_IMAGE}" + run_privileged cat "$kernel" > "${DEPLOYDIR}/${KERNEL_IMAGE}" fi for file in ${DTB_FILES}; do @@ -447,7 +447,7 @@ def apt_list_files(d): IMAGE_LISTS = "${@ ' '.join(apt_list_files(d)) }" do_rootfs_finalize() { - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' set -e if [ -e "${ROOTFSDIR}/chroot-setup.sh" ]; then @@ -478,14 +478,14 @@ EOSUDO # Sometimes qemu-user-static generates coredumps in chroot, move them # to work temporary directory and inform user about it. - for f in $(sudo find ${ROOTFSDIR} -type f -name *.core -exec file --mime-type {} \; | grep 'application/x-coredump' | cut -d: -f1); do - sudo mv "${f}" "${WORKDIR}/temp/" + for f in $(run_privileged find ${ROOTFSDIR} -type f -name *.core -exec file --mime-type {} \; | grep 'application/x-coredump' | cut -d: -f1); do + run_privileged mv "${f}" "${WORKDIR}/temp/" bbwarn "found core dump in rootfs, check it in ${WORKDIR}/temp/${f##*/}" done # Set same time-stamps to the newly generated file/folders in the # rootfs image for the purpose of reproducible builds. - sudo find ${ROOTFSDIR} -newermt "$(date -d@${SOURCE_DATE_EPOCH} '+%Y-%m-%d %H:%M:%S')" \ + run_privileged find ${ROOTFSDIR} -newermt "$(date -d@${SOURCE_DATE_EPOCH} '+%Y-%m-%d %H:%M:%S')" \ -exec touch '{}' -h -d@${SOURCE_DATE_EPOCH} ';' } do_rootfs_finalize[network] = "${TASK_USE_SUDO}" @@ -522,7 +522,7 @@ do_rootfs_quality_check() { ;; esac done - found=$( sudo find ${ROOTFSDIR} -type f -newer $rootfs_install_stamp $args ) + found=$( run_privileged find ${ROOTFSDIR} -type f -newer $rootfs_install_stamp $args ) if [ -n "$found" ]; then bbwarn "Files changed after package install. The following files seem" bbwarn "to have changed where they probably should not have." diff --git a/meta/classes-recipe/imagetypes_container.bbclass b/meta/classes-recipe/imagetypes_container.bbclass index e07ce8e6..8d4f8050 100644 --- a/meta/classes-recipe/imagetypes_container.bbclass +++ b/meta/classes-recipe/imagetypes_container.bbclass @@ -37,38 +37,38 @@ do_containerize() { # prepare OCI container image skeleton bbdebug 1 "prepare OCI container image skeleton" - sudo rm -rf "${oci_img_dir}" "${oci_img_dir}_unpacked" - sudo umoci init --layout "${oci_img_dir}" - sudo umoci new --image "${oci_img_dir}:${empty_tag}" + run_privileged rm -rf "${oci_img_dir}" "${oci_img_dir}_unpacked" + run_privileged umoci init --layout "${oci_img_dir}" + run_privileged umoci new --image "${oci_img_dir}:${empty_tag}" if [ -n "${cmd}" ]; then - sudo umoci config --image "${oci_img_dir}:${empty_tag}" \ + run_privileged umoci config --image "${oci_img_dir}:${empty_tag}" \ --config.cmd="${cmd}" fi if [ -n "${entrypoint}" ]; then - sudo umoci config --image "${oci_img_dir}:${empty_tag}" \ + run_privileged umoci config --image "${oci_img_dir}:${empty_tag}" \ --config.entrypoint="${entrypoint}" fi if [ -n "${path}" ]; then - sudo umoci config --image "${oci_img_dir}:${empty_tag}" \ + run_privileged umoci config --image "${oci_img_dir}:${empty_tag}" \ --config.env="PATH=${path}" fi - sudo umoci unpack --image "${oci_img_dir}:${empty_tag}" \ + run_privileged umoci unpack --image "${oci_img_dir}:${empty_tag}" \ "${oci_img_dir}_unpacked" # add root filesystem as the flesh of the skeleton - sudo cp --reflink=auto -a "${rootfs}"/* "${oci_img_dir}_unpacked/rootfs/" + run_privileged cp --reflink=auto -a "${rootfs}"/* "${oci_img_dir}_unpacked/rootfs/" # clean-up temporary files - sudo find "${oci_img_dir}_unpacked/rootfs/tmp" -mindepth 1 -delete + run_privileged find "${oci_img_dir}_unpacked/rootfs/tmp" -mindepth 1 -delete # pack container image bbdebug 1 "pack container image" - sudo umoci repack --image "${oci_img_dir}:${tag}" \ + run_privileged umoci repack --image "${oci_img_dir}:${tag}" \ "${oci_img_dir}_unpacked" - sudo umoci remove --image "${oci_img_dir}:${empty_tag}" - sudo rm -rf "${oci_img_dir}_unpacked" + run_privileged umoci remove --image "${oci_img_dir}:${empty_tag}" + run_privileged rm -rf "${oci_img_dir}_unpacked" # no root needed anymore - sudo chown --recursive $(id -u):$(id -g) "${oci_img_dir}" + run_privileged chown --recursive $(id -u):$(id -g) "${oci_img_dir}" } convert_container() { diff --git a/meta/classes-recipe/imagetypes_wic.bbclass b/meta/classes-recipe/imagetypes_wic.bbclass index dd6c501d..8b048dc7 100644 --- a/meta/classes-recipe/imagetypes_wic.bbclass +++ b/meta/classes-recipe/imagetypes_wic.bbclass @@ -193,8 +193,8 @@ generate_wic_image() { fi EOIMAGER - sudo chown -R $(stat -c "%U" ${LAYERDIR_core}) ${LAYERDIR_core} ${LAYERDIR_isar} ${SCRIPTSDIR} || true - sudo chown -R $(id -u):$(id -g) "${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.wic"* + run_privileged chown -R $(stat -c "%U" ${LAYERDIR_core}) ${LAYERDIR_core} ${LAYERDIR_isar} ${SCRIPTSDIR} || true + run_privileged chown -R $(id -u):$(id -g) "${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.wic"* rm -rf ${IMAGE_ROOTFS}/../pseudo cat ${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.manifest \ diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass index 872696f6..4873a458 100644 --- a/meta/classes-recipe/rootfs.bbclass +++ b/meta/classes-recipe/rootfs.bbclass @@ -136,7 +136,7 @@ rootfs_cmd() { rootfs_do_mounts[weight] = "3" rootfs_do_mounts() { - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' set -e mountpoint -q '${ROOTFSDIR}/dev' || \ ( mount -o bind,private /dev '${ROOTFSDIR}/dev' && @@ -182,7 +182,7 @@ EOSUDO } rootfs_do_umounts() { - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' set -e if mountpoint -q '${ROOTFSDIR}/isar-apt'; then umount '${ROOTFSDIR}/isar-apt' @@ -225,7 +225,7 @@ rootfs_do_qemu() { if [ '${@repr(d.getVar('ROOTFS_ARCH') == d.getVar('HOST_ARCH'))}' = 'False' ] then test -e '${ROOTFSDIR}/usr/bin/qemu-${QEMU_ARCH}-static' || \ - sudo cp '/usr/bin/qemu-${QEMU_ARCH}-static' '${ROOTFSDIR}/usr/bin/qemu-${QEMU_ARCH}-static' + run_privileged cp '/usr/bin/qemu-${QEMU_ARCH}-static' '${ROOTFSDIR}/usr/bin/qemu-${QEMU_ARCH}-static' fi } @@ -240,16 +240,16 @@ ROOTFS_EXTRA_IMPORTED := "${@rootfs_extra_import(d)}" rootfs_prepare[weight] = "25" rootfs_prepare(){ - sudo tar -xf "${BOOTSTRAP_SRC}" -C "${ROOTFSDIR}" --exclude="./dev/console" + run_privileged tar -xf "${BOOTSTRAP_SRC}" -C "${ROOTFSDIR}" --exclude="./dev/console" # setup chroot - sudo "${ROOTFSDIR}/chroot-setup.sh" "setup" "${ROOTFSDIR}" + run_privileged "${ROOTFSDIR}/chroot-setup.sh" "setup" "${ROOTFSDIR}" } ROOTFS_CONFIGURE_COMMAND += "rootfs_configure_isar_apt" rootfs_configure_isar_apt[weight] = "2" rootfs_configure_isar_apt() { - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' set -e mkdir -p '${ROOTFSDIR}/etc/apt/sources.list.d' @@ -270,7 +270,7 @@ EOSUDO ROOTFS_CONFIGURE_COMMAND += "rootfs_configure_apt" rootfs_configure_apt[weight] = "2" rootfs_configure_apt() { - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' set -e mkdir -p '${ROOTFSDIR}/etc/apt/apt.conf.d' @@ -293,7 +293,7 @@ ROOTFS_CONFIGURE_COMMAND += "rootfs_disable_initrd_generation" rootfs_disable_initrd_generation[weight] = "1" rootfs_disable_initrd_generation() { # fully disable initrd generation - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' set -e mkdir -p "${ROOTFSDIR}${ROOTFS_STUBS_DIR}" @@ -310,7 +310,7 @@ rootfs_install_pkgs_update[weight] = "5" rootfs_install_pkgs_update[isar-apt-lock] = "acquire-before" rootfs_install_pkgs_update[network] = "${TASK_USE_NETWORK_AND_SUDO}" rootfs_install_pkgs_update() { - sudo -E chroot '${ROOTFSDIR}' /usr/bin/apt-get update \ + run_in_chroot '${ROOTFSDIR}' /usr/bin/apt-get update \ -o Dir::Etc::SourceList="sources.list.d/isar-apt.list" \ -o Dir::Etc::SourceParts="-" \ -o APT::Get::List-Cleanup="0" @@ -322,9 +322,9 @@ rootfs_install_resolvconf() { if [ "${@repr(bb.utils.to_boolean(d.getVar('BB_NO_NETWORK')))}" != "True" ] then if [ -L "${ROOTFSDIR}/etc/resolv.conf" ]; then - sudo unlink "${ROOTFSDIR}/etc/resolv.conf" + run_privileged unlink "${ROOTFSDIR}/etc/resolv.conf" fi - sudo cp -rL /etc/resolv.conf '${ROOTFSDIR}/etc' + run_privileged cp -rL /etc/resolv.conf '${ROOTFSDIR}/etc' fi } @@ -381,7 +381,7 @@ rootfs_install_pkgs_isar_download() { ROOTFS_INSTALL_COMMAND += "${@ 'rootfs_install_clean_files' if (d.getVar('ROOTFS_CLEAN_FILES') or '').strip() else ''}" rootfs_install_clean_files[weight] = "2" rootfs_install_clean_files() { - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' for clean_file in ${ROOTFS_CLEAN_FILES}; do rm -f "${ROOTFSDIR}/$clean_file" done @@ -393,14 +393,14 @@ rootfs_install_pkgs_install[weight] = "8000" rootfs_install_pkgs_install[progress] = "custom:rootfs_progress.PkgsInstallProgressHandler" rootfs_install_pkgs_install[network] = "${TASK_USE_SUDO}" rootfs_install_pkgs_install() { - sudo -E chroot "${ROOTFSDIR}" \ + run_in_chroot "${ROOTFSDIR}" \ /usr/bin/apt-get ${ROOTFS_APT_ARGS} --no-download ${ROOTFS_PACKAGES} } ROOTFS_INSTALL_COMMAND += "rootfs_restore_initrd_tooling" rootfs_restore_initrd_tooling[weight] = "1" rootfs_restore_initrd_tooling() { - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' set -e rm -f "${ROOTFSDIR}/etc/apt/apt.conf.d/50isar-stubs" rm -rf "${ROOTFSDIR}${ROOTFS_STUBS_DIR}" @@ -409,8 +409,8 @@ EOSUDO ROOTFS_INSTALL_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'generate-initrd', '', 'rootfs_clear_initrd_symlinks', d)}" rootfs_clear_initrd_symlinks() { - sudo rm -f ${ROOTFSDIR}/initrd.img - sudo rm -f ${ROOTFSDIR}/initrd.img.old + run_privileged rm -f ${ROOTFSDIR}/initrd.img + run_privileged rm -f ${ROOTFSDIR}/initrd.img.old } do_rootfs_install[root_cleandirs] = "${ROOTFSDIR}" @@ -460,21 +460,21 @@ do_cache_deb_src[network] = "${TASK_USE_SUDO}" do_cache_deb_src() { if [ -e "${ROOTFSDIR}"/etc/resolv.conf ] || [ -h "${ROOTFSDIR}"/etc/resolv.conf ]; then - sudo mv "${ROOTFSDIR}"/etc/resolv.conf "${ROOTFSDIR}"/etc/resolv.conf.isar + run_privileged mv "${ROOTFSDIR}"/etc/resolv.conf "${ROOTFSDIR}"/etc/resolv.conf.isar fi rootfs_install_resolvconf # Note: Isar updates the apt state information(apt-get update) only once during bootstrap and # relies on that through out the build. Copy that state information instead of apt-get update # which generates a new state from upstream. - sudo tar -xf "${BOOTSTRAP_SRC}" ./var/lib/apt/lists --one-top-level="${ROOTFSDIR}" + run_privileged tar -xf "${BOOTSTRAP_SRC}" ./var/lib/apt/lists --one-top-level="${ROOTFSDIR}" deb_dl_dir_import ${ROOTFSDIR} ${ROOTFS_BASE_DISTRO}-${BASE_DISTRO_CODENAME} debsrc_download ${ROOTFSDIR} ${ROOTFS_BASE_DISTRO}-${BASE_DISTRO_CODENAME} - sudo rm -f "${ROOTFSDIR}"/etc/resolv.conf + run_privileged rm -f "${ROOTFSDIR}"/etc/resolv.conf if [ -e "${ROOTFSDIR}"/etc/resolv.conf.isar ] || [ -h "${ROOTFSDIR}"/etc/resolv.conf.isar ]; then - sudo mv "${ROOTFSDIR}"/etc/resolv.conf.isar "${ROOTFSDIR}"/etc/resolv.conf + run_privileged mv "${ROOTFSDIR}"/etc/resolv.conf.isar "${ROOTFSDIR}"/etc/resolv.conf fi } @@ -482,21 +482,21 @@ ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('BASE_REPO_FEATURES', 'cache cache_dbg_pkgs() { if [ -e "${ROOTFSDIR}"/etc/resolv.conf ] || [ -h "${ROOTFSDIR}"/etc/resolv.conf ]; then - sudo mv "${ROOTFSDIR}"/etc/resolv.conf "${ROOTFSDIR}"/etc/resolv.conf.isar + run_privileged mv "${ROOTFSDIR}"/etc/resolv.conf "${ROOTFSDIR}"/etc/resolv.conf.isar fi rootfs_install_resolvconf # Note: Isar updates the apt state information(apt-get update) only once during bootstrap and # relies on that through out the build. Copy that state information instead of apt-get update # which generates a new state from upstream. - sudo tar -xf "${BOOTSTRAP_SRC}" ./var/lib/apt/lists --one-top-level="${ROOTFSDIR}" + run_privileged tar -xf "${BOOTSTRAP_SRC}" ./var/lib/apt/lists --one-top-level="${ROOTFSDIR}" deb_dl_dir_import ${ROOTFSDIR} ${ROOTFS_BASE_DISTRO}-${BASE_DISTRO_CODENAME} dbg_pkgs_download ${ROOTFSDIR} - sudo rm -f "${ROOTFSDIR}"/etc/resolv.conf + run_privileged rm -f "${ROOTFSDIR}"/etc/resolv.conf if [ -e "${ROOTFSDIR}"/etc/resolv.conf.isar ] || [ -h "${ROOTFSDIR}"/etc/resolv.conf.isar ]; then - sudo mv "${ROOTFSDIR}"/etc/resolv.conf.isar "${ROOTFSDIR}"/etc/resolv.conf + run_privileged mv "${ROOTFSDIR}"/etc/resolv.conf.isar "${ROOTFSDIR}"/etc/resolv.conf fi } @@ -505,17 +505,17 @@ ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'generate ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'clean-package-cache', 'rootfs_postprocess_clean_package_cache', '', d)}" rootfs_postprocess_clean_package_cache() { - sudo -E chroot '${ROOTFSDIR}' \ + run_in_chroot '${ROOTFSDIR}' \ /usr/bin/apt-get clean - sudo rm -rf "${ROOTFSDIR}/var/lib/apt/lists/"* + run_privileged rm -rf "${ROOTFSDIR}/var/lib/apt/lists/"* # remove apt-cache folder itself (required in case rootfs is provided by sstate cache) - sudo rm -rf "${ROOTFSDIR}/var/cache/apt/archives" + run_privileged rm -rf "${ROOTFSDIR}/var/cache/apt/archives" } ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'clean-log-files', 'rootfs_postprocess_clean_log_files', '', d)}" rootfs_postprocess_clean_log_files() { # Delete log files that are not owned by packages - sudo -E chroot '${ROOTFSDIR}' \ + run_in_chroot '${ROOTFSDIR}' \ /usr/bin/find /var/log/ -type f \ -exec sh -c '! dpkg -S {} > /dev/null 2>&1' ';' \ -exec rm -f {} ';' @@ -524,32 +524,32 @@ rootfs_postprocess_clean_log_files() { ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'clean-debconf-cache', 'rootfs_postprocess_clean_debconf_cache', '', d)}" rootfs_postprocess_clean_debconf_cache() { # Delete debconf cache files - sudo rm -rf "${ROOTFSDIR}/var/cache/debconf/"* + run_privileged rm -rf "${ROOTFSDIR}/var/cache/debconf/"* } ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'clean-pycache', 'rootfs_postprocess_clean_pycache', '', d)}" rootfs_postprocess_clean_pycache() { - sudo find ${ROOTFSDIR}/usr -type f -name '*.pyc' -delete -print - sudo find ${ROOTFSDIR}/usr -type d -name '__pycache__' -delete -print + run_privileged find ${ROOTFSDIR}/usr -type f -name '*.pyc' -delete -print + run_privileged find ${ROOTFSDIR}/usr -type d -name '__pycache__' -delete -print } ROOTFS_POSTPROCESS_COMMAND += "rootfs_postprocess_clean_ldconfig_cache" rootfs_postprocess_clean_ldconfig_cache() { # the ldconfig aux-cache is not portable and breaks reproducability # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=845034#49 - sudo rm -f ${ROOTFSDIR}/var/cache/ldconfig/aux-cache + run_privileged rm -f ${ROOTFSDIR}/var/cache/ldconfig/aux-cache } ROOTFS_POSTPROCESS_COMMAND += "rootfs_postprocess_clean_tmp" rootfs_postprocess_clean_tmp() { # /tmp is by definition non persistent across boots - sudo rm -rf "${ROOTFSDIR}/tmp/"* + run_privileged rm -rf "${ROOTFSDIR}/tmp/"* } ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'generate-manifest', 'rootfs_generate_manifest', '', d)}" rootfs_generate_manifest () { mkdir -p ${ROOTFS_MANIFEST_DEPLOY_DIR} - sudo -E chroot --userspec=$(id -u):$(id -g) '${ROOTFSDIR}' \ + run_in_chroot '${ROOTFSDIR}' \ dpkg-query -W -f \ '${source:Package}|${source:Version}|${Package}:${Architecture}|${Version}\n' > \ '${ROOTFS_MANIFEST_DEPLOY_DIR}'/'${ROOTFS_PACKAGE_SUFFIX}'.manifest @@ -565,7 +565,7 @@ rootfs_export_dpkg_status() { ROOTFS_POSTPROCESS_COMMAND += "rootfs_cleanup_isar_apt" rootfs_cleanup_isar_apt[weight] = "2" rootfs_cleanup_isar_apt() { - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' set -e rm -f "${ROOTFSDIR}/etc/apt/sources.list.d/isar-apt.list" rm -f "${ROOTFSDIR}/etc/apt/preferences.d/isar-apt" @@ -576,7 +576,7 @@ EOSUDO ROOTFS_POSTPROCESS_COMMAND += "${@'rootfs_cleanup_base_apt' if bb.utils.to_boolean(d.getVar('ISAR_USE_CACHED_BASE_REPO')) else ''}" rootfs_cleanup_base_apt[weight] = "2" rootfs_cleanup_base_apt() { - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' set -e rm -f "${ROOTFSDIR}/etc/apt/sources.list.d/"*base-apt.list EOSUDO @@ -584,7 +584,7 @@ EOSUDO ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'populate-systemd-preset', 'image_postprocess_populate_systemd_preset', '', d)}" image_postprocess_populate_systemd_preset() { - sudo chroot "${ROOTFSDIR}" /bin/sh <<'EOSH' + run_in_chroot '${ROOTFSDIR}' /bin/sh <<'EOSH' SYSTEMD_INSTALLED=$(dpkg-query --showformat='${db:Status-Status}' --show systemd 2>/dev/null) if [ "${SYSTEMD_INSTALLED}" = "installed" ]; then @@ -650,7 +650,7 @@ rootfs_generate_initramfs() { mods_total="$(find ${ROOTFSDIR}/usr/lib/modules/$kernel_version -type f -name '*.ko*' | wc -l)" echo "Total number of modules: $mods_total" echo "Generating initrd for kernel version: $kernel_version" - sudo -E chroot "${ROOTFSDIR}" sh -ec ' \ + run_in_chroot "${ROOTFSDIR}" sh -ec ' \ ${ROOTFS_INITRAMFS_GENERATOR_CMDLINE}; \ find /boot -name "initrd.img-$kernel_version*" -exec install --mode 0644 {} /isar-work/initrd.img \; \ ' @@ -690,11 +690,12 @@ rootfs_install_sstate_prepare() { # so we use some mount magic to prevent that mkdir -p ${WORKDIR}/mnt/rootfs trap 'rmdir ${WORKDIR}/mnt/rootfs ${WORKDIR}/mnt' EXIT - sudo mount -o bind,private '${WORKDIR}/rootfs' '${WORKDIR}/mnt/rootfs' -o ro + + run_privileged mount -o bind,private '${WORKDIR}/rootfs' '${WORKDIR}/mnt/rootfs' -o ro lopts="--one-file-system --exclude=var/cache/apt/archives" - sudo tar -C ${WORKDIR}/mnt -cpSf rootfs.tar $lopts ${SSTATE_TAR_ATTR_FLAGS} rootfs - sudo umount ${WORKDIR}/mnt/rootfs - sudo chown $(id -u):$(id -g) rootfs.tar + run_privileged tar -C ${WORKDIR}/mnt -cpSf rootfs.tar $lopts ${SSTATE_TAR_ATTR_FLAGS} rootfs + run_privileged umount ${WORKDIR}/mnt/rootfs + run_privileged chown $(id -u):$(id -g) rootfs.tar } rootfs_install_sstate_prepare[lockfiles] = "${REPO_ISAR_DIR}/isar.lock" @@ -705,7 +706,7 @@ rootfs_install_sstate_finalize() { # - after building the rootfs, the tar won't be there, but we also don't need to unpack # - after restoring from cache, there will be a tar which we unpack and then delete if [ -f rootfs.tar ]; then - sudo tar -C ${WORKDIR} -xpf rootfs.tar ${SSTATE_TAR_ATTR_FLAGS} + run_privileged tar -C ${WORKDIR} -xpf rootfs.tar ${SSTATE_TAR_ATTR_FLAGS} rm rootfs.tar fi } diff --git a/meta/classes-recipe/sbuild.bbclass b/meta/classes-recipe/sbuild.bbclass index af1216ea..bcef4ca2 100644 --- a/meta/classes-recipe/sbuild.bbclass +++ b/meta/classes-recipe/sbuild.bbclass @@ -20,7 +20,7 @@ SCHROOT_LOCKFILE = "/tmp/schroot.lock" schroot_create_configs() { mkdir -p "${TMPDIR}/schroot-overlay" echo "Creating ${SCHROOT_CONF_FILE}" - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' set -e cat << EOF > "${SCHROOT_CONF_FILE}" @@ -61,7 +61,7 @@ EOSUDO schroot_delete_configs() { (flock -x 9 set -e - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' set -e if [ -d "${SBUILD_CONF_DIR}" ]; then echo "Removing ${SBUILD_CONF_DIR}" @@ -103,7 +103,7 @@ sbuild_export() { } insert_mounts() { - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' set -e for mp in ${SCHROOT_MOUNTS}; do FSTAB_LINE="${mp%%:*} ${mp#*:} none rw,bind,private 0 0" @@ -114,7 +114,7 @@ EOSUDO } remove_mounts() { - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' set -e for mp in ${SCHROOT_MOUNTS}; do FSTAB_LINE="${mp%%:*} ${mp#*:} none rw,bind,private 0 0" @@ -125,7 +125,7 @@ EOSUDO schroot_configure_ccache() { mkdir -p "${CCACHE_DIR}" - sudo -s <<'EOSUDO' + run_privileged_heredoc <<'EOSUDO' set -e sbuild_fstab="${SBUILD_CONF_DIR}/fstab" diff --git a/meta/classes-recipe/sdk.bbclass b/meta/classes-recipe/sdk.bbclass index 6f09b5f6..16165792 100644 --- a/meta/classes-recipe/sdk.bbclass +++ b/meta/classes-recipe/sdk.bbclass @@ -69,12 +69,12 @@ ROOTFS_POSTPROCESS_COMMAND:remove = "${@'rootfs_cleanup_isar_apt' if bb.utils.to ROOTFS_CONFIGURE_COMMAND:append:class-sdk = " ${@'rootfs_configure_isar_apt_dir' if bb.utils.to_boolean(d.getVar('SDK_INCLUDE_ISAR_APT')) else ''}" rootfs_configure_isar_apt_dir() { # Copy isar-apt instead of mounting: - sudo cp -Trpfx --reflink=auto ${REPO_ISAR_DIR}/${DISTRO} ${ROOTFSDIR}/isar-apt + run_privileged cp -Trpfx --reflink=auto ${REPO_ISAR_DIR}/${DISTRO} ${ROOTFSDIR}/isar-apt } ROOTFS_POSTPROCESS_COMMAND:prepend:class-sdk = "sdkchroot_configscript " sdkchroot_configscript () { - sudo chroot ${ROOTFSDIR} /configscript.sh ${DISTRO_ARCH} + run_in_chroot ${ROOTFSDIR} /configscript.sh ${DISTRO_ARCH} } ROOTFS_POSTPROCESS_COMMAND:append:class-sdk = " sdkchroot_finalize" @@ -83,7 +83,7 @@ sdkchroot_finalize() { rootfs_do_umounts # Remove setup scripts - sudo rm -f ${ROOTFSDIR}/chroot-setup.sh ${ROOTFSDIR}/configscript.sh + run_privileged rm -f ${ROOTFSDIR}/chroot-setup.sh ${ROOTFSDIR}/configscript.sh # Make all links relative for link in $(find ${ROOTFSDIR}/ -type l); do @@ -95,16 +95,16 @@ sdkchroot_finalize() { new_target=$(realpath --no-symlinks -m --relative-to=$basedir ${ROOTFSDIR}${target}) # remove first to allow rewriting directory links - sudo rm $link - sudo ln -s $new_target $link + run_privileged rm $link + run_privileged ln -s $new_target $link fi done # Set up sysroot wrapper for tool_pattern in "gcc-[0-9]*" "g++-[0-9]*" "cpp-[0-9]*" "ld.bfd" "ld.gold"; do for tool in $(find ${ROOTFSDIR}/usr/bin -type f -name "*-linux-gnu*-${tool_pattern}"); do - sudo mv "${tool}" "${tool}.bin" - sudo ln -sf gcc-sysroot-wrapper.sh ${tool} + run_privileged mv "${tool}" "${tool}.bin" + run_privileged ln -sf gcc-sysroot-wrapper.sh ${tool} done done } diff --git a/meta/classes/sbom.bbclass b/meta/classes/sbom.bbclass index b220f3d9..b4fcddaa 100644 --- a/meta/classes/sbom.bbclass +++ b/meta/classes/sbom.bbclass @@ -41,7 +41,7 @@ def sbom_doc_uuid(d): d.setVar("SBOM_DOCUMENT_UUID", generate_document_uuid(d)) generate_sbom() { - sudo mkdir -p ${SBOM_CHROOT}/mnt/rootfs ${SBOM_CHROOT}/mnt/deploy-dir + run_privileged mkdir -p ${SBOM_CHROOT}/mnt/rootfs ${SBOM_CHROOT}/mnt/deploy-dir TIMESTAMP=$(date --iso-8601=s -d @${SOURCE_DATE_EPOCH}) bwrap \ diff --git a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc index 22be1d5a..74ccd8c2 100644 --- a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc +++ b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc @@ -209,19 +209,19 @@ do_bootstrap() { trap '[ -r "${WORKDIR}/mmtmpdir" ] && tmpdir=$(cat "${WORKDIR}/mmtmpdir") \ && rm "${WORKDIR}/mmtmpdir"; \ [ -d "$tmpdir" ] && mountpoint -q $tmpdir/$base_apt_tmp \ - && sudo umount $tmpdir/$base_apt_tmp; \ + && run_privileged umount $tmpdir/$base_apt_tmp; \ [ -d "$tmpdir" ] && mountpoint -q $tmpdir/base-apt \ - && sudo umount $tmpdir/base-apt; \ - [ -d "$tmpdir" ] && sudo rm -rf --one-file-system $tmpdir; \ + && run_privileged umount $tmpdir/base-apt; \ + [ -d "$tmpdir" ] && run_privileged rm -rf --one-file-system $tmpdir; \ [ -n "$base_apt_tmp" ] && mountpoint -q $base_apt_tmp \ - && sudo umount $base_apt_tmp \ + && run_privileged umount $base_apt_tmp \ && rm -rf --one-file-system $base_apt_tmp' EXIT # Create lock file so that it is owned by the user running the build (not root) mkdir -p ${DEBDIR} touch ${DEB_DL_LOCK} - sudo TMPDIR="${BOOTSTRAP_TMPDIR}" mmdebstrap $bootstrap_args \ + run_privileged TMPDIR="${BOOTSTRAP_TMPDIR}" mmdebstrap $bootstrap_args \ $arch_param \ --mode=unshare \ ${MMHOOKS} \ @@ -254,7 +254,7 @@ do_bootstrap() { if [ "${ISAR_USE_CACHED_BASE_REPO}" != "1" ]; then deb_dl_dir_export "${WORKDIR}/dl_dir" "${BOOTSTRAP_BASE_DISTRO}-${BASE_DISTRO_CODENAME}" - sudo rm -rf --one-file-system "${WORKDIR}/dl_dir" + run_privileged rm -rf --one-file-system "${WORKDIR}/dl_dir" fi } addtask bootstrap before do_build after do_generate_keyrings diff --git a/testsuite/unittests/test_image_account_extension.py b/testsuite/unittests/test_image_account_extension.py index f78aa7f8..ff0e47e0 100644 --- a/testsuite/unittests/test_image_account_extension.py +++ b/testsuite/unittests/test_image_account_extension.py @@ -54,9 +54,8 @@ class TestImageAccountExtensionImageCreateUsers( image_create_users(d) run_mock.assert_called_once_with( + run_privileged_cmd(d).split() + [ - 'sudo', - '-E', 'chroot', rootfs.path(), '/usr/sbin/useradd', @@ -136,9 +135,8 @@ class TestImageAccountExtensionImageCreateGroups( image_create_groups(d) run_mock.assert_called_once_with( + run_privileged_cmd(d).split() + [ - 'sudo', - '-E', 'chroot', rootfs.path(), '/usr/sbin/groupadd', @@ -164,9 +162,8 @@ class TestImageAccountExtensionImageCreateGroups( image_create_groups(d) run_mock.assert_called_once_with( + run_privileged_cmd(d).split() + [ - 'sudo', - '-E', 'chroot', rootfs.path(), '/usr/sbin/groupmod', From patchwork Wed Jul 15 11:05:36 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5234 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:06:18 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-pl1-f185.google.com (mail-pl1-f185.google.com [209.85.214.185]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66FB6G3p022840 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:06:17 +0200 Received: by mail-pl1-f185.google.com with SMTP id d9443c01a7336-2c7f385887bsf127461765ad.0 for ; Wed, 15 Jul 2026 04:06:17 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113570; cv=pass; d=google.com; s=arc-20260327; b=fsBa63qP4ip8HzgXhYoT16A19kWApnYkbQ5YXPJAULNbL03fUeVdj8f/bhsSzRRRgl J6VhM2uYHigZn8id0gdpQXEKrrXFrRZlpckV91SszDMrtFyt3H42MkrurNBnfBAgH/et 8jwZGdweMRzfFelZDONSJvIxBr8O/fkaarT3TnWuselW66HxwpPtubWQzJEztKVCiw6S 6QOtN05OuE2U8+TMkNCj6+eFDVoJbQ1bz3ObyXxrzOtNv0GHivo+m1XcINnMGuMuPUl/ P+Cg5kuRJdT5gBKJCeZfBeDwFfOMzrORQeSuhsLBZ47XfHMR6wg+R7XythApThSnRDTN 2D7Q== 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=sZ5vUPStPRsAToI6YBEIno2jpvQGNGhuLENCDxayOfI=; fh=5GcTb4YirKUY0fg8xiuIonQKOz23Mw4iGDC5H0dW7A0=; b=Xi/ByMahYShsEcXVoP3xJe/SmXEswasACStKLeWbvq/NA9FA7+TRxygTVok5/mE+t1 Ax1zbrFJCmyCKcu0+OkFJwZTzJQgwmot7mIN01GKJo3CsmxYMYL2ewPDcpvZf4ftCXfi b/0Ltkq6gA3fWj/wSP4xh145Tv4n1WCwa3CMPUA4isHQa5j2Ld8vcyhoB8TD30gyYu0c Z8K4OXTca+O03Ugw02MSfk7yaGUHNPav0aXaA8ESkYNrS5RKhmxHwu/Hq4A1VU7HuXl8 c+lSRRuWiu0AKc2t5ZaOE/ZZVcMfemRrpwTAJlBC74gxpGzisiM+C3FHbIOlQtC8lHVG ZSDA==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=xDqKk56r; 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::3 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=1784113570; x=1784718370; 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=sZ5vUPStPRsAToI6YBEIno2jpvQGNGhuLENCDxayOfI=; b=HmcyNeyE4MYYEAnFmGDd3xh83JKo0MFxAS9tIjo5kL1/D7kgmBswAFcwnkHEKO0EFR L+lEGEtDHW8x5BXq3L8x2TiTyZlVgF/WLsNfL4szOS8jtlY/tu4lgVwPGEHnvMvsp/l2 QewAvM50fT72ElhAJSWhUaf22k5xayp6WHkwqzYgYwQA5CLT15SFW7NI2AxdT6aFqcxn dIU/crWrPCukXA+LjH33fskdJF9oDrLDIZLeCj1K3W0tuh3HItHDJjeqYqlnDB6xKHx8 lmhc7yQNoR1kZhjvikDf/XnhtuHirCQB9U05NAacsLGJO51ZTraUeDKCkS+axi+/SodA +K/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113570; x=1784718370; 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=sZ5vUPStPRsAToI6YBEIno2jpvQGNGhuLENCDxayOfI=; b=cE5Xg6yE6bVgyCI/xC43K0qcRk3xY1WPNYGpMVcPPO2N08sE/q58Mivef7rFGCYQZX zDwUr321JJEHkeyqWPsgMGpBUOMgFE4lT9b5P2CUrnrrx7XLFZTya/TB3XXK005YXkBi CuCEZN5fOdB8wfN/ugAUTQiak5BDvV07bgRMOfxLSw9T7KPoFJ6WVX6r1joJfuSm5mSq m6d+4xFA03qpKabMoVdb9W8SUMj2LdRGY7NauPXqlh5LgnbuA7mfHNQNHj45HavGVo5H ywGZ6hlOhvasDYpTCV1GOtxa4LZEaCYGI+ehT7esRRkaE9OAjQOCVKz+hxKx6N5AIq7g gY/w== X-Forwarded-Encrypted: i=3; AHgh+RqTIiF/ya4wBCR5de8OIA0n9IWz/FqqyEHvcWORLTbUDXBxQRsi0JO/T7T5zgY3SL7YDQKN28c=@isar-build.org X-Gm-Message-State: AOJu0YyME7ASTprpgCC1qWkkip5zwiBhZA/lVRxpZFjSt5MCMdiO5vDc g6sCcfChuNrdnM64p9OgF8kHCoPtjlMsPhtvz8BXUTBtFC26z+lCW4n7 X-Received: by 2002:a17:903:2bcb:b0:2c9:cb1b:64d6 with SMTP id d9443c01a7336-2cf03c391bdmr19305055ad.19.1784113570004; Wed, 15 Jul 2026 04:06:10 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPRB5d25dbMjTrTH4cakZkVSnabcFJFcyKncHRSQ2mIXGQ==" Received: by 2002:a17:903:2446:b0:2c9:965e:5bdf with SMTP id d9443c01a7336-2cf030e4bc2ls10559515ad.1.-pod-prod-06-us; Wed, 15 Jul 2026 04:06:08 -0700 (PDT) X-Received: by 2002:a17:903:1cb:b0:2cc:1452:a014 with SMTP id d9443c01a7336-2cf03c36420mr21434715ad.18.1784113568648; Wed, 15 Jul 2026 04:06:08 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113568; cv=pass; d=google.com; s=arc-20260327; b=elktfehsFFDeIOH957TjwZlLA4zfyiTOIS4HUi8GDAPyrcFfZYO8l5Z4PmIVB1v0XH 4KjimHESfHcTKDWaUDLd7Yg12F38lVAYtRz1osgOTGseM8VX1qKRreMo2Ff4sWOGInQ7 L1QDeFUJUeoUr6m9KYDIUq98BbAVzknXBK4jeSDksGqlU5lPa0GyhGwBTmMrNKh6iH0m m0T76Ckhcd++FJbMQ1IFrGRfhhr1dFKDdzkQA9ykwisvwqCRWpJfqpsT13tsnO3Umd5+ qNtFEiEWnP1GsW/TQXOPF1D/y/yRnfIEOLpqtdn8KJ8FUOxmYRlY8U/lLh3vuk/4vFEr tzIQ== 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=pkolH3VOcSMhqvY+ejeV7kqhWhZyhLV+F7pLap9tbWI=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=Vad/eXL7ERqTM7zxmxui8VdM/XFd5S5ngh5JWu1Ymys/tixRBHa76qfXiws23abgK/ Gyv9DqELQctR2n1QT+8NhXGuzWLjiMGZKNVNCDlAXSvxxaCTEISgYLaeaufCHpLbn37U 4kOwUYhMM3AdAluqyUkEMrnUlRN4BWhGgg8CVXqwVQfCeqsb6rMHeWAFK8EJm/VnH4EA 8oQkPGWNHBsBDlApNXTDbAu+iGyItKIuoGhPuhl95HiZwd4j2l7Nc17Kcy4+Pwe3FIsl jtFKivUrFu05sEq5EEmc8L8iRdPPcRGNAS9rnQGW1u8OzdOoF/Ptl2KQJZIOz3dMmB5v kAyA==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=xDqKk56r; 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::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c201::3]) by gmr-mx.google.com with ESMTPS id d9443c01a7336-2cf10489ad5si21625ad.8.2026.07.15.04.06.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:06:08 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) client-ip=2a01:111:f403:c201::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OkaGoSXafl8ttwk22Lp1lkzLtKQHedhPXWBy5PsAgzXj6q7HDd29rk3n+OSyuTjmHG34A0oG+qZQuwZAbn9d7MX5JIIuDpNK1UiqYdKZaSIJ7f0RZpyKv+bHy9OYHiY3rFA+LTEtPuGtGe/5tk2TxpellbEuB9yaCMdKVMsxadeHz0RyjrwPmb/anOCSaIWZ5KkURfWlIBFvZWQCP+b84PCs/aZKiQk7n7+FEQ8F9GKW6BhfJVlHPMo2siyQETPt5c9pg/0JjIiTCj2KjOp/xmaXqwAehtk4qJgvpk9VgYXJpCcFmKs3BIw2DKX1iIEGcl0WOMaaBF62I6Fd3+JrDg== 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=pkolH3VOcSMhqvY+ejeV7kqhWhZyhLV+F7pLap9tbWI=; b=YQUhNkhswJFVTyHpHeNJw21Cs9IClnGI2aLDwVk+FJksy79b2FxtsR0U4UI+hg/fa+4fiCPVHRW/Z1dluIYWUqgmjRGJTWrNQtzcc0kzxYy8hksZOOFjF6waWidNR88CO5X2gSnI8Q+wmeKJ+l1D6X50mh0dKXFrlV90eJ+0eXdMLiM52tIb/2LDIzYp1tk7ycURURHXH9eD+n5ecWF24f8tAIxLLrH/vhBNt1Un6LadBTo5sGPEGPR55+0yC7x40gZGWtpslFLqxqHHWoeX6xgHPm2cssN6Sj2bRlUbKuDma7dDdoeYU/UuXqGWolLDahp/FNF6kdbcliNuN9rZ2w== 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 PAWPR10MB7915.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:366::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Wed, 15 Jul 2026 11:06:05 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:06:05 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 05/17] bootstrap: move cleanup trap to function Date: Wed, 15 Jul 2026 13:05:36 +0200 Message-ID: <20260715110548.3605767-6-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:99::13) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|PAWPR10MB7915:EE_ X-MS-Office365-Filtering-Correlation-Id: e799cd5f-c4ae-44b7-a9b4-08dee261104e X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|10070799003|376014|56012099006|11063799006|10067099003|22082099003|55112099003|18002099003; X-Microsoft-Antispam-Message-Info: h51IoJLbDgOv/fmxlzTGwqeLOcmZTPbc7wuSreTi/kA96mxK10flUAcaS3fIHQ6Kj48ydNmDyVvDFrY920/6Ti9FQzrADBTxVoDW9EfclHaXsuJyWYVerS9z3ora/YGp0gCis2iTON7Xlc+SCt9J4wDUt4WYfQqccS/pVLM84hUVqIfA8ZkysE0TBRnwynCfwIQpq2bfalsqrwlM+tctwRCSwUncK3N1uQqHKFjbgF3TovBJkM2sBMjuuE1Ih0SC7SlhCzBy8X6jyHcMvqrGZWXDHAcd8sdz46OMx/I2rILU/EDiP6T2EQampZC4DZCdDvFePDsXHZrVBHmX1zSEghL4nO5F7naaryrBFNRC+OfRan96fBF1xW+TBdBi6BRUba7shHUUWvg6xZPlbGDGh2EH0henDHmrA52nRC4SnpOKQ4NnN7qNuwZTx11w5ukfGE+whiA+1WgQUjFdM1z1L0JN/oVHVMh3tWnlJiCSdvtLMntrClUxOyTgqgP5XgaS6HdKy5gcII11baBmom3UAV9M2BillNLw6nNP31i0kzn5PJAASXouvh9X5l7x6Mj3ysFtYR4waP4TksWi1Vk8SZMvisHe/tJhnf0MGNROzhp/Y9t5aj26vbcvCu6PQp2WWFpURsTx9JgRQj8K9CClvlQ29+vglaAVI+dAuiWjbKk= 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)(23010399003)(1800799024)(10070799003)(376014)(56012099006)(11063799006)(10067099003)(22082099003)(55112099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: L12XL8uSDWwy/3fspJSzKJvJg1zPx+mextoeEqk+/7echBolwiipOY6mYHUs5NUAaLdoElYJ8+9VLSMUhbpdmOeALgLZnSdTpkRiW2lvmwLz+2m2HqUQzvUu0RTGsNZ9yiOOp8GcFyMfTLaxRgH+bpU9qjyu1WslOGZOKwfcDErlNfeAkjCCdYh/J9NVXmxfaa+x+b2RLNX+bvj3OQSatSlh+0h8utl3P5qrlGMvE9aj+VISYJVAZ4nFr2IhhmKHiFnV5lnVqumebt6Shlcq68lDnE1x/3XufW+2y52BDxoXrMNL+wsBrhl9lWWa9FG/lG6B24tlRKDULytsVN/px33qUaG+/Zq/LGYrjfubxsvgAhfWDVBxFisJv9AWvysshroz7B93L+Th3lsAKfDaL95CwHyUs6g4IrjlzSbaLCyf5foLx+yXC13lvYcbgw7DS+kQs06xGdxz16QZCRoFmgJMkU1sJXvAVDg2ugAVqy883KNkZ2NhM2JBUVwuih96J/AtMJuoGPpBR5URVNcuJw8vVbKyv6iac8WCI/CSgfHL6ai+cN68+70fXLYJEt+Jjj1/oH6n3xB5IYd5OHUQsNqtd5/3aKwXu+BJlKAdRpZxMLeY1bBf/LYsoXEHmGAWdwZp6zjCeU6y/sHYBzvax7i5eu7bIXZ+1FJVZA/ghRvW+uBOGuAcsH83MDsMjWJqguGpZjiSXRmjxHtIKBPQjeMynSQaz9gvRwaUdCkjO+CydRNTb6TrNAhvwIK1sJj8gsiNGl91zZDCV+av0H6eZ28SodneJbPNEqrs1kmjl8XM0Tjrzc++6CGPikUWGsdRoE63ywbl23+sWn+N8GJEkZCBaKydqONV/5vZemaPGUwyQCEKyJiTNUfmVKOET+Ei8QAWhZy7I4wc1sxhinv199t3ogSpF6okQS6WLfRzIut7PL+09i4lBPadGaAlr1xpEAmzBtKCpLzIvWu0PtX1owprZaL2dPUetPyTvBf1VYyZfVDEn+207vuvNGaqM/VrddevOZZHRth5cRe4fM9Hx0G0ZMSQVOHUR9Z0nV3P45B6+HCx7GULoi7VaavE20yCRmIMRitWwBqTAYpo5/Q3yWZAlGQYKLb41d4NSrr2v7ToMXj0M1uCDw2TIfWJ19qvElMaQP7OCvdu+oVf9EYd+tOhG/XHmSEmtOvxvqerOX+1hdfy4wTR3bqVf85wrBW7HS2owOdYuxvcCVZ893ADj3qjh9wD1LRzLGGvwPSsWPml96QEfUxWQfExQGGSBwJeBijZRZD1ex1Ot+uHD/z+EcFAx99Pr3za25RZj6VfkKSpB/VFUJq8yHq18A1GYuehd/y/THqfEvJgxXtoysfZMVfecRcH5s2K3Iv5aR2yjOyittp4j2KtNC6w5s554VJEMhyAEb1FR3HotO9Gy8QRq0nZHT6jtmPDo123f0tq9a2J6/mUhJ5AzW52H4ziFIkdFn2JWXrtMrBRrO9f9R0F9Nw8v6MXL2Ee7pCYqANBSOaq/eWopcP8C4dDMe8v9F/82NrzcvAG5Uwo57vLMqpTmRv/b5+DozUhNOyOIMGcY5gwCDk+GoWGSKk+oSOrxvFmbb23i3gDAbYXbykuACXjJGm1dtl1y//KMkhfLkQ41EhqldDQi3Eh7EP1CPS48yYIClmj91J6rh/PudqUZUqTCSJl8x4xFgvZiVBPzHiZHGlTI8UzFtJPevfTpof2Cmsw/TF19CMkDE6YpWgiHPbwMepkajLyXwMKqisFk8lJOmgZwA8f/4HH38gDXtcvpRItXmD7X812 X-MS-Exchange-AntiSpam-MessageData-1: A6TaH/LOCLUOQTy7hLNTT8s4rqzAbdPzkko= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: e799cd5f-c4ae-44b7-a9b4-08dee261104e X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:06:04.7786 (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: f4V2WQkzcdjRdZOtHXb93mkkVgmqkI9qiV+gzXD7BCvAt4q82OCk5ZDaIipm5+0RUsKb/XYJtYYGVAylSghcPPbkjXzZNzDCxGW0YF4g4VI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7915 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=xDqKk56r; 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::3 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?= By that, we can make the trap more easily conditional. Signed-off-by: Felix Moessbauer --- .../isar-mmdebstrap/isar-mmdebstrap.inc | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc index 74ccd8c2..711739d3 100644 --- a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc +++ b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc @@ -110,10 +110,24 @@ def get_apt_auth_opts(d): f"--setup-hook='upload \"{workdir}/apt-auth\" /etc/apt/auth.conf.d/isar.conf'" return '' +bootstrap_cleanup() { + [ -r "${WORKDIR}/mmtmpdir" ] && tmpdir=$(cat "${WORKDIR}/mmtmpdir") \ + && rm "${WORKDIR}/mmtmpdir" + [ -d "$tmpdir" ] && mountpoint -q $tmpdir/$base_apt_tmp \ + && run_privileged umount $tmpdir/$base_apt_tmp + [ -d "$tmpdir" ] && mountpoint -q $tmpdir/base-apt \ + && run_privileged umount $tmpdir/base-apt + [ -d "$tmpdir" ] && run_privileged rm -rf --one-file-system $tmpdir + [ -n "$base_apt_tmp" ] && mountpoint -q $base_apt_tmp \ + && run_privileged umount $base_apt_tmp \ + && rm -rf --one-file-system $base_apt_tmp +} + do_bootstrap[vardeps] += " \ DISTRO_APT_PREMIRRORS \ ISAR_ENABLE_COMPAT_ARCH \ ${DISTRO_VARS_PREFIX}DISTRO_APT_SOURCES \ + bootstrap_cleanup \ " do_bootstrap[dirs] = "${DEPLOY_DIR_BOOTSTRAP} ${BOOTSTRAP_TMPDIR} ${WORKDIR}/trusted.gpg.d ${WORKDIR}/sources.list.d" do_bootstrap[depends] = "base-apt:do_cache isar-apt:do_cache_config" @@ -206,16 +220,7 @@ do_bootstrap() { # Cleanup mounts if fails trap 'exit 1' INT HUP QUIT TERM ALRM USR1 - trap '[ -r "${WORKDIR}/mmtmpdir" ] && tmpdir=$(cat "${WORKDIR}/mmtmpdir") \ - && rm "${WORKDIR}/mmtmpdir"; \ - [ -d "$tmpdir" ] && mountpoint -q $tmpdir/$base_apt_tmp \ - && run_privileged umount $tmpdir/$base_apt_tmp; \ - [ -d "$tmpdir" ] && mountpoint -q $tmpdir/base-apt \ - && run_privileged umount $tmpdir/base-apt; \ - [ -d "$tmpdir" ] && run_privileged rm -rf --one-file-system $tmpdir; \ - [ -n "$base_apt_tmp" ] && mountpoint -q $base_apt_tmp \ - && run_privileged umount $base_apt_tmp \ - && rm -rf --one-file-system $base_apt_tmp' EXIT + trap 'bootstrap_cleanup' EXIT # Create lock file so that it is owned by the user running the build (not root) mkdir -p ${DEBDIR} From patchwork Wed Jul 15 11:05:37 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5235 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:06:19 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-pl1-f187.google.com (mail-pl1-f187.google.com [209.85.214.187]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66FB6HCL022856 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:06:18 +0200 Received: by mail-pl1-f187.google.com with SMTP id d9443c01a7336-2cc6dd43737sf105069845ad.2 for ; Wed, 15 Jul 2026 04:06:18 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113571; cv=pass; d=google.com; s=arc-20260327; b=FHF9wP9nBMTBUl6DDgY21LZ/jwSudrFEGG8WCa896mJ4GPYBb828+T0hkxAspsJhgH TBIXutKGtrfStHwiu0wrzK49GB26odS/nDvEB+g1Q8eB2ePhD4mkH8sr8hjkPg/r/bha 662trowLZl1x3O9KDJ8SgWS8+abUtqoch0ywyPsbptYTZobeaOzWfouVMPNQedBgSYnU /cM7z/k/s6Abx1/TTQNHVPc0PvnftIlhrv1xVF3kATGAgP4BxuCgWykagiPbnQiJoQz4 VXIgnV5qLhyw5jTk7Nax4SDCeIuOTblFZweGtZty+irTDw0ugvHviHYgfWoVFxpeEbph WCSA== 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=IVO/yvKkrjJSR+UsefMZr5vGbWnM28gvq5h8XnxBOqk=; fh=a3jhv1N8+81/J694diJVnSY+ZtB872vOMfML9YryqlM=; b=cBboHmeN/Dr2csslqYaOznkGvsFJzLHloF4Z+X6XJoAaKB2oFS0R2KNp4YDG4h7iwt q6riAEmsOMcItV/CRH1Sqh7q73+MBTowdw23KaJs/wJMg5PDSRHkAeZ9KEEKSo2OMNCc bPYkt/GNNoG9WD9x6N0hFt8yxWlrHQwlbBdifG8o3e8lAeCILjVviseiS85gXA2HN8VJ uqeT+OIwXjMNEVWIWBlNKBjzIHicSfBBZwX6zufSl8UUombEjrcSBzwpJwqpR3Cxuy0A dIOEUtbhNBbFRb5016MfwS/XHquyEMuhkdq2TWt9NCsvb/IqToa/bHr7OGwGKbf/oCAu wXEQ==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b="h8gjud3/"; 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::3 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=1784113571; x=1784718371; 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=IVO/yvKkrjJSR+UsefMZr5vGbWnM28gvq5h8XnxBOqk=; b=etYehkDBfEPJIb2A+AOSbxEia3jXh2ABslnbd75aizq3vFTUHzSpmeZ8152/3o3BHn 4ADXlIvAIb6KgjQ6DjTl8fp/V6b7pZvasRNll8U8S5eu/6nmQZWi23/ZhrchaWQkqd0n F8phBcrmDrq8ogWAS4Z2JZtanIlXINtiTiGqA/a79dzB4L84xBXqi+KCPOCQbUKKeOZ0 PfVt1Nzj2pYk3bpaC80UHVONgzZnWZapJOHPp9GKvVYZYBoH4sYl8lJCZPwA6DjCZvSk 6GIqn8xP3K8OwjJdQo/eEfw4ee7lhwIhmVUZ1UfZXmDPzjgkVSc10wbZpVlm4GJxubir yCzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113571; x=1784718371; 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=IVO/yvKkrjJSR+UsefMZr5vGbWnM28gvq5h8XnxBOqk=; b=gOJMoaEHj6erig0IvqYj71T5eOsr/QzHGevNrVufu8B7f5YYGxANCCbRDQoRvYrCIG M2eZQUMHyJzr+2R4yINPF51HTlqyp4TKb/J1znzKw0j/StYUI8/02/y2fkgPNIkhCXVY 21rn+TuFB3ldHFS/m/Zjs9Cl0qwdgXmVw/XpFsJP6BdLxVGghgyl66vAA0yIvXTeGGue iq7WrsrVXOVnOzmfMneDo6206Irgy0SQK241Zt+4IClQ9HwKuZ/QhiXcVSlj51qlzFBu OI7dkNXD/fJGAC3tPPPBFQNT+YWNq/LbL7m49fSMWHaYvXXyZbFhKTAIq0gfb/8/uC3n hViw== X-Forwarded-Encrypted: i=3; AHgh+RoKHR5IMHkjqgaeNPuwu516AW+v+8Bu25soVLp7OKQ8ISock6vx5/2IX0hCeytJ2MiWbt+pzss=@isar-build.org X-Gm-Message-State: AOJu0Yx6rcv+4oWqjGvN4jj6Cm09nAOo5HukPSPfIwVnDMR7jl4affqq gdAJKFFQ4R9vPZgZbMrn6QDFc2PgycBN7IyuOcli5tpeBoyJVHuPz5bu X-Received: by 2002:a17:902:f78f:b0:2bd:8395:fedd with SMTP id d9443c01a7336-2cee9b844e2mr71471035ad.37.1784113571283; Wed, 15 Jul 2026 04:06:11 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPRB8JNKUDgief0qcaC65cFo0j+Vy5tvCUKsiDp6WYd/aQ==" Received: by 2002:a17:902:dac3:b0:2ca:e47:9710 with SMTP id d9443c01a7336-2cf031572b3ls16036525ad.2.-pod-prod-01-us; Wed, 15 Jul 2026 04:06:10 -0700 (PDT) X-Received: by 2002:a17:902:ce10:b0:2ca:bb5b:3c92 with SMTP id d9443c01a7336-2cee9b82ec9mr70518985ad.35.1784113569910; Wed, 15 Jul 2026 04:06:09 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113569; cv=pass; d=google.com; s=arc-20260327; b=ZHDe/ZAZ2hk+X3QrDmEgeEVGqtoFd1WhEzq2+hJnkeZBImeOGunxye0XZjcG9ect2V kAHWV6s+uonH8WrOzSVuv7nt0FZD50B+mjfKxnxZFyo5w3Bed5T4p1yZsKJV0BGgs80U EPA1UKQmbuz1s5h/3VxOH4jgqeLPmlr2lLjQKDXWBxMl7y8X6jdsR2UKDFcpykFHiS60 ysGVrC7oLUEH8RF4Sr3AoDKQPOCW1P/XtEhOO7zzeTmDwmwEp1C1aKTL5qdqbq3qx+F3 t8Kj584o0Zxby43LxQV7GgNtd8QEYhG9GROs3BqXo7M2bV4jFGBlu7LnYxzjnVH/D8OJ ZnNA== 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=n18yVySFOTeVKN2pNJg9j+Adrt6y3MM4GbDA5QZqCzY=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=Ev3NFnHz+vyDG0X2Baw3RZjPGRMQFKAryrGB8mmN66VisRBVcZXqOERmP6qOZg95PW jwCk5M07fh79jOXLo9E0YN0Re18lrw4n8T6cKilzEZNN6ci1R4oFjIMC465JHRNCKD5G j/qmCDuhm+rR1AqRiWk8QJKy3Wiycpj6gMEhEiL+4rwQf8IECc2kJi/cBnjYRGxzYnC0 iu6y7Vjs6t4VVhxSm3ymnzmvg1JQV/9I91gVE0x4wRuTLYzhahoNkJHP2Bnhw9/z95kR QPq88OIzZQUlOKD9FeYJr1FdGHAJ6h7eLssl1BlrjUIKrLomAPlwA3qpt9WcFiXjTLDG yyJQ==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b="h8gjud3/"; 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::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c201::3]) by gmr-mx.google.com with ESMTPS id d9443c01a7336-2cf10489ad5si21625ad.8.2026.07.15.04.06.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:06:09 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) client-ip=2a01:111:f403:c201::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DLugmCDLg1nMsa9ulWGBrRKkl5eSHmV9xvqdPxp0GcOHesZRU/CDcUq8/z9FWIichRsSVAonCvthhaXIBIptGlVBoSvg+cQdMsNyM6+VlAISMvmILzei09+I9p72DoV2kwyL9F5Dky8K/Q5vC3aaMfOqtwMBYX1WNnATkqmNPo7Ix8/unzcyu1koeYpXHt0W8Vf0ibGpmj3HDl5uu9li22JHlULpdFDVfyhodDfSpIbrMDYPONcpgMC24hgocXzsBcRLPRshOodQF7O4i6UCGlfbE/k905w3gL2Y+RNAc0mOqg2/WYQfaNJcu4ilgiubp4GH2Fp+pnXf0FgQixv0mA== 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=n18yVySFOTeVKN2pNJg9j+Adrt6y3MM4GbDA5QZqCzY=; b=AY+g0WsXavF1HRz2ZbM2H5xf3iwwiHyswH9i4S+JzoIlf5xssK6u3igMqlCDIqWHAmcsam+3pXP1cZHpOZnVDv8g+XxOOax8dlia4kP15H30KFPDBnZ11BhSHPM84wfH5DMN/m9rLGM5tRdjmm7v/YHy0u7sULXwmiu24R3SoFAQwQy0QHxZrcPQrC8RrnwtpQxldxNOJN1dNBcQ5iTjcv0He5fqx6fy0aeSsqyIhcwcJI0uLdEAaYYQuVYiU5a1VxdU/HQSXAihv20+OvoA1mKcAKjKA9TC/xga2p/9tZ5CSKez6YIfqXtC5tu2owSYeXhFOD+E+5ve1UnkgIK2Bw== 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 PAWPR10MB7915.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:366::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Wed, 15 Jul 2026 11:06:05 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:06:05 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 06/17] rootfs: rework sstate caching of rootfs artifact Date: Wed, 15 Jul 2026 13:05:37 +0200 Message-ID: <20260715110548.3605767-7-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:99::13) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|PAWPR10MB7915:EE_ X-MS-Office365-Filtering-Correlation-Id: 4a3cc250-4972-4c0c-cbaa-08dee2611093 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|10070799003|376014|56012099006|11063799006|10067099003|22082099003|55112099003|18002099003; X-Microsoft-Antispam-Message-Info: ab+CxLUqlEKryxhe/6OPSUY+GjuNPR1TwfAUzOGjWIza7UgD2ZBroDD35C45/Somc6dX12aCg7TjTWb5/xDoWjBb9j4AW4UEYOqQqwGnL8jq6NFKK26G28Y7VQFehNbYA3IBDDy+CoeYHZKkCkCqI2EcW8BmPSvTmsadvkb0+IRq5cJ2wQOdGj2gMg9qW1ciBuC931wT1xzhwjkC/bSJWRrUhmXcM5Ndfvg9QWPH4NBQwC028rcKGHVXMitOs/x1zSU+RHyjOMtNTKTgQoNpvcLWWyEuxfPbl0etzwNlzZFmpljIzbNRwB325TMKY9fkxnIqAnp76fLevbKT04ehp/SJPdoxgVyUIxmGFdwlxDxGl+A0E970Pw9p7rbOVuLMaD5EH3GgI5iFDla5nx9biJ80/Xw083rcyv8qJCb0aIp8yoqzmWj0a5xER+0uzUnJgS5DSmTPSmAIUKYpmHvqOg65xd3FAKV/GpXKExdPfDrsPy4YgITNUJyCwDlUPqdlyoVfIB2k1oV0v8dpSy2V4jzi3ocCmxZt2iQvuFqsO3NNQrrbQq772FxNmkX0BLMZUWAhB10Moh1ozs/fSl45qPd7skWlZIKgv47cTOaD7+blERK4IhEIVZ+WCEA7fa+4+8Q8GQL/X4h5lO/pIiEffIOajnRDSa+J0mQ+VPdtLs8= 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)(23010399003)(1800799024)(10070799003)(376014)(56012099006)(11063799006)(10067099003)(22082099003)(55112099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: aVcE0OmWgng1TMuyhexAVHI0kr+bFCt636mU+0GOH1gf+NQJw7f2Oipin2hqLxcUtqr6PlOsK7wo2u/EeRhEAZlKli8iGi3I1e6WkzHOW7ANC5vuNdC5ZG872fbubBU1WUVX/+VnDp61iCC1NlVBKqtN0aBu01PlJjdlCQ4g9ZhqAR2lpjno7/+QgaNv3cn1FZw6/IIGW9F6C81Ix48UXOwly5FAxaiFow6V7CnKpzNXN6yHl2JOmTQFiGHeZjv8Tne3bSYl2omV7wxUNKpHwHNuomAT4e/Uvdx3YouPBTvwrNEZCQRXSMD8is1/57GqhwG4vkyIzoiRaokreJwZw8E1154awTsSfEgg3ZlBSu0Ybz9tCQevdE1TQCviC0pCQC1WI/SmMywvoqfgHZRrB/YCGbGyb5kPTPg3j2WlX2/sR/vW05aGn/KfU5r2z7cFWWDk4n5VBUi1AWRe6ukn0yepJHENNnZ3FR8fp9wghtcCOb20O0mj2FjUpOloNuPlvgJrm6XcfXTc8sXa+KQKqdmMM9+B0hXgjSpN+wg+I6WlCFdKH49pFG56t2Jr+nsz6woS6RLDlbgXqyUJYkbJ9fTVXaS7NcQxa/A8TiwbfI0F5eQFE5It+10oqzxmmUrevkcn8kQDxbEn5htZessWjJCFRwXPLCz8K/kT589ZQX0H58N796cQhdtUj22njSMXbZn4NBeXHqmK2PsuqrfN/NuPYTiZ34IwdwoHEcmgxjysul68EzdYlgVUpLxjBqvIqK7RrcG6GBz0/XF7YezLRjSWXOkqa/TBzkkC/ztKSHg6m/zmU5/15bX4LOTs4rcxqxJz4mWJGfpsmJ4+a9nBRhL4F5SS8DpaFa5Un+Pb/TsFIpxGucDURRFuuNTYgac72PR6cOUAQmiBqjpFHfddCIDXZyDWuZ90VjpQd68qhuxFXjyokAZp4451FQX6S6XVGYoPRHCG6AO1JZ8t9LUkHJX0xkzQEJOB4rjTtvHw+ighOehZ42vHf7UfJZ4/QXNRWDGMfzsJarsuLy97QN1MTd3YMOhCoVgxtKedlUPvsH3sdkzbO1cnnmVvoXlnRTGIxl1DP/Sx/W6oUxnUoIooiRuiEcr6MUHKvCu2ljkJVCn3bQP4gRkZmHvuiZ/CgnyBr3nc10/0OxOCbZickYMtns+uDWXN+nVf3Eo+nBDsaOu7+l38aZ13/4Wpp8n7PCwhW2Oz79NAhdAJkL8pIQ15xGVFVfTrktcu+0TLLAHc3DtZ/UZDMAS4dzzY0DHD+xX/xlVGVJjfzhqSqhsrABa60SYWXm6dSQD/uMTrc4Ju1lKShjYgNMLYXIx0sOpiucU2Mfhr7TQfZH3bZgAUcyqjaUqKLEstIoTqAVBkJTlFUqfnVaYq1LYftnhlV9Nk+e44o/L64FnDmRRElZr1VsQiaQcW/ujoR2bEWTmWTtavwPF/q5VEYUVOh1Z8NuacBSms6mFtzXdDUQAfIRaUkyZTM9AWvu0LWzzO2h/fvv+bHK8tvLQaDcjpf+LrWfdiZHelPSLplb/MkCFdT8hhQGrCsHKzoZdyK8BlRgZA3W0rjEWd14kHH5uRVelmCJaJzbRz9NrwSfqLIOfQTxcjkk/tTFNJ2mV62YsQzPm0gxdpK5ar32oPBSOBhYxel8ShQWNo/dQrvA3u5uMUv1oN0352BdeflJf/491y/F4q4iXNqTl0m+H0Nlt3tvf9obnrS0Hob1iYo9xPVNobRU8asFr1rquwze1YMa5YD8EssbaEU0MyGWcRTmLGN6exhVCZHDs7mWAze/sW X-MS-Exchange-AntiSpam-MessageData-1: x5RGwaC8T4Aac2aK1XPk5eNA0+BRsAmehNo= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4a3cc250-4972-4c0c-cbaa-08dee2611093 X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:06:05.2026 (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: h02oWcUytdJmLit2WLiv2LqnVS4NCwkjTgkpFaV97TtcRoVDVCp/aTQ5HudfItN4fApWpefmgZSypEvirbJPBQtK6PUJ9lr5/D5md1191sA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7915 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="h8gjud3/"; 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::3 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?= We ensure that the sstate artifact is always generated for the correct rootfs directory by using the ROOTFSDIR variable instead of the assumption that it is in "rootfs". Further, we avoid file permission on unshare, as root inside the container maps to the caller outside of the container. Signed-off-by: Felix Moessbauer --- meta/classes-recipe/rootfs.bbclass | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass index 4873a458..9add2ce5 100644 --- a/meta/classes-recipe/rootfs.bbclass +++ b/meta/classes-recipe/rootfs.bbclass @@ -691,11 +691,13 @@ rootfs_install_sstate_prepare() { mkdir -p ${WORKDIR}/mnt/rootfs trap 'rmdir ${WORKDIR}/mnt/rootfs ${WORKDIR}/mnt' EXIT - run_privileged mount -o bind,private '${WORKDIR}/rootfs' '${WORKDIR}/mnt/rootfs' -o ro - lopts="--one-file-system --exclude=var/cache/apt/archives" - run_privileged tar -C ${WORKDIR}/mnt -cpSf rootfs.tar $lopts ${SSTATE_TAR_ATTR_FLAGS} rootfs - run_privileged umount ${WORKDIR}/mnt/rootfs - run_privileged chown $(id -u):$(id -g) rootfs.tar + run_privileged_heredoc <<'EOF' + mount -o bind,private '${ROOTFSDIR}' '${WORKDIR}/mnt/rootfs' -o ro + lopts="--one-file-system --exclude=var/cache/apt/archives" + tar -C ${WORKDIR}/mnt/rootfs -cpSf rootfs.tar $lopts ${SSTATE_TAR_ATTR_FLAGS} . + umount -q ${WORKDIR}/mnt/rootfs +EOF + ${@ 'sudo chown $(id -u):$(id -g) rootfs.tar' if d.getVar('ISAR_CHROOT_MODE') == 'schroot' else '' } } rootfs_install_sstate_prepare[lockfiles] = "${REPO_ISAR_DIR}/isar.lock" @@ -706,7 +708,8 @@ rootfs_install_sstate_finalize() { # - after building the rootfs, the tar won't be there, but we also don't need to unpack # - after restoring from cache, there will be a tar which we unpack and then delete if [ -f rootfs.tar ]; then - run_privileged tar -C ${WORKDIR} -xpf rootfs.tar ${SSTATE_TAR_ATTR_FLAGS} + mkdir -p ${ROOTFSDIR} + run_privileged tar -C ${ROOTFSDIR} -xp ${SSTATE_TAR_ATTR_FLAGS} < rootfs.tar rm rootfs.tar fi } From patchwork Wed Jul 15 11:05:38 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5238 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:06:22 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-pl1-f192.google.com (mail-pl1-f192.google.com [209.85.214.192]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66FB6Jf0022894 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:06:20 +0200 Received: by mail-pl1-f192.google.com with SMTP id d9443c01a7336-2cae7a8b9easf12207655ad.3 for ; Wed, 15 Jul 2026 04:06:20 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113572; cv=pass; d=google.com; s=arc-20260327; b=roLvgGeVTtAt5YLXk6TndIy0cpQm1tu0O+6QIiiQ4iTi0zet0CKf0r7AugBMqwmPz5 p5d3hFzsK6+UA+mv7Ia9MxZFsDRtwqpsJItKOnY3gt6zvPOD9PnHTajfEp3gJbtBkV5j c5F9SryrrcnkkSwLvpU83p3D6MpWsf7XQR40kYJMgAnh6H/mgnoPxJOaAmJGcPh62t/7 hwXMaenoootM7COJeLC1Pl2uWBc6r4+SpA/Hj/r6oV3GnFws0lovJgPacHZtx2kPDpou lYYt+X7xa/cXrF6GDihNAV12hT/iJhIdkORuXhYr69nNUkUgg8UibrWycEPJYgm3V7gK TnOA== 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=eehzXH1+ovbCvpzPiXy4nKaOXSkTsvpX8JALCq7kUQg=; fh=JurRiutnB2DVhji/gxVblK8V/+Ew+mZso2Gq15yxySc=; b=KuSgTxGqu7nnQZ5Sz9UkZ9dXAg3O+R3GM6bFFTR++ald0lznRC4hMnst3KHlnIt1XA +KYqM0RymC07SpNUlQDFd8Ac2N748HPzqU+BvHlqvLB/nWezOB9dz8JM7d/xZCbjAe3s ArzfbpePDbGsjFSHBmbFevnNBQLTpYUfaBlxYXKp7QGvDxZheuV1sAdM/53fwHvWG7zx YN7749cOfl0HD8cQBaqG2fKza7zz5tcr1VptiebGf0gYB2SZ/dxd4BC3LJq6SaWO+VI2 b0Wqk96VFTevjmE/pL/9pKGVwML3YgNWL9Q4tptkN6T3ETSLu2eup+9KCWBL6SIwfbst dQMw==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=L2wi6FzH; 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::3 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=1784113572; x=1784718372; 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=eehzXH1+ovbCvpzPiXy4nKaOXSkTsvpX8JALCq7kUQg=; b=rnj8SsplAL/T+6CdsDqo4nu7r6748xm0PG2Tqo+BhM/tB9h21TJSe64WrlQBDf2xHB Pbc15N4r+zAvx3lFQ/ooKOT+146McwhIyP09sPAWdha5NIajFCL1gr7o8rrfLl/53IAM Kk/Jnfu/zawzBsNNh1dVCGkZmYdcYhLc43MFskz3GPQiSsLb8mUZUag2zn4N2IhSSgam KhEEAcsW1UUZVuBv9SjXL+SHmiFVxYaeKZuOwqIDDAFNm+fHks4PRyZGFpFPkoWzt8HF I4cxP1A+CetLKbsXL/lfljjxwCa+CMRPKLP03JOCqNjabmXxfpgy78VNsTJzXsCrkXew 3HUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113572; x=1784718372; 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=eehzXH1+ovbCvpzPiXy4nKaOXSkTsvpX8JALCq7kUQg=; b=feQAfk0/LtJoHE7yWqZuz+zT1YMY4ycgPnCayHBKoBSeSYasPveHsa4MDNuGSpdd4u LX6dITlPb9SP2xkhlbRBNi1RF1LrDCSs2teaMglgRuB8lkCs2bCeCrZy/kJ3RFoAIUwY qz48n9MNucv2Tnl2eBO0a4otldRaKG+/AZJ8j6i3MfmeFAmpcZzT2zI1pRHPdrmedxuZ OWMkUCoiATMOKyYnnHebvT+dW8iRPxzxipDSgD9cEPUneoUd6n8yC7PP1RBI7s6/r13I m2JVgEwuXfSPyIDkUe9SsZm/UMJ6jC0NcyLCutgvUioi5PSwxDylDrLQjIjXW04ZJg9q cF/Q== X-Forwarded-Encrypted: i=3; AHgh+RrPtKx6pNDcFNXlRIRaVBJurpWtsKj63p0td/zVxG4ZnUb1TZqJYSX+mkDScNpSDIS0KDMObOg=@isar-build.org X-Gm-Message-State: AOJu0YxO0Rrc2vIi/3cPVLsTrXs7cJM6eeyKIj8MtoNTV9sH/bWDsvWs tRpmJOE7IC42hMTXTgxXvE8VtoTjWjg0Pn1Rrs5JDo6SCeJjd1HNQmpV X-Received: by 2002:a17:903:2442:b0:2ce:aea4:5e80 with SMTP id d9443c01a7336-2ceaea45f9bmr114073805ad.6.1784113571747; Wed, 15 Jul 2026 04:06:11 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPTTISkDC8d+oO0u3QfrU53n/lKUdXyEjH4HeKrwM6mrgw==" Received: by 2002:a17:902:c951:b0:2bd:1d26:e77e with SMTP id d9443c01a7336-2cf03134d5els11035925ad.2.-pod-prod-04-us; Wed, 15 Jul 2026 04:06:10 -0700 (PDT) X-Received: by 2002:a17:902:fc50:b0:2c6:9f6a:9f6f with SMTP id d9443c01a7336-2cf03d6fb88mr20033795ad.28.1784113570432; Wed, 15 Jul 2026 04:06:10 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113570; cv=pass; d=google.com; s=arc-20260327; b=ee/ptDFQ08/VhxJ8gVxIb4gKX5CW7xeR3EbY19F0lqRpF7q2Ry1cOFSB1/YoRhr9XY RXv15DyQfRRej4Z1IKEe0G8dWLlBceU0aqVDOR33Assj64SXqF0B+NyWQkhr1Z1Unjtk qjbH0uWfBdjVx15v+fkEdV7XQo2h0PK6CWaHN0MZe2HfGPAPb+kbwaCeuj3xEUybRljo XOuBBo/3pKOyuP1L5jhpCzB8f8NTXIQV67fOO7IUwD9C+g5f+UzV37iUT6HEeUYc5kd/ skO/PTzkPPCeRtRm5amLwUla6KH4S/21KnIsSm6i1jMBgU/IY+4MOG9hsj0s0yAElLAz FTUQ== 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=p1Y662gzbwAVDkZ5rGUWfhmFzaGVmezpP262chWnqlg=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=QPsJEGR1hTUc4cfC2UcoJsnaQ4wbitUkURjgZHphlqPfEA4ueLJRv6LReK1EmXMzUB UBE6Keu45HKL2vGXabnBAoq0hRvemIRTt0CBlZ4zZ5Sz21ngw6fKMtVSd35Odf3tLtUD OhfP+80gQqpqEsaJaITbA3XM+O+3YZ9T7x+UnWLILp+sfErBhZ/D5/qDvvN8++rwoKQF nUI9SmEMyPIUzxRznbqrX54G/LpiGM1/bcMD19tYjsVqDv4KB2PqYQPwmnDmwbZuW8k4 x7cvc08fd0nfGgc187V283y/U/kGYVRNiQMCbXFRcuRtM3Z6lterlJ/wgG/pMSWphat6 4clA==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=L2wi6FzH; 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::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c201::3]) by gmr-mx.google.com with ESMTPS id d9443c01a7336-2cf10489ad5si21625ad.8.2026.07.15.04.06.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:06:10 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) client-ip=2a01:111:f403:c201::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vU96jeBAbEgAYSMcEajrX22VVXSaDUHx2CZwaxsj6GtbC8rGhzm/Nty/2tIBi51UP/o1U4BpAsz7hJLuyy8+B1uWovYEdGUB7mspAGvkVUQiumotdzSGaWuJDZ1nFPYICdBiom7coww1Mib69AURwNIb4UOiwYATUyPR4mG+yuf8craAKc659kHTnK5cEzUzZ1GSOIreSYW/YBHH7hQmRar0/5brH8cKp7Y6LLX/ZQeTLC01HARUy4U7oDG7L4IVpNewHuoKoh3BQQG4HntzGoYC59oETijwXBL5Atb3tNSQ0R7yNoQ/xJNczlL6Ki90051/reevfJ/xBs1DGNkXLw== 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=p1Y662gzbwAVDkZ5rGUWfhmFzaGVmezpP262chWnqlg=; b=L1RgIYWGTCiqdRappW5kF3dW5RNpH9Zewo7/VPdUxRlyrVhT8NFeptHoO2iSxYIEaT3Zyj5dK12h2uYq8s+el+3tqZDCUZ+jDJtprBQFfsi3IvuNfAOG5QKL/s0ov2mBhZspH6H/S+Qk85PjDKrNPwrI7/WEjTYg7ig/WhwgTJqLEl0vfkivmEAuOpCTCsYo3r0upSKnci32zajr6pYz889RDk6EzTTIDgjZKUIiCMKazvqhggvQW/X37sgd09emj7LPbQ741D4y0fyyr3ZLN1bJ/FMt1dcH9eWn8xiVbz4+hi+IzIgjAIaRBR1XwRkv+imQ4oCH6Ca6d/TpAh5rLA== 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 PAWPR10MB7915.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:366::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Wed, 15 Jul 2026 11:06:06 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:06:05 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 07/17] rootfs_generate_initramfs: rework deployment to avoid chowning Date: Wed, 15 Jul 2026 13:05:38 +0200 Message-ID: <20260715110548.3605767-8-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:99::13) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|PAWPR10MB7915:EE_ X-MS-Office365-Filtering-Correlation-Id: a7c96566-3821-4613-b377-08dee26110d0 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|10070799003|376014|56012099006|11063799006|10067099003|22082099003|55112099003|18002099003; X-Microsoft-Antispam-Message-Info: egETtkphdQDRB+iQ6ywBTUjM+TH7h4XtKvo4FD59BS00St3uAqc2/vJUBnq24H5WvRO56sXX5ohUf6sNtPUlhGqkxm20VRIoJ9b551IL55UsDEBKuINaoV6ZlW9R0TQByZ5ZBw25tp9plH/cVliViqLxDEnasByYT+EUI0YvHEkNtWW+UPIWWctvLKDk2zo9563lhz7ypHclJtHzn3TzXOeHVv4TWykPsyqFZNs9YU4f/NK9LIQ/HBusSNyTaq4jFgTb5B1iqHiDShpDn4wyEbNTxGq4F+unPtv2quPnfAwZX+jiDUciM++c/xqWNfEQBQHk7cpPGB3CbvpbhZ2blpunPkf2JiRT25Cfgjdhp7fH1xaqa6xu6Z6G5qmWdV4Qw0k2Hi/mdUAiEJ8zTnpEjq7ntrfsC+quKq/x8Iq4vRyWjmUAMV3fHbJ5Aa92bvdeVvr/yESMgXVFKn2BRxjhmrJeH7qImL1kkGkUpVItKKTIQLkUHqgUnmwZ284/bpCPqiW5zzYbt527v+CPVWJe8oEU0hOD98wP4eCh4LT4qX39KUafVNtG/qiOnGUSS2hYN914ih9ZeGicmYRjG4leuY9OtVSSXsWgNY7TPKRCsqctGOgjI36JNNcjpcxIPmgK2p3lQNSqlWhRNTp9Uz/N5WydcnyUgjes5kZzgm5uqg8= 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)(23010399003)(1800799024)(10070799003)(376014)(56012099006)(11063799006)(10067099003)(22082099003)(55112099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: j+tlNUsSWfzyKEXhYDnmBigngGL/8Wu1TjkY6wIr3oIOjIcG5YEEzOObrhMuUnXdv5fKqQWII7yD3f1TEW/5v/+IlwEMyUOSn5NyFNzNu1rVjBM/aJ/4uDokRwOTbfmSZyAvn12BQJ10p8xGQI2wdJ0qFqniHDAGrf3nILwFgNQ/Gcfq1ewpJAtcyxU0Q502Xfjo1vLCDVVndeNfwtCsPvLuQsj+O6KRRcJfea7LFI4Q7CHSkADdEO+KAMHf+MNgIMOhkqAIXCOMAbQVkW86MhLtf3Oxo3/YwRl4xiBrz9+mMMsoapoiLYud9DV5MCF4ZhVupypU2bSiynWBawCQowme3CoAjTtZgv4liaFhAcpxmyWVOblI6zbMrwzMoUIi2fg642oF+6wi+b1jIL925zZVJWu0HQoY1iWnTxYvO7dV36JkdkxMffNNAMK6iayjQnoJgtBCgo6NMXuswfhIH31bWyjINlRDOHCY/YJOHt0+2RLllAX/ErVJ7Pq9ia9xavLo7cSTOtv84xkfcuVvshhmkM2GbO8FQFiqG/UiT1Cd85eZ4gML6tsQthzjd2/A7O72Sl84CxGAd3hpaBwIRRb62ATiIY9x+TJJNip1dQKhFAJFVsusfkfC80MUuAq+0/7uaqa3QNPTtVGbRNIVlXakTJIewBYTIJ+wCEtx/4/MIVcG8u5vTP9jq92Bl8WGHxw4WYhIc+wea68QPKx/LBip8dPFoLJVWbAtrInLt+wgO0DCxNe6LKA25G67VAIszYqZtR6h8Bvmi7uKVmF3j67tKPF4514HAZXzySby9Yjz2T8EaGjif7DdkW2UCvo7jxZgEkd/RHRJYJF724WZU5DyAMQu2yb5ug0B/rnBn3yDghSBZRYWsRpDHFB+5KTXxR1x7qOiwOuDJZP9Dm86q195GPljsth2gYNy/idvX+eACISiXd2JH1I97IwFcow2x/tISwYs50jNPCV/akf+jRa90lGnnXGlF18cII9zCEaLlmY28kveX4gy4F3YHUAZBvcaeEWvltEocXZw2S5KAjid2Us8rbK5hYRRUbAaLe93KsXn/GdZQU6iN8sMWyQ8D4iO+YQIKHJRts9eimPoRVB25uAatdnwqE9/+7lch40rQx7a63UK7HeNKv2ImEpcxbT2vV4bOtpcEcZFZH/hn1yYu2lROAIKqO8VfAwR2Yv9D5uwmr+YHXDWI2j7Y257aiwmDksqmLuBk8GBop5djsZrlAf5LXmd9xCxwuMTQebVrkLy4s5w8H7KTm0XiaKy9jE1a8zLI51QQS3Crs+EhJMbtBIbEsbSKrI/+dURULUq2fku0GW/oaRxPb/VaRNmy9igSlvtf5Mrcz9b+zJnDbkbFNVuvnx1YCbczH5y9PpZHwzKo57gp6Nf8T9zBkVxVGgZogK7cvGnu1C7QclUi/o343RFhKyaV4SpLmO+/VhyuKdq4YzWX4xgf4IyStn1XsTX31yxGxC6kfdqsrEuMiXRNCbsr5aB6iy/o12QDajhM8fgOtredeeh8U4yRrRBbPfuzlhDhoVea6XCsUQMfKpgxVlPE3914EnmOU8tRg+46CIlKUzG6uiEjfJy2pcdUPqxusDnAFjZF6kGFeqDR3Z7Q01oY11QRPDa6q+CA9qHk/gfuicVg051MIs3jwWO5NDzKEU/lL+iqGd18Z5kOkL8coCgg/1wwYWLz/tMRhTHRUxJxQMb6e4x6RvB1PtayfdabgK4na5A6e9QzwxjgbXKkCSw5ReR2iUdrpLFjqXlQvbLMAtHyl/ZeN6btBihqz7Ulx3A X-MS-Exchange-AntiSpam-MessageData-1: FooYRTz1pVyQb8n6mp/xSbXdA0rTTRUPYiw= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: a7c96566-3821-4613-b377-08dee26110d0 X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:06:05.6330 (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: +zK/c2RXKRYmMViMo0mdZRNLuHQEaXSlp+27qCcGmu72hgKpgOxhzmykgmw4aDe/V54i9BIqI6XUFJAgAYCAJq3Lf6SW/34koaF7/ceesSo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7915 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=L2wi6FzH; 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::3 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?= Previously the initrd was deployed as root and later chowned in the deploy dir. This involves privileged operations which will no longer be possible when running rootless. To prepare for that, we deploy via a stdout and create the target file by the correct user. While doing this, we also remove a useless sudo invocation when listing the ROOTFS/boot dir, as this can be listed by all users. Signed-off-by: Felix Moessbauer --- meta/classes-recipe/rootfs.bbclass | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass index 9add2ce5..508e2071 100644 --- a/meta/classes-recipe/rootfs.bbclass +++ b/meta/classes-recipe/rootfs.bbclass @@ -644,18 +644,17 @@ python do_generate_initramfs_setscene () { rootfs_generate_initramfs[progress] = "custom:rootfs_progress.InitrdProgressHandler" rootfs_generate_initramfs() { - if [ -n "$(sudo find '${ROOTFSDIR}/boot' -type f -name 'vmlinu[xz]*')" ]; then + if [ -n "$(find '${ROOTFSDIR}/boot' -type f -name 'vmlinu[xz]*')" ]; then for kernel in ${ROOTFSDIR}/boot/vmlinu[xz]-*; do export kernel_version=$(basename $kernel | cut -d'-' -f2-) mods_total="$(find ${ROOTFSDIR}/usr/lib/modules/$kernel_version -type f -name '*.ko*' | wc -l)" echo "Total number of modules: $mods_total" echo "Generating initrd for kernel version: $kernel_version" - run_in_chroot "${ROOTFSDIR}" sh -ec ' \ - ${ROOTFS_INITRAMFS_GENERATOR_CMDLINE}; \ - find /boot -name "initrd.img-$kernel_version*" -exec install --mode 0644 {} /isar-work/initrd.img \; \ - ' + run_in_chroot "${ROOTFSDIR}" sh -ec '${ROOTFS_INITRAMFS_GENERATOR_CMDLINE}' + # on dracut, the initrd is not world-readable + run_privileged find ${ROOTFSDIR}/boot -name "initrd.img-$kernel_version*" -exec cat {} \; \ + > ${DEPLOYDIR}/${INITRD_DEPLOY_FILE} done - install --owner $(id -u) --group $(id -g) ${WORKDIR}/initrd.img ${DEPLOYDIR}/${INITRD_DEPLOY_FILE} else echo "no kernel in this rootfs, do not generate initrd" fi From patchwork Wed Jul 15 11:05:39 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5236 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:06:21 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-pl1-f191.google.com (mail-pl1-f191.google.com [209.85.214.191]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66FB6IDG022874 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:06:19 +0200 Received: by mail-pl1-f191.google.com with SMTP id d9443c01a7336-2cc7e86e7c5sf99560905ad.3 for ; Wed, 15 Jul 2026 04:06:19 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113572; cv=pass; d=google.com; s=arc-20260327; b=Hy4B1v0hXfHnhSyJjDpDHHKgAUbSBPfKHtE6ALBWsd4GBrHdvHxjlyG3WR2dcFIxFv Q0oHxrUODI1SAybF027+aSwNFFSA1z9p+mFGdqOWqofF5rhC4ErBmzPAv2cMpXvXyCjy OiCG5P9Z210PeJc7aQkVBrIMAO1oUrjK8bTwFfqYlLmz2bFo7RVzkqSoIFV6UQjCJAHN 1fwTMS2EKXbmskjvcFXnX0xMykTvZOxD1NyxgUuMMNWLTeyG1LqgbHZCJK+QnDx3S+r8 QGZCKQ/J0xriESQYSNEe4Mny87EAY6IOKd0zhG8ukeCXq2KX7iKJreca900Yovzh524q usJQ== 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=DwTM1hgrcDYY6nIZRICIR0Nr4mjsrW8n06K8mXtH7E0=; fh=Zw96KFLg4vCVuZFKqwVXJbbuXYjvikygZwqAfBmC0GM=; b=AIoxaw/LWeAzZEFjekrn0XO8ynAadH/35uOQZf1JjOAInuVCtux4LqMHDGZEm2rGhJ 3DFZzukq2fIa1BrLf7r4IZsUQvmgtt6r5aJOPZg3J/hscUpUS9eo5TthneTcKy+2ASgQ klm5oWbSn+uh5O0sMo2MW3PrTNcV/UcFoZlYXp4ei1t4Te50pkkkGslX6EqiktW+/ej6 NiDOZS732YclvtXhnrozYJ1Pma6Y6t58OykJ64IxTY3fsWJBTZcGNtahnaVnU+CXQOZ/ 6vAfCxHNuo7tjbqYYzK8VOKeQ0vgVOxcs0akPwQhOJAr2u2WfRmEmJkV2L/qXf6jvP0e /uUw==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=nY1PCLlc; 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::3 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=1784113572; x=1784718372; 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=DwTM1hgrcDYY6nIZRICIR0Nr4mjsrW8n06K8mXtH7E0=; b=eak5fLmWRHDYvkIExHZez3wKt/Fj7ThpqqFwXL4tAMy7KF6/oDfTfUlHSAkUt4rIKp b/pIymrIfOVmOiArJrdq/423lTAAI4yJyOswW3gODICVgJRGyXH/eV9cFsaJF1mLUQ/6 gjpZQ5oYQCLFVFwR1/PRklbCMIaIFi+QOUCODhxEkCEfryj8U2jK96e8OUoTEfXpkCsY KTsIaAxYXAd+5J7YSJ42DcQ2x8G9QTIA9mViMGcix3BkMy3NnTK8CDtdqvwH+nfOIJ5X bad+GLujCAMH95DSjxKC+1Bb6UtTXvuC594oOaMmb+lDUYBzTBIZowVFAEU9PxAHfI5Q 8PIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113572; x=1784718372; 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=DwTM1hgrcDYY6nIZRICIR0Nr4mjsrW8n06K8mXtH7E0=; b=MpR0/IYkE5G8wi/GdaWtFkSHU2kuc/CyAPyvxK3BJS7t7ogqnY1NmYInHJYY+z5ZjN v/ij3gb5SyVWXjy+aoEyuJHFLF8XKSfBFSS/LTJ0pGsUdsty62naiy63cONjS8RZCVSZ JNQEcMs+vrxZpS7al4I15aAntcjmKD1xZmoI4ro6lvL4gSPXNy2rRHz/YglVi6r0ITiN Soh9/ZigmNxRSW78HJCPB/O2QEBDauz2gAfNk7x0X81hZ+3y067h01oVzpMucuHeWVDN rFi1WSFv8w5q7sJf7dSoFtR/zCLf5koEgiwX1vwTOCWQ2MeCMzSKKGY+vAgvCQX6+ugN xpkA== X-Forwarded-Encrypted: i=3; AHgh+RpniaJuET8ZNISM2W4CyxhnB/G8o8qW7SolysJMkBIty/TZX209rrNjpEilW3NJkTc0bPrvfCw=@isar-build.org X-Gm-Message-State: AOJu0YyF6BUsgcEsjK3DQbiaHd+ACo7cHGCYPLr9z18TiY5vseMx+0yd QLLqNwXzqimQgdm/uN0M9TgUhhZHVmI7RatN5UPirc2+aONsPHIjnZF6 X-Received: by 2002:a17:903:298d:b0:2cc:77f3:a927 with SMTP id d9443c01a7336-2cf03cef742mr21746825ad.26.1784113572620; Wed, 15 Jul 2026 04:06:12 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPRK1Es/T2r7zk4aKaer/0MP+wVIYbC3/Adi10WHuYtIvg==" Received: by 2002:a17:902:fdab:b0:2c9:c54d:7a21 with SMTP id d9443c01a7336-2cf02d395c1ls11831855ad.0.-pod-prod-06-us; Wed, 15 Jul 2026 04:06:11 -0700 (PDT) X-Received: by 2002:a17:903:2bcb:b0:2c9:cb1b:64d6 with SMTP id d9443c01a7336-2cf03c391bdmr19305515ad.19.1784113570941; Wed, 15 Jul 2026 04:06:10 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113570; cv=pass; d=google.com; s=arc-20260327; b=KEbdQWyqZguHRLMXvTAJAJ4TUU/URKh3qWUvESv5qlH2CwsGr/LSc4YsF53xbRPHhQ rUWe+6rRDm40yR/p97HKjXKTZZN7NCeb1SXVIXtdIG5RydJoDzvy6cWw18szSItdqP7U BshUscMX0W0tOROyHZkFwNlL91/TW2aFIL9auvwM00ESJ8P8uU87VIwwj2AiSIwjrexW 9J26GNAYXPlUVoCkTS6MdrmToBKT/0QhNRHT0HP2OmJMTyBgmEnOVDqIo5S48zh7dl17 ysiT8ilshaPpQIZBBtpJ1a1JIzcKR64HuGcF2tTov8OwNb13H9r53gCuZjPamrQd2T+Z 2qmg== 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=jmtO1/H5nypmoJszdtPG3/jqXr7Cay2bvU0H8ZjB53I=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=Fl+WuRXXUx/GuPMPQ37NzglupbS4EIgEIdQsyqcx/BrDLmx/N9pCY3Iw1waX3SxHVD uY8jKRT83KAYX6vpEhMDu7Y9cVHft986N1R64YQ5pa7y/ktsRUuDTXCQq6+Wc4/2orwT kteXwTplHdjFt2iXEQAX/84NQ8+GdAYon+gIPrH6AbFs1A4HyhCFT5d1QLDEyCiSuk83 C7DI7CjvHDhho3jZ4l6TWAhbDQJMpO7ipS2VUS61kMTBdKv60lIxGFK5sMFIFYVnZ/0d sDlp2LdZcfgpqZ8imo4wOKE651MANU3GOMp3QZXzdWmGsiQ4dfNU/nKDUjOC4sjdPey5 QZoA==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=nY1PCLlc; 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::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c201::3]) by gmr-mx.google.com with ESMTPS id d9443c01a7336-2cf10489ad5si21625ad.8.2026.07.15.04.06.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:06:10 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) client-ip=2a01:111:f403:c201::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lqcFPH+gB8lV5Tznzv5Vz1YperOhZpG+JxcqQH367+ddnhXL1geFy78Xf5IuI557dV2XmGDcNQATOTgUmDsnOMm20di3xNVSR2QW6m8m2NDgHwUUETRw8Gx/eerITnxe14cLi/SNL93WZLeYeY8yebd0bjmhrNwTT/rk2d3Q78Vl3enuhNuk9apOIAYTZCgkQirxsQI5fY4t11CDTTmkW/+aM6Cb6YL+6KmggtfHsw1JRz3/DsXZh//eY1lfeVDsq6i+Gx6/PNF2W7vaufwgAszYS93h0jJ8YKV130AyU5SEN/bhLU+hpV4c2ws8BecXAyP8hejopdmXzWViiy3Bsw== 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=jmtO1/H5nypmoJszdtPG3/jqXr7Cay2bvU0H8ZjB53I=; b=bprbzlNnh+p0f7OTL3aAwQ1F6WvTXEYaSaX/nR9m5yzzs9D4DrgGiiLvWw8p0XDgpN6JqeqQ37y+eVm+iGlMpJZjDXIjt6Ikrk7b0PbOS2xj/dONdP6tpGFTCJXCjQjm9hi4FFZzkQNJUml+pKt0c3vkwBS1QzNlo2ygRWqI0pPZIJEOG/naSQe6ibHmZBtF5MWus5t3Ztr0fMQ2FRnmD57MjPK0aN4sNZ0vvl1JGQ5I/PHCCsf6CfO6KW4se4Ri2WvPro1W83e1WoVWb/y2kfTWowpo4w8ZyAcfh52v2FBls4kNqTSO0Zo8Lb3T0oFq+6hQ19abYiCKws/lKmIUXA== 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 PAWPR10MB7915.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:366::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Wed, 15 Jul 2026 11:06:06 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:06:06 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 08/17] use bitbake function to generate mounting scripts Date: Wed, 15 Jul 2026 13:05:39 +0200 Message-ID: <20260715110548.3605767-9-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:99::13) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|PAWPR10MB7915:EE_ X-MS-Office365-Filtering-Correlation-Id: 75c0cdbc-f22e-45d5-7134-08dee2611120 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|10070799003|376014|6133799003|56012099006|11063799006|10067099003|22082099003|55112099003|18002099003; X-Microsoft-Antispam-Message-Info: xlj3Gu3LJTqeBkReMUAgRz6NZWxKPL7hGi3ro9EtVRnYqhTYpRtrmdv7Wozv3zWw43TEXrWZXVedhU9vqMTQw+HahXiuTO0U2VJ1p7nLNQjF3E3ZwcBuNlgSTEvqzran8eTjBDXdRPzzK+r2DbbPQi91yT0KF/PBji8YSzW/U+FVWe5fw5JWBnX8F20rHg1gizfV38PYJuxIMIZ7JqHi7I+PE2qafQc9Sac6hWPgKmpIhYVzDCfzTrYjbnudTTa3Oyv0VSVXu9iR5dDB1zq6M/L2b7ViZwHixK24YteC3YV0AjCsOgzKQXoASdq+N1hdlsxHDtyCYAq+ZXR9rvFdWn0VEhOdxl3HKU/P1n0NnXUh8oCXimrnvYFoZZKp613PI5ZgNjzG0wpbD7YxxG14xgBEkaF5Y4omCTd/Jsmx+exOYoBT42QkRskG/YzD0LFqav+3PFylFNzbDsCG8fsjBtNRZtK78f5VQiM6oDCu6YRhzUq5QajKo7k4t0sWJ4B8sco11qoi16BkrexpvUGM9CasFVLGhTy+s2EEfHI06Wdmx1+PHhAdcV4SwZrzatAbZfHSZWrQis4UtrvI4baDzlXUu+ee1n/8ZpabDEyP+Btfw7LGX5QeywuirNzrIomxFC6A09QJEQhUsK3glHE8qKJy8PvpRfwD2WBkBX/9hRs= 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)(23010399003)(1800799024)(10070799003)(376014)(6133799003)(56012099006)(11063799006)(10067099003)(22082099003)(55112099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: yfxQBBVidh3nTKyrNKbkX8mgqK7OVCMftVycO3mPlw+l5bdrULyUnsc/By8/7te522BrKNxO69fdUKbk/lpoVJ7kx4X7+3pOpDcZ7fLBA1DIIwJxOCp9iiIepcVoriFaCZMJlD6LF9VMu8L0msCV3E+3yyqmSHbaC6MW9J3xpvTKkbfAowwXJwOHIFsXdWSwTDClcPMAqK4oAUCTTQBA7D+Nw2lp9onNymSYZrPofRWJLC6HWRrct4B7M7II1AVTCNTgpvNQb5UTgS6A2yjY4SERBTt5laMSgzOiaG5mPCx7yUN5dtV27eJcOhu0ranvl+Lbs6E//TRuFq08Rgv7SYXYeshjszjHqbiRCLgObhCSjR1X7Tr4rqmxxPAFoemQOjDfrgMmxIZCYB2j2FZ2fJl4HVZ7iVQlUayYyoNGR7v4TQHAVAJ4uW5WnUCeJkvoTP7TQHwMA6oxKg93Nfn2OsNTTbFc5KtARC2Sp8EaP82+liQYd+1Jxoak4SPxCIJCJJ7vDjWtTuxUPyT5LXihB05UMPWlJuZKkdBElhpin51oBMc5FHpTp17edxpHp1EFHVoDLUxrt78dzR4BpyeeD8eCiu8fSy0ehGbVok9NQgJAVP2pN1pen/XWdHzdT56TaNVE5fcg2t/zlllBnL3+wss/1Zjf9VkdNiM5I50Ib+6LY2tbuAn4rK+hO5JuJ5O7SpPbO12a3PuQBnpaJyO5UmC52JHFmPNasQS8fz/SArM/yVcj3zwpMIKsLMd9FKV/U1IikLjqxeLsZqHsDgm6eesfMrLsHeHEj/dk9QTb4mu0iH+HkCZEos4PypKnhCwaQ3RC3Hedqo0vXPbt0vY0MzjggZvGBakaPWHo52CAOYY1ADp6r9yPhCT07+xJ4Om6V+MdrCJuPHiuFfUGAjYFCglV0RnGrrGI0LE31LrZ6qJjOxyJ91y43JrwQvJ4OFH/WgHGxeslPDOONuSRu2BCWzd3XlJ52FvE/177KfDIf78Nj/ASUdOSysfnqKYJu0gm7wCjml47872aovwggnOElGP5gxIsW4M6XV/3RHaACI9tiUE6c7eML08ssdRfqsxFkJfw8ir0Wu0vqResi5b82DijPuF9j4VZ+xaVtCPCa37sTpcGVC1hb+DzQ/CEZj8zLJvNlVjfUJZaRacEdJIJN0hHuOotNLdXpiDermoBIRHu19DVVRBgEK1WNUd/JCu+fOCn6t1ndp3NfdLrao76s8egj6FqnKsHzXku6xUwSbzzPeEKKRZLnQI6rgmr8xxhUv/F0KxQD6O9dbQx096lPINdF+QKGNtjksXKpJoZyUey68tj8i4dwKVInYn2j6dEjP1QmMkJnP2C/sWOTtLJobQe0otPI9CdcZmgp63+Rsi62ymiRh/DZeroIxnVK+IuARPmcuzzCpXmB8sLNC8BMElJRKxx8T+gAak42edTUbKxmquI6FwT1Vrb6Evgv1tX8e3nwqAwyGFbYadn7dfUlXMR4ZrvMFK5vh8QaRjQR+T++9bu2EOtOOtEUS1Fg1TiScdb4vaxCyoJQklE2Bux8gVHSxo8mb57DFnDd2jJ42GPugPdeDE7c2+R/pagMhrYdCj0LZNEFhO8XRFmjkEmpmht556NuCmL2w8UXviTzIPaGjBs237M9cub5o1QxdimL2jSk6kEBOaDz50FHrJvv4FlTZECWUHafHLn/K2AcTyTg0H3XVvkTBjmAOqN60+N1cWTb5dLOJExwTlOEZuHkBg+wptxnocbrqgttrGnIaheNkP3uk4fBLwxWW7VALKtbmHPXt8s X-MS-Exchange-AntiSpam-MessageData-1: OXjqHPFIwH2ifpE5yqSWGdImPPzyhjXsoIg= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 75c0cdbc-f22e-45d5-7134-08dee2611120 X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:06:06.1385 (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: bmRmO7MEHxv3Al2gqOgiwEDBDqnIEHJaRoffTR4pKr6zc4lJnv05b6BvaMIneXyClF7sAGIrKasiEz4jdalzfKb+8h6SsPMlXfay2vcDVBc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7915 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=nY1PCLlc; 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::3 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?= By introducing a bitbake python function (a code generator) to generate the mount shell code, we make it reusable within here documents where external shell functions cannot be called. Signed-off-by: Felix Moessbauer --- meta/classes-global/base.bbclass | 18 +++++++++++ meta/classes-recipe/rootfs.bbclass | 49 ++++++++---------------------- 2 files changed, 30 insertions(+), 37 deletions(-) diff --git a/meta/classes-global/base.bbclass b/meta/classes-global/base.bbclass index d4dbbc3a..90e4525e 100644 --- a/meta/classes-global/base.bbclass +++ b/meta/classes-global/base.bbclass @@ -379,6 +379,24 @@ def deb_list_beautify(d, varname): # Helpers for privileged execution. Only the non-underscore functions # shall be used outside of this class. +def insert_isar_mounts(d, rootfs, mounts): + lines = [] + for m in mounts.split(): + host, inner = m.split(':') if ':' in m else (m, m) + inner_full = os.path.join(rootfs, inner[1:]) + lines.append('mkdir -p {}'.format(inner_full)) + lines.append('mount -o bind,private {} {}'.format(host, inner_full)) + return '\n'.join(lines) + +def insert_isar_umounts(d, rootfs, mounts): + lines = [] + for m in mounts.split(): + host, inner = m.split(':') if ':' in m else (m, m) + mp = '{}/{}'.format(rootfs, inner) + lines.append('mountpoint -q {} && umount {}'.format(mp, mp)) + lines.append('[ -d {} ] && rmdir --ignore-fail-on-non-empty {}'.format(mp, mp)) + return '\n'.join(lines) + def run_privileged_cmd(d): cmd = 'sudo -E' bb.debug(1, "privileged cmd: %s" % cmd) diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass index 508e2071..3dcbba29 100644 --- a/meta/classes-recipe/rootfs.bbclass +++ b/meta/classes-recipe/rootfs.bbclass @@ -49,6 +49,16 @@ ROOTFS_PACKAGE_SUFFIX ?= "${PN}-${DISTRO}-${DISTRO_ARCH}" # path to deploy stubbed versions of initrd update scripts during do_rootfs_install ROOTFS_STUBS_DIR = "/usr/local/isar-sbin" +# list of : or mount entries +ROOTFS_MOUNTS ??= "${REPO_ISAR_DIR}/${DISTRO}:/isar-apt ${WORKDIR}:/isar-work" + +python () { + mounts = d.getVar('ROOTFS_MOUNTS', False) + if bb.utils.to_boolean(d.getVar('ISAR_USE_CACHED_BASE_REPO')) and not ':/base-apt' in mounts: + base_apt = '{}:/base-apt'.format(d.getVar('REPO_BASE_DIR')) + d.setVar('ROOTFS_MOUNTS', '{} {}'.format(mounts, base_apt)) +} + # helper to compute the rootfs distro also under cross building def get_rootfs_distro(d): host_arch = d.getVar('HOST_ARCH') @@ -154,50 +164,15 @@ rootfs_do_mounts() { mount -t tmpfs -o size=1m,nosuid,nodev none '${ROOTFSDIR}/sys/firmware' fi - # Mount isar-apt if the directory does not exist or if it is empty - # This prevents overwriting something that was copied there - if [ ! -e '${ROOTFSDIR}/isar-apt' ] || \ - [ "$(find '${ROOTFSDIR}/isar-apt' -maxdepth 1 -mindepth 1 | wc -l)" = "0" ] - then - mkdir -p '${ROOTFSDIR}/isar-apt' - mountpoint -q '${ROOTFSDIR}/isar-apt' || \ - mount -o bind,private '${REPO_ISAR_DIR}/${DISTRO}' '${ROOTFSDIR}/isar-apt' - fi - - if [ ! -e '$ROOTFSDIR'/isar-work ]; then - mkdir -p '${ROOTFSDIR}/isar-work' - mountpoint -q '${ROOTFSDIR}/isar-work' || \ - mount -o bind,private '${WORKDIR}' '${ROOTFSDIR}/isar-work' - fi - - # Mount base-apt if 'ISAR_USE_CACHED_BASE_REPO' is set - if [ "${@repr(bb.utils.to_boolean(d.getVar('ISAR_USE_CACHED_BASE_REPO')))}" = 'True' ] - then - mkdir -p '${ROOTFSDIR}/base-apt' - mountpoint -q '${ROOTFSDIR}/base-apt' || \ - mount -o bind,private '${REPO_BASE_DIR}' '${ROOTFSDIR}/base-apt' - fi - + ${@insert_isar_mounts(d, d.getVar('ROOTFSDIR'), d.getVar('ROOTFS_MOUNTS'))} EOSUDO } rootfs_do_umounts() { run_privileged_heredoc <<'EOSUDO' set -e - if mountpoint -q '${ROOTFSDIR}/isar-apt'; then - umount '${ROOTFSDIR}/isar-apt' - rmdir --ignore-fail-on-non-empty ${ROOTFSDIR}/isar-apt - fi - if mountpoint -q '${ROOTFSDIR}/base-apt'; then - umount '${ROOTFSDIR}/base-apt' - rmdir --ignore-fail-on-non-empty ${ROOTFSDIR}/base-apt - fi - - if mountpoint -q '${ROOTFSDIR}/isar-work'; then - umount '${ROOTFSDIR}/isar-work' - rmdir --ignore-fail-on-non-empty ${ROOTFSDIR}/isar-work - fi + ${@insert_isar_umounts(d, d.getVar('ROOTFSDIR'), d.getVar('ROOTFS_MOUNTS'))} if mountpoint -q '${ROOTFSDIR}/dev/pts'; then umount '${ROOTFSDIR}/dev/pts' From patchwork Wed Jul 15 11:05:40 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5240 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:06:23 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-oa1-f62.google.com (mail-oa1-f62.google.com [209.85.160.62]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66FB6KQ5022989 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:06:21 +0200 Received: by mail-oa1-f62.google.com with SMTP id 586e51a60fabf-44801afec53sf2241585fac.2 for ; Wed, 15 Jul 2026 04:06:21 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113573; cv=pass; d=google.com; s=arc-20260327; b=MS7d3WamKNB5Ssaj5J3q0QdH/jknUi3H6wOFGoieRZN4my+Mbxb9zLTfuMNbRwxEXc lBlv+n5YCk24fpsbDZo5uQhfCqCHPmLcxs5rhTAxGU+vpgcB1Mg2hBGOtRShlIyhT613 V6N+zluC+bp3jU0Z909RvIJeji1s7kywcuEJTps12GA/PkHqf4MGLq6t/VihVBJ2THdz PQQ1tZAtqb41E5k1JD3mUsi2iPT/+YGiLyX6xYliu+1fJAxzAo61Y6A5cyiNcDS6NDkB dZFcmMQHzADYE2zFlP6VEAd8Or0CTD/2kc1Bu7tq1BN0kdDzwUOj2RjzSrprAB7ZOXtH /qOg== 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=FN9rL7qV6j/CLiGK9EWYojVvEe1Hnx5ATkbX42Hk3y4=; fh=MQK5UEDBOxc/53TTZjZNcynpuf1Klx5VzgQHyVE3a9U=; b=GNYY3Uwi0UPJX46m+/3cj6nFF4yq3oePVCULXCoj24mlG9FKjU1QjLt7c095aeWn+c CP3F2VftowXryxGbtS9fs/fGSA4AaORq15r8bz6rYU+YZFECos8fccBKsTXJm+fb81TE IfXRwETQRWyuvIqTs4Wk3PvFcwXiP/wrnS2afkGh9FSklgRy3Xvaftr8SIwOnj7waLMD 4C+uE04TTLSomVBVlSdaYg+oQwkzDdTLbBnk0whVMOnvHrEDYDtDgXgh7Oo5e3SS7e1G k6NEFJBt/u1m0Qw6wfis8foaqryoyj6eNNUAWV92PdubWawOutYum/b6+TM1eTgbTUuq grew==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=lzCLUNZB; 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:c207::3 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=1784113573; x=1784718373; 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=FN9rL7qV6j/CLiGK9EWYojVvEe1Hnx5ATkbX42Hk3y4=; b=II5Z3ZLyy6xDvXGnYCAKwdmE5wmCaNrG/t3MPhSC3y8Xmqvom7APpOsx6WWqbz4F9e GlRl2iAMU84/Rvttjmtzl+1vG6yEpHJ3QKr39zRUiYUBX8xCQBwKhHifshDMaPXP4Dvw knhK9OaS/Ujyndk33lQZcyC/g/nwBb2vbNiHxpVO8YbIFKjjDFzjI75eGf5alHJqbNLx 0xMbiPgDYNG+FERguTt9Nder4HrjZhY8/hbb9f0bVto0TsRyW4VE2QI8fQPZAQb5o7IS x3cBVbXeQvjI6LIFDBUORIJKvCK8mnf0wtTl0o/gcIKMkP8XV8voaDcsPpAs8rzuRalu 8nHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113573; x=1784718373; 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=FN9rL7qV6j/CLiGK9EWYojVvEe1Hnx5ATkbX42Hk3y4=; b=KH/CKeROBfw8xljd/C6Sn3KnPkjPEgPEtLevXbb87x+y2UAJreEiPzenPG6oE+BbWs oVe+Lf946cwFh+yJEXVTClnJjTKM5wn1YWrxmniDUnI1Ck9EMLefrCwWl8p2DPYlGhZJ kmmpgzEkHrb7Asdl0Ge16fSFDzyrEFER+/HTCRA98gYWSzd7/WJFzoHXhuQeRoDJqecO RkMD+AufVLuIGjYREbBSd9XC5b1QAPNAHU1THcOwywcTXoo8ETOvkL7ySLToxGmNI625 8KRUgp4kWtZqJ2P6YEpP3bCA+wO6SXcIoLLVSvOtArPZ26zeyofSAGg9P/4j1zoVN5FK JOGA== X-Forwarded-Encrypted: i=3; AHgh+RpAWIqyAbX2hUF17mgWrkAc4yD9bL/SZIqxOFVDgHMgTaKr8hLBaNl9RGyGU8lMK5jKvXU1/Vc=@isar-build.org X-Gm-Message-State: AOJu0Yyp3t1cAJOmve0PNLQnBv1TzJMBa/kyYSPG1JnDMJVVR/DAPGjn KsN+Rz8XbvYqkcVN4oB/IkVHSwiBvRq3bPe1BGdd4S4OpMe93wgzH7Np X-Received: by 2002:a05:6870:3047:b0:448:b149:eb09 with SMTP id 586e51a60fabf-451f133cf40mr10582337fac.21.1784113573085; Wed, 15 Jul 2026 04:06:13 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPTIfMUD7ZywQRvrFoWdRULqM7yJnvjiRvtAVZ57R8bP4w==" Received: by 2002:a05:6871:5b21:b0:448:b2f0:fa5a with SMTP id 586e51a60fabf-45628224734ls420049fac.0.-pod-prod-07-us; Wed, 15 Jul 2026 04:06:12 -0700 (PDT) X-Received: by 2002:a05:6808:10ca:b0:497:ce6a:c1e3 with SMTP id 5614622812f47-4a42b00b1f7mr11491267b6e.31.1784113572197; Wed, 15 Jul 2026 04:06:12 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113572; cv=pass; d=google.com; s=arc-20260327; b=p3Omhtwbjs655AlZSuqNpulYfwkXDNauNRgWWCpwG8YuQXrQftXoYW3p8z0MobCZOY PBKlF5STPAzvepKST2bKQZwQonxz+NC2seyxkMxNNqD1VdrAeGVIdfvy0VikQTbv45dk Nn8qxrftA/m0HgDMRwWvYngUTYWS0sibRFkzx6lJuSntMuSas2ol+aN2fmJt0JRQsnZk fG5+mHEnhRFDbFew3jnfm9ibZ1EOjo0B3WorTEHJzpV0WqIVNZTpJC2EqMwc9nmOzUct y4rgO108mbJFkn7G7F3DAQdntW7TECb4lBG8vLpE/TrWBGEilIP4SzdGqkvJ4RaK9srU rRqg== 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=liImveVQNIrrlMB/aUohs1wzBTa/mVARZQ2aLh+/Y9k=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=bSSysEINivpHt4gCYxBTgNcT5UtoEMJLO3R2su7ByV1aFAdN4YgSbIwZ8d26HrpIVA cD8N5wEKjvfO1UgM/pIjQuoPff1xwzatQJBbUZs9T8PsWfjcvt+Q12SYsuIVWmRJi/5S p98ndtIKflQNTFMCLN3Xnom0bM3jqidQnEc+KsrcOrR08LY+jEjdtth1+iMZJzKi0Nhu RWgZXWBVXXaCQ+VMqaV1wNy93kaOhWnEjivea/2iBba7w0yR+QR4geKUbZmQP+DqucNK KUCFOtk1biUe98QOupF7diOsByM0gHrbkQx5xBHrGpElnv+ZCiRsoShpq8zX5vADu1dH GWeA==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=lzCLUNZB; 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:c207::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c207::3]) by gmr-mx.google.com with ESMTPS id 5614622812f47-4a1acb73834si829433b6e.2.2026.07.15.04.06.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:06:12 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c207::3 as permitted sender) client-ip=2a01:111:f403:c207::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ttIrDvC3Fvk6TVhOWvykTy9k6XOjf4HuvpkpGm1pKL1DEaDmxuU8TSrRTz+vi6oN8FjPuOXTJ5J7pld5m43CeEsk494EuBY7dNV8zNlKliXTzIVZCxqxFcQQmGywKCfxZnSBmN/xEd5QXF+pZKSv1LCnqksKQU1OIc+Dh6Td3Wv5WhKdD2p/aMNk49fdaljYBJ8lXUPKAzYz+a4Vn7snJGxOiA0sHhygQaXsN64WEZ0NY4e/ztyp/XtqHbtUb6b51q3qKj1f2dqQaGVejXREizyDX2HZc86Ta8+nyDGvyQqplT5i1kPIM0Aw2XY/6vFJH3druOuCf0OUOaQGWdYWtQ== 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=liImveVQNIrrlMB/aUohs1wzBTa/mVARZQ2aLh+/Y9k=; b=rRp4DzOub47eEARVVbjUjJtu828uZvVncb+OWRYeZT8+1OBqY53ZotRtwom3P1VgUwTB47iTCJ7LlLSU6/Onu74g6QKclJEy+MHmBE1QM7oDQdTrYOTEv2udeNtvG9u+N8N1CxJIdIGSypIqyndoeIlCU62pHa1qJEYvcSZnFkNSR9xtqOrNzf2DvIXPRvqs+DzwJ2ihboAcIMbAHOI3aEskFI/ptHLWUAW7Can6aAdRmchNGqVTWw/DN5ypu1MQFZzw71jfwCgS64rCB9hLvnA/1e2rnbwriQzgRnJVWJGtgTggznkgUydESI2Se5vB9JtNlp3KxShA2I88QemSdw== 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 PAWPR10MB7915.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:366::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Wed, 15 Jul 2026 11:06:06 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:06:06 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 09/17] apt-fetcher: prepare for chroot specific fetching Date: Wed, 15 Jul 2026 13:05:40 +0200 Message-ID: <20260715110548.3605767-10-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:99::13) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|PAWPR10MB7915:EE_ X-MS-Office365-Filtering-Correlation-Id: be2aff47-2ce3-4214-17c1-08dee2611163 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|10070799003|376014|56012099006|11063799006|10067099003|22082099003|55112099003|18002099003; X-Microsoft-Antispam-Message-Info: zWbR37FAnWFxEPLqVrs3W+k56aEq0qnDWFgdWbj4xer1ORdjCKr3C6WluQF0qYJ3B0jTuCOt1O92z2eHAQOJzJQhzppysDV50Uq6BoulOkobCBwe38QT2q6rASL7WTF/jHZBbbxNJ7hYy4sVzl0wOuD9lRnAYgAZzCy9IZagDYA67vqsEzJkye7HdahKU8ckrbL4yZfyDtd2/PPvnWQCCawuO8LLasVDnZ1FLB3IZcGkw+ZETGqrXIq5xRGYtpY+9gd4VFcXNB+D5qhFr4rrfSOxiR8dZx2P2YH0+F51OKKmani7C21a+h3JtNAx4UHmebrfQMGBJda1a3juqzEnDfDPEpOu25mgrF4Mx+6BQOAf3hT3PyWPNxKgGxsLq3+BeOSEbp+uAjlcM5mRV4KAeDZyFhJ8mlVgY1VYxgFeMQ/SoAYs7pcf56f2I/ejRDnWx1FXT21u+1eYhIJ73hB6YfaEdwu9xG2vgH/ViLHGobwp39jShpuySpdCyPbk7egLQvRcvgaAwidnufSZcD74OnxRlLo/fBjj4HN18WQx0eFN/kxHzYMgAn8TrRIBNiIVVbB+CVF6/q0xkWeRt7v4ouUi1x4qlzV8I3iU98MVl01opzJsEGozpdv7iivUcXUFBei7CicY9qYnVKsuoWYSvULs8jYfadoNTlSmiZ/tED8= 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)(23010399003)(1800799024)(10070799003)(376014)(56012099006)(11063799006)(10067099003)(22082099003)(55112099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: Mjx7SpfM46z0iw+ofRvv93J6Sp/tUuNGKJBP05mkvvtoXXzQ6bRmft1Fw6OGmpY82GTha5G8BX+jVLYXcxqNa4NM7Nm50/4bZGU7a3/cgOZlpQHSqzUNDefxtqxcrhUjlwFheQYZTczRbUw28NZDHPJSCOMVWIAe9koN/VTrw3xk6naWFA9p8KtHpMPGEsmh2KngjyxxZ3WZDK+CR0xYDU3n0h1EhFY8in9qtHnfcmFxczQvfTlFcRkEf2JbqZ9BTDO8bW1LkGxZty7xgQ3iNGDcORQkidQg0v+/tGYAh9VRkx8Ek4hHLpNfizhGNMq9DcFWIKakmXdXnfy9ugLc1QmfxHRVChFCwHsHaKsLTEUPFeqHJZTFwJDjB5lVB09Fu5O0sEeJJvGL1xzt22QOSgK1tQBx6PrKZ0ptGscxRg+4qO5iipHNcfJETIjAwceuJ2O6puVy+KhCiGCmVa0cQSXzj552myyB4LEY53dtoISTmtH2D6DgxKqHYBGhhi/uwIZu5f3yvdvF5YD62LETRY0a245ZyuItNp2jL+VLx03OlkLJRiAJC1farf5w830DV1wLYinZe3lh1sI7tn90xSm2GkkrwVOPzyCHGBBv81zHl89zv7MK3BkWV6c/+iRNuxmASIKGVdxBrhhXDWcCjj7lYNQBSmqqDEsuaAO6Qd0nJ0HdV2b8aNu91ASAFcniXdmNbyDFW7MaqCt9mOLoL3nzrIt0HK6mUdrlHufHMVkGod9Xm7SIYu/72CyVKFt5NZr9JHCn26kXVs29lBUUIBap3uQkKnQbcSpXhN7ZNfrT61JnOpGRuwgj8sXmEVVZngI1SzovDLLzEJTn1B8+cur9IITcHC5wpEnxCpMN58djUo/0fuvNUqzACBU6aC/KOnfH8N/4JYK/YU+8BI05BynYKjSy20IY7DE2/6DvcZQ/rzr7xiXqj6/FYxvzZCiBCznDfVy/DXV/DsW3rLwAH9o/cminxw+GirTtHhrbvKKZj8Zl0jPYfkw5kxj6L0ImF6PV7jeGK8181Thm6JpmKik86Hteo3ODdeeYIoWFk9WheNn8juDO0DNke3t1XsWB7CQeO3SszBE+EsvFSC5tC6dGQBO/72bR1f1+bwIM0vaMYsNYjcCtM/GYSazkFx6yvpUlbnOEOJjLqlYwH8UF0bSxIaD3Yjch4OYcQu2uW1XXQXX9fF3i06zFUitHxxDdJvkB/xXF3AoWyv4Wuca3uoYFgqqJeX9MsshEmASdWtKe/0OCwQvFFXqaFAykUYE7BoSGO6oHMZSRnWfxfJw80hRxjgmU9NvjLyil5g70lOqbfAuyFujUDA8eaxDEGKSNfCE0VKHl/9hvridI6XXIv31C/lh7mqU5IjUwpjYFT2Iuj37X+kd1YoIV9iidHt022eNpSiSvDOQGLuOhfgg0nyTXIlnO2I4nCPorzxatheMqCFRhQiYmvDxME9lQ5S/sYGbWQSSCbuKjURivZFtzQeiXpq+tsyPTyqiR7zRMtWWlR9yDQ9HNDA1xMrdAxatDZ+2BO70k5ZcYGroInxBZ2N5mEdBbTcMo2nbYar62YqYAoneAe36UsqfS2oXEC47WixttK1xQsFnlDvpt54pjOiUBrH9sEVRGePC/69aul8H9C8/1OnwvrJ0mPscudu/1iRyZXa03QHpIiWOsl/gKfkK/4sYCeGscFuR1IJfjpTsgXd8acSwNMCrxJ3otEbsSmRK4AacnTw5rqDqbl/GLb4slQ5ogYJDfsI86fSoA+DKzu5wE0+7PE+vh7kb1K+lhav7UtIcK X-MS-Exchange-AntiSpam-MessageData-1: a7K66VjD5I8YA7+ZegdYY47UM8u7UQdsJBU= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: be2aff47-2ce3-4214-17c1-08dee2611163 X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:06:06.6476 (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: lduHw4rYXRuqvklSgxeF6i8fZlMtOK77NGvS4lTZRK57P8c2Trbs5PVGwCPwjJMKdy4F/k6QKrAn4pP/OSmoZQkqnKUI8FPnoIOo1BLeFuw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7915 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=lzCLUNZB; 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:c207::3 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?= The implementation of the fetching depends on the chroot mode (e.g. schroot or unshare). As a preparation for the unshare mode, we hide the concrete fetcher implementation behind a factory, so that we will be able to dispatch based on the mode. Signed-off-by: Felix Moessbauer --- meta/classes-recipe/dpkg-base.bbclass | 2 +- meta/lib/aptsrc_fetcher.py | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/meta/classes-recipe/dpkg-base.bbclass b/meta/classes-recipe/dpkg-base.bbclass index e144decd..b363da5e 100644 --- a/meta/classes-recipe/dpkg-base.bbclass +++ b/meta/classes-recipe/dpkg-base.bbclass @@ -84,7 +84,7 @@ python() { # apt-src fetcher import aptsrc_fetcher - methods.append(aptsrc_fetcher.AptSrc()) + methods.append(aptsrc_fetcher.AptSrc.create(d)) src_uri = (d.getVar('SRC_URI', False) or "").split() for u in src_uri: diff --git a/meta/lib/aptsrc_fetcher.py b/meta/lib/aptsrc_fetcher.py index 837a79f8..26df1bcf 100644 --- a/meta/lib/aptsrc_fetcher.py +++ b/meta/lib/aptsrc_fetcher.py @@ -9,6 +9,10 @@ from bb.fetch2 import logger from bb.fetch2 import runfetchcmd class AptSrc(FetchMethod): + @classmethod + def create(cls, d): + return AptSrcSchroot() + def supports(self, ud, d): return ud.type in ['apt'] @@ -20,6 +24,11 @@ class AptSrc(FetchMethod): codename = d.getVar('BASE_DISTRO_CODENAME') ud.localfile='deb-src/' + base_distro + '-' + codename + '/' + ud.host + def clean(self, ud, d): + bb.utils.remove(ud.localpath, recurse=True) + + +class AptSrcSchroot(AptSrc): def download(self, ud, d): bb.utils.exec_flat_python_func('isar_export_proxies', d) bb.build.exec_func('schroot_create_configs', d) @@ -83,6 +92,3 @@ class AptSrc(FetchMethod): finally: runfetchcmd(f'schroot -q -f -e -c {session_id}', d) bb.build.exec_func('schroot_delete_configs', d) - - def clean(self, ud, d): - bb.utils.remove(ud.localpath, recurse=True) From patchwork Wed Jul 15 11:05:41 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5244 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:06:25 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-pl1-f192.google.com (mail-pl1-f192.google.com [209.85.214.192]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66FB6Lrc023104 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:06:22 +0200 Received: by mail-pl1-f192.google.com with SMTP id d9443c01a7336-2cc6dd43737sf105070295ad.2 for ; Wed, 15 Jul 2026 04:06:22 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113574; cv=pass; d=google.com; s=arc-20260327; b=A1G1YSZ43wmgigXDU3G2y7W4v6F5Xx7xsqCztD0jk9RQHLosmzQW1klcj2B9edEUGi EPBdnbXBRrD9nAKQdBPoOXmPWKC85QuaAdRpKEUHfwrUtEywpozqwKAn6BDpvyIxYppm GVBqcqmVG5b/sU2Y/1fyxTwoOueZIjR+c4haFC2JeW4xEtI1f4ApWk3a4dTr+WwIlK3k 84R4dzyZjJtZTNbf7WBHoAzngFuRfNNqcq1wcONOq/73cGWy4JJB1Z7aMhSLuAvhdpWc Fm8pAVHeHi3oXQ/KDY3Icl1IK8Jpjwwr/cN5TsAeB82FBT+BxzTKp3XEN0pDo8oiomh9 li4g== 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=spbjyCifa39KtYP3v6VGuLPgzW2Ias7hbYXVdkPoUQI=; fh=k5G3lKGWSrEp2Lg7zNACi2MH/DHzvoTU9WU4gUiNqXU=; b=ewXTj7/oUSGik1Wfh0u6VLZttSej6iIVRE/Jhq/Wxdei7TIlP1bG0goptUl7dCcRjv D/KC5Gf5umiHMEFcrTWAhI8jHv6/AWaWmPvpmEi+yAOMKzk1xOisiZzsItbeK484jQ0h YiOZxQDMYEEdwyinAK2nkSm+S75hPWdCAW96WxrXnNfs1figIDESGKZgvzOfR/AbkrpI t1fDetduKX9yfRCuuXdBcPeBiWssP+deloqj6exnN++nPOG31QPd9VueqdD+Pelk1Ld0 yWeyI+EzQ+6VwDlKCrDuysKlXQuQOOQnd1nVHzv1MdJ4yGEaWHgf93SnCW0YZbUgGrU0 DE/w==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=pTYF0Rgk; 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::3 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=1784113574; x=1784718374; 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=spbjyCifa39KtYP3v6VGuLPgzW2Ias7hbYXVdkPoUQI=; b=Uhdi2n83yYwDIVF8nS/kmDvGpUshvJ+itVneqruhUyEHRH2OSZzH3ThPnxTPQOskjq 30hnEvCWFQoEmcKB7SB7zQOG5CvN03pT7wc1IoyHZNeGrFIswzyTL4Nwpdo0SWtx9flw /Mldi2P7oHfmAVwfBKsN8bXuz99T/Gg6k0SLa7wuLjwZYiIkDccNo8NxgnjmgRQ7gc7j xI0+St4tTpUtdCUs5AgYS8BB2Pez29gnQWOCWkqVXWSIOXMqOzbIcqZvAELc1ICzAbRZ 6LZdoNPscsjRF0sIVk16jl7OhCWv3CPC031/VslPmVvN0aKpYFMBGC+xvphxdfQrdIpy a3MA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113574; x=1784718374; 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=spbjyCifa39KtYP3v6VGuLPgzW2Ias7hbYXVdkPoUQI=; b=hCI3DHUVipBzQPvqMWqWI9E8DuiHli+SfC41+zC7/xPzGivHSGY0ZAGkE3tVbtNYRA pEKgOt0HjznTHa92neJ+G35fM2H6kSYFX7Cm8gV4hwBTGVKhoOtdg626WQPtWNZ1sTFu LOvOq8L+k2FwcFLZ5Tla7wAeB0MEUL0gx+v+577pUTw+25PUX3OO0mag1f+HjdMOfr9r qNr705vEVAJjMuZcuJ4gyylJ2G0Y+HeVd2YMvx84aV2+7AVJRSQ3q2RW66bNkugBW/Zq dR7ktu1XUIeOVgO8dof0EhlpFaxg0VZd2A97kQaVO6fOBxVmZdi0cA6Spw0THLaiaDTD WSWw== X-Forwarded-Encrypted: i=3; AHgh+Rq2tjFxy29pT2QrhakeKLvRfNkvgFj1FZaMopNd1OpaTA/L1i0Mb+IEZEO0aRUTxV3xm6gU2sY=@isar-build.org X-Gm-Message-State: AOJu0YwZi8x1+tnE4C4x6TfAURWdVykIOLs2uHq1PNtv6JK/K5nwKSFq nhVXpNST7/to/wO7B2tb9EHseVhh5wurqubZ4cXsBqOsDhHRWy+iP3zc X-Received: by 2002:a17:902:d489:b0:2ca:7131:cace with SMTP id d9443c01a7336-2cee9b6b5edmr68614115ad.31.1784113573631; Wed, 15 Jul 2026 04:06:13 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPRndE7/ZKGt/xTsb43XwkckfgGjEra2RZRVnhCWx5679w==" Received: by 2002:a17:902:dac3:b0:2ca:e47:9710 with SMTP id d9443c01a7336-2cf031572b3ls16037055ad.2.-pod-prod-01-us; Wed, 15 Jul 2026 04:06:12 -0700 (PDT) X-Received: by 2002:a17:903:41ce:b0:2ca:d666:df72 with SMTP id d9443c01a7336-2cee9ab66f2mr76367525ad.21.1784113572122; Wed, 15 Jul 2026 04:06:12 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113572; cv=pass; d=google.com; s=arc-20260327; b=SLdtWfk3WNvGduDfyT5r8oyi1OPjrkL7tNeDCA8xkDJJ6TExrQVk6a3TipK7HiQh3l 2s+yAIAWa8h/bk+q3RoZw+4hfILqwHvELj2LKoD4lVoObNzZCQLQfJSop/TVTcqRnA3T qichmAy3zLKMBUlQCMM6iy7QkfPW4aYBnfl86YSrYZVxvflICQO7GQTAhcHWI24NcYeC 9qLOPx+wkXWlsTnBc45m01RwUxEuu8/MYdBegc//f9RRt4+GSTPRJ3oGX1Cu5QbPJC2G kpsGWA5h/I2Nm2nc0ZEB8lDSCAQ5RUk3+u1Y2TAKZC6ao9dR85AdGPEAfZgL6jfrGRad rQCQ== 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=oXsAImnHtvHcud5OSHA6WDyfDqmjV71sX5f7GHki3Qo=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=qckp8/qaVTnK8BU4jouhoyHEnXHeGeAWKxrEsTEUzX9k74eGl2K3B9UKUWotK0VTIT DuFiORlFLOoYNM+VfxHJ9e6kyhBlIgebJdYKM0JiFRPepbzUa2zWtkWXRglYGgMwVFPb RAc3uBbuORp6i1eOggwDWMIiWurRUTxvBmY4V0USTJdjBjEstLQaeGnzr1N6vvRTb8ZT 023hH20M4xTTCC/RwCYUbk+tixoBAFPyIIJFfTK4Yf8OScL8b1AM+YBdbeKOcy7e236C T4XmmE4SU+uxPqZI1SZYMHn1q/1Nw4z8/fIJElQtPwmHnAq07DXdb01Z/bPzHoRUE5tq E1RA==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=pTYF0Rgk; 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::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c201::3]) by gmr-mx.google.com with ESMTPS id d9443c01a7336-2cf10489ad5si21625ad.8.2026.07.15.04.06.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:06:12 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) client-ip=2a01:111:f403:c201::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FMQApZw6dkJWCu71QV0mkViPlmc3bNHXNG6jNqQZzycW56ReCesQ6V6KFGQ0VswYxis8By1BDLfWYjTBxplPGJD6lzmL/dyHnREK6ArSgCVY3LBMtV8ZiVSGAYrjn1YccDYWeqQ7cmr7DYKMzZareaqAIUYpcDonS1oEvmUeuni2FH2FCtesxpsrTEHWOv8SSILQhxAtkYUfyRWNBNE7wr4H0oKkNta816VW0dzEjRiFZE1b6W/3WxB8/tRdr3BTD7D4PJdjt385QXUtq2ilcsC2Jf/6Nqyl3mzg5V+EAmAe9VvFOPNev0PXfVuG9+l4UEodw8RKd2guReuZLsTNYw== 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=oXsAImnHtvHcud5OSHA6WDyfDqmjV71sX5f7GHki3Qo=; b=HWvi/GrHfGAbLCprCI8r6qFcd+0thDjpcOkxS3ndIE39Rq2n6DDkCTC8qLLAsy/ryxK7hVrfgai3dHP5UAk+nBERjwIiWS4xHkFkcHa0o8uS2YrYqYbqzX+g4sA1mqqVkuxNV2eRjAMsggJie63U9pXaaaEeYzzqp4/ho/pVytNiEUDpzEtdGz1uFPSuOEx+DIsqJPZQZ1JzPhtYhfhAsNAGOEk+wcmTsemlKreoVlYRr0Yrj3PwOnqLKofkanmiuDkbhcKrt+S6/UE/n0RKd6832gb9GwVwd0dj9+Qmunt3kkL/RQA4K2pwcf+AQ5ipznfF9XPeJEHUq+rVTzRWBQ== 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 PAWPR10MB7915.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:366::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Wed, 15 Jul 2026 11:06:07 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:06:07 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 10/17] add support for fully rootless builds Date: Wed, 15 Jul 2026 13:05:41 +0200 Message-ID: <20260715110548.3605767-11-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:99::13) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|PAWPR10MB7915:EE_ X-MS-Office365-Filtering-Correlation-Id: e4918656-1beb-4a4b-af80-08dee26111b2 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|10070799003|376014|6133799003|56012099006|5023799004|11063799006|10067099003|3023799007|22082099003|55112099003|18002099003; X-Microsoft-Antispam-Message-Info: LUIHeQGFJ+t1iA+Gioe0qZcWs9qbcMd8PW/lCZKie3hkArf/fiPVFq0nP7NjlZEVCvZ1PT5XVQncp4DFF4jb8ylJUEKFBuU0WBuZg5i8bd2yWKPq3DYpMGQoz1YRqni42S7JJOqWzbGWcHhRWNdIxioAx4HSjuhS4JDsdywOjLX/efU5lN/NLnwAV/cEiu+F6pxDimSmNPgVT+YfReWJkitHxhfOXTrxWN7q3nwaJE5+v7rZRvyD+vurb7i9GsCmwymjxLV/AM/hPxC6FDKyUq1XIlrupvUCVX8K1w/xSfJNcDBlCf04vqt5E/ZTfeU187MdWq3EcyEOMhk/Q7JArzKtVsW5IncjkOE2/HJmUEn2kVyAO2GeZ31WBvWe3mG/ICxxdxCYNG6s/mOeKs+Z2TwYoYYlQ3xL8AJz5ThBJt/Vl7oNVeYcxx0YEUSxlT5JRWVAq8lbJLC6LUW7fj4XyEeq9TezDcYMhN8mqs7yTJMH1PIZdQh+SVBz9sQAxnQ48bxWEVlb8cfgA6fvViSCgKhmR8c/BpgkhQHUo4Zx4C6iFDGmJrvZb3LcvnSrXVbt9kMH3vNRlgx+TRNnhz6nP4pb11A5WGxfm/eD85rw2Z+3RHMPYygm6jhBGXOkwb4dNELmNb6GtQy36+6MCtQrt0kCQA5AWq3RWnqq5sToVHs= 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)(23010399003)(1800799024)(10070799003)(376014)(6133799003)(56012099006)(5023799004)(11063799006)(10067099003)(3023799007)(22082099003)(55112099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: nSwJO4c9o5R6kpQrZEjCF9ULsncLCd8Rdv5Asxz5pSVvp7t9kN+At0DBe3ZGuNrXp3AoI6EMXwON5ifjtlk1i8p2H/dq3LsbxVy84ztpAtwmO2at5GUL6qcJf1KumA1Lg393q9+oom0WG7QPZQEg//jL8lkdv8a2JsyaLM5a87PmA6+amRHQd+i5RCa1UECLdIvw+YB+9NezPgqFnNPp0IhKsS2O3otqRoRzcVkk2pi01nVh0oAxspJXf4WaEOJPVX8DIfpdn22z07oTkqLMs/WBM4r8ZGfDTSnsMa072RExMtdeWrQxJFXhLlGm4xTXbyymzJrKks7eIRVkTfMXIWXZNIlbGCNwR811mQTXyQ0MCbvjiVJmHkJPnYvm6XgxZTk4UXpEJA6Gcgt5AWjyJe5iooLBQzPOyF4LgrRyks2ZbGTQlc3Rl3FeU6fWQfuvH7ppSOABFrDUbwSFfStSVgP8Gb+aYBshrYjstS+XLm+IKROAM8iCuCliRZZ8Y2nB7ho4E4pL+m6WBLk/WEnwpS2Zzoyt1PbIHFa6DpGTblPDvLPMc1N/Wff1Xx9hXMHhq7JewacGKaF8sgGB3eNwcl7NuHtusvmBMVrFYJCGDl3x3xYsUwwDI7YaKs6CfHZduCFRSzXZAdOrVOm2KfahfJ/HJqBEkZ9kTozLH5U58uEWpJSXuxTMd6EejkVz0XWxandcqk7LRC6IpsvfHD9SUH58m7waFP/DGW+1xIjUJcdVmBoFpGKT5Cfc4mEFrI+mEF5w36BrYkchZhzc/JHLUJ67MUNYoM3Vkq3pgZAvXxStH1lonWcsY1E86VD2NdXi23QpYGSt+gOCXCBpgpIp1fr6QnzMv+zrUVBtyd5o2krmvqQcm3wyX1jRmnsSR1pdNnE75vCh8hontvFlqr4yivvlTamIF3NWp7k3hzJ+sWzurbPbYKC8zTdjY6wQP2mWtYEDiQUvUbHrWn966eYQ+YoSmDG6gp4OKLNeIsYGBiuecGMyJGkcDV3+lBN67if5MawYTqVDtYrxiCi0VE/GR0TScomoLc+cIGac4p4/vceytTyVFmIXwOr7nvTbN8iSyTFXtpRt6cKVTZXLgMoBm54KSKMeQwzO1rYek0tuqBFK0cJhd+W24kCdMXjIzg70oNqHJdmmvx10elhzM4CKRHCN/MTx78PMrbWU+3KEggf9Jt1zan6bvQc7pNVnw3IXKzbUUdXhElTl6J6jeAZI/sDXmY8lCkOPgf+6shzLaf5iV1slybbWvob1Nlt6YbtDhsKzi1ha+ITUFLPlCrdSeGJQGpjkWKXjEjkcAluMFdv0+rydrplinPO1r1OJxGfJJn+WVCN5bxA1z/mPj+1DFEdphBLQclabnbdvhHtF+uQCDQVNLsOuf6B/X/orSEFn85Bcrh8wJNMauS7uqiOFXRNB88+IGa/ppwtIFgZXa0dXKo7Vs39rd24ZURmYPXkxuOJ64sDThTtMmU8G6HV7zowCPAFY4UyXMWnRpRisXPeyQfdKi6ncf967akbMVMXqA2t9ugMZoHh7gfdRXFUFthWZL6gZmm6LIYMfF8RBME+4zo0oa+Qz787K5r+eGCqSDA/QantGaOZpygzWEi63Kgw+bjqJNOP0zskj92bOjceAOzinPtWlyHpBOmb2a+mnBRK9P/kM2b/d56Ex3VFNEjX4TOcKonE282JdHd49dS6kq9+uc5/VEMbbCusI/yQCoreg8tvIMoJl8qThsyhRoaIOIjzvBEvRxz8z0Msd/vUUFV8iE7ZgkMHdncfQ47BbwYsqcXI1 X-MS-Exchange-AntiSpam-MessageData-1: tYE3vvy6XmwqhlmZcFcEB7BkDzBqyaQjtJ8= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: e4918656-1beb-4a4b-af80-08dee26111b2 X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:06:07.1973 (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: k8D0SyLtceoyfogYntq3kBk5D7XmBqJEgOHQFP5PyuBD20tG5KejeO3ciikfu5wlb0QC2UzO1gkdhtouO1PBHb3uP4hNYiGX31v/oFiJ1pg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7915 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=pTYF0Rgk; 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::3 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?= Currently isar requires passwordless sudo and an environment where mounting file systems is possible. This has proven problematic for security reasons, both when running in a privileged container or locally. To solve this, we implement fully rootless builds that rely on the unshare syscall which allows us to avoid sudo and instead operate in temporary kernel namespaces as a user that is just privileged within that namespace. This comes with some challenges regarding the handling of mounts (they are cleared when leaving the namespace), as well as cross namespace deployments (the outer user might not be able to access the inner data). For that, we rework the handling of mounts and artifact passing to make it compatible with both chroot modes (schroot and unshare). We intentionally do not switch the build_system in isar.yaml resp. the KAS_BUILD_SYSTEM in the menu KConfig, as there is no kas release with support for the new modes as of today. We further don't want to break backward compatibility with older kas versions of the isar examples. Signed-off-by: Felix Moessbauer --- RECIPE-API-CHANGELOG.md | 20 +++++ doc/user_manual.md | 2 + meta/classes-global/base.bbclass | 90 ++++++++++++++++++- meta/classes-recipe/deb-dl-dir.bbclass | 7 +- meta/classes-recipe/dpkg-base.bbclass | 22 ++++- meta/classes-recipe/dpkg.bbclass | 17 ++-- .../image-locales-extension.bbclass | 9 +- .../image-tools-extension.bbclass | 84 +++++++++++++++++ meta/classes-recipe/image.bbclass | 7 +- .../imagetypes_container.bbclass | 4 +- meta/classes-recipe/imagetypes_wic.bbclass | 6 +- meta/classes-recipe/rootfs.bbclass | 44 +++++++-- meta/classes-recipe/sbuild.bbclass | 24 ++++- meta/classes-recipe/sdk.bbclass | 10 ++- meta/conf/bitbake.conf | 7 +- .../isar-mmdebstrap/isar-mmdebstrap.inc | 18 ++-- .../sbuild-chroot/sbuild-chroot.inc | 24 ++++- 17 files changed, 357 insertions(+), 38 deletions(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 552051ad..6d5b6ba3 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -1103,3 +1103,23 @@ specifies the rootfs path. Using these helpers instead of direct `sudo` invocations centralizes platform-specific privileged execution logic in `base.bbclass`. Direct use of `sudo` is discouraged in downstream layers. + +### Rootless isar execution + +Isar is able to run without the need for `sudo` in an environment that +allows unprivileged users to unshare the kernels `user namespace`. Further, +a sufficiently large set of sub ids needs to be configured in `/etc/subuid` / `etc/subgid`. +This range should be `> 65536`, but smaller ranges might work as well, depending on the +ids used in the rootfs. + +A simple check if rootless is supported can be done by running: + +```bash +mmdebstrap --unshare-helper /bin/echo "rootless supported" || echo "rootless not supported" +``` + +To enable rootless builds, set the bitbake variable `ISAR_ROOTLESS = "1"`. +This internally switches the chroot mode from `schroot` to `unshare`. + +When using kas, the `build_system` needs to be set to `isar-rootless`, which currently +requires a development version of kas (for details, check the kas mailing list). diff --git a/doc/user_manual.md b/doc/user_manual.md index 396e1b90..dcc3f560 100644 --- a/doc/user_manual.md +++ b/doc/user_manual.md @@ -75,6 +75,7 @@ Building `debian-trixie` requires host system >= bookworm. Install the following packages: ``` apt install \ + acl \ binfmt-support \ bubblewrap \ bzip2 \ @@ -89,6 +90,7 @@ apt install \ qemu-user-static \ reprepro \ sudo \ + uidmap \ unzip \ xz-utils \ git-buildpackage \ diff --git a/meta/classes-global/base.bbclass b/meta/classes-global/base.bbclass index 90e4525e..f074eee6 100644 --- a/meta/classes-global/base.bbclass +++ b/meta/classes-global/base.bbclass @@ -141,7 +141,9 @@ root_cleandirs() { die "Could not remove $i, because subdir is mounted" done for i in $ROOT_CLEANDIRS_DIRS; do - run_privileged rm -rf --one-file-system "$TMPDIR$i" + [ -d "$TMPDIR$i" ] || continue + find "$TMPDIR$i" \( ! -user "$(whoami)" -type d -prune \) -exec ${RUN_PRIVILEGED_CMD} rm -rf --one-file-system {} \; + rm -rf --one-file-system "$TMPDIR$i" mkdir -p "$TMPDIR$i" done } @@ -380,7 +382,28 @@ def deb_list_beautify(d, varname): # shall be used outside of this class. def insert_isar_mounts(d, rootfs, mounts): + """ + In unshare mode, all mounts must be created after unsharing the + mount namespace. As needs to happen within the unshared session, + we implement it as a code generator. Note, that the random and urandom + mounts are needed for DDI images. + """ lines = [] + to_touch = ['/dev/null', '/dev/random', '/dev/urandom'] + to_mkdir = ['/dev/pts', '/dev/shm'] + if d.getVar('ISAR_CHROOT_MODE') == 'unshare': + lines.append('touch ' + ' '.join(['{}/{}'.format(rootfs, f) for f in to_touch])) + lines.append('mkdir -p ' + ' '.join(['{}/{}'.format(rootfs, f) for f in to_mkdir])) + lines.append('mount -o bind,private,mode=666 /dev/null {}/dev/null'.format(rootfs)) + lines.append('mount -t devpts -o noexec,nosuid,uid=5,mode=620,ptmxmode=666 none {}/dev/pts'.format(rootfs)) + lines.append('( cd {}/dev; ln -sf pts/ptmx . )'.format(rootfs)) + lines.append('mount -t tmpfs none {}/dev/shm'.format(rootfs)) + lines.append('mount -o bind /dev/random {}/dev/random'.format(rootfs)) + lines.append('mount -o bind /dev/urandom {}/dev/urandom'.format(rootfs)) + lines.append('mount -t proc none {}/proc'.format(rootfs)) + # we do not unshare the network namespace, so we cannot create a sysfs, hence bind-mount + lines.append('mount -o rbind /sys {}/sys'.format(rootfs)) + for m in mounts.split(): host, inner = m.split(':') if ':' in m else (m, m) inner_full = os.path.join(rootfs, inner[1:]) @@ -389,7 +412,18 @@ def insert_isar_mounts(d, rootfs, mounts): return '\n'.join(lines) def insert_isar_umounts(d, rootfs, mounts): + """ + In unshare mount we don't unmount the system mounts but just + remove the mountpoints. + """ lines = [] + to_unlink = ['/dev/null', '/dev/random', '/dev/urandom', '/dev/ptmx'] + to_rmdir = ['/dev/pts', '/dev/shm'] + if d.getVar('ISAR_CHROOT_MODE') == 'unshare': + lines.append('rm -f ' + ' '.join(['{}/{}'.format(rootfs, f) for f in to_unlink])) + for d in ['{}/{}'.format(rootfs, _d) for _d in to_rmdir]: + lines.append('[ -d {} ] && rmdir {}'.format(d, d)) + for m in mounts.split(): host, inner = m.split(':') if ':' in m else (m, m) mp = '{}/{}'.format(rootfs, inner) @@ -397,11 +431,56 @@ def insert_isar_umounts(d, rootfs, mounts): lines.append('[ -d {} ] && rmdir --ignore-fail-on-non-empty {}'.format(mp, mp)) return '\n'.join(lines) +def get_subid_range(idmap, d): + import getpass + try: + with open(idmap, 'r') as f: + entries = f.readlines() + except FileNotFoundError: + bb.error("File %s not found, cannot determine sub-id range" % idmap) + return + for e in entries: + user, base, cnt = e.split(':') + if user == os.getuid() or user == getpass.getuser(): + return int(base), int(cnt) + bb.error("No sub-id range specified in %s" % idmap) + def run_privileged_cmd(d): - cmd = 'sudo -E' + """ + In unshare mode we need to map the rootfs uid/gid range into the + subuid/subgid range of the parent namespace. As we usually only + get 65534 ids, we cannot map the whole range, as two ids are already + used by the calling environment (root and builder user). Hence, map + as much as we can but also map the highest id (nobody / nogroup) as + these are used within the rootfs. It would be easier to use + mmdebstrap --unshare-helper as command (which is also internally used + by sbuild), but this only maps linear ranges, hence it cannot map the + nobody / nogroup on the default subid range. By that, we have to avoid + the nobody / nogroup when building packages in this case. + """ + if d.getVar('ISAR_CHROOT_MODE') == 'unshare': + nobody_id = 65534 + uid_base, uid_cnt = get_subid_range('/etc/subuid', d) + nobody_subid = uid_base + uid_cnt - 1 + gid_base, gid_cnt = get_subid_range('/etc/subgid', d) + nogroup_subid = gid_base + gid_cnt - 1 + cmd = 'unshare --mount --pid --uts --ipc --user' \ + ' --kill-child' \ + ' --setuid 0 --setgid 0 --fork' \ + f' --map-users 1:{uid_base+1}:{uid_cnt-2}' \ + f' --map-groups 1:{gid_base+1}:{gid_cnt-2}' + if uid_cnt < nobody_id: + cmd += f' --map-users {nobody_id}:{nobody_subid}:1' + if gid_cnt < nobody_id: + cmd += f' --map-groups {nobody_id}:{nogroup_subid}:1' + cmd += " --map-root-user" + else: + cmd = 'sudo -E' bb.debug(1, "privileged cmd: %s" % cmd) return cmd +UNSHARE_SUBUID_BASE := "${@get_subid_range('/etc/subuid', d)[0] if d.getVar('ISAR_CHROOT_MODE') == 'unshare' else '0'}" +# store in variable to only compute once and make available to fetcher RUN_PRIVILEGED_CMD := "${@run_privileged_cmd(d)}" run_privileged() { @@ -415,5 +494,10 @@ run_privileged_heredoc() { run_in_chroot() { rootfs="$1" shift - ${RUN_PRIVILEGED_CMD} chroot "$rootfs" "$@" + + rootfs=$rootfs run_privileged_heredoc <<'EORIC' "$@" + set -e + ${@insert_isar_mounts(d, '$rootfs', '')} + chroot "$rootfs" "$@" +EORIC } diff --git a/meta/classes-recipe/deb-dl-dir.bbclass b/meta/classes-recipe/deb-dl-dir.bbclass index fffa9257..60e2fecc 100644 --- a/meta/classes-recipe/deb-dl-dir.bbclass +++ b/meta/classes-recipe/deb-dl-dir.bbclass @@ -123,7 +123,12 @@ deb_dl_dir_import() { # let our unprivileged user place downloaded packages in /var/cache/apt/archives/ run_privileged_heredoc << ' EOSUDO' mkdir -p "${rootfs}"/var/cache/apt/archives/partial/ - chown -R ${uid}:${gid} "${rootfs}"/var/cache/apt/archives/ + if [ "${ISAR_CHROOT_MODE}" = "unshare" ]; then + chown -R 0:0 "${rootfs}"/var/cache/apt/archives/ + chmod 777 "${rootfs}"/var/cache/apt/archives/ + else + chown -R ${uid}:${gid} "${rootfs}"/var/cache/apt/archives/ + fi EOSUDO # nothing to copy if download directory does not exist just yet diff --git a/meta/classes-recipe/dpkg-base.bbclass b/meta/classes-recipe/dpkg-base.bbclass index b363da5e..87ba0caf 100644 --- a/meta/classes-recipe/dpkg-base.bbclass +++ b/meta/classes-recipe/dpkg-base.bbclass @@ -168,12 +168,30 @@ dpkg_schroot_create_configs() { EOSUDO } +dpkg_chroot_prepare() { + if [ "${ISAR_CHROOT_MODE}" = "schroot" ]; then + dpkg_schroot_create_configs + fi +} + +dpkg_chroot_finalize() { + if [ "${ISAR_CHROOT_MODE}" = "schroot" ]; then + schroot_delete_configs + fi +} + +dpkg_prepare_unshare_ccache() { + mkdir -p "${CCACHE_DIR}" + # sbuild id from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1110942 + setfacl -m u:${UNSHARE_SUBUID_BASE}:rwX -m u:${@int(d.getVar('UNSHARE_SUBUID_BASE')) + 999}:rwx "${CCACHE_DIR}" +} + python do_dpkg_build() { - bb.build.exec_func('dpkg_schroot_create_configs', d) + bb.build.exec_func('dpkg_chroot_prepare', d) try: bb.build.exec_func("dpkg_runbuild", d) finally: - bb.build.exec_func('schroot_delete_configs', d) + bb.build.exec_func('dpkg_chroot_finalize', d) } do_dpkg_build[network] = "${TASK_USE_NETWORK_AND_SUDO}" diff --git a/meta/classes-recipe/dpkg.bbclass b/meta/classes-recipe/dpkg.bbclass index e693800c..1b2616db 100644 --- a/meta/classes-recipe/dpkg.bbclass +++ b/meta/classes-recipe/dpkg.bbclass @@ -85,7 +85,10 @@ dpkg_runbuild() { ext_deb_dir="${ext_root}${deb_dir}" if [ ${USE_CCACHE} -eq 1 ]; then - schroot_configure_ccache + ${ISAR_CHROOT_MODE}_configure_ccache + fi + if [ "${ISAR_CHROOT_MODE}" = "unshare" ]; then + sbuild_add_unshare_mounts fi profiles="${@ isar_deb_build_profiles(d)}" @@ -109,24 +112,28 @@ dpkg_runbuild() { DSC_FILE=$(find ${WORKDIR} -maxdepth 1 -name "${DEBIAN_SOURCE}_*.dsc" -print) - sbuild -n -c ${SBUILD_CHROOT} --chroot-mode=schroot \ + sbuild -n -c ${SBUILD_CHROOT} \ + --chroot-mode=${ISAR_CHROOT_MODE} \ --host=${PACKAGE_ARCH} --build=${BUILD_ARCH} ${profiles} \ ${@'--no-arch-all' if 'cross' in isar_deb_build_profiles(d).split() else '--arch-all'} \ --no-run-lintian --no-run-piuparts --no-run-autopkgtest --resolve-alternatives \ --bd-uninstallable-explainer=apt \ --no-apt-update --apt-distupgrade \ --chroot-setup-commands="echo \"Package: *\nPin: release n=${DEBDISTRONAME}\nPin-Priority: 1000\" > /etc/apt/preferences.d/isar-apt" \ - --chroot-setup-commands="echo \"APT::Get::allow-downgrades 1;\" > /etc/apt/apt.conf.d/50isar-apt" \ + --chroot-setup-commands="echo \"APT::Get::allow-downgrades 1;${@'\nAPT::Sandbox::User root;' if d.getVar('ISAR_CHROOT_MODE') == 'unshare' else ''}\" > /etc/apt/apt.conf.d/50isar-apt" \ --chroot-setup-commands="rm -f /var/log/dpkg.log" \ --chroot-setup-commands="mkdir -p ${deb_dir}" \ --chroot-setup-commands="find ${ext_deb_dir} -maxdepth 1 -name '*.deb' -exec ln -t ${deb_dir}/ -sf {} +" \ --chroot-setup-commands="apt-get update -o Dir::Etc::SourceList=\"sources.list.d/isar-apt.list\" -o Dir::Etc::SourceParts=\"-\" -o APT::Get::List-Cleanup=\"0\"" \ --finished-build-commands="rm -f ${deb_dir}/sbuild-build-depends-*-dummy_*.deb" \ --finished-build-commands="find ${deb_dir} -maxdepth 1 -type f -name '*.deb' -print -exec cp ${CP_FLAGS} -t ${ext_deb_dir}/ {} +" \ - --finished-build-commands="cp /var/log/dpkg.log ${ext_root}/dpkg_partial.log" \ + ${@ '--finished-build-commands="cp /var/log/dpkg.log $ext_root/dpkg_partial.log"' if d.getVar('ISAR_CHROOT_MODE') == 'schroot' else '' } \ --build-path="" --build-dir=${WORKDIR} --dist="${DEBDISTRONAME}" ${DSC_FILE} - sbuild_dpkg_log_export "${WORKDIR}/rootfs/dpkg_partial.log" + # TODO: port to unshare backend + if [ "${ISAR_CHROOT_MODE}" = "schroot" ]; then + sbuild_dpkg_log_export "${WORKDIR}/rootfs/dpkg_partial.log" + fi deb_dl_dir_export "${WORKDIR}/rootfs" "${distro}" # Cleanup apt artifacts diff --git a/meta/classes-recipe/image-locales-extension.bbclass b/meta/classes-recipe/image-locales-extension.bbclass index 08109baa..c03f34c0 100644 --- a/meta/classes-recipe/image-locales-extension.bbclass +++ b/meta/classes-recipe/image-locales-extension.bbclass @@ -29,8 +29,12 @@ ROOTFS_INSTALL_COMMAND_BEFORE_EXPORT += "image_install_localepurge_download" image_install_localepurge_download[weight] = "40" image_install_localepurge_download[network] = "${TASK_USE_NETWORK_AND_SUDO}" image_install_localepurge_download() { - run_in_chroot '${ROOTFSDIR}' \ + run_privileged_heredoc <<'EOF' + set -e + ${@insert_isar_mounts(d, d.getVar('ROOTFSDIR'), d.getVar('ROOTFS_MOUNTS') if d.getVar('ISAR_CHROOT_MODE') == 'unshare' else '')} + chroot ${ROOTFSDIR} \ /usr/bin/apt-get ${ROOTFS_APT_ARGS} -o Debug::NoLocking=1 --download-only localepurge +EOF } ROOTFS_INSTALL_COMMAND += "image_install_localepurge_install" @@ -62,6 +66,9 @@ __EOF__ # Install configuration into image: run_privileged_heredoc <<'EOSUDO' set -e + + ${@insert_isar_mounts(d, d.getVar('ROOTFSDIR'), '')} + localepurge_state='i' if chroot '${ROOTFSDIR}' dpkg -s localepurge 2>/dev/null >&2 then diff --git a/meta/classes-recipe/image-tools-extension.bbclass b/meta/classes-recipe/image-tools-extension.bbclass index 766f386d..cc046fdb 100644 --- a/meta/classes-recipe/image-tools-extension.bbclass +++ b/meta/classes-recipe/image-tools-extension.bbclass @@ -16,7 +16,14 @@ do_image_tools[depends] += " \ SCHROOT_MOUNTS = "${WORKDIR}:${PP_WORK} ${IMAGE_ROOTFS}:${PP_ROOTFS} ${DEPLOY_DIR_IMAGE}:${PP_DEPLOY}" SCHROOT_MOUNTS += "${REPO_ISAR_DIR}/${DISTRO}:/isar-apt" +# only used on unshare +ROOTFS_IMAGETOOLS ?= "${WORKDIR}/rootfs-imgtools-${BB_CURRENTTASK}" + imager_run() { + imager_run_${ISAR_CHROOT_MODE} "$@" +} + +imager_run_schroot() { local_install="${@(d.getVar("INSTALL_%s" % d.getVar("BB_CURRENTTASK")) or '').strip()}" local_bom="${@(d.getVar("BOM_%s" % d.getVar("BB_CURRENTTASK")) or '').strip()}" @@ -103,3 +110,80 @@ generate_imager_sbom() { --timestamp $TIMESTAMP ${SBOM_DEBSBOM_EXTRA_ARGS} \ < ${WORKDIR}/imager.manifest } + +imager_run_unshare() { + exec 3<&0 + + # ignore everything before '--'. If the remaining list is empty, + # assume a here document is passed via stdin + while [ "$#" -gt 0 ]; do + case "$1" in + --) shift 1; break ;; + *) shift 1 ;; + esac + done + + if [ "$#" -eq 0 ]; then + set -- "$@" '/bin/bash' '-s' + fi + + local_install="${@(d.getVar("INSTALL_%s" % d.getVar("BB_CURRENTTASK")) or '').strip()}" + + run_privileged_heredoc <<'EOF' + set -e + mkdir -p ${ROOTFS_IMAGETOOLS} + tar -xf "${SBUILD_CHROOT}" -C "${ROOTFS_IMAGETOOLS}" + mkdir -p ${ROOTFS_IMAGETOOLS}/isar-apt + cp -rL /etc/resolv.conf "${ROOTFS_IMAGETOOLS}/etc" +EOF + + # setting up error handler + imager_cleanup() { + run_privileged rm -rf ${ROOTFS_IMAGETOOLS} + } + trap 'exit 1' INT HUP QUIT TERM ALRM USR1 + trap 'imager_cleanup' EXIT + + if [ -n "${local_install}" ]; then + echo "Installing imager deps: ${local_install}" + + distro="${BASE_DISTRO}-${BASE_DISTRO_CODENAME}" + if [ ${ISAR_CROSS_COMPILE} -eq 1 ]; then + distro="${HOST_BASE_DISTRO}-${BASE_DISTRO_CODENAME}" + fi + + E="${@ isar_export_proxies(d)}" + deb_dl_dir_import ${ROOTFS_IMAGETOOLS} ${distro} + ${SCRIPTSDIR}/lockrun.py -r -f "${REPO_ISAR_DIR}/isar.lock" -s <<'EOAPT' + local_install=$local_install ${@run_privileged_cmd(d)} /bin/bash -s <<'EOF' + set -e + ${@insert_isar_mounts(d, d.getVar('ROOTFS_IMAGETOOLS'), d.getVar('SCHROOT_MOUNTS'))} + chroot ${ROOTFS_IMAGETOOLS} apt-get update \ + -o Dir::Etc::SourceList='sources.list.d/isar-apt.list' \ + -o Dir::Etc::SourceParts='-' \ + -o APT::Get::List-Cleanup='0' + chroot ${ROOTFS_IMAGETOOLS} apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y \ + --allow-unauthenticated --allow-downgrades --download-only install \ + $local_install +EOF +EOAPT + + deb_dl_dir_export ${ROOTFS_IMAGETOOLS} ${distro} + local_install=$local_install run_privileged_heredoc <<'EOF' + set -e + ${@insert_isar_mounts(d, d.getVar('ROOTFS_IMAGETOOLS'), d.getVar('SCHROOT_MOUNTS'))} + chroot ${ROOTFS_IMAGETOOLS} apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y \ + --allow-unauthenticated --allow-downgrades install \ + $local_install +EOF + fi + + run_privileged_heredoc <<'EOF' "$@" + set -e + mkdir -p ${ROOTFS_IMAGETOOLS}/${SCRIPTSDIR} + ${@insert_isar_mounts(d, d.getVar('ROOTFS_IMAGETOOLS'), d.getVar('SCHROOT_MOUNTS'))} + chroot ${ROOTFS_IMAGETOOLS} "$@" <&3 +EOF + + run_privileged rm -rf ${ROOTFS_IMAGETOOLS} +} diff --git a/meta/classes-recipe/image.bbclass b/meta/classes-recipe/image.bbclass index 849a9fd4..80e27788 100644 --- a/meta/classes-recipe/image.bbclass +++ b/meta/classes-recipe/image.bbclass @@ -188,6 +188,7 @@ SUDO_CHROOT = "imager_run -d ${PP_ROOTFS} -u root --" python() { image_types = (d.getVar('IMAGE_FSTYPES') or '').split() conversions = set(d.getVar('IMAGE_CONVERSIONS').split()) + chroot_mode = d.getVar('ISAR_CHROOT_MODE') basetypes = {} typedeps = {} @@ -263,7 +264,8 @@ python() { if image_cmd: localdata.setVar('type', bt) cmds.append(localdata.expand(image_cmd)) - cmds.append(localdata.expand('\tsudo chown $(id -u):$(id -g) ${IMAGE_FILE_HOST}')) + if chroot_mode == 'schroot': + cmds.append(localdata.expand('\tsudo chown $(id -u):$(id -g) ${IMAGE_FILE_HOST}')) else: bb.fatal("No IMAGE_CMD for %s" % bt) vardeps.add('IMAGE_CMD:' + bt_clean) @@ -293,7 +295,8 @@ python() { cmd = '\t' + localdata.getVar('CONVERSION_CMD:' + c) if cmd not in cmds: cmds.append(cmd) - cmds.append(localdata.expand('\tsudo chown $(id -u):$(id -g) ${IMAGE_FILE_HOST}.%s' % c)) + if chroot_mode == 'schroot': + cmds.append(localdata.expand('\tsudo chown $(id -u):$(id -g) ${IMAGE_FILE_HOST}.%s' % c)) vardeps.add('CONVERSION_CMD:' + c) for dep in (localdata.getVar('CONVERSION_DEPS:' + c) or '').split(): conversion_install.add(dep) diff --git a/meta/classes-recipe/imagetypes_container.bbclass b/meta/classes-recipe/imagetypes_container.bbclass index 8d4f8050..84ea63e7 100644 --- a/meta/classes-recipe/imagetypes_container.bbclass +++ b/meta/classes-recipe/imagetypes_container.bbclass @@ -68,7 +68,9 @@ do_containerize() { run_privileged rm -rf "${oci_img_dir}_unpacked" # no root needed anymore - run_privileged chown --recursive $(id -u):$(id -g) "${oci_img_dir}" + if [ "${ISAR_CHROOT_MODE}" = "schroot" ]; then + run_privileged chown --recursive $(id -u):$(id -g) "${oci_img_dir}" + fi } convert_container() { diff --git a/meta/classes-recipe/imagetypes_wic.bbclass b/meta/classes-recipe/imagetypes_wic.bbclass index 8b048dc7..3e261622 100644 --- a/meta/classes-recipe/imagetypes_wic.bbclass +++ b/meta/classes-recipe/imagetypes_wic.bbclass @@ -193,8 +193,10 @@ generate_wic_image() { fi EOIMAGER - run_privileged chown -R $(stat -c "%U" ${LAYERDIR_core}) ${LAYERDIR_core} ${LAYERDIR_isar} ${SCRIPTSDIR} || true - run_privileged chown -R $(id -u):$(id -g) "${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.wic"* + if [ "${ISAR_CHROOT_MODE}" = "schroot" ]; then + run_privileged chown -R $(stat -c "%U" ${LAYERDIR_core}) ${LAYERDIR_core} ${LAYERDIR_isar} ${SCRIPTSDIR} || true + run_privileged chown -R $(id -u):$(id -g) "${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.wic"* + fi rm -rf ${IMAGE_ROOTFS}/../pseudo cat ${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.manifest \ diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass index 3dcbba29..f3159820 100644 --- a/meta/classes-recipe/rootfs.bbclass +++ b/meta/classes-recipe/rootfs.bbclass @@ -141,11 +141,17 @@ rootfs_cmd() { bwrap --unshare-user --unshare-pid ${bwrap_args} \ --dev-bind /dev /dev --proc /proc --tmpfs /tmp \ + ${@'--bind "${REPO_ISAR_DIR}/${DISTRO}" /isar-apt' if d.getVar('ISAR_CHROOT_MODE') == 'unshare' else ''} \ ${bwrap_binds} -- "${@}" } rootfs_do_mounts[weight] = "3" -rootfs_do_mounts() { +python rootfs_do_mounts() { + if d.getVar('ISAR_CHROOT_MODE') == 'schroot': + bb.build.exec_func('rootfs_do_mounts_priv', d) +} + +rootfs_do_mounts_priv() { run_privileged_heredoc <<'EOSUDO' set -e mountpoint -q '${ROOTFSDIR}/dev' || \ @@ -168,7 +174,13 @@ rootfs_do_mounts() { EOSUDO } -rootfs_do_umounts() { +python rootfs_do_umounts() { + # unconditionally run the unmount code as this ignores missing + # mountpoints but also does the cleanup of the directories + bb.build.exec_func('rootfs_do_umounts_priv', d) +} + +rootfs_do_umounts_priv() { run_privileged_heredoc <<'EOSUDO' set -e @@ -215,7 +227,11 @@ ROOTFS_EXTRA_IMPORTED := "${@rootfs_extra_import(d)}" rootfs_prepare[weight] = "25" rootfs_prepare(){ - run_privileged tar -xf "${BOOTSTRAP_SRC}" -C "${ROOTFSDIR}" --exclude="./dev/console" + rm -rf ${ROOTFSDIR} + run_privileged_heredoc << 'EOF' + mkdir -p ${ROOTFSDIR} + tar -xf "${BOOTSTRAP_SRC}" -C "${ROOTFSDIR}" --exclude="./dev/console" +EOF # setup chroot run_privileged "${ROOTFSDIR}/chroot-setup.sh" "setup" "${ROOTFSDIR}" @@ -285,10 +301,14 @@ rootfs_install_pkgs_update[weight] = "5" rootfs_install_pkgs_update[isar-apt-lock] = "acquire-before" rootfs_install_pkgs_update[network] = "${TASK_USE_NETWORK_AND_SUDO}" rootfs_install_pkgs_update() { - run_in_chroot '${ROOTFSDIR}' /usr/bin/apt-get update \ - -o Dir::Etc::SourceList="sources.list.d/isar-apt.list" \ - -o Dir::Etc::SourceParts="-" \ - -o APT::Get::List-Cleanup="0" + run_privileged_heredoc <<'EOF' + set -e + ${@insert_isar_mounts(d, d.getVar('ROOTFSDIR'), d.getVar('ROOTFS_MOUNTS')) if d.getVar('ISAR_CHROOT_MODE') == 'unshare' else ''} + chroot '${ROOTFSDIR}' /usr/bin/apt-get update \ + -o Dir::Etc::SourceList="sources.list.d/isar-apt.list" \ + -o Dir::Etc::SourceParts="-" \ + -o APT::Get::List-Cleanup="0" +EOF } ROOTFS_INSTALL_COMMAND += "rootfs_install_resolvconf" @@ -368,8 +388,12 @@ rootfs_install_pkgs_install[weight] = "8000" rootfs_install_pkgs_install[progress] = "custom:rootfs_progress.PkgsInstallProgressHandler" rootfs_install_pkgs_install[network] = "${TASK_USE_SUDO}" rootfs_install_pkgs_install() { - run_in_chroot "${ROOTFSDIR}" \ + run_privileged_heredoc <<'EOF' + set -e + ${@insert_isar_mounts(d, d.getVar('ROOTFSDIR'), d.getVar('ROOTFS_MOUNTS')) if d.getVar('ISAR_CHROOT_MODE') == 'unshare' else ''} + chroot "${ROOTFSDIR}" \ /usr/bin/apt-get ${ROOTFS_APT_ARGS} --no-download ${ROOTFS_PACKAGES} +EOF } ROOTFS_INSTALL_COMMAND += "rootfs_restore_initrd_tooling" @@ -682,8 +706,10 @@ rootfs_install_sstate_finalize() { # - after building the rootfs, the tar won't be there, but we also don't need to unpack # - after restoring from cache, there will be a tar which we unpack and then delete if [ -f rootfs.tar ]; then + run_privileged_heredoc <<'EOF' mkdir -p ${ROOTFSDIR} - run_privileged tar -C ${ROOTFSDIR} -xp ${SSTATE_TAR_ATTR_FLAGS} < rootfs.tar + tar -C ${ROOTFSDIR} -xp ${SSTATE_TAR_ATTR_FLAGS} -f rootfs.tar +EOF rm rootfs.tar fi } diff --git a/meta/classes-recipe/sbuild.bbclass b/meta/classes-recipe/sbuild.bbclass index bcef4ca2..6db29251 100644 --- a/meta/classes-recipe/sbuild.bbclass +++ b/meta/classes-recipe/sbuild.bbclass @@ -7,7 +7,8 @@ SCHROOT_MOUNTS ?= "" inherit crossvars -SBUILD_CHROOT ?= "${DEBDISTRONAME}-${SCHROOT_USER}-${ISAR_BUILD_UUID}-${@os.getpid()}" +SBUILD_CHROOT:unshare ?= "${SCHROOT_DIR}.tar.zst" +SBUILD_CHROOT:schroot ?= "${DEBDISTRONAME}-${SCHROOT_USER}-${ISAR_BUILD_UUID}-${@os.getpid()}" SBUILD_CONF_DIR ?= "${SCHROOT_CONF}/${SBUILD_CHROOT}" SCHROOT_CONF_FILE ?= "${SCHROOT_CONF}/chroot.d/${SBUILD_CHROOT}" @@ -146,6 +147,13 @@ END EOSUDO } +unshare_configure_ccache() { + # ccache must be below /build for file permissions to work properly + cat <<'EOF' >> ${SBUILD_CONFIG} +$path = "/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"; +EOF +} + sbuild_dpkg_log_export() { export dpkg_partial_log="${1}" @@ -154,3 +162,17 @@ sbuild_dpkg_log_export() { cat ${dpkg_partial_log} >> ${SCHROOT_DIR}/tmp/dpkg_common.log ) 9>"${SCHROOT_DIR}/tmp/dpkg_common.log.lock" } + +# additional mounts managed by sbuild +sbuild_add_unshare_mounts() { + dpkg_prepare_unshare_ccache + + cat <<'EOF' >> ${SBUILD_CONFIG} +$unshare_bind_mounts = [ + { directory => '${WORKDIR}/rootfs', mountpoint => '${PP}/rootfs' }, + { directory => '${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}/apt/${DISTRO}', mountpoint => '/isar-apt' }, + { directory => '${REPO_BASE_DIR}', mountpoint => '/base-apt' }, + { directory => "${CCACHE_DIR}", mountpoint => "/ccache" } +]; +EOF +} diff --git a/meta/classes-recipe/sdk.bbclass b/meta/classes-recipe/sdk.bbclass index 16165792..7a8d5ff4 100644 --- a/meta/classes-recipe/sdk.bbclass +++ b/meta/classes-recipe/sdk.bbclass @@ -74,13 +74,17 @@ rootfs_configure_isar_apt_dir() { ROOTFS_POSTPROCESS_COMMAND:prepend:class-sdk = "sdkchroot_configscript " sdkchroot_configscript () { - run_in_chroot ${ROOTFSDIR} /configscript.sh ${DISTRO_ARCH} + run_privileged_heredoc <<'EOF' + set -e + ${@insert_isar_mounts(d, d.getVar('ROOTFSDIR'), d.getVar('ROOTFS_MOUNTS')) if d.getVar('ISAR_CHROOT_MODE') == 'unshare' else ''} + cp -rL /etc/resolv.conf '${ROOTFSDIR}/etc' + chroot ${ROOTFSDIR} /configscript.sh ${DISTRO_ARCH} +EOF } ROOTFS_POSTPROCESS_COMMAND:append:class-sdk = " sdkchroot_finalize" sdkchroot_finalize() { - - rootfs_do_umounts + rootfs_do_umounts_priv # Remove setup scripts run_privileged rm -f ${ROOTFSDIR}/chroot-setup.sh ${ROOTFSDIR}/configscript.sh diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index cedbb82c..0f35a7fe 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -69,7 +69,7 @@ KERNEL_FILE ?= "${@ 'vmlinux' if d.getVar('DISTRO_ARCH') in ['mipsel', 'riscv64' MACHINEOVERRIDES ?= "${MACHINE}" DISTROOVERRIDES ?= "${DISTRO}" -OVERRIDES = "${PACKAGE_ARCH}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${BASE_DISTRO_CODENAME}:${BASE_DISTRO}:forcevariable" +OVERRIDES = "${PACKAGE_ARCH}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${BASE_DISTRO_CODENAME}::${BASE_DISTRO}:${ISAR_CHROOT_MODE}:forcevariable" FILESOVERRIDES = "${PACKAGE_ARCH}:${MACHINE}" # Setting default QEMU_ARCH variables for different DISTRO_ARCH: @@ -148,6 +148,10 @@ ISAR_APT_RETRIES ??= "${@'10' if bb.utils.to_boolean(d.getVar('ISAR_USE_APT_SNAP ISAR_APT_DELAY_MAX ??= "${@'600' if bb.utils.to_boolean(d.getVar('ISAR_USE_APT_SNAPSHOT')) else ''}" ISAR_APT_SNAPSHOT_TIMESTAMP ??= "${SOURCE_DATE_EPOCH}" +# Rootless build execution +ISAR_ROOTLESS ??= "0" +ISAR_CHROOT_MODE ??= "${@'unshare' if bb.utils.to_boolean(d.getVar('ISAR_ROOTLESS')) else 'schroot'}" + # Default parallelism and resource usage for xz XZ_MEMLIMIT ?= "50%" XZ_THREADS ?= "${@oe.utils.cpu_count(at_least=2)}" @@ -203,6 +207,7 @@ CCACHE_DEBUG ?= "0" # Variables for tasks marking # Long term TODO: get rid of sudo marked tasks TASK_USE_NETWORK = "1" +# nested namespacing requires this as well TASK_USE_SUDO = "1" TASK_USE_NETWORK_AND_SUDO = "1" diff --git a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc index 711739d3..a2e15627 100644 --- a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc +++ b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc @@ -162,6 +162,8 @@ do_bootstrap() { line="[trusted=yes] ${line}" fi echo "deb-src ${line}" >> "${WORKDIR}/sources.list.d/base-apt.list" + echo > ${WORKDIR}/mmtmpdir + chmod 666 ${WORKDIR}/mmtmpdir # no need to sync /var/cache/apt/archives if base-apt used syncin='echo skip sync-in' @@ -178,12 +180,14 @@ do_bootstrap() { mkdir -p \$1/base-apt && \ mount -o bind,private '${REPO_BASE_DIR}' \$1/base-apt && \ chroot \$1 apt-get update -y \ - -o APT::Update::Error-Mode=any && \ + -o APT::Update::Error-Mode=any \ + ${@'-o APT::Sandbox::User=root' if d.getVar('ISAR_CHROOT_MODE') == 'unshare' else ''} && \ chroot \$1 apt-get install -y dpkg && \ umount \$1/base-apt && \ - umount \$1/$base_apt_tmp && rm ${WORKDIR}/mmtmpdir && \ - umount $base_apt_tmp && rm -rf --one-file-system $base_apt_tmp" + umount \$1/$base_apt_tmp && \ + umount $base_apt_tmp && rmdir \$1/$base_apt_tmp" else + # prepare dl_dir for access from both sides (local and rootfs) deb_dl_dir_import "${WORKDIR}/dl_dir" "${BOOTSTRAP_BASE_DISTRO}-${BASE_DISTRO_CODENAME}" bootstrap_list="${WORKDIR}/sources.list.d/bootstrap.list" @@ -203,6 +207,7 @@ do_bootstrap() { -o Dir::State="$1/var/lib/apt" \ -o Dir::Etc="$1/etc/apt" \ -o Dir::Cache="$1/var/cache/apt" \ + ${@'-o APT::Sandbox::User=root' if d.getVar('ISAR_CHROOT_MODE') == 'unshare' else ''} \ -o Apt::Architecture="${BOOTSTRAP_DISTRO_ARCH}" \ ${@get_apt_opts(d, '-o')}' extra_essential="$extra_essential && $syncout" @@ -226,7 +231,8 @@ do_bootstrap() { mkdir -p ${DEBDIR} touch ${DEB_DL_LOCK} - run_privileged TMPDIR="${BOOTSTRAP_TMPDIR}" mmdebstrap $bootstrap_args \ + ${@'' if d.getVar('ISAR_CHROOT_MODE') == 'unshare' else 'run_privileged'} \ + TMPDIR="${BOOTSTRAP_TMPDIR}" mmdebstrap $bootstrap_args \ $arch_param \ --mode=unshare \ ${MMHOOKS} \ @@ -245,6 +251,7 @@ do_bootstrap() { --customize-hook='sed -i "/en_US.UTF-8 UTF-8/s/^#//g" "$1/etc/locale.gen"' \ --customize-hook='chroot "$1" /usr/sbin/locale-gen' \ --customize-hook='chroot "$1" /usr/bin/apt-get -y clean' \ + ${@'--skip=output/dev' if d.getVar('ISAR_CHROOT_MODE') == 'unshare' else ''} \ --skip=cleanup/apt \ --skip=download/empty \ ${MMOPTS} \ @@ -259,7 +266,8 @@ do_bootstrap() { if [ "${ISAR_USE_CACHED_BASE_REPO}" != "1" ]; then deb_dl_dir_export "${WORKDIR}/dl_dir" "${BOOTSTRAP_BASE_DISTRO}-${BASE_DISTRO_CODENAME}" - run_privileged rm -rf --one-file-system "${WORKDIR}/dl_dir" + run_privileged find ${WORKDIR}/dl_dir -maxdepth 1 -mindepth 1 -exec rm -rf --one-file-system "{}" \; + rmdir ${WORKDIR}/dl_dir fi } addtask bootstrap before do_build after do_generate_keyrings diff --git a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc index aa62b324..054d7fc2 100644 --- a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc +++ b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc @@ -66,8 +66,28 @@ ROOTFS_POSTPROCESS_COMMAND:remove = "rootfs_cleanup_base_apt" DEPLOY_SCHROOT = "${@d.getVar('SCHROOT_' + d.getVar('SBUILD_VARIANT').upper() + '_DIR')}${SBUILD_SCHROOT_SUFFIX}" -do_sbuildchroot_deploy[dirs] = "${DEPLOY_DIR}/schroot-${SBUILD_VARIANT}" -do_sbuildchroot_deploy() { +sbuildchroot_deploy_tree() { ln -Tfsr "${ROOTFSDIR}" "${DEPLOY_SCHROOT}" } +sbuildchroot_deploy_tar() { + lopts="--one-file-system --exclude=var/cache/apt/archives --exclude=isar-apt" + # we cannot use pzstd, as this results in a different magic + # (zstd skippable frame) which is not detected by sbuild + # https://salsa.debian.org/debian/sbuild/-/blob/d975d388a98627a0d7d112791e441c27a6d529df/lib/Sbuild/ChrootUnshare.pm#L608 + ZSTD="zstd -${SSTATE_ZSTD_CLEVEL} -T${ZSTD_THREADS}" + run_privileged \ + tar -C ${ROOTFSDIR} -cpS $lopts ${ROOTFS_TAR_ATTR_FLAGS} . \ + | $ZSTD > ${DEPLOY_SCHROOT}.tar.zst + # cleanup extracted rootfs + run_privileged rm -rf ${ROOTFSDIR} +} + +do_sbuildchroot_deploy[network] = "${TASK_USE_SUDO}" +do_sbuildchroot_deploy[dirs] += "${DEPLOY_DIR}/schroot-${SBUILD_VARIANT}" +python do_sbuildchroot_deploy() { + if d.getVar('ISAR_CHROOT_MODE') == 'unshare': + bb.build.exec_func('sbuildchroot_deploy_tar', d) + else: + bb.build.exec_func('sbuildchroot_deploy_tree', d) +} addtask sbuildchroot_deploy before do_build after do_rootfs From patchwork Wed Jul 15 11:05:42 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5243 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:06:24 +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 66FB6LRa023015 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:06:21 +0200 Received: by mail-pl1-f183.google.com with SMTP id d9443c01a7336-2c7f385887bsf127462975ad.0 for ; Wed, 15 Jul 2026 04:06:21 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113573; cv=pass; d=google.com; s=arc-20260327; b=oSojOtvR8RbJYgHvlNvNsJVTRlCKRatCCS+iUENTU1tIA/cYFxpYM+h0SNsr8v+Y0C MLfPwags+TYqlc4rArCs1pOZrnCJGCdrCxtozHxqNzRtEjzQs1XA7/UrAJB9eriEZMNL 8ffKGxuyPw4Ejx3k+uFCzBZG/Z3d1jKWTE7UR6JM32O5MjYPpoHLl5gUSTnmcCrarBpv mimx14fV/DoaqmtA9KhxZia437M8GB2QHcKB9z0QnwjHX2QEC4VEjyx60I8Zc4Bcvgf6 ktCVBDPeT/edFEMZxjVQhKoHlvjz1r6arxjcgOix4jjQwQlGXJbUOpEsTLNT4pVwgZBP VNMQ== 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=H1/gM4zFbsO4fMqNfQAmx3paIK0fwXOBiW9wBoZagZo=; fh=RCysOrGee5pPRBKQMBfHXWsEYg7/Hl6ntBDh7T111NA=; b=JLKLIaFW91QG2z1koJ3246sq0+1179Kj3KOrk36vJURL5V5El+yYglmnPPgOQrIgmj Snl59Z1OocHiTx9WULqDl0NjetzvoZNZiNqVaeUfo1P5O5viO+l/yOA00gl6agC2Osvg hYCBzIWlCbg3pfoHf6O4r00LmiMV8U+r45DAiVoGEDTxrTpHvXEDzSQI7qsUOPV9N3BO C9535Itp7xTrhWHGhGZIESryFrCMtaF5mN1ZXlsn7MopHY2Yi6MoGMlqYU7Ftcbctjx7 +hjVasR0SQa7xb4s0Khv8IgWyGZs4E6CKTAqgt+cadUjFej8Xd9HKmNMbrdfovsbmQTX RQ3Q==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=udw8HKeB; 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::3 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=1784113573; x=1784718373; 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=H1/gM4zFbsO4fMqNfQAmx3paIK0fwXOBiW9wBoZagZo=; b=h9SJmBSWl8f5aH7vRWQMVcfI2bS/clfNzBCjgbVDEpBf3OQAp3OU6h3YQqhp7dwTop OmZft0csan1ASTVbC5gjR2iLgYnjLMXd5fLtQjhv4OixJPEthpwu9aFwZw9d5LaVSodA VTyZQPWQefq7eqcdom4rBMxKGdydbD1yxBcvs9crXGt9axbEFVwe1DQD3D7AZUWcKaZI EzR7ppJbfcrctGyBOp+WDVLR/Tlg9u/d+Kq1tTC0cxJHLIQt2fLd2iM7CWQq106a3Alv JDQVZzO6/dGxZq91qBxX/AN3xQkPsGmQGCWv64+uZHWasiEJ8OxHgZTJocFgRKo1Lte9 gALg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113573; x=1784718373; 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=H1/gM4zFbsO4fMqNfQAmx3paIK0fwXOBiW9wBoZagZo=; b=LeouuOJdQbpoNnN24Mmq5CjOU1V+f1WN8GowBJDfdLzbdklQupxe6elSUy7oaA78+I dyN9Pc07BMXN+nB6i7DZ8eLGnQnzgvnEjGObR5bxGlPn0w+fjIXXm/k+AfUIDT+ZO33J CMwsRa8zvjnQZIMsoJrdDmFxg8jBdEWgToy7iRAtYqvkEzzkP1v+prIvBZXd8ZzFu1qr Iq4d/3oFllzW5QsOfRkqG/13cAbomAEK/GZ2FoWxAjSYLqBB179Vd0bDZsdNyqhsxwNY 19M6xdVDJ0lGK0mzebd44rGYtfXL9GmrMr99BR1tZQA4sNkW1hfo95AMXpVK3qosh8Di NLgg== X-Forwarded-Encrypted: i=3; AHgh+Rrg/T8JhwPSdAWbN0lwR6QQN4/xkJsA4ui1+WzJdAwEhljt+KRWRwrDAVt3qxsZKpS/7qZBTUI=@isar-build.org X-Gm-Message-State: AOJu0YxWdVSUbxGRPGf3+auFdwHp4Yef+pnPNQuTvBWRsCtmZDh9Zjpc nj7TLE1cUUWvADXKGJKLAEB4J96y8wRdO02OFsp7J5GewHaQdbe5+Li8 X-Received: by 2002:a17:903:19ec:b0:2c2:be43:39bc with SMTP id d9443c01a7336-2cf03cef84dmr21930195ad.22.1784113573325; Wed, 15 Jul 2026 04:06:13 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPTv+MsnvZdXfQgPb96V10ysXawXN16ajG0YbzVBmg9jjQ==" Received: by 2002:a17:902:eccd:b0:2be:fea6:e21c with SMTP id d9443c01a7336-2cf031215bdls12921295ad.2.-pod-prod-06-us; Wed, 15 Jul 2026 04:06:11 -0700 (PDT) X-Received: by 2002:a17:902:ce92:b0:2cc:db71:4db5 with SMTP id d9443c01a7336-2cf03d4f0c8mr22880105ad.37.1784113571583; Wed, 15 Jul 2026 04:06:11 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113571; cv=pass; d=google.com; s=arc-20260327; b=sodW7dKrW2sNoaRdkDf5Q1kX2RdX03vn0pQOABpxW7Iq8xrEn20V6rsBmG39ielP81 h+L879dEaUZE6+LrMIbJ5R2AKt1gf7ekT9bUmvL49Q3Q6OrkyJy9hTF+6Vmd1IcjWXB0 9iKewzCOs+qx2YXsLU77hWD4mAU9A8xyZvkgc4jB80YCAz66gumIKxp6K2qBE4mUDcsq JZfFmI9WaZkksmLpKVacvD7orOsYQ//W0984Ub3nf0WAPkUW8bvIb23dAPQY8KoMuPkd EFxo5R+k3XtWZCgjTKX+tft/7cd+/E0JttDVtOdIQNGXVazS4VZvmndOPWvHIpztVnuq GKkg== 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=WrSupa5Ua7sDgGewyzsPqwurv9OsmMjTz8Q2jRj7JlE=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=FtDfdVIs1hC5gOd8Hz7QzSf/DGMWvR0AymU0vdh/P3uVcYHySbYHsJz8yCfNjxEMp2 NL1O3rRyvY1FY/JKPrrSARFNM77pHITeuglc4tSfoP63n26BWM0OFSClznmw6X1UytZv U2AXzpOVntmwwR5nwPFOSqU+GIe1U9s0Q6clHZ6F4KuOoiLigY2CSqOoa+hZ5gOjdTHE 4q1XOP1ufp6DsSMxxQ5oYsyRBUK2DhEWTFRGL6K2vROMQnX7r7kZWlLUreEMKvkB1/0n 93RrI2hR1mfn5LOBT4dfKgToDnme9iG90ssW+DfBqvv13d/09LmVQToPjHU/Mrol8Lgu LDGQ==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=udw8HKeB; 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::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c201::3]) by gmr-mx.google.com with ESMTPS id d9443c01a7336-2cf10489ad5si21625ad.8.2026.07.15.04.06.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:06:11 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) client-ip=2a01:111:f403:c201::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rlyIjQHQN0y++O9CIlmFVKDs9OpnyClhqmgD9mDo4mPxBRGtOOSedPjKJclhpmgh0mQMktrTKdLuIcq20cjZk1NBrAzaOggp8MfPI2bpmJqeJkaTEOL2T4cVoLZUY02hr+c1xilTXy34qM/Z+KvE+nmIT+IIbQBNEJn0WTHHV/qcd4CzLJxaObcfzI6kvBYqTDXfrF1xPI3m1kw3SkFq4y2hVmQgHqTfg+mv/nFPnq7m9FyCOiXppf0l/WcX4PWXTUj3Daz+73q5IM1zfS07YZfNdZxQzA2ifVBWakbIWh+vPoDXJtY+jXSiHqIBWETTT0ITwfqZ5Zs0rHbydZsgag== 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=WrSupa5Ua7sDgGewyzsPqwurv9OsmMjTz8Q2jRj7JlE=; b=dpwj6bF5h9h8PmQwuOLAaux7yo/Sq3Eo4pTMH7wrLOmCfKTaXADqHGPZg3EidZ90KI0crc+QDXW8sFE2SeE2oxwl6/o6QxdRWjGSshhJXS1DOALRqJtR6/5QFRsbRgyCs4AV8/VoyL6YFILnlTuS1VojMBOnP3eFpkgTkubfSAEZGuZuryOAv5qimDJG0XEPHOSytZQNs62xnGCW/cw8A3fW09vsuPR53Y+Uyku+8NSuFVzfbNS+e+Tiojf0iRnSmJ8Y1Kac3splQCIAAC+mwqE7M+/HaNsZcNucTyt9hBEueMgFTXEOLRqz8rvATEHFIr3s+gLZxRIuAnrAW1Gzkw== 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 PAWPR10MB7915.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:366::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Wed, 15 Jul 2026 11:06:08 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:06:08 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 11/17] add helper script to clean artifacts in build dir Date: Wed, 15 Jul 2026 13:05:42 +0200 Message-ID: <20260715110548.3605767-12-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:99::13) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|PAWPR10MB7915:EE_ X-MS-Office365-Filtering-Correlation-Id: dcf2f172-92e4-4618-c44d-08dee2611212 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|10070799003|376014|6133799003|56012099006|11063799006|10067099003|3023799007|22082099003|55112099003|18002099003; X-Microsoft-Antispam-Message-Info: UhZhTp797PsrZ0pdzhlwe/YGxi7iRCmHfkDgTet28ZJya4vEmY2jDrF46j55dYrkBRd7c3X3ajRx+R/6tDgSo6yaDJBDgg/4Iqm05ZLGqtiE78iZEut1qqBNrE/bYSogcBT/PGP0aaawkWEB4BHvgrfza4S5jGDqqqMFuWqT2l7ZwY9+OoMrJHaPrj6Pbp5WOsO7cVDgpuwMqa4ZMajHwXwoGsX8BA49yp52PdkUR3HscKnPDBIV05H9G08Kn1uvxbehOqwQC2h/BCqZ+V1UvUVdqcjP0vhl7wtkoPPRQJOGagJSUJfh0ZMnxuQUyOKSPNb16D/fZgWrY1LxGAqBP4f+lXIBQ1cw6zYzhN8v5b8wbLi9DnpPXT+T/k7YZmnTWxp9kj+GYaNY4ywfcVfHAypuhbYeUrghFOS5oYFUxdz9rbUEkt34foFInNK+c7kGMSv7lzPs7V9YGeCsl/3gp7oNKz9+5PlDW9Xn2luWhYKDAun0reNSQ9eJBNSlvr6Et+oo9IPn504EUlc8UTSPnRKrrvIHOyTjv0Ba1/b/X5oKM/P+Pbm+4SXX7+i/fCJpda24tGsRTfHLp1PwxiohoOTLvXc9nP+mhD6qoBdRRsnshe1vTV8Tc2b29mC/BZQcxSMtX8HQBtynpVOYRbsCPEBXdybKqFXeF+ipDZmXaRk= 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)(23010399003)(1800799024)(10070799003)(376014)(6133799003)(56012099006)(11063799006)(10067099003)(3023799007)(22082099003)(55112099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: VBlRtkNrkf3wp519X6BHTGydYS5ArT5+PnasADN7hkB51K5pMJkpnUMmYV4GGSQZ1pa6A9hhyPFvarBsIVFfeyvPaoOZiFph9XA+mZ6sjLdrV/bjzrLvktxP3S4h9O78/0J2XUwVYfaURso6ve4lJkKV/qDVPB+U64p2ke5Y+zMowxj8zcZgHnkj9yeJfQ6nQYvProNs0OtYY0BBD1CkoKw+Tjx0m8T9sFsc6/4LQE+eS8jHj8eGgk2lhIGYS4MfS2hDYl2gd5uOYWHsC5TRUQVoeAvbCBhMkHHKvP1WZlptafp4nLF1R8eVguKlBqOJIxOiHuspk8GGLlltpW++eojDVmA3otmbAfZLfEYmti0NIYnKUY0dIwxxczkJOzivP6UREaf30cVn84BhJ5/WefpI77nfO0JuPo4ISwjXlO5GwBapGuy57SYUyzh5ac9hESJiTm4/yNTmxX5QbnymFQJqU3Hy6o83NrD6sEh29bP14hUTwWmEFo9wPpidAHMJaU8Ac13kxySn7sb9bT1xBLm2BjI2EtMQkL21SDWbCWs+JgNJyP0XncaEcjR5s+NP6zWvLKUVxCmj/6QoJtbO1rhJLGVwQ+Bv+V7nw0kKMjL+scne9Z//uYLGWXaMHsMy98NNffF7V6h3sySojKZOtFtfVVp4gICufS9cwaetMMdEdjseXNSeayIpY9coj9TScinSWn7/RiREK41SSFgoc6y8cz8y6pbI5TchBGLshxQJeOnxRiXoJ07HrwWjh9Q15tRjlmrzQvUV4L9CN2f/HDZ37GZFAJLZF0kg9mG3gvVeEl5BC7TEIo7d2jRT/xjznEMo5RnOs0eF3fza61v1JQd0kebF27QbiHpwd6qTDg68B+K/P+ARg1hEUgtG4X1h5KCZ1HKSbURHt8YSu9TrkUOLlBYulXmq58VxNOa/nxAUrqLsXSm2HjrbF9w9ZyVjmwzUA4II+epkvXS6jAZcR29VvJGe8W8iJV/sB6/Kr61S8ODO8uELdcO0rBwHK/O8y45bYycWt+4sWDDZQLYzxotRdNEbWynzKiTkA5KSrtsJIEQYP1SsRKGcjaEEzTRzIRsmcsf1n33bBIJudDPl8lrm6AXF/ixbhyMUAO2gGA8vobMXGKVa9OJYTdY/vFnmvhcJQElrOWqu0o+Use4kTTQ+EdrUkT/qXtqDz63wITO1jOjdPQwuhzpvPjfhlpq1qdPhQIh2B3Wh+oEg70ztgQ7yUyyON+p5EyijvV1k9v9KYhSpOh5dqFA9jIQGse/i8HBV/3rrPQysmaYc0P4lzv6fPIxQtvolDyZGR0pIDtoGKJ2ptTw7MRIdW/3nFreojuIE2GiKDx3gqxRyMEX9zQPigEL/9v2Dwewjycn3/4tVWpDDtwdrKxleQ2Hy55Dufy/5gQfXMe2HWCh0ZAPgKG7NXhpkj+Wn5RFH9RJtNAqRagdexIscyJpW97B16X8rEafPD0nl7x4klnxdvit4E503s3rqxROkH8rSxah5LBwkF8f/hHXfOzTZpEZb5XtMcH1ZrH6qXaZ5ROJpV0Q3LOD0rZpxhrdx3WTdPGZ83rUlPnj5l3HwiKlU4Glle46abRnsssOkq3dLuVSIyzlep8oypkxGUV7PfrtIn/1Zdflv54hwjpFgc4SwgnkYWr/OlO3gyXNNRMpIzkh0G9H0SKyVcNjfIvao5XsSBm7KcbFju1xFF5DSYvVI46BMqLpDyEvaW/rOan0YHh8F37QkigtYC+4/Eixz/7RW9bv8i0h3d6SkJKsVSLCtRgM1Rl6CyZB7TwIl X-MS-Exchange-AntiSpam-MessageData-1: oJtGWjRE9gwiaE3f0e8HzB+jyyV9cSmOSK4= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: dcf2f172-92e4-4618-c44d-08dee2611212 X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:06:07.9997 (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: 2O4CGJCCpzUVVU0VGNnbrTyNzSJ6b79mBM3nqpZ6CtHqG7PK0d7edl0KJET9FhmYyz8FUSlMq8i2P4jp243TvpRvr5fxJ8RkR1BXSzMk284= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7915 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=udw8HKeB; 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::3 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?= When running in rootless mode, cleaning the build directory from outside the build environment is a non trivial task due to mixed file ownerships. To simplify this, we introduce the isar-clean-builddir script that can perform the cleanup without requiring root privileges. Signed-off-by: Felix Moessbauer --- RECIPE-API-CHANGELOG.md | 5 +++ scripts/isar-clean-builddir | 73 +++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100755 scripts/isar-clean-builddir diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 6d5b6ba3..dce28af1 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -1123,3 +1123,8 @@ This internally switches the chroot mode from `schroot` to `unshare`. When using kas, the `build_system` needs to be set to `isar-rootless`, which currently requires a development version of kas (for details, check the kas mailing list). + +Note, that the build dir may contain files that were generated within the rootless +environment and cannot be deleted from the outside by the calling user. To simplify +the cleanup, we provide the `isar-clean-builddir` script that helps purging +directories with mixed ownerships (without requiring root privileges). diff --git a/scripts/isar-clean-builddir b/scripts/isar-clean-builddir new file mode 100755 index 00000000..6bc90b1d --- /dev/null +++ b/scripts/isar-clean-builddir @@ -0,0 +1,73 @@ +#!/bin/sh +# isar-clean-builddir - Clean the build/tmp directory +# +# This script removes all files from the specified directory, including those +# owned by other users (which requires elevated privileges). +# +# Rootless Mode: +# When --rootless is specified, no privileged commands are executed. This +# requires that the UID namespace where files were generated matches the +# cleanup environment. When running from a container, this script must be +# called from within the same container. +# +# Part of the Isar API. External tools may call this script for cleanup. +# +# Copyright (c) Siemens AG, 2026 +# SPDX-License-Identifier: MIT + +DRY_RUN=0 +ROOTLESS=0 + +usage() +{ + EXIT_CODE="$1" + SELF="isar-clean-builddir" + printf "%b" "Usage: ${SELF} [--rootless] [--dry-run] [dir]\n" + + exit "${EXIT_CODE:-1}" +} + +while [ $# -gt 0 ]; do + case "$1" in + --dry-run) + DRY_RUN=1 + shift 1 + ;; + -h | --help) + usage 0 + ;; + --rootless) + ROOTLESS=1 + shift 1 + ;; + --*) + usage 1 + ;; + *) + break + ;; + esac +done + +[ $# -eq 1 ] || usage 1 +if ! [ -d "$1" ]; then + echo "error: \"$1\" is not a directory" + exit 1 +fi + +if [ $ROOTLESS -eq 1 ]; then + PRIVILEGED_CMD="unshare --map-auto --map-root-user --keep-caps" +else + PRIVILEGED_CMD="sudo" +fi + +if [ $DRY_RUN -eq 1 ]; then + echo "dry-run, not executing" + DRY_RUN_PREFIX="/bin/echo" +fi + +# clean all files that do not belong to us +# shellcheck disable=2086 +find "$1" \( ! -user "$(whoami)" -type d -prune \) -exec $DRY_RUN_PREFIX $PRIVILEGED_CMD rm -rf {} \; +# clean remaining files +$DRY_RUN_PREFIX rm -rf "$1" From patchwork Wed Jul 15 11:05:43 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5241 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:06:23 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-ot1-f62.google.com (mail-ot1-f62.google.com [209.85.210.62]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66FB6LrC023016 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:06:21 +0200 Received: by mail-ot1-f62.google.com with SMTP id 46e09a7af769-7ec629d48b4sf25210a34.0 for ; Wed, 15 Jul 2026 04:06:21 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113574; cv=pass; d=google.com; s=arc-20260327; b=q/paJ6B90jT2yuaYj9QqLrega4AmlNOnAnZFdwvDWLTB5cAe4Py0ruSHGc2WrV/0Wv +fyrvclM2AsuHQKqVKfQD3Ba34P9ozWKS8mgOJB5reBgmT4UgJLnXeUnFqotgv/vAzbw 7wHLAOBTeXWOWxVklinarNQyjQoa8fw6grwx2ySVj7+OhnsViD0X89xFY0jl5Cf8l1iY J2jTZVRQvBJDF3qNbxmuZxw/Hc8SNbgHGnwX7Ow5hofZGIA+vUrKLAhArwghZKpEko7q ZA2AFvaHnPt6/3nhhoerG0a90Chcutwsi85WBFZVdmYX7q9iO96uM3LCnxVX5H8moJ5q 7Lwg== 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=h3IxP6sTlbI1WeeVdqHcrcvhvifWo9hscMbjRrBhxRU=; fh=1O5D5xfqXT+FT151Xm194xFpyCUbPK74SCwTReAFluY=; b=RxxZUjVF0JNztVcsQ2sOZ78UxnQEv6zkl6jy0KDlQyc6/L5GioBxvEt5rwZgvgYPJS JIozxFNRsOzyzOhpAucNTfS7sg7dX/EcRlPsdoWfIqxLMNx5VkU403CW9ycp9Uav8wnm UfNo/vA7oBE5hSL91l1NC+n3NKOZwkmEp8l8Geo64JX694ReTgAFieeM7ODScFDpau7K 8LpoZV26TQAe7bLwNG8JdA2Uqa228NrBkptIz2+7TW6cquyohX95BoZlKP1s6oXBBPpk 7a866kOJc4AWkyrvlinNRhY4q85EK846p9BTHzWa8go/6tjK1mendqf0+IHfpkB+4dOt 9tHg==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=eyzqd964; 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:c207::3 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=1784113574; x=1784718374; 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=h3IxP6sTlbI1WeeVdqHcrcvhvifWo9hscMbjRrBhxRU=; b=Sr+LsPe/MHGLPE4POyAWg4IqFV4efg7RLMXbqJThPmQC8xPunEURuUOg/oUtcpvK8A lKvW4zovPIMhkapiwZXsUlLebHXvmTKIruE1AUcZxyoMT2rNsSNtjCKCYOFyxxQdHGgH 8vHyf6UP/jryeagEixD9mooS/DmsLCrBb6fPNYrzgLTlHyk8hlbr6NIn4HGeIOjun5ua r42ifhjagXmP2TSSnobG8ysr+W1RkzdENtq+2O9mpw7ruhG/0/jslmCWH1Ygzd+Vd4SB b3PaaDkwufLLDIMxlFMtzKdLE+B1zG2yS8/2eWSYZr7c6Ho8ndoaCApaZSvK28REwu1d aGvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113574; x=1784718374; 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=h3IxP6sTlbI1WeeVdqHcrcvhvifWo9hscMbjRrBhxRU=; b=BzItf9Ffq9golblJj61bfz+B/q/2bD8NkKSyCvhRwWBv3LPHDrZ74VpiO0IQHqAIbK H2nlXsD9to5Az43i7Gi4yRUp0GhK5nFkyjq7eAGd4BwqpdiZCBcNFT6P8c3OKYZUALHi tH+iYew8FG0/tQSVqp1qQLM5EGt03Zt/Al0aT4OcjNbrbZ2CZvAm8dQfSvLlGaK11TzB YUA2/xLAgKSAK5I+0u2W/AuFkfY0SaJheWNIBRiiV98zM27LkOJhXX+mT5gh2cMpjLBU z6SOogvhcvo2vPOXKnI+AUCn8SYdJBzF4fiqNYFL3oQYiyONHS9jzSKqr6xQ+tdBxi/W DKBA== X-Forwarded-Encrypted: i=3; AHgh+RqYW8e0Filh6dEoS7cW987R5mL98P6Uerq6lc0ebfQg/Il6lWVzy+XrL5N9oaP87oE3UHdRlrs=@isar-build.org X-Gm-Message-State: AOJu0YxGnpCxbuBnSWX7n40kXcxd7Oo/dhsT5M37Fy8aTZ3AMzksJPBv u9mH+uz2j37MaygNoZxvFQziEDp2hch8/IG6Bo74sgMd0ESVCzqJwe78 X-Received: by 2002:a05:6820:f022:b0:69e:3c79:6e7c with SMTP id 006d021491bc7-6a3da02b60cmr1383934eaf.46.1784113574315; Wed, 15 Jul 2026 04:06:14 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPRe/dAKtAhL8NvanP4naXpXqJKeD5AbKnjHWVuPmFYz2Q==" Received: by 2002:a05:6871:2902:10b0:456:2d5f:e72e with SMTP id 586e51a60fabf-4562d605804ls188505fac.1.-pod-prod-06-us; Wed, 15 Jul 2026 04:06:13 -0700 (PDT) X-Received: by 2002:a05:6808:1510:b0:495:db8f:ded8 with SMTP id 5614622812f47-4a495e204edmr1460086b6e.9.1784113573619; Wed, 15 Jul 2026 04:06:13 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113573; cv=pass; d=google.com; s=arc-20260327; b=NDiGUxDJtOGTJAObv64r2ty606VnCsy4s/PFsx3griPA/BdpkVJJgtS665LlEjbpBm xhKx3YSQCO6sa57i8MC+DFq8z2HBbfx3OT9OTUsAgZ4AdxW0D0CYxmAPVvxLM7IJBli9 UQuSIlRK5mXF1tjammccdcF67ygM2OK60JkYhorDRg/X83lr8vR2ob2K1Mq5cP6l7DVs OtwvWjMcG/sIsFFjv5BL2YK+IpCxDsbpns2ZPS0Ho7zpESG5EhRx0cEUQdul7Ms6jI+x BCG10+nTQDOf2C2u+6jwK+avej92vA43FIaXjLf2Uo+zVATq63DoQ761n4S7cPye/AJt r1sw== 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=X4goXbq1/2EOcmVjOSrmuagScoYi3knlvzWKhYvAEBg=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=V79UbXxAwjQDaXVa/m9blXXog7Ykv51cwte8gR4P9zwzTIlvEASIFJSsTsWTFFC8NV 4wIw4/QlV1NNNKtK9ASqlsVMU4cLWAgI3UxY3n7S4smhFnUo6849ea3lQoKgYiIGR9lS qMCFW8IExzjFhhrIwfxGxv7g6Y6fpyI0n8rHNI0VJ2XvB5KBckf9zhvitJhLm1KdgaXZ kARx+Gw6AkvdarpR252JoeqvSkc0wj9yb9/K+6VO8ZIa9FFBkZMX3FYuzFwQv6fVLExH XvAB6rpswp6rCUa5jfOEXARRj7YDM3q2u6MrOOwLdmSN500WuGNGdz3rBxHJulW0YeiK ZUvg==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=eyzqd964; 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:c207::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c207::3]) by gmr-mx.google.com with ESMTPS id 5614622812f47-4a1acb73834si829433b6e.2.2026.07.15.04.06.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:06:13 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c207::3 as permitted sender) client-ip=2a01:111:f403:c207::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CXZce+EpthOiSmz3eShdvtM/39c5uMDFDtD8Xgy2lBCAt3JPXKl//48D7P1x6SzqnoV662RWE+Z4/BtcLEJXKjVzr70kjHu6CfFkZlcBk+Nbv4pfES2vlXiUbpsHX4I9r6rTsWX+MDehoqYoKrW/ikBpk7BJ4yOU2iYNWi1bxcYr76YEr+Cdty8BiA8NnBYVO4npDBDEc9w6Z4ti2bkbAKINK8fPp+9wHQJaUCRHf2vIIdxJ1ZQa0h9KX5EdWi8scsxcb37+3k3MM+Cf+tRxe1brJgpV13nAOaTvfusekInVIGvc6n1VMnHTdLdGgw1ZPZt9E7+iKDzGQ/5rGKm1aw== 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=X4goXbq1/2EOcmVjOSrmuagScoYi3knlvzWKhYvAEBg=; b=mJ4LXa/1velFmxh6vpdOfAuOLXUyLsMFKEPR2iol2Mz7P8E7skrwLUpS5Q9GGnFLl/1G0LIhJZ4vVefagWzbLew6r7eSc/DLgMg2YSzDctlMMo/v8wrjIC/xqej3ZQwmk8K9TYoQBEvBnkaQbSjp6hW8XbSsDvNowqFnwEi5/+QQ6NNLEA3hRzL+Gf7MGqPDxDw7hHMRAe8IjWR443OCuloM3fmsvwmhKGDx451g5DhJXbZko/weGblkeYhEX6M1NW6Ai7f3VgZOOmgm+yagCYSr+wwSOkAxjjbRZ77oD6CgbCvCRb+/+ZOXjVBnczAFb2LbpZmKFmEKYu+97q9c1g== 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 PAWPR10MB7915.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:366::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Wed, 15 Jul 2026 11:06:08 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:06:08 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 12/17] apt-fetcher: implement support for unshare backend Date: Wed, 15 Jul 2026 13:05:43 +0200 Message-ID: <20260715110548.3605767-13-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:99::13) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|PAWPR10MB7915:EE_ X-MS-Office365-Filtering-Correlation-Id: 314d7bee-040a-495b-35fd-08dee261127a X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|10070799003|376014|56012099006|11063799006|10067099003|22082099003|55112099003|18002099003; X-Microsoft-Antispam-Message-Info: Dq7jLHrGblxJPJtE4/Kn//BAK2l/i21bN8Wfst1PuzUpLUlIZbHtsGPzi/+YOwf2a90WtwbZ5HVfJ7pHkYhh8yB198Efgn6cJlvwjZfXdsIWBeK6AiTUSSNXFqILYSCoMDKURAxqNWrp+LFlQdWxvyyPoMU0SUz9thf6OynwfI+tAnX75fWLHF8TaJJCTDPh/NVXkqwJ0sLe+qe3rHfWKcl5DxxBqhUBWluEGj3rNwQn46F+vDg8FZRboEUG3FXVMeLEnefahZYAPhzXGCBQg8zL5gEazMI5IzX6gPS8gjsh4WNhc07p1s7seB1vIpkgRI756GFDoZ+cw9q0D9hb46kf1Y7R6GY1jif5bTddBMjuQwmziFE4yRxpsofXGfpnb3ied6Yig+wdiCgMud/npCKME9zVJVYQzVxvoMe0dKNbU7X7eAy8zDFvQkiTEgf/GTbhwFJ4F1Zg/k1JvCUScGbx4HNSGcZTjJLghNIlro8pmGGKcT7ougMulMHrJTYIc3wx1vqyZJQ5CD0rfFr/eEPNE+bhG83yM56Res+4d8v7iOUyrhTZeqUv9IDevh7RH2FLXD7Vm8juesbDV+vX5kVCZyoJJ7piJre/uRFxrFTR/cC8HrIcqGIZT3O3cCXrsvZekTmOq2IcFfF0lJFC+GOoJGHeWKKffIGJ1I95A3U= 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)(23010399003)(1800799024)(10070799003)(376014)(56012099006)(11063799006)(10067099003)(22082099003)(55112099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: YWnqqV7FyhJkZ15hQtm7wX0CZcuHbgtW8REK26aMhtSCasTX/fJvu6hbhEO6qoWYXwbsUQb0/Dj6qQHzOqx57mIPenzJqJkA7oQeEYb2sIZ3ysB7KNKCUDqkKprGx0igsJnp/eXRsooBTV70E09R8KItJETQWXg+WJUo4tqf0aHwJBs/621tQy3sfBowFd8yGbHu2Fj/CnP7vBg1aEEKXGk3Gx97aEgjnFugdHeFfKDohian5Xgj2xmBWctk3he1JKnP5dn7YZMYnw0Cr0Jf/CDczGBRNpbUpXuwpMsKNJ28KQ7S4w47PqJHBAOpQCigbLF4kAguxSWAZDTxK6fSHcZD5I6k9x4xUOBNSGaLjQk3Z8UqtrQCr85rOOEPHZlB9JUPj48WEZ/v3xrtEx7oISgQt6+MJy334JgKLzxWzQ1FTOiK3n97yAfLiejk2+eVpLRX5Ep8scCrqlC/EIGlrP6fyCON5TKmiqnPSgnCedriVyxVkAXMwTxK+3sRvjyu477Z7oc+WowKbSwZzhI6ZzIahjooO+2g6+vvPhCtSOctIXwI2HJzK4N5kHCpmJjV5ERRJuZRmcbzx2KyD1Q6q5Dqd6odTt3LLYOscHfUzoymGNzF0Y/zEFbPdCTg2n5SiQ5+fvbDSoHxE/yQceuj3KeAfN72nwdvuBED8nHap0vI9bSk4dZpNn8LcOk12/cGwkB61RDbjGRoGFO2UY3QvVDw926FjIZFdLGEiBUGGvHXO3XB992S2uLXqgULaXLef/6/Unw49FaL7P0qFQmm1Kny+n2ZUIjkw4l0NcPWLTt78KiKIHWy09dHoifPZKkzPu9OgoOGKoCmy9gwJ2wOz6tzO7AMhaUx6Mwae6OWnqbSGugoM4RT3ilyrqEdeyWUdTYI+kn1vgdoaGW/7e6xA1dg6l3/wY1fIMYqQwwujKMWaiUd5rnajUEpFvaWiZkwGi2lHQK5WMjvcma/Sw9/Z53OyFhdaWcljW3yinjzgTtIdhMBmDzUdfxVoFqnVTtmOXG9HeMX/7M/J60oY1V3g+5tZ9G+xv+HUa7UNE212c7be7asJqjJM/hxtoiTOQ92zRY1E902lHxGU/OEN0zZCC4qirGET/HCGn1kypALCvRh0svZl6snps+VPrM2CFO5cHDIFVsJ4Zt0D40RtRF2XpAeqAh50If527u3jYQQ1g0ZWJw/AKwcx/TJC+ZV0ZgJmPbqmYfkuSRD7ZRF8XxwODssYOpsjKF5WS+i1NuMa4BZ+Kyd23xBwZuotKw0r/suDcRYygwa4VsOrpJea4fkKWG5q8XGFk5GSz/wgoh6hfrV8yt8X+vRmQtob+i3m5jn5QBL2o5ecunIYh5crixy5aXbMayj70ldstD8/6koAkT4yLpokP4BuplZmUMd0/pWBSrXmMVJ10IdXQxPUsFWzz/JH91Y0v+ebxXH6dlHa6Vx9ikPY5+8Sb+CiFA8S1PCm+tvWE0yIpBkw1TZYxrqPoApuQfjRA51GvC6iyB0QF+jqjI5vwEAywtxvDSI1P4MPdQv1Wk3uvcYNL6MiKukgm3S4XmXOPgTCJXoeGL14PMm3QLvDjqGXXNprje3kkpCmMyRDa9zVHl7WPfv//FSjZro3GlF1T7LQDMnGEhAmnD8tecFJ/VwgxozflJvYZeRaLhgE9r+9SMALg3duEgU8IiLEgyExuFn2RNx1AnYQ8llMizOhyTQWwGnvNQcuqswzFYZl+IKVcAviS9WIURgmCVA0tIDPwal6LuyccIqT4o1mRDp2DL1vqwXNMbVWkSZr9XBAaQP X-MS-Exchange-AntiSpam-MessageData-1: MxVWDqPVYbesuL0dVyydWlLcV94/QAvGtII= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 314d7bee-040a-495b-35fd-08dee261127a X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:06:08.4081 (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: F5NkkMUOo4Qk/OC/i032dI7o014+IgX6wgqYd/2pjHqQsUfB0QIQrKpPRGOyKsbbKUTGDvNWDxgDzj25dJPzsCCBD2dfSdYIhDV3O9k1lpE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7915 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=eyzqd964; 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:c207::3 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?= Signed-off-by: Felix Moessbauer --- meta/lib/aptsrc_fetcher.py | 75 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/meta/lib/aptsrc_fetcher.py b/meta/lib/aptsrc_fetcher.py index 26df1bcf..49f12075 100644 --- a/meta/lib/aptsrc_fetcher.py +++ b/meta/lib/aptsrc_fetcher.py @@ -7,10 +7,13 @@ from bb.fetch2 import FetchError from bb.fetch2 import FetchMethod from bb.fetch2 import logger from bb.fetch2 import runfetchcmd +import os class AptSrc(FetchMethod): @classmethod def create(cls, d): + if d.getVar('ISAR_CHROOT_MODE') == 'unshare': + return AptSrcUnshare() return AptSrcSchroot() def supports(self, ud, d): @@ -92,3 +95,75 @@ class AptSrcSchroot(AptSrc): finally: runfetchcmd(f'schroot -q -f -e -c {session_id}', d) bb.build.exec_func('schroot_delete_configs', d) + + +class AptSrcUnshare(AptSrc): + def _setup_chroot(self, rootfsdir, d): + sbuild_chroot = d.getVar('SBUILD_CHROOT') + unshare_cmd = d.getVar('RUN_PRIVILEGED_CMD') + + runfetchcmd( + f''' +{unshare_cmd} /bin/bash -s </dev/null; + tar -c --owner=0 --group=0 --numeric-owner . + ' +EOF + ''', d) + except (OSError, FetchError): + raise + finally: + bb.utils.unlockfile(lockfile) + self._teardown_chroot(rootfsdir, d) + + def unpack(self, ud, rootdir, d): + workdir = d.getVar('WORKDIR') + rootfsdir = os.path.join(workdir, 'rootfs-fetcher') + extractto = f'{d.getVar("S")}.dpkg' + bb.utils.remove(extractto, recurse=True) + + try: + runfetchcmd(f''' + set -e + find {self.localpath(ud, d)} -print -type f -name '*.dsc' -exec dpkg-source -su -x {{}} {extractto} \\; + find {extractto} -mindepth 1 -maxdepth 1 -exec mv {{}} {d.getVar('S')}/ \\; + ''', d) + except (OSError, FetchError): + raise + finally: + bb.utils.remove(extractto, recurse=True) + self._teardown_chroot(rootfsdir, d) From patchwork Wed Jul 15 11:05:44 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5242 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:06:24 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-oo1-f58.google.com (mail-oo1-f58.google.com [209.85.161.58]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66FB6LYY023025 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:06:21 +0200 Received: by mail-oo1-f58.google.com with SMTP id 006d021491bc7-6a31c08023csf641973eaf.0 for ; Wed, 15 Jul 2026 04:06:21 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113573; cv=pass; d=google.com; s=arc-20260327; b=h6dMbQfUL2erHa/mSsVZk7ehU1xORju2KrJF1iY1DvXEf7Bujq+cdZ+L7AUkY5PPah on98dtcCsQn5bzQXReRJ8hMb1QohO+/LQEADzYZB95+5ZRhdvLr13kudYm4tPS6o8Tak pg+oDRNVWBRLQD6sO8spUu8OOfA+Vd9YXOr8uoN4lHVH568ZSKCpCpfdv87OVS+Yygtv lMdirCLq4l7Vb5jV9pmyIWvngEBoD/uICNNtjTulyWcIbcCNaKQmoYwqCnj/QA6jCsdT n94Y7H9eiJhHP6jIPiEeqBjDFLAeEr/H06hvvPvjyjwonGt7iABdmIpbXYD8dcr0tPTX m1Zg== 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=sCW/3s9lO3PiZYZi86g8aXkqKglJL4gB3ll92XlOK/Y=; fh=tRD6o0j323hhigfv1fxPn4KHYbOQXoco4CIiO482ANw=; b=CG5yhRB1n2VnpflzyJupXGOC5/K7tUT4wiOBWwBD7O8zQAVARhs8maXssG6HVpW8Je /UiDP7NdFnGqQTvWy1pr/YjlhUUlZJGELBSdJ85aXRoENyTUijDe0pJ1fyJQ2ncsjlmV 76ZVolCfVLwyy9Luow59KXTmA3cVsBMpQQLL1TBElxFCU/3Y4YNIT3VMvigi+XYMbGRn JbTsS00058TJ4ZEsvUT3NJ63KbQkTHihsajemi6W8Kasz0DZAouysVIm6Ug2zt7M5Eul 9lY2a1KFjYgyWceqymqLQHs1zsoM64SOct2o4U7W6eqzRufCTK8BNLiRRk/FsCPONcN7 7QBQ==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b="KXO/S4j0"; 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:c207::3 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=1784113573; x=1784718373; 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=sCW/3s9lO3PiZYZi86g8aXkqKglJL4gB3ll92XlOK/Y=; b=ddVjtImg3CQoozgoDvvXT76/0wkN80lTcvC4E3CbG4ZzcfcdcGFyMtVDEn1R3Aqvsk PyNlPElKJGa6EAPmr1Q4bA4NlHM4q4vn4rVI4mI04wbjP9dJjaDEEjvRos/VX121Fg9D DN0JIv6KuWXWuLWansS3ANv9GrWi8HlhcoA5ej3gAiCfzjRRvkeAzYKKpxbJkZuK80NE fvlidnAMopvjXkxOWROfyc9Bv3Lw8Cqi6W8y8/Dcbf0uwisyg9g0dFwhUOL8nWa7O+xf sIXwu/apaD3Tx1UaSXx0EZFrS1HkcUfoJ2vLBY/EuZ8mK79jicN62ekzfuNvTb+67yEx 0dZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113573; x=1784718373; 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=sCW/3s9lO3PiZYZi86g8aXkqKglJL4gB3ll92XlOK/Y=; b=OwWfZtFMayrzFNIiPzfAruPii6sE90gM+CZ49PPhnWTF9R586T3S20FI0n21pzIud6 5Lt6X/+ql4T0Ic5dDCeaOAVSIyL3Vrzv6VuzqhQ929k5ArgNnrdWX1Znc3m/ftKOjV0H fGU1/trUl7gAdox4FMINi7wv8PZXrLWd8XB2mZCi9BpBZXeOgbgRhBunimReeDfdCPc5 Fqt0gvnzTetA8Ft5N/Ma6gOKZLfvoIsW/iK5YaHWyckudv8yr8wJJFQcSLdHCVhhmGo1 /LeV5Iycw0G6nma8n/E+PNfKll31mUCfxcsvFoMaM/gxA/O2MpYt4gC2RhPVGUINzFDZ EOMw== X-Forwarded-Encrypted: i=3; AHgh+Rql7Ih5+5FiMaadRnwX5P/7W7CHaLm3H/zy2WyJ5xCQ3FPxrrsFblw89C8clNJUMCR8SSdhYpA=@isar-build.org X-Gm-Message-State: AOJu0Ywd26ok07WAgcXcUBETr6TWySzOzesmstyyootMA4NJm3VskuZA nIv7hn4l7jDypgNBwfGU/QyCtm5nmnTG5CA8iQu95TKYnA9loxn0vPfO X-Received: by 2002:a05:6820:1386:b0:696:6e28:8c19 with SMTP id 006d021491bc7-6a38b99fca0mr11081464eaf.20.1784113573473; Wed, 15 Jul 2026 04:06:13 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPT1RovAqD23C2HMlAiW52OA13eom/ZWQngvfZekdfGzMg==" Received: by 2002:a05:6870:2cc:b0:447:6b40:15bf with SMTP id 586e51a60fabf-4563b94e2d7ls86316fac.0.-pod-prod-00-us-canary; Wed, 15 Jul 2026 04:06:12 -0700 (PDT) X-Received: by 2002:a05:6808:4f28:b0:491:c51e:189c with SMTP id 5614622812f47-4a40f010e83mr15115843b6e.24.1784113572660; Wed, 15 Jul 2026 04:06:12 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113572; cv=pass; d=google.com; s=arc-20260327; b=rCQQzSRDCjAlEdsq1v4CLQv3QfUV5S69Em9Da/awcYd2zbWupBr2ppI4XIYdT/XgsC yNLVIzxL+97iKIvmBG7EzCXMSLEpDJyLzJZSqoJp2dLoXMay/xp/mbbKw5TA+1Uc/E48 psrIRWWRZ4ymFW24hT6ffYlDwNeCZLZxTRwkwAjkzkHjbjwnAnpU+Qi/8MFFq6KvVVar PX0hPGFJI/8AGnOZ5blBafj+9UkmgAAffZydP254HtCV06nQBg8rQ4tUy7hYxkzhjY+R Mt6rR5WFvludT0CYxl9txD6DxFFv5Fe7cRwaXoewCv+kFnlTmJPqMx7xLSoJFgpjR816 Romw== 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=Vv+90b7t34i6El+lqt2CWEmdDsKRhkL+P2p3Qm9VG8c=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=mi8fQ10cNen5Z6ysBLAYVc0hRZimp32Lx49ciPPu5QmHfFn3oyFaos6C5uHAM2fVN7 flGMTz+aZFMCpiwnKV+9haSPaCQNEc0KMVWdKel0Uizg46pGW42EHjpWUXo/L94xpPnF pFN4B3hxBX62mHRyvDsQctnTW2JxEAbHUhoBQhPpnJt3fomWK98Da2m84X/9yIxR+CvS DU88XufE/6GG3X7hS2f66oJn1pT2I+gPc98MbVNiBFYBYr/DR0uW975+vu3sSTCt0oRa oQAKMmQFHpY6s7bkR5yGpT9JrEu8xfMFoN2+PIRwlWdOxBjOD8bqgVx8BEcDGfiUEpkC DqrQ==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b="KXO/S4j0"; 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:c207::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c207::3]) by gmr-mx.google.com with ESMTPS id 5614622812f47-4a1acb73834si829433b6e.2.2026.07.15.04.06.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:06:12 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c207::3 as permitted sender) client-ip=2a01:111:f403:c207::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Mbu4GaXjDQEi7jQpEuesxNXp4gu11KDcLS15K2ZUm6uOf1mHbRlJuNV0RLUliogAAnW9C/hHmklFUQyhpKMmDGISTMzjhr/zYylbv5KTy0zIFAOQJn1FVjovPnD50srE/pDslbEhNwoGcA+SSL+U/VA6Jl5lLzLAz0Qa5Yrb+PQFPHN4OFUx0TvR4a7FGnM0WcdmOJHvuw4aapdm46Z7yj43ntxhRQ32856hEQxbHLVEeO3v9blZX+EbB35GGwQyX0ftbgeYTIo0A54jIpkJP+5OfdyZjMAXFzRIH0q1+Z/EIlZiMufh9vlzAocziIKhWvROxyHJS/AF1ZdcQmylqw== 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=Vv+90b7t34i6El+lqt2CWEmdDsKRhkL+P2p3Qm9VG8c=; b=Dhvc1H/Ra7wAVmpw2/SZllfltZwPCGQWWSnkAyLbyW9qaMxrCPuNdGCD9pXgqZzAF8htHriz9oiX89eUy/9+m8kwtsWe5oOlmXAixEVS2lcUHgtjsxOxFqiYP+ZofhVrV8eBZ96lx7djTX2+63PM8hLstlf+UEDjP72iWkiLWuIwiJP2ipVUylyKzfHFSLUAv/LpSdXnF1qGmXTlpcJZXsIhdjZrHQV7YfDyMwxFKkcwOYTBUORZHNAqVWjSP4FQOfyfBXlnyYDb5D5RzrVmG4QypKtNQ6I19aUcrrS1ZZzho59o1AZ1Jke03qrF2M0BZBLGas1c/lLRQ/s3xHZ5IA== 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 PAWPR10MB7915.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:366::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Wed, 15 Jul 2026 11:06:09 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:06:09 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 13/17] dpkg-source: implement multiarch support for unshare backend Date: Wed, 15 Jul 2026 13:05:44 +0200 Message-ID: <20260715110548.3605767-14-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:99::13) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|PAWPR10MB7915:EE_ X-MS-Office365-Filtering-Correlation-Id: f99a227a-374c-4800-dffd-08dee26112cc X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|10070799003|376014|56012099006|5023799004|11063799006|10067099003|22082099003|55112099003|18002099003; X-Microsoft-Antispam-Message-Info: okfqP4BOrjrLak6GYWAVOWB8eFuXP2ysEPrU6LsB3lErw+UPHzWrg9hRJrBHC1ir62nVtQpKe6SiVDBqsrl3JZzHSPIy2WYPvlGKuQy99Lso4E1NlYkUxBZrl9bmRtuK1e9ZFe3yNv0RRDbX50KJRVzeBTjHbGWPbM8crxyvh6iFncmX+HX3frq8lRtvMGDHZSLthGUK7IwerlEDOfUpgfV4f7OWo6VbHuRT8/xD5m/T4QZesRGj1IhXsLoHa0zkyLTH4TUrUWYEWugr60TppZhEctGQ09r2YIdpZKGpIDreMsXYzREqvcc8Y/MEIHDfQfqffiiptm+SmDODNsC+7F1//gXDZpTO9UuuITdNtKuqwagC2hIOQfCUWy65HreO44/6F+4/nGYYNqkwy70oPprpN/5sAky1QStFdUAlC/90nFcABOWHT5HC9ur0UdW9cWQj91etJDQG/K1wXjtJx0f4N6I7HKEiokfYOam0jwwIaXeO2tWlXn58UcGLrAjgLZNoFpcvJwn3eVprxNx9jYgTVfFiF3uZPK1fXI8msB4VkU0A8wuICz0gQ7pLU+86zL1exLURctK7+GLSnbtsZ2iaP0SWVVWgT+BeH95XA35Ni2Nl5uGXeQtmSLAVKtIomzwu2umlDnOdX3fYQXAyFePjeGmjyJxLQ4OB4US3huo= 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)(23010399003)(1800799024)(10070799003)(376014)(56012099006)(5023799004)(11063799006)(10067099003)(22082099003)(55112099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: e+AsgJk54kP1cFYYLLfta9QmD5nBERnLqE52f4sObkVJQAOooWFLruuOTbeIS0Qjr5c7/J3FezEnKRy4ViRooNEnEnAT2YNkPLm9jlXiSDQDfTjeOd49462mhmxWgvhkIlIOTF4jf373x0m47/s6f/aRv49NLAVtfQ8r8N5wdyWWfef0xnSWFaEwhAes5R/zzIzfJs++ykUQLmBE9wkl4DB6q06eYsX1EYAuG00LD0UNiF46nomPHyNkSh5OaMtVVuUcXPNrBBDMEXA+khqBqsCViLktSKOz2gSW7nxZjsWtiTuX7y5tlcnl3S2z7qBOTiX4qzUkp4xc9N9IeBV5DoaUMR+OAVjZXIS8oE8pWcoEc90FHBAxZGo4pixfBX5QGkDFhYNUU5ROQHy13EpQzGD1RZdsboNADmrBvFmAmL4cb6Gl04+VNIc/YvIQtKSJ2RWQftO5CpMa/E+b3XBl3MU4yNEVzaXMHLdKnFlfu+L0W6tg9klryEtrA6z0skK10xchhVPZ78CiiFSGHN47CVEjua2GZedngAqTf0FctSPpjV0933SMmRkb+iJP0x6lYyeiZq1T/HqA5KJB2VsfpKMmbLjuzWNfu1PMfpQ+cOhPJ9aEqEmxfWtai3Bt9d8r4diNyTC1fRzziySq5LmNjVnvNusRUpIw8iCLm49cP3RdgU5ll8vEosvw8a1uUmyJltxM/MnGSlQk4K+n+z/QRQwpxmw/07pWHn4Tao95UiXGSGmJuIYrRx5YzheJHkc9kNSU33DzAQ8zUvU9QoTlqSqGJ7dmgOnyVFdj9w1Pn3T/PQo/dWb8TqNqv1aeUqc0v0X4u+EMQYJrh7ERx39XybWsCrcDNdX+B56ngpxLr+uS3Jq9Lgi+n/FD7z/FvK74vWCvIUK15fJjQL72T+6qeO0dEH3e8+Z07IYZHYCUtodaqFrbGRoOqP8qJCMts89QLX3H80LUHvfnQVt9nE8A52HuHobr9dn6tvqvbDPLCvUTPF8Q7fqIlV6a/QXrqaE3z8upRhzeL8jXARg8A6l8wuW9Mi5ul32kxaE6ZveQgHKcTEV1XGnQInaIBVVPOyb+QUQe/Ov03Jd8pGCPAvHpRfERNovFkZwkOfnX9fSocD+gZxFOSjey5edRiGzV4sFiZ0p+KRYWakvGPyYge5KLK04p6Y6ath70vOgcsGEtxVDBGNpcaTqwsJT8poKaHJkW8fWRNWypBhrX/rAZnVp9RNul8v5TkMHIqi1W/ubq1NDisjSpYzA3EO1Oo8xcPSZOGSZJAIm3oMI2nf4ThEQZPdP0XGtqkOjr3HUwqdoFaTMTvZkcJkHh4C2VVd2mCXPhwBC++yExiiPHpWDkygzmwCiCL1wDefrWS9dCccW8Y+2I0KrxhfJeSVXc6EvZDvXHuZOYLkD+wrN7VfHacOW3xSGvu0sXg7QnbTOiIiEutPm4IWoZsBAiFRt3YdgHpNFGV4LR+8U9BQPLq8luEMuquBqmmvvecbPObvT+xHo+P4OCm3YNw0mK2CFki6yHcKwmZnMJIXFntJWbjVAHGtiQpehQmHB9L88SM5GOrRPI11TaNI7MFW2u8031+G4Fq9U5pZBl/mMe5j6SDndd2y2/28MbTbtUPXAou3ULHNVFGz0B51t34NmALbdCkcS+QR+N6KgImnDrK9xHDvcFLyy0fUkmAjoIy4H+9oHvHRzbEaNfd7btrg/SmuMbMglyrsEml1P7VYjLpiaEBhG4YOFe9le0egbX5g0jyKu1VGmbFCXRMqNcXsmOJKAjUrSyX6yesx13aE/b X-MS-Exchange-AntiSpam-MessageData-1: p3BB41QXPdPXPrR+cPDNdflZQYppmDTMl1o= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: f99a227a-374c-4800-dffd-08dee26112cc X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:06:08.9511 (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: lG2RdZTC/Pi9WJ+afrEMPhlJJP0lHWqoDUMefleGcEt0ZTzxutGrG17bWr44QDl/5lRuua+u2TCsDa2H1iuDZosz9gKKq3QDVRYCmXgNo7I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7915 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="KXO/S4j0"; 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:c207::3 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?= The fetching of a common source package needs to happen in the chroot. Previously we only had an implementation for the schroot backend, but we also need one for unshare, which is added here. Signed-off-by: Felix Moessbauer --- meta/classes-recipe/dpkg-source.bbclass | 38 ++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/meta/classes-recipe/dpkg-source.bbclass b/meta/classes-recipe/dpkg-source.bbclass index 629796d6..a1848473 100644 --- a/meta/classes-recipe/dpkg-source.bbclass +++ b/meta/classes-recipe/dpkg-source.bbclass @@ -52,10 +52,7 @@ do_dpkg_build[depends] += "${BPN}:do_deploy_source" SCHROOT_MOUNTS = "${WORKDIR}:/work ${REPO_ISAR_DIR}/${DISTRO}:/isar-apt" -do_fetch_common_source[depends] += "${SCHROOT_DEP} ${BPN}:do_deploy_source" -do_fetch_common_source[lockfiles] = "${REPO_ISAR_DIR}/isar.lock" -do_fetch_common_source[network] = "${TASK_USE_SUDO}" -do_fetch_common_source() { +fetch_common_source_schroot() { schroot_create_configs insert_mounts @@ -83,6 +80,39 @@ do_fetch_common_source() { remove_mounts schroot_delete_configs } + +UNSHARE_DPKG_SOURCE_CHROOT = "${WORKDIR}/dpkg-source-chroot" +fetch_common_source_unshare() { + run_privileged_heredoc <<'EOF' + set -e + mkdir -p ${UNSHARE_DPKG_SOURCE_CHROOT} + tar -xf "${SBUILD_CHROOT}" -C ${UNSHARE_DPKG_SOURCE_CHROOT} + + ${@insert_isar_mounts(d, d.getVar('UNSHARE_DPKG_SOURCE_CHROOT'), d.getVar('SCHROOT_MOUNTS'))} + chroot ${UNSHARE_DPKG_SOURCE_CHROOT} /bin/bash -s <<'EOAPT' + set -e + apt-get update \ + -o Dir::Etc::SourceList="sources.list.d/isar-apt.list" \ + -o Dir::Etc::SourceParts="-" \ + -o APT::Get::List-Cleanup="0" + + cd /work + apt-get -y --download-only --only-source \ + -o Debug::NoLocking=1 -o Acquire::Source-Symlinks="false" \ + source ${DEBIAN_SOURCE} +EOAPT +EOF + + # run cleanup in separate session to ensure nothing is mounted + run_privileged rm -rf ${UNSHARE_DPKG_SOURCE_CHROOT} +} + +do_fetch_common_source[depends] += "${SCHROOT_DEP} ${BPN}:do_deploy_source" +do_fetch_common_source[lockfiles] = "${REPO_ISAR_DIR}/isar.lock" +do_fetch_common_source[network] = "${TASK_USE_SUDO}" +do_fetch_common_source() { + fetch_common_source_${ISAR_CHROOT_MODE} +} addtask fetch_common_source do_dpkg_build[depends] += "${@'${PN}:do_dpkg_source' if '${PN}' == '${BPN}' else '${PN}:do_fetch_common_source'}" From patchwork Wed Jul 15 11:05:45 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5239 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:06:23 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-oo1-f63.google.com (mail-oo1-f63.google.com [209.85.161.63]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66FB6Jne022906 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:06:20 +0200 Received: by mail-oo1-f63.google.com with SMTP id 006d021491bc7-6a196857c7asf2601868eaf.2 for ; Wed, 15 Jul 2026 04:06:20 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113574; cv=pass; d=google.com; s=arc-20260327; b=Xo8qydLQ0N8ceYrV/rbwkA5o/sU0toFJO7MTX50jlopaUFowKN2mu8rwjhsFLZd1ZE SiXreH63LZXFGnEomxKOLt+G9uqcROny+ZC2KH4yl/srBirDhtIFOywyaG/FMHvm8lEk OsSI3K44092cThrH3fiHOzK8Jna8hBI5bZMTTH5FlmMogTjppCyLgfsmNkycfRvbmoeB D9ArAteakNleCBGwX/saRtmjxGTm/fMimjkQuae6fCK9is+IUjc8TdGJqAGAHdmLjdER RENKP6lc56x8Cue7WWOG7FiWhc/Jdd8DAd9SfUbwobsBtcjwDgSDU1l7IBTO6iFWtr00 cDmQ== 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=slRu4llIpBSWhgHIyrDM2kuxRrCbnO1fLCccQyFWCiY=; fh=CrFfjxEQpMEGed+nGT8Fv2l7OU39udHJgFDr1EC3Ft8=; b=THt9+TIqpfeElqOZtlL/Dg4c0jIMTX91GTteUUoVdXqEkGsXJ3Q1A/H8LZvN+kDcxO XELFPRWWqIflGHsfpq2WA2CAkfO5JLnCx66msMooGbbV2k2r3DhnlMvHVFqmCbQQD/T6 EediEKh4h7N0HpO8g5vD0fXRYkC7rnXEFiej3S4KKbk26lUFtujLjCjy1bqSYKFxg80E YKgeqwKEVPjx0qn9uUZI055awjXTvYnT3OxS5DGKt+pss19L8d/fntdixPJP0vsOIGY2 UuoW8bYv4vQlq0xlBWnxe8cQLrteu7ITikC1q698FQpcrBzwz5de4ntzZBaGkPgL9Fah +z6g==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=c9pIwojA; 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:c207::3 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=1784113574; x=1784718374; 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=slRu4llIpBSWhgHIyrDM2kuxRrCbnO1fLCccQyFWCiY=; b=S3dM3smlmByZ70/E2/Ghw0EWQDtttfidwMrgmwECxJzQq1MzmVG6bxLJdFAQTrkleT J8pi4YlMUM1vI3NQnpUAKmZmj8KL3sdJINIed7svUFCCTltxIExZv4n3Hyk9eBmrYlrw CnF53RaLA+qG47qC2m6aKpRg81DhjUyOxwj1gZ19UHQOPQN5pQD6M6vP+PJwdyYm2s7c Z/xykyMIdXCa1HcDsvVK5FYRCvXxb40om8gGODRAWomDNBw5f3tdPzmbBmf1k2k++KMf 0TeSTlRa54GrHM+NFf36xacL3+iGCc8RQebZQhr46YIOL317mbCFcKNP6Z/XFb2aLPSa x6VA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113574; x=1784718374; 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=slRu4llIpBSWhgHIyrDM2kuxRrCbnO1fLCccQyFWCiY=; b=tFY2vOfoc6jdE5EGEXKTMCiUNuJE00NqHMsIrnY46sZNiOdHtr7URqpuXsIWMPbxHU AmpRgDj4fZJVjwSX/Hrd0oPTTzmRlC+jhlvxejEo5L4jCqjzgH7FpT08Y+jp3m6GVUwk zzLh2i4sxEjA3DDSJBuvocIrEysjmXHPn9Xg5h+bEnRJoEQF3S1utnq5gYHeO8MNtGn9 +UadctkoFBi1O2ussOROEyRSDF/wNcf96HlTLExePNI/N3STUXSSLEZcxpjyt9KyL3j1 AoTyEqpYvRcQHRQucBP0K30wBTQt7bfHgmjZgMfGcstU4ADbeXEUNpJlgI+NdbwD4C9m yCuw== X-Forwarded-Encrypted: i=3; AHgh+RoTPdCR5j13eyTI4kCUIHVSE+pe4R50tq7ofk7RktJXEe2tY8ohy2Ke5d+yWNL7vAXn+l/hrPE=@isar-build.org X-Gm-Message-State: AOJu0YwldtAK72e4RKO8zIXFnWM2CoARWWwwPiD1vqqGOdhKZSHfnX7t msHUuhS7JJfi3KKoJ0IE1maeEvdBWxPUjEzOzrBjqdBwSCE+d/v3RwRv X-Received: by 2002:a05:6820:210:b0:6a3:9945:8658 with SMTP id 006d021491bc7-6a39a8562camr10385024eaf.67.1784113574039; Wed, 15 Jul 2026 04:06:14 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPSnTMXcJDmuK2CBduT1RPvXWqOwxN+W9Zel7y72GbJdww==" Received: by 2002:a05:6870:844f:b0:451:b6f0:d131 with SMTP id 586e51a60fabf-45628aa6f3cls458747fac.2.-pod-prod-07-us; Wed, 15 Jul 2026 04:06:13 -0700 (PDT) X-Received: by 2002:a05:6808:1b24:b0:4a0:cf55:3cf0 with SMTP id 5614622812f47-4a42ad05460mr11214347b6e.9.1784113573137; Wed, 15 Jul 2026 04:06:13 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113573; cv=pass; d=google.com; s=arc-20260327; b=QOmmvLAqFesBUQUBdLHlqmzBkBg+Zn0RyV0k+ZiXtFbYQa5w4BRsp3zTHrOcjQVPN8 OPaGIN/QGp6Gs10UkiVESuI8+XPZCDvqsO+AnacweQm+kZn8FQxOEef7v7WOMN1eV7Fa yn4j2DgTF68L7gBW7Yyg68IecOVYd9qU2zF6tigZov8h8p+95HgSi3ChNLacXfC20+lA /b4PWPfqk03s8DKm5RqkBMCZB9h/HzpX/KU2acOmXnhitdRNyEASr5G8rnkOhbTr5tny +3Ss3hpfljrxC8hejVz5D9jRsd2hCUgBmreEMcyi5XLoHbU2+mo2mUk9U6B0ugyHq0xw HwdQ== 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=E9CIYWFCfY8Lg9dy+yvbArQsEe54g11ZfE/jmggJiLI=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=EEZ5mOLYAUxOg/hhzyoyjnZadYDCoMNBOSkmc5gUGbuGSLR8UX5LxWRXzBjjZtIqLD MweVyOJL9TD4/Zir4ip2zVenh0Q8JXeHV5PGqVufikCZOjHPfC7wfgGkAu0WbE/mNgCx WZgFnwIRQbArXCh5WnwyyXplCuDV+2DUWBppOo/2nmfuM5AVOIGTmi3vbgIDNlgAuRO3 yA4cQbzfKKtOtbeg+dEjTxYP24TGWGi+D8R4IOAZfLNxVBLuDLEUwqpBEVpgWk5rUhI0 toNBHDCQTc3SlUWCIjqB/l7qG7N5zXVOOfKf8VCepZfZb/yvzYTeJd75IvVgfMM0wPaD 056A==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=c9pIwojA; 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:c207::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c207::3]) by gmr-mx.google.com with ESMTPS id 5614622812f47-4a1acb73834si829433b6e.2.2026.07.15.04.06.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:06:13 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c207::3 as permitted sender) client-ip=2a01:111:f403:c207::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JtF+0MAtRSnB7ma2h7AwXF+sxUDugYkoFodO6gsqLkXn6jY+KNPwB9J2pKB+wRDGokAeKWZ1/YsdSuMFknOJQENczYGGQyyVeGAWrZNGB8fU6YO0c/G0CJQGw+/ImGtjlJTWhEqzNbQ7LPPZMZlGL/uOyRXL69cmvNLIIF6vzqT8LqQCOCffRitG6hoMGGmauI/zYAFKqQMtnmMRfnNdoPvXEg0IwhWd0rnFezI4K6z5sqJlee0ZP1z/lHuMtjBZfwij0exxOligIwYZkhQcQygitvoECA6zX8EmX/6lRScXwELUZ96BcLFGqDnyZCdJDzKMrlLbaurxoTV9L87k5A== 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=E9CIYWFCfY8Lg9dy+yvbArQsEe54g11ZfE/jmggJiLI=; b=ZrLE+H2fOXWwbJoTRH/QZbu1jfsWsbges3WJRY0POcLwzDq4MipnKLnfqMGmJUs6JFU1skEhAAwC7Hhugv1BAQsls9/LqDcatKSj0d6YHahc60ILOYrmLPgK9zr/vnpsMm4zgoXKxlWofQ8GRcyPVliMho4euzV1OGKkPTBe4svXt1JkTMS6fqz6jmsCET/T7ZRoLeiARXQ/uSQeOmDELqDV87egDJLLaV+VPpjOhu00CT7pVE5GK7ZdA/wpNyWQtutTmZ2Pla1FBjg67lvdZk8a6Iz0Z3U7hQycLKOi53f3jbTvA5F9jhtPV6hYWiS9jxNlGqSqdMidZSfSkvwYSA== 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 PAWPR10MB7915.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:366::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Wed, 15 Jul 2026 11:06:09 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:06:09 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 14/17] use copy of sbom-chroot for sbom creation Date: Wed, 15 Jul 2026 13:05:45 +0200 Message-ID: <20260715110548.3605767-15-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:99::13) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|PAWPR10MB7915:EE_ X-MS-Office365-Filtering-Correlation-Id: 557e028b-d1eb-44cf-b8f7-08dee261130b X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|10070799003|376014|6133799003|56012099006|11063799006|10067099003|22082099003|55112099003|18002099003; X-Microsoft-Antispam-Message-Info: jn18nQdcMYSfb723E7bU9qF4fi/k6/s87NNJRh/1QGIUne+/WHv8FKVYMfg13LecgRuJXpjJCY/UJyskhEEmONGjaSRABq8TFvjaaQY1d5sTaaHT5KxG0WciwvboggBcDgEbLLsMbHfSulr77E7I7uQSJ5rkJF+3VURAQu5tc37E6Gk5Fjs9AIWjVHVnOQYkQWIAXcogBmbbf0furhUPOpog/vKAT+8y9+IG0PiEYzBO74nCVK7gEsPAgpz9EIDz3DSY2QmJqOdXr2vLSsHUfpuODNZxDtuLlVHUXUEa41iARgg0EyECYqeTrljIFpM1tux0ZiIY7sx9M3UUa20eUHH8E3Own0fmbwxPeC1/qEI682he+Z5gsfGdic1pQlGWHDTI1rMG/3V6HPPG4yNDewy+QBAtp5509dkdXLFGrGPiq5jvCmU2ZoZJrX5kZWEJS2lTgcBO0XqEkL9n80aEgtngJcVpUtG53EDPgB0D9pHI7ffwDvHZi6M0OAVV/uhk/4E1lwGO4n831P+Mn8ruF8tmNYUVG29SZFrQxUg2zwKYwCuB8J1UGJlX+fe0G194jOBCzxhS9Hf4lI2fYAecoFsWe1qbdMXlHNeULwRb61s= 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)(23010399003)(1800799024)(10070799003)(376014)(6133799003)(56012099006)(11063799006)(10067099003)(22082099003)(55112099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: DoutUkSrKvy2tid+nePUR16CGLQEwcFL0tLGWyuldRcb6WavPFd+XWFmjceO40Ru+TYShHu6qx7q7nED2c07rSIQ6C2xpBNwBh/D/HZ2mpDFr6ZtX42hkiSOmqSW8GVo0yPjuKE40quMA1N+FAFKpta/gC4ZRx6HScyFxAau8MkA7LomS2BWu98U8crzVqxLSEt/GOFKnuP3uHwRbfVFhbZRFv/gXSB2n/vTLrk064RhZI5s3vRME+jPVmTs2qvggRH2Y9OqVcwoQAXxofuBi5JL00VwUCPvMpoWOdDeS+PxPLELm3znxfH7yg7xO8r94epx/kz45MWyP6qatRfDMQQgxawYJcM9Yi7GZhW4lzLkvJoD4VYYot3Ah6jPyx6cq3CDtejrCcJkFPfVcUFx07ns7Vh1+UXxPfNCzS4mUHOCDQMWexYZfCUq9mem9xttPpTn+aofYyny7w5YOH6bPcojp1aIamHCLZimHEjJOdWbkYDzOrVIyXtsLGJs16ztAtrkLkmvefJtRb/fSEyg+y+0NJqagWmNCF6Wu7pG8Bv/++uVXI6IfWnNsXQTS6PdtB92IY6cNrMkbxlZj2xolWHhEoQrcjuuQl7C94ORCgIzFH1ijtGTY3UVK8u+zpJPbhIf3hh6vrG1rvQorWOjyshTCyOCE5tSLM6YRclkSWsOf43/IIe+jWInhQ2X8hg853oPSvLV7VnZKxHdHT+GE/EbgYMU/3ween2MejK1zlzA5ctcB2rFHEEnZw3HqgBntOIAk60s4bAgA/GjaRehSPJkOecEymt0+BSUvEKpM+Yqto2IAsHcTXZ3soAfs+I+wxTB/Ee5oB2++ecu2p4sx3E+MkoglfRtYhjnRrp3AiwJc0jVgSIiksbq5hd8dqrpf5tgaHrzYl6AehJV8nhSU/mnqMyDCn5h+otDlCm4Rz1uqwi/GKdEGbJiWxtQW8qBARbzmRhonaqysmKgVCQdz4kH3CiTfn/2tz117a3QnhKT132aERG60dCIi11Xp65uNxD/tXf5AOXvF/FLI+yU9T06mnJpl2ikZJyk28JugRQWdQrSCsdO5+UQCwm1juyEi68vCHAS8H57Y1Os2bEd0ZLGT3j9js/A2IwNE5ARhDw+JTuuPsW5zlTN74eEpOPN9TAVbC9xB9meTP+QiX+zAup9A7AFMLj64YSFPF5/EI8PqJhJaYlJl62wpZeefrtN1sdKHZpdDbnc7RwjAGda4T1NMSOMYEyfIqrlb1ke9bKX8viSzp96UFhGrsD3taIdT5mu8cNdx/Ty/smgKgMSvb/EHQ3RmxbtBDPGWzOGY+AyEGKSiw8nqQ19nldFVnIM/Ds8PFlW9sQi2vMMOuUxzQiCQHcLeykA6crHf63M8hqorvun5o2fO4Ayqv6LHsSxNoixntWz+g+koQLa2eBvwKnCcVpSmR8RU1aj1tYiS8egR6yewwv+VSLRm04csTj7Exff3GsQR0G2pJ4wFKdURUmZHJ+OLwQwtQsegO9JUCFjNXIqsiRwTIpmQXcl/dNY/bnoY11GNpbxzfpUPkXd2WM18/aimmmpCyca0OrYFrwvu1E/ME7xFKl++K400rF0Itf1/rXA1Ea6+0TGoSoEmF+tNlisXs+E7QQDbnN8OUl4RaEqs9oa/vnDySmOxTBJWvJOiILlA2dZLmbg/DFaZEYZ2psUpRwdqu+RREDFnfWnJHFIiu0d1ku9JmDWyijP8qgQa8CxRyeDMz+ArxrnDXCJNDE6za+EQUhFCXgmq9dnYiyOSO27cpQ+t48TDsMPBh0dEqTz X-MS-Exchange-AntiSpam-MessageData-1: UdzBXV7IYPSiuVs2GMaUSz77ALhweNT3UUk= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 557e028b-d1eb-44cf-b8f7-08dee261130b X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:06:09.3642 (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: JWI/tLiZlSQMtclgCJbK411AFpYa9mynwYtO2WO8DyR3J4XklsJuUPOV0Zy+o0YGpFDRL5ZVlWBucIMHl0deQ7Lfygb2vzepXl4e4B8mhaM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7915 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=c9pIwojA; 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:c207::3 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?= We previously used the same sbom-chroot for generating the sbom of different root filesystems. This required to have a live copy of the sbom-chroot in the deploy dir, on which also was operated on. Further, this copy was left behind in the deploy dir. We improve this by just storing a minimized tarball of the sbom-chroot in the deploy dir and extract that into the workdir of the rootfs. With the new logic in place, we also enable the sbom generation in unshare mode again. Signed-off-by: Felix Moessbauer --- .../image-tools-extension.bbclass | 27 +++++++++++++++--- meta/classes-recipe/imagetypes_wic.bbclass | 4 ++- meta/classes/sbom.bbclass | 28 ++++++++++++++++--- .../sbom-chroot/sbom-chroot.bb | 11 +++++++- 4 files changed, 60 insertions(+), 10 deletions(-) diff --git a/meta/classes-recipe/image-tools-extension.bbclass b/meta/classes-recipe/image-tools-extension.bbclass index cc046fdb..c75025ca 100644 --- a/meta/classes-recipe/image-tools-extension.bbclass +++ b/meta/classes-recipe/image-tools-extension.bbclass @@ -82,7 +82,7 @@ EOAPT dpkg-query -W -f='${source:Package}|${source:Version}|${Package}:${Architecture}|${Version}\n' ${local_bom} > \ ${WORKDIR}/imager.manifest - ${@bb.utils.contains('ROOTFS_FEATURES', 'generate-sbom', 'generate_imager_sbom', '', d)} + ${@bb.utils.contains('ROOTFS_FEATURES', 'generate-sbom', 'generate_imager_sbom $schroot_dir', '', d)} fi schroot -e -c ${session_id} @@ -91,14 +91,18 @@ EOAPT schroot_delete_configs } -generate_imager_sbom() { +generate_imager_sbom_in_chroot() { + run_privileged mkdir -p \ + ${SBOM_CHROOT_LOCAL}/mnt/rootfs \ + ${SBOM_CHROOT_LOCAL}/mnt/deploy-dir + TIMESTAMP=$(date --iso-8601=s -d @${SOURCE_DATE_EPOCH}) sbom_document_uuid="${@d.getVar('SBOM_DOCUMENT_UUID') or generate_document_uuid(d, False)}" bwrap \ --unshare-user \ --unshare-pid \ - --bind ${SBOM_CHROOT} / \ - --bind $schroot_dir /mnt/rootfs \ + --bind ${SBOM_CHROOT_LOCAL} / \ + --bind $1 /mnt/rootfs \ --bind ${WORKDIR} /mnt/deploy-dir \ -- debsbom -vv generate ${SBOM_DEBSBOM_TYPE_ARGS} \ --from-pkglist -r /mnt/rootfs -o /mnt/deploy-dir/imager \ @@ -128,6 +132,7 @@ imager_run_unshare() { fi local_install="${@(d.getVar("INSTALL_%s" % d.getVar("BB_CURRENTTASK")) or '').strip()}" + local_bom="${@(d.getVar("BOM_%s" % d.getVar("BB_CURRENTTASK")) or '').strip()}" run_privileged_heredoc <<'EOF' set -e @@ -185,5 +190,19 @@ EOF chroot ${ROOTFS_IMAGETOOLS} "$@" <&3 EOF + if [ -n "${local_bom}" ]; then + run_in_chroot ${ROOTFS_IMAGETOOLS} \ + dpkg-query -W -f='${source:Package}|${source:Version}|${Package}:${Architecture}|${Version}\n' ${local_bom} > \ + ${WORKDIR}/imager.manifest + + ${@bb.utils.contains('ROOTFS_FEATURES', 'generate-sbom', 'generate_imager_sbom {}'.format(d.getVar('ROOTFS_IMAGETOOLS')), '', d)} + fi + run_privileged rm -rf ${ROOTFS_IMAGETOOLS} } + +generate_imager_sbom() { + prepare_sbom_chroot + trap 'cleanup_sbom_chroot' EXIT + generate_imager_sbom_in_chroot "$1" +} diff --git a/meta/classes-recipe/imagetypes_wic.bbclass b/meta/classes-recipe/imagetypes_wic.bbclass index 3e261622..3c65ed0d 100644 --- a/meta/classes-recipe/imagetypes_wic.bbclass +++ b/meta/classes-recipe/imagetypes_wic.bbclass @@ -205,9 +205,11 @@ EOIMAGER | sort | uniq > "${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.wic.manifest" if ${@bb.utils.contains('ROOTFS_FEATURES', 'generate-sbom', 'true', 'false', d)} ; then + prepare_sbom_chroot for bomtype in ${SBOM_TYPES}; do merge_wic_sbom $bomtype done + cleanup_sbom_chroot fi } @@ -227,7 +229,7 @@ merge_wic_sbom() { bwrap \ --unshare-user \ --unshare-pid \ - --bind ${SBOM_CHROOT} / \ + --bind ${SBOM_CHROOT_LOCAL} / \ -- debsbom -v merge -t $BOMTYPE \ --distro-name '${SBOM_DISTRO_NAME}-Image' --distro-supplier '${SBOM_DISTRO_SUPPLIER}' \ --distro-version '${SBOM_DISTRO_VERSION}' --base-distro-vendor '${SBOM_BASE_DISTRO_VENDOR}' \ diff --git a/meta/classes/sbom.bbclass b/meta/classes/sbom.bbclass index b4fcddaa..2e6d579f 100644 --- a/meta/classes/sbom.bbclass +++ b/meta/classes/sbom.bbclass @@ -23,7 +23,8 @@ SBOM_SPDX_NAMESPACE_PREFIX ?= "https://spdx.org/spdxdocs" DEPLOY_DIR_SBOM = "${DEPLOY_DIR_IMAGE}" SBOM_DIR = "${DEPLOY_DIR}/sbom" -SBOM_CHROOT = "${SBOM_DIR}/sbom-chroot" +SBOM_CHROOT = "${SBOM_DIR}/sbom-chroot.tar.zst" +SBOM_CHROOT_LOCAL = "${WORKDIR}/sbom-chroot" # adapted from the isar-cip-core image_uuid.bbclass def generate_document_uuid(d, warn_not_repr=True): @@ -40,14 +41,24 @@ def sbom_doc_uuid(d): if not d.getVar("SBOM_DOCUMENT_UUID"): d.setVar("SBOM_DOCUMENT_UUID", generate_document_uuid(d)) +prepare_sbom_chroot() { + run_privileged_heredoc <<'EOF' + set -e + mkdir -p ${SBOM_CHROOT_LOCAL} + tar -xf ${SBOM_CHROOT} -C ${SBOM_CHROOT_LOCAL} +EOF +} + generate_sbom() { - run_privileged mkdir -p ${SBOM_CHROOT}/mnt/rootfs ${SBOM_CHROOT}/mnt/deploy-dir + run_privileged mkdir -p \ + ${SBOM_CHROOT_LOCAL}/mnt/rootfs \ + ${SBOM_CHROOT_LOCAL}/mnt/deploy-dir TIMESTAMP=$(date --iso-8601=s -d @${SOURCE_DATE_EPOCH}) bwrap \ --unshare-user \ --unshare-pid \ - --bind ${SBOM_CHROOT} / \ + --bind ${SBOM_CHROOT_LOCAL} / \ --bind ${ROOTFSDIR} /mnt/rootfs \ --bind ${DEPLOY_DIR_SBOM} /mnt/deploy-dir \ -- debsbom -v generate ${SBOM_DEBSBOM_TYPE_ARGS} -r /mnt/rootfs -o /mnt/deploy-dir/'${ROOTFS_PACKAGE_SUFFIX}' \ @@ -59,8 +70,17 @@ generate_sbom() { --timestamp $TIMESTAMP ${SBOM_DEBSBOM_EXTRA_ARGS} } +cleanup_sbom_chroot() { + run_privileged rm -rf ${SBOM_CHROOT_LOCAL} +} + do_generate_sbom[dirs] += "${DEPLOY_DIR_SBOM}" +do_generate_sbom[network] = "${TASK_USE_SUDO}" python do_generate_sbom() { sbom_doc_uuid(d) - bb.build.exec_func("generate_sbom", d) + try: + bb.build.exec_func("prepare_sbom_chroot", d) + bb.build.exec_func("generate_sbom", d) + finally: + bb.build.exec_func("cleanup_sbom_chroot", d) } diff --git a/meta/recipes-devtools/sbom-chroot/sbom-chroot.bb b/meta/recipes-devtools/sbom-chroot/sbom-chroot.bb index 182432a0..f347327b 100644 --- a/meta/recipes-devtools/sbom-chroot/sbom-chroot.bb +++ b/meta/recipes-devtools/sbom-chroot/sbom-chroot.bb @@ -27,7 +27,16 @@ ROOTFSDIR = "${WORKDIR}/rootfs" ROOTFS_PACKAGES = "${SBOM_IMAGE_INSTALL}" do_sbomchroot_deploy[dirs] = "${SBOM_DIR}" +do_sbomchroot_deploy[network] = "${TASK_USE_SUDO}" do_sbomchroot_deploy() { - ln -Tfsr "${ROOTFSDIR}" "${SBOM_CHROOT}" + # deploy with empty var to make it smaller + lopts="--one-file-system --exclude=var/*" + ZSTD="zstd -${SSTATE_ZSTD_CLEVEL} -T${ZSTD_THREADS}" + + run_privileged \ + tar -C ${ROOTFSDIR} -cpS $lopts ${ROOTFS_TAR_ATTR_FLAGS} . \ + | $ZSTD > ${SBOM_CHROOT} + # cleanup extracted rootfs + run_privileged rm -rf ${ROOTFSDIR} } addtask do_sbomchroot_deploy before do_build after do_rootfs From patchwork Wed Jul 15 11:05:46 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5245 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:07:29 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-yx1-f64.google.com (mail-yx1-f64.google.com [74.125.224.64]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66FB7RX4023856 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:07:28 +0200 Received: by mail-yx1-f64.google.com with SMTP id 956f58d0204a3-667b66a5d9asf2702303d50.1 for ; Wed, 15 Jul 2026 04:07:28 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113642; cv=pass; d=google.com; s=arc-20260327; b=dSsJ7CGAkmK+gP1rP5ZOk2DECXtlPXGWUX7bWW7xRl6+qHSxrdN+LKp6W/J9E31Dmk +di2QHsxr1YngiDHNtq43zRIEGizw4TT1izEcgIydkk8lDA4pGMGPCpegoctgxKgtkZO wm+sYY0MiNkXdwQvKG3pxbZXNM3LNTwCvcqLUFCfpPW3NqF4LNreZHnX/N7U5m/zlOq1 CBE5CrcojbYt+EiYGW2QOYozBJmDR9OFddvPRCZ79SNIPFBiEFSw+VjpbPtlVk5OfJ2h 6jBUAXpRQAjIWp+MPUeqO/6EHyq1rkF2xCz4mcQHvJIPOR7QVcYn+87Gas5Ej8S6FOBn xKLg== 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=JeC02BXltXTiaaH7Xp4DyUB+lNv4PF6sHoA76J8Ydds=; fh=SYFvDL1fHnynFE/Fp85jYLx8BWCDrdrUtc6hTolwoZY=; b=TXtsihzjO38ggYJY0ikgjk9Zj0mCeC+Dg1cqnbTWyRDRHDFpicfb3ng/6j0vNO9T4W RAi/eHcVzoJlOvoxtU2BmWs9DKUvXn/wLRfIIVp8/JFp9dGdPvoAB7kGGG6+RToP6spw V1NDdxbvOAdrg2OYpLoalpFjohN8noSMy/PyDL9ZcZtRPLiLfAVREw0emwAuv/MszUee w8+pEN/cB7cXm2heL8fNLLlO/YuEl6ooluiHqpE7g273nQ4GaZWRkb9og+T9Gm1k7Zov wtahy9T1swG37yLPgJiZzdsyYuKyrgwygGnwoTjVX53XzskejM48z9fgnTsMPMSLWVj8 H3eg==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b="b/ZOKqOj"; 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::6 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=1784113642; x=1784718442; 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=JeC02BXltXTiaaH7Xp4DyUB+lNv4PF6sHoA76J8Ydds=; b=N+7ifR6zcrv8jixV7eTrv9REIwWvJuAlUvr9vw73KeOUCFhki67ta6yinPtqY6tO5h t6fCVIiVjyxgA1Nd2yCMrg3pleC8gpBer+hDFi6qhyzDp8iUM8IE0z9JmL3zZqL3SGdf LQW/bFFi5jV6MUiTh5wYgWXWDvxiLMNHwh71V6o9jIfSqAXxJoH4kCmOzuClH7Z6tnm9 PX9nLpyU3NjnSvDr8E1FcbfZfBH1AWTiEx06I6ph9Nvc12SjLlVcX2gWyzUNTWRjzjD/ B7+hBKAP2irFF+nUSPe1RuiWxXIwhb1c2f2vNyMJ6CMs+kQScWJ4gc96kuu1AA067Yr/ /uXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113642; x=1784718442; 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=JeC02BXltXTiaaH7Xp4DyUB+lNv4PF6sHoA76J8Ydds=; b=SNRAVYY/2TvF38P7sKjNxCf0zjJ4lTN3RKhEg1fmqoapFc4imeBBMcrsE0JrwaiGt3 JFEbwsiby0PQCKLQX+wpeeGlOsJr0Ne5Laj5O1zosb+u1+tVh4nljz24UDIffCnTiBQ/ rC795c6EhVWMIX9DIzZnG4TxKFSmKekNuHtKa1gwckX01w9EuHn5j/PefCeVhUiuYK0H zO5gx5X0VcJ4ylfW7Kmc/BKFYIUWUq0g6gG/JZVYapB0CWZF/0Sz+RUnzwKxEQxqqZc0 2zTxI62tzP92vCTQ0mot0upoY6dUHB9K71RdIM6gGcZz0agdWMIP4ci5RW78yhRu3ZAc TD+g== X-Forwarded-Encrypted: i=3; AHgh+Rpw0imucIKVAFjk2ihYBPv1SFn9NnEoYQgN48hxiJIua+i7Fl1BdNePdWDdlePRiK5KBhJq18I=@isar-build.org X-Gm-Message-State: AOJu0YwXdAgD0VupFdlNT5G9jNV0IhF8ebR89y0qSXI0T+/svrAOTWDk c+aqlrV4D2YrT1dEFu6NWAgNYbBvF7hIZE5slIhnkAZ5EWF8jQkU3G7/ X-Received: by 2002:a05:690e:4011:b0:668:180c:bf6a with SMTP id 956f58d0204a3-668180cc699mr862986d50.37.1784113642145; Wed, 15 Jul 2026 04:07:22 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPTpq7zV9r/3X62YMnGZXvDnXDrZwa9hf/qS8/951D6yEA==" Received: by 2002:a05:690e:1289:b0:667:f379:bc2e with SMTP id 956f58d0204a3-66814cb9959ls672701d50.2.-pod-prod-09-us; Wed, 15 Jul 2026 04:07:21 -0700 (PDT) X-Received: by 2002:a53:dac7:0:b0:667:b234:d5f4 with SMTP id 956f58d0204a3-667d7c7de9emr7809127d50.66.1784113640895; Wed, 15 Jul 2026 04:07:20 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113640; cv=pass; d=google.com; s=arc-20260327; b=I+1SeqlTRFMiGgXNFKNTPfGv+L14Amc2xvuMuw2trUtwNShU48UUbX7WZDJ3IMqxMd iRAKp+KUG0azFxjbuWMjgXKZCn30iiuWW+O28dhoKz8oyJQXlMC/sPbE9R70rhkSNzGH Q5OAEXl+ubwfi+XFx4TnGg5FjUxBV/X7Uc2g1hM7yWu6F1rcz3Mw/UfTZhNeKTfYp1Dj aj7Hh+IlcJiSnBymz2OTIrkrYPmI8P+PKBa4x25j15pW0dimFf3x22G5f5gQAr8XMrpm h3dWJRCE9U0VZXmsffbuKWRs9KweDANkvIHDhtrpkcVC57EjCJBP5zr6zW+mmElEQCnl AJng== 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=kXn4V77iMLwCXbM0QQHg/jPLb4F8jcSpBFXo+wmv/n8=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=QGaJnZi1bqa5bP8d/Lpt/QM/8554bcE7l+NI8E40pPFpkunneh50TI0D0yN3tGJnzQ 1MCqzuP+dlbYmidkoVIFrrOwacwZEAVoXNE212teucd9ucuapT+kD+CaLRqF3WhmbTpO 2/DK8tipxtZkraGyqp2gTc9toL7kdIuPLEa6S20bXGfQholxGGmWAslCT+nzrOR1a0y7 nug8ajS9OwPFywW+hjbb3JarLKUTvANodB0h4Y6xnbEHNZJ/yX2uD4rqOrZvFTo4A4gn ZPRArtNEtu0KXODWdu3PI6Sd2fRFpqcIU1g1bAKiV6BtvPmsmqYZzPkbkw8By5QlxJTL nX9Q==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b="b/ZOKqOj"; 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::6 as permitted sender) smtp.mailfrom=felix.moessbauer@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 956f58d0204a3-6681fbb1ffbsi3092d50.1.2026.07.15.04.07.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:07:20 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@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=oHIPWADLfIr3u4fvC00Z7/S7vr9f2RPyUDx6yd9CchDojmznPfk7aOtvbPPQVxSTO5XmNZKQkFYrutrz/FzTLZYe6+sB9AxAXxWB/yQs0L/fTDce5f8Xe6yaXbdqy6tUmLv90MXZIwWvh2wT32CnZcltYMjWNuIwITP1LsNK47GAOr1Gn1SM1VIsDd4W4qMZLUErOJLDIy9l18ErjwcNQkTKq781fsMDsiJEbfr/RQ3vJZRo2jNLJPuPEVi7pMRV2dY6wBiPHu5ZetqQ3sbkwp9xb4pNsuoTMR8P6ppCkhAnvPUbBnkfuO5UGrjaf9pcW17fz1pmj9LBD/B+wUepqw== 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=kXn4V77iMLwCXbM0QQHg/jPLb4F8jcSpBFXo+wmv/n8=; b=owJTzTMVq0ZnEPfq3QWTg1u4jUw+VmFTjOOSe+bPU4ZxiZ2PDUXvaSOm+JlSrV+yPwtz/i725qwUmY+24ow4AsKWszgaITxAKTk/L19PjY5t/OOUtcIt6s6pxccJLt/CQlHjBL86nkYlWlbnmG5Iwm8Fc2e0ofrIv6qjAsA8l1F7QaDnZSzWP9w3NPJUDhZAGLGt64bjqJbFf6P69Al+65hIt5GzLEtsHwbG6MOngLVAEwRE9MoKqvfZDOqCNlfLU2PpL+ZugH07d/Jenxp+p6tWE838afyT6sGAqP/PYV8YZKB0UVUuJU/uqg9FMnNn/PQ2WrphE9vDBKrqJfJ8AA== 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 GV1PR10MB6327.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:5f::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Wed, 15 Jul 2026 11:07:17 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:07:16 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 15/17] add support for devshell on unshare backend Date: Wed, 15 Jul 2026 13:05:46 +0200 Message-ID: <20260715110548.3605767-16-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::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_|GV1PR10MB6327:EE_ X-MS-Office365-Filtering-Correlation-Id: b3395df5-48bc-4974-f238-08dee2613acb X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|23010399003|10070799003|55112099003|10067099003|22082099003|56012099006|11063799006|18002099003; X-Microsoft-Antispam-Message-Info: GpNGPmHXXaLiZIG2mBM5uwre9m1IR/Dtm/fRCpD1a8pZUbIN4egUD1td6ipPhdxdyrJLoYHHb/wz+JU0CMqoFAGplzz/tA4txaaNZ26WoIzsWLvdlYn7MaC4+OAL4kOdkrzKCMARpEku2H/e4ngLsP8/VsUQNIovO8tJmpjo7F4wgL9mMKGErrMPSgL7OdmvhoMyE04rv0BJIFOeFCqm8/UOCSlPdjsf+kwQA/+GLN2BVzxBt7LPbOJ1LUmNRI8oVcBi3dDbjzEjTELsHO4hg+EauHGsU0zbC4MgAJpBQO9X8JS8RT/87Jv5g9/ugpOz6Nn/j+eBXUsJpxJdshrfL241RliHRZ62b695As9cCoIXHFROhv/rhS0xfk7REMZL592YCj/j6D5utaUJqgA2IZeJV3QZSMh+ZxrGuERktnqBK0ii22MltSxNyzCSrw2x7pgof7aL8ZUDjK442OHrYtTQiP679XQOS0dDnbiVHoA82nDgcn6wuaNiKIsDaTw0nC0n6gKT5v5EkMwU4W4PC2evXb/Q+ECughT015S9bLm9B9m07XgJIVzskA+bb5tBTCgGk9ijXDNxQy3O4GECDOQiaHP2mK7vlHFuGEd3O5EB9u1VNJYnBcZz3fy7P1rWz8vo6nY0p7j5sz3gcLmfI6RigM/j2diZcwbrGpk738Y= 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)(1800799024)(376014)(366016)(23010399003)(10070799003)(55112099003)(10067099003)(22082099003)(56012099006)(11063799006)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: Fkut5hhNgeJM1HQIUsZMd3ri3DxaVUltpJpvA1nIQQB4PULR2dDt1wsh6pUbQm4Ls7BGkf4ATX2DUsXmN166AobeBvbJEBQB29GWKav40VOVe9NsAs1PoOirKoq+JeDKBVtz1ZPuB1ZA8dbS8yTmp6Bzf9Jg48kRIUy8ee9rx8GDCGqnK0orBMycpFyez91l9y1yHJoxbtSLSw4SFe+itTiNjhaLBDyoI/rIdmfshcCYEzfvo532M4G7zjJMIWMNbREj0refXH8nYwGoD50ij1DYMlxu5fSNk/CAXHPagu9avaWfUkLZjvifgu7+Z9q32GNmeEavIb2HVB6ta9ZEdV37Cam/qtgdl8swvLAGpi64TZFYQTGegcvfrRbEzGyUOyp8Deud9pppFwna2344syuqbUc7/ruvzoJ2dOok4zdb8Al1ItbL5atwXaE5F+7WYOboidgG19vKeDHm5fckdMN4JcjnaKycJQqDHTzRwVN0yqwZb9JYSRIcshoCz8AkrtKHBp4BCpLWETxLo3rpHAFITRSpnj3SVJfSwhGQPkTkYuxXARgsE3e0AkEhjar68FlnVBKDbCGgMme/lr8F2nlNezKrZOtWL7RLK75xfgG6MDOczisxhm8idyPkhNmFKpk0x+kFuh84Nc7tdSXhGREY3uxUIHRmDC7BU9TYxAgHXT6PfFRTvcB2F3cjvz5lHOtEyVrm8cAWnt6FNdz4LtWrXDj/y84tDmxq1w1fsCMTknuD6cv3URwub7NI+FYxsXarymwTp/OzcvV9QKxsxqXGEPEF7ngeQBj1FrfyAWVpRsW9aCtrTD/TIvsZ+hdL2I79G1V+us74Li8lPEqpOkgdvpTYfaQE/aw1q9ztmR5HP23Smjk/H32dDfC54wQdnMgcQUHp4CYgfUI7JzhpBCBK1QiTcrcZS4kaP+YtdJjeLEKiOxa9gS34TKOx8KQjS52Qtpq5aM2ZVxol3a6LwkgUzAd5NmIP8LepHlN7Xc37eZHk9g3LL8QraffsdB4zcOq0kajkKh5E3H1apGJin91BzV9lldM/cyEU35MfbOHQdlKFOCEEjjV54kKdjx0N6HUPBRdyPL2LiCKQSg9wWn9vLj/5b+U2arLg5jbOgtg0Fti5kPXoWB9ccS+a2Kt0zSwDBqVRMqcjYw+8oUI8cHD2HtzcxCdgk+yMt29z3yiMT/4LyhqDRpajquxPKi5r1Va6DENh5U7SwtOiARM5DH1sSI+3uhCJDXJ/THrJPAOW7JnZJ3XI59O26/bnSUdqUpxmJFToj7n+PYnvCksjC75VGa4y9se3rCa3o8kGB5EQoAsN1ZF55YYijOZ4lPYWIw6Mj98VtGwIgXaNwBwNuMm8UICjr5YHbo1jX8dXWkErfv/CsuG6zeDWyxFQJtve2e0wFfs7Msim6e4P12gV0fqgoHgDz1Avo7+CDvh8OuCramr9/lK2LmMWIZZkJ2R4miwoGTM0e8gYcDKsvJ9ZPuUKnOdh7NvBHIy7P3uIL/vt3Om2OAqMrs0rfnS1oB8A9XmohtzbR/scRHclMdyE+PPv9YudAOiIocB9ViFZRPB9qdLiTjrCcCZSRjHB+vqwdcEdk6x7+pePwSAT+S294j61as8Rq8pw6cxIcqyYvsIojL14n/X9Y31niSZjqcN8OBAJL6pXm2a7aH++mNv2xBt7OXUkOb8rWwzPdGjHbA36RIJ+9kihLHSIroy/Gzo0y7gZ7kdqhAaeNkxi9480tlOiHyt/APla+QSD4Q/WGYJCxcfpFXlxgOl6PAL0rjI37MdvzPkx X-MS-Exchange-AntiSpam-MessageData-1: YMC6T+2rBJaY0kPKpfmMy5SD3zS0WWH8bqo= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: b3395df5-48bc-4974-f238-08dee2613acb X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:07:16.0194 (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: 6fXthPvD7t5YGcXBES0iSpM2PSQtkY/d0C7/1X+BY+xmU1ZnDMkIlqKB9hTClRPxZi2Oa7F1u/B+kfPPwWJ4pZL1tp0juMyVBiam2KPdHfY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR10MB6327 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="b/ZOKqOj"; 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::6 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?= Signed-off-by: Felix Moessbauer --- meta/classes-recipe/dpkg-base.bbclass | 68 ++++++++++++++++++++++----- 1 file changed, 56 insertions(+), 12 deletions(-) diff --git a/meta/classes-recipe/dpkg-base.bbclass b/meta/classes-recipe/dpkg-base.bbclass index 87ba0caf..db912e90 100644 --- a/meta/classes-recipe/dpkg-base.bbclass +++ b/meta/classes-recipe/dpkg-base.bbclass @@ -257,13 +257,11 @@ do_deploy_deb[lockfiles] = "${REPO_ISAR_DIR}/isar.lock" do_deploy_deb[dirs] = "${S}" python do_devshell() { - bb.build.exec_func('dpkg_schroot_create_configs', d) - isar_export_proxies(d) isar_export_ccache(d) isar_export_build_settings(d) - if bb.utils.to_boolean(d.getVar('USE_CCACHE')): - bb.build.exec_func('schroot_configure_ccache', d) + + bb.build.exec_func('devshell_chroot_prepare', d) schroot = d.getVar('SBUILD_CHROOT') pkg_arch = d.getVar('PACKAGE_ARCH') @@ -275,21 +273,39 @@ python do_devshell() { -t \"apt-get -y -q -o Debug::pkgProblemResolver=yes --no-install-recommends --allow-downgrades\" \ debian/control" - termcmd = "schroot -d / -c {0} -u root -- sh -c ' \ - cd {1}; \ + termcmd = "cd {0}; \ apt-get -y -q update -o Dir::Etc::SourceList=\"sources.list.d/isar-apt.list\" -o Dir::Etc::SourceParts=\"-\" -o APT::Get::List-Cleanup=\"0\"; \ apt-get -y upgrade; \ - {2}; \ + {1}; \ if [ -n \"$PATH_PREPEND\" ]; then export PATH=$PATH_PREPEND:$PATH; fi; \ - $SHELL -i \ - '" - oe_terminal(termcmd.format(schroot, pp_pps, install_deps), "Isar devshell", d) - - bb.build.exec_func('schroot_delete_configs', d) + $SHELL -i".format(pp_pps, install_deps) + + if d.getVar('ISAR_CHROOT_MODE') == 'unshare': + mounts = d.getVar('SCHROOT_MOUNTS') + mounts += ' {}:/home/builder/{}'.format(d.getVar('WORKDIR'), d.getVar('BPN')) + + if bb.utils.to_boolean(d.getVar('USE_CCACHE')): + bb.build.exec_func('dpkg_prepare_unshare_ccache', d) + mounts += ' {}:/ccache'.format(d.getVar('CCACHE_DIR')) + + termcmd = """{0} \ +sh -c "{1};cp /etc/resolv.conf {2}/etc;chroot {2} sh -c '{3}'" +""".format( + run_privileged_cmd(d), + insert_isar_mounts(d, d.getVar('DEVSHELL_UNSHARE_ROOTFS'), mounts), + d.getVar('DEVSHELL_UNSHARE_ROOTFS'), + termcmd.replace('"', "\\\"")) + else: + termcmd = "schroot -d / -c {0} -u root -- sh -c '{1}'".format(schroot, termcmd) + bb.debug(2, termcmd) + oe_terminal(termcmd, "Isar devshell", d) + + bb.build.exec_func('devshell_chroot_finalize', d) } addtask devshell after do_local_isarapt do_prepare_build DEVSHELL_STARTDIR ?= "${S}" +DEVSHELL_UNSHARE_ROOTFS ?= "${WORKDIR}/rootfs-devshell" do_devshell[dirs] = "${DEVSHELL_STARTDIR}" do_devshell[nostamp] = "1" do_devshell[network] = "${TASK_USE_SUDO}" @@ -303,3 +319,31 @@ addtask devshell_nodeps after do_local_isarapt do_prepare_build do_devshell_nodeps[dirs] = "${DEVSHELL_STARTDIR}" do_devshell_nodeps[nostamp] = "1" do_devshell_nodeps[network] = "${TASK_USE_SUDO}" + +devshell_prepare_unshare_chroot() { + run_privileged_heredoc <<'EOF' + set -e + mkdir -p ${DEVSHELL_UNSHARE_ROOTFS} + tar -xf ${SBUILD_CHROOT} -C ${DEVSHELL_UNSHARE_ROOTFS} +EOF +} + +devshell_cleanup_unshare_chroot() { + run_privileged rm -rf ${DEVSHELL_UNSHARE_ROOTFS} +} + +python devshell_chroot_prepare() { + if d.getVar('ISAR_CHROOT_MODE') == 'unshare': + bb.build.exec_func('devshell_prepare_unshare_chroot', d) + else: + bb.build.exec_func('dpkg_schroot_create_configs', d) + if bb.utils.to_boolean(d.getVar('USE_CCACHE')): + bb.build.exec_func('schroot_configure_ccache', d) +} + +python devshell_chroot_finalize() { + if d.getVar('ISAR_CHROOT_MODE') == 'unshare': + bb.build.exec_func('devshell_cleanup_unshare_chroot', d) + else: + bb.build.exec_func('schroot_delete_configs', d) +} From patchwork Wed Jul 15 11:05:47 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5246 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:07:30 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-yx1-f60.google.com (mail-yx1-f60.google.com [74.125.224.60]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66FB7SFk023870 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:07:28 +0200 Received: by mail-yx1-f60.google.com with SMTP id 956f58d0204a3-668029b89fesf694510d50.3 for ; Wed, 15 Jul 2026 04:07:28 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113642; cv=pass; d=google.com; s=arc-20260327; b=Us42kzr05RYvKLv9jeZxUfKcFihKvpp5PIuILgE6Bi8t/Fqw/5+YIVbTAJuUrjAJ6F Vwt3eehPn35gABwtPrO2Pcvn+uYgI0yfnWWKLiVXEEpqYVHf9VWw4lnSATscl00cJX3/ Uqz+yhfYF8+q8rJC3cTnuNTgFd64MoX7tdc/mj6ZzludkcoO0ZZUT1waffIJPF52aMTO aK4jHL8oVbH44msWGk3z+rj0gJwWUiveHfi2gCTpAG4Snq6IgYLLTs2uRF3qcYMKORnh B4Lf7kOInfqRQdO+5AQHdQtjYue2jt0XQv5pXfPVUHu7XTmi/uFdKB0TKXvHDa38Rhlz BGWA== 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=4xUgBG9ckXa2Gx7ybBqffiMf3Kgkd7XUEv1M1jZapWw=; fh=+rgBGDFQ8kw1a0XbQIQxJV0pIKXCN0Qmj9o0BG1YU6k=; b=X6kolINQc+W7HkzgEUL68zuEEMLuUKMpwjLKvoflVMZ2D4HrOqrx+Q9r47CviXARLN szdnNxF9b56uBqYpxdy1kXJz16nlBtY0xdCD5mtubGyMN8w59HFYynEbQeS8lwz7Mcmk HknVrNhj+4GWnTPiolMOCgnTBsn5WOUnCzJxDRql/xvIwszV1MWPprjICZ2DXtLCwzjJ K7JoP5ef185sniC7GvOzNC4H6XXBaxrB9auasSdMIdQGHM+ISxa+TDhdst6E6v9ZXUSl 4scEOLFb+GCawVgHky3bOLS9daKQ6ENSwB4fZ5KJHn4UprvLLjPqnlKHifTYOzfUzOtb z1WA==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=whG0ANgG; 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::6 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=1784113642; x=1784718442; 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=4xUgBG9ckXa2Gx7ybBqffiMf3Kgkd7XUEv1M1jZapWw=; b=x+FMprgf77UW3sdicaOu7RqNk+mc4sHxN5JgNQ56wfmmpwjD9TeFBKKzQ1YyHD9ur7 6J1D6C8FauBAsbQE73qxd1m9XHtAR4UuHI6UpMFS5pn5Nl6WOVhUW9JD54UX9sQPC5d5 BLDlkCBoN6wKai1jHgzgxPLd1EOaasl7H9QLxPgDynxcqz7jpQG4HFwP0nIGEl4REuWQ fyCbWf2STP3ozJwrF5ZwNWMz46SD9u3iXWe5O686WyBPaJaSfFCXmcOwjsOY/RKeBYhW GnCwK6VdmZX1OcXBG2cf9iPTq+AMEtdRqzbNOwuM75ekEnZbBUKJwsHNhU0VIcwbzWvT PDPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113642; x=1784718442; 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=4xUgBG9ckXa2Gx7ybBqffiMf3Kgkd7XUEv1M1jZapWw=; b=d7abHKY/k/Mip8awGFKkYThTC7bM2oZCjnkgoqMBSmLjO0Y4FiVBcG5V2sN2mnWz4t ytQaS1zHhBy7/dYdJkG8cs3WxVePa5p7VS7T91CJgesnqv6+f81e/IPEUVKg2eyfKvjE Z3Kz8HrrHJotGDt0gCXizJfgYapnRdk3rrNOo0uAn5Q1C2/f6uFop8epkZF5sHKMiCId +1n1kxgePdvQhlUTozt7E6Ippzz7IYh8CLzH75/2QPUcx1/SgJjxhEPhEoiZyScgkKK8 7ZgwaPQT6NTkw395gvdDP5GkjI4qiPDI9UfsPAxi9HaF6rQQJ2SlpHnHgDW7uvaH2Rlb IB9Q== X-Forwarded-Encrypted: i=3; AHgh+RpmM37SRdX9JnBTsdYZe0VPcQt0PBenAJm3S3oqBCgz9TdyyFRW+a++Nbd17gltzsvacgOuGmg=@isar-build.org X-Gm-Message-State: AOJu0YwbDw228M5igeMjEiZ3xLYtLxQWX0F/Kw/k4NfuANc2j6yZBssC l0O81eChCZ6B+qql1hJnDnTcJFEV0uHUCOLQZ+QtTw+RGyY9Y8IRSsdI X-Received: by 2002:a05:690e:1519:b0:667:daee:17ee with SMTP id 956f58d0204a3-668077527femr3533415d50.39.1784113642547; Wed, 15 Jul 2026 04:07:22 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPQAo51KfYCWdNSdLGIFDOJcfDaNc0Y2zLL/HE07LXwnGw==" Received: by 2002:a05:690e:134e:b0:665:4fd3:5af8 with SMTP id 956f58d0204a3-66814d1db6els673419d50.2.-pod-prod-03-us; Wed, 15 Jul 2026 04:07:21 -0700 (PDT) X-Received: by 2002:a05:690e:155c:10b0:667:8b90:2e55 with SMTP id 956f58d0204a3-668078bd63fmr3056804d50.97.1784113641361; Wed, 15 Jul 2026 04:07:21 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113641; cv=pass; d=google.com; s=arc-20260327; b=enOtjsXwHTXYNf+GNwxUT88x3Eb3y25CC98d6XSThUHTwXzaZXT0iNIJ37BV0TjSJm 6wqiLkZhZ8T6frUrVyemJDmGaQB4EwpHfw6IyLxc5RZ2fhnPfb1HwY/26X3kvkULRjWL PLYAUF5SxLAUIFVYn6WH72ZVRpIg0Vr1ONR0F+Eugj3eg91eKJ2uZdEo7iA1FGKRoLvJ 4Az4z+QRYU/8+39NK83YnN7yUBLmRkARj9vu3DUeCc3tt6LrThjDnELAe4OolUG0LImM h+NWV+drYmaAm6ZatH8rlJTnRxjc91YdAiGWL2Ub0J46zTHunoh2uNs9YPGQ5zz3hKbo iz8w== 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=IJ47NvTrRLsqo7ac9jNv8yEkpCotVYLyWlYNgDCEVNg=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=rqb1RXcTeIJKWg9pSpWk4xUMTCEYltjn8Mp8zVtcQ4Lg1LM3BlwAvm9otFVH2xLPmz /uvYkdpaEWc1WvjZLofZL/m44aT1qVicUR1IGQrTsidbithRsmkiXgLJ8QCx0kwpdqw+ 4VWBPOGDsuXmgNDbmD3pO3F8Pkm3ONJrmb5GMZFicE3n6Kp4TNnjXz3RxCi6OVCV5kgr VJVi38ahIfvOn0vymmyKa9WciSCqN8FkXuH67N/h7Hl6LiV3JFNZD++CL7gDG2vz/ODb /MizZ9yVMKDPwMmIgx/ls+A1qxHpGqQ1zhmxpJZW42fXrbdf47YcvDDM041Aeav06zXu cNVg==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=whG0ANgG; 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::6 as permitted sender) smtp.mailfrom=felix.moessbauer@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 956f58d0204a3-6681fbb1ffbsi3092d50.1.2026.07.15.04.07.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:07:21 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@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=p0ADEJ1MS7HdhfF5ZjN6oU5wvWaqLp7xaPJCP1Qx4a0259CuFsF4oMl1ofjrm8vgAVYTKv6qq82mgps1e3yBXhKclmsqZoYUfhTX4dOk8Xkx/UAclkQeTmGZEQCZMGWZ6qJhyJsRII+R7wEgl24EpPQIyk4CljpJH+zRk9cX//m0YnIstD7xDiK29KHPpnfqs/eJ5AFx4b0J45f/rVtwuMEXSo3RezK5blaaBzXjnRcSsgoWzWurpgli+nZbketcNxac09EzQK/jVysC8dVr1NOgteHqi9m5sZKzEy2d9IvbBKwteJJF8o9QMAtuL0Ejg830lHveKHASReXqr+cr4Q== 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=IJ47NvTrRLsqo7ac9jNv8yEkpCotVYLyWlYNgDCEVNg=; b=AtmOv2K+bzYZh3ZZF4kdE1FjGKSOnrXbPSuEGSEN1M56bENI/WM0pyDVp9FppYoKOM9Yr2h97zMeB9nBaDt9KVI/ZsLzChHLeDVo/YB/IZVucQNlyUUNqwggr3hU+7hZPP1sA+jMJREVcnpgEo6IeDm1N+Jve28XVyKIlsKu3jugQNdE0hHLJlC5DKs6rEkKlFFcMbk//sehqtp08WFKCxkRsK1AU3q4IpM2LDDBH+u8L9xOhv9GTsVzcL7xwo9dVkoDXdcNLYfpAnbqnLVYTDzGId+OG34CnWwoDRmhy8kFW0fp8BV7n5QwLpll/cipkYG87nW15HDQS6FzNiNyyQ== 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 GV1PR10MB6327.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:5f::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Wed, 15 Jul 2026 11:07:17 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:07:17 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 16/17] testsuite: add parameter to run tests in rootless mode Date: Wed, 15 Jul 2026 13:05:47 +0200 Message-ID: <20260715110548.3605767-17-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::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_|GV1PR10MB6327:EE_ X-MS-Office365-Filtering-Correlation-Id: 94cbdbe3-e6e9-4cc1-3d47-08dee2613b1b X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|23010399003|10070799003|55112099003|10067099003|6133799003|22082099003|56012099006|11063799006|18002099003; X-Microsoft-Antispam-Message-Info: 8alxq87hwvL3ueYTJCGX375lEGAW+u2xkTOt3CLTbKs9S6IhFUJvbDGuPH40raDWCANqFyTXArQD+Rv1N+BdYs8SYxLPoEp2348ekf9hpRtO8w+w+yXOo/gJlEhxDpn+bZZXWxiI1WluIe08Nl/zjbUzQogi5MNH/VI2N7/ocFhFrACc0wStbad+5tZToRtNoBPpnfZCPF/Q57je9jsGtzsiGoB8Rz7OP02jQLwUunMXkWMyXquIlml9+5FYGTUnlnpSwoyjPbZ5ecFPfKi3/iNXGQVQTnHev4s9dZ4dB227h482c3osGIT/eHGtOhH8EoTYu8TlBdBggWmomvMesHuHZrLngP053+1j7X+Dq7Ia828otWTUxHsyJJXlk6wh+g+4ipxqrycUIxTlsG1HM6TJcwOn51Kbg4cZ+FfqIGqLezh6K19TnvmxpF+eV+B+OZfNC6mncYLb1GbURNPT8p97xeyt6FR0ya167EOLcoI7pJ3OIFNbmdaO8v6ktwh3iLmINcrfDHDjsaxYvyolt6L0f0B1hSyK/sC/wb5wMPd6Uro1EN3JsYtVloUt5KMplP/+nYvLApp5Y9eUcYl5UFTUBE8aV4TDR6zjJ6VDqE2N3M6KPkum88/Qb4reTBKqA8WWXnfXSe+6P8asax4fcUPQr98/RxHJBMi9PNWtAQM= 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)(1800799024)(376014)(366016)(23010399003)(10070799003)(55112099003)(10067099003)(6133799003)(22082099003)(56012099006)(11063799006)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: cG7S075TdiUbQ7VV2vmfRjO2vGlUZkL+K6X81UteZQEuZCq4S/UuQqAYKY8SdTkkV2O7M5imqkCy7lRSusSQP7u7IGsXb2EWPzAY+IaUuGxxMA5KOwxj6XhTWCRhDymcMcr+CpnQPJna1EOWAbYprcAdk/PxYauJoh9vMPXxQfE0OIOvNvLbWrtfoBySsSg3GncLl8zkq8GLZ0TsxlexvgrZd9LzSWjQvGOCfTK0B8o+JXAcKeIlqZEwK6gFbfJ49o+kk988xWoDUtiKWfujTxCDUmz9wnxGGivnfauGYRdfszo/ZyszoLEzbJilUTZ6Lr7tZWZJScTeR+JLrhCNnELCQDPq3w8q6mEtC/TK0lee52rTdaMcF6WkHK3HAuH6MTTaltV4QKNmPzlX9QhIsiEy6Xp+LK7pOCjEaF5APCfBUyt7mOn3DSW1nleoZnPP82x5NQAPV2Fcu5k2qXQaq6qIRy+nA/Y3izmkSzJFDUqf9Wdu8O+0Lw+qaqDA53kIZpjnrSRiA0MT6d/0M36egwsffyarxbrfUWKcbQnmH5jjX610phI40dNaCuHSnSFS1VlsU5Zttkv3qW28FBNzla9HLn9KXHl/cHQO96SKt4FGr8SAw927Z2fvs0qqyBXVssjieiTd0O7QRmB8n0qqBEZiOC7XRaf+ha/pM1Q/LjtHWYhgW74PdZS2rzx4EAEe38eixmmSZNRt/UXdlQasbSPoFHV5mUaEiUNpNWv3yBwvkeTEuxUAAKkQFAdVIKom8KDUKiMl+GNqJ13ePT1kV5kqsqpqHAiSZwHwQWLc3k2exa3MZfMw9hiNEstSTOgzqg1ISgB9wRfwEdwodaQbKinuBhSkH04cx3Haz3QLSloSGAtEgvlck4SQlASsQ1NZk3Qqj2GtvLh9ffqjs7vTc0US2Lxrb4UV+fox4EgnABfImbiB8s9Z2GXj2roaiDeoGbg0YzW/cmWgiPxsMRhkIEeNgCVlo4O7m/8DY8wvzsceS0lCCsHnYmqqj9PX2OTcVpnx+aCNRV4/sIk8IHzqZJLgf8qcGtvihRMFpDt/TrTY5U/cDGuJXJftp80kMB/3hba5NCrPsDAvlls3/M6vD2zkxcbVFFzzLLZqZwahED3zmjK5hU78qkrjORXCM9L+SeEML2dlgb3QeTcXbwkIGG9wHlI5RgwU0MA16rBPOTpQM2ZxGbzWGN6dW66m7cuo8DRsS/IjGzC3ep+YqM97IGliCaGSxZAA8/jjIbUkzNNcrWj6he4264jrapJX0NDjRhGEhtuTb4XRe7+XwPrq0uV/NeSEQAmFZg+FLTZB65S41HoFD+VLUE5VXjY5iM/ceOCiCCarATwTXFQQEGmCEpxvJu6riiFBG2tQbgV/dYldCGnBjDA7go61rNOYi934UlSTvJ55gF5+K5zHIgAvKqBuMHuzSsuxjXCVw1UmHcOzexKsABJnmQS9VWyAClf7LBjVDd/F7EIRDet0jtKMjtKXqI8et3uCwRUDHAH6cCVT9boFGKb31vASnrVhjXTdnnnWKY2knWocxRoKZ4wGbsOe3G88xW8hIBMLd+FamQx4Jc33SdpScx52Z7fIAtPIz/edq5zuM0e29JpCJ6ndoMCm3ib2YIOfdl6BQv7octHcVhN/yz75KvbAmfaMnnf0x8zOurnmERz2F05F+wiodomtl2eK63EO0nLbcIbI9WHIuXkddjIio4rTAB2gTm1xtQkAlTaIAWdJysX2pC5JdLIK7X1TiHxU3fEs2RhkBRQ/CjcpSK/w3kFpckUo/ZlZv6+Va4C4 X-MS-Exchange-AntiSpam-MessageData-1: IHvgw7c0UBSxlWLczx395Qp9NLzgoLiDw5Q= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 94cbdbe3-e6e9-4cc1-3d47-08dee2613b1b X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:07:16.5582 (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: sZpEazFg8FHe+dFUq5gPw2UFh/FlKYoZvKK5i9ex/nE6sct41HXMEAwQK6PdfQNkO+dvj7xDA3Tt9KoL337H//N0zyNjUY2EF/p/ZS2QWCA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR10MB6327 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=whG0ANgG; 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::6 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?= While the build mode (schroot or unshare) should be transparent for the user, we need to test both cases. For that, we add a parameter to the testsuite to select which mode to test. Later on, more fine-grained control over which tests run in which mode can be introduced. For now it is important to get an overview at which things break and where code or tests need to be adjusted. Signed-off-by: Felix Moessbauer --- testsuite/cibuilder.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py index fca2f2ed..d42e8631 100755 --- a/testsuite/cibuilder.py +++ b/testsuite/cibuilder.py @@ -128,6 +128,7 @@ class CIBuilder(Test): customizations=None, generate_sbom=False, lines=None, + rootless=False, **kwargs, ): # write configuration file and set bitbake_args @@ -140,6 +141,9 @@ class CIBuilder(Test): if not sstate: sstate = bool(int(self.params.get('sstate', default=0))) + if not rootless: + rootless = bool(int(self.params.get('rootless', default=0))) + # set those to "" to not set dir value but use system default if dl_dir is None: dl_dir = os.getenv('DL_DIR') @@ -178,6 +182,7 @@ class CIBuilder(Test): f" installer_image = {installer_image}\n" f" customizations = {customizations}\n" f" generate_sbom = {generate_sbom}\n" + f" rootless = {rootless}\n" f" lines = {strlines}\n" f"===================================================" ) @@ -279,6 +284,8 @@ class CIBuilder(Test): ) if generate_sbom is False: f.write('ROOTFS_FEATURES:remove = "generate-sbom"\n') + if rootless: + f.write('ISAR_ROOTLESS = "1"\n') if lines is not None: f.writelines((line + '\n' if not line.endswith('\n') else line) for line in lines) From patchwork Wed Jul 15 11:05:48 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 5247 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 Jul 2026 13:07:30 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-yx1-f56.google.com (mail-yx1-f56.google.com [74.125.224.56]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66FB7SNd023875 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Jul 2026 13:07:29 +0200 Received: by mail-yx1-f56.google.com with SMTP id 956f58d0204a3-664e1e408b2sf3363729d50.0 for ; Wed, 15 Jul 2026 04:07:29 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1784113643; cv=pass; d=google.com; s=arc-20260327; b=hJgUoxqNiz7W/d24JcHy9OWaIOXrP5kPkaqf+AffnuwdyEW7uemEMP1tW3B9LmRTEz OOz8poz8u3heOaEgCY688Ux1dogXQA34KUI1+hcpGPa9P+rugw5X1HdOOlQW6jzY8O/k ULy4qXabW2LdRRMieFYTV5+4RedWMZB47VON28T0TCj0gjHTnWkDsGapFpGfbHn2NUSJ gvVglQGwWA9CsRvJmMpU9ebWlaiyP6hyIw7bO1VWo+qSgloyYMbcBj//u73vmo/vUQRT 49ZGTrXmqjtO+158xsmC38S12R4WDmeT2e4hPYdNdIYcLApUbSiSy61wC+el+7MZUIyW r1tQ== 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=FkMhpSk3rqZSJNvV8s3khBFqa6Mfje3Qx2NpYdOLTrU=; fh=TmStln5ON0Pj6EQgHKEEM6lEUqspLslVe5/MBvQ9WOk=; b=S5JxctySmeZ6F1It1i8KD0CfLWWgJ/Nyp0/taemSvlkvhYoD0/bZY6SVxNv51TU3Y+ GTIP6ANDe1O8+Bh4OJHstgljREya26CVA2kewSy8k6EFdw0p/E8nbpXeKqaQg6S5ORrv 4eMJx0LJUBRHdJmBUyWI6zikeSxxrJ59XoyKJJ1dUxrqjRyx2+/lekq/6ftAjRX+EWtM KuYWcvbb3YdzbkahPpYK1O69LTjvf5QpbDamUjmH+IzhEiBvW8yevx3vFJ6RyvgwKWk/ +nR2nrzvV3bKAzkv6AxsPjbfR3EiBbzSW4CK+3s+fpudNLc//Ti+l4pVNF1phtO3CPvu BXVw==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=q2UbW7BS; 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::6 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=1784113643; x=1784718443; 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=FkMhpSk3rqZSJNvV8s3khBFqa6Mfje3Qx2NpYdOLTrU=; b=aHkv0Taxu839xLy5Zylm8ZrvyDWX2oYwzzlNv2raJp+14WJ9NOaUtdugT9V6kBLYh5 0Hd/Rs8HulA9XlVLIlccRSgn2MQ0nDq9DOWLdmtYVpTBJ8pisjBnoaMOPAbp+eDWq9v2 pBw3rh7BGUH9SXcP6Ayj5i2X+WOgF89tMiSJgoRnf3D3qIVrPRaIy8fLqJnhnp2KF8XF Z7kov+DE8xdoXYFecBatI94Li5/C3wAmBMLgegsJR0Y6MrTUyY6bjfVkbjkzxWAkgRuL PTDrNsHhANOA/1aFNU2nlD60CeMljl2U2ljdtIzA3/sWzeV2C0NEsdLJ6MWmDbaMBbzG ouNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784113643; x=1784718443; 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=FkMhpSk3rqZSJNvV8s3khBFqa6Mfje3Qx2NpYdOLTrU=; b=htEeFoKa3Eko6cN1filnJ2gko13eC6tUGHZNa8/uGNWp2/E3Y13dSxU7TCLmOHRQtB lFLficRqcVYKfmyrSmX7gL16g+Icl9Cm6Xx+nxn7GsLhhRVveMwqo6Rajb49lX3nslBg lKqrehMkFTmJFYJS7WU4Q326ubLu2qTmQKcS3zHRJFBKaIGF1ad6AscwOM/YlavC2jfF 1cTmOX7fNWV+TY81pZYlhjNxyDo26s73P7x/UsIwumEqdFmob3NhKzJerjxR7vLDSHea jMztrv272zSo9e9Fm7Mrwb9euLvSNYkO5U+p3jV8fH6eeeRoOT9/qvLcYoLi5gQGXlAd PxRQ== X-Forwarded-Encrypted: i=3; AHgh+RpAfC9U8TGVI5NjCI2LDYYpbAiOoaLAGOrNgwho3mWAhj8gKwaUu/jyRP94a6WZbNKDhha1Big=@isar-build.org X-Gm-Message-State: AOJu0YxAIE/fGUNZ3Xg/RoMrGCbDhdIamr20NeLBv50N7TcUiWN+X/0Z OqjjMrdRXOkuX/00iKYhBBUQZJ4D5qZ9ehUmfCH8ck6VPiDTNkAW2k9l X-Received: by 2002:a53:420f:0:b0:667:963f:eba5 with SMTP id 956f58d0204a3-667d7cde1a3mr8074496d50.106.1784113643264; Wed, 15 Jul 2026 04:07:23 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPTFTep4/Cy0MpJJdjnFbffSeV3PdYWy8FqBwWP6IWy3eA==" Received: by 2002:a05:690e:168b:b0:667:612e:c400 with SMTP id 956f58d0204a3-66814b60986ls647973d50.1.-pod-prod-07-us; Wed, 15 Jul 2026 04:07:22 -0700 (PDT) X-Received: by 2002:a53:a304:0:b0:664:cb17:ec7c with SMTP id 956f58d0204a3-667d7bde80dmr7093675d50.59.1784113642007; Wed, 15 Jul 2026 04:07:22 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1784113642; cv=pass; d=google.com; s=arc-20260327; b=hrbc4FT85eDMdGIC01n59VtpFlqBnofTQHkuFPudHNuE9Q9TuZuh9I5K9f8J3HgYIp lSXyCoTlzjO5J//bbSUqtsrzKulXARveU2i9ZR1kEkVMA+G+6dyXB7GN3XwpNsWInG7W rzkTWohpoJTIClsVFC1ptutziV9AJuod6NB8YSL3U/ZLmdUh94lEun3hJV3JfcgGZTU4 77BsxWvgmiiicDZ1wUvzfHi5bOWNxqjrtocI0joSmMbf9iEthTrYTSn+xLKc6iHE/Dje s58jsG+AxOiHFEMhy2qMJVSm0UsEYBMdgnmnOyOdyYBlUfBdblaS55t8BepiahgatKmE ImDQ== 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=IdiTKWPpMqcmv7VxHWHDV8ZZ29zjGsGl5d5fLe5AKoU=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=RtyRvi1tUfpgopNVo3HJJSsnxrR2Amcrylrw7yjQSZQWc/yjBYl++AHZHQQgVsob5O MkIJEwhJ8lq3HdlxFjsvu4WJfJwsqy5SB4LmDt17/088Tdv8kq+WPrhiW/IrJEpnCvdF uAqn+x6qtYzLLBiZkvhpunQiFrYH+uEPwguApRpgPJ6nYkJx9HLxGxKeiClF28WtEp8v u6DB9UeHArKaSfEnJw2aPSBAkH8eltktRJMjyxzqxh7UOAAinNTFdJU5F5WE/eHP2PP0 SX/SgdXXjlmXuK1+ifA33CfaX3nkzDl18RciYOIv5e8jxaWv1EK6skjlZIvBPRIl4DO0 sjbA==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=q2UbW7BS; 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::6 as permitted sender) smtp.mailfrom=felix.moessbauer@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 956f58d0204a3-6681fbb1ffbsi3092d50.1.2026.07.15.04.07.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 04:07:21 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@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=raQ2dqJ09qIVUFOkSoua+Kpki5jgBoZtNXMtiGmTDcRBKnma/Gubk7qMfGLPyD8ZD+k6Q0pYft0Z3EBKos5mNffoyVoVxjSQLGQq3EDCdrUBsjq8xb7xdkhCJzLuZ6dWP3ngdsL8k0SMKDK6MPqtENnFikr94VfUp/qOlt2N0Vn6hmKWwZnMkFU1I803hvr8aAxljmOH1ELhdtf/xiPtioKOceFuNA5XE36JKBGF3k4G0VJgijGmqdunX3KdywPvg/8w4+X0kgYiitM0PLlLpA/jgesfd7AvyGnqkeftVuOdPtyt/wJI3vHWUmV49KbzzccBkBzMRO6XqkIj/VvlaQ== 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=IdiTKWPpMqcmv7VxHWHDV8ZZ29zjGsGl5d5fLe5AKoU=; b=gHStxCOXf6Ku4i5v3rxrNjGRQUZwGmHOgpVUaN1iJrGSlwFBtxJ65CNNMvsJnzOw4gLm1mXiqRxoP5ucw98mzEWv1sJQidoZoIhEO3ccJ3fYebaMNEDjRKzU+yLPY/xqbO5Rs5cRCKZAjxQGCNy+AYhbNLW2RyPuWAfPyLge0gWVHwSvXsmf2Ot78mWluyL4n3SgqDHEEyMGDQleCcVqAeGhI2VwdQ1cdLikZo7c2kYZLJ0YTJoVo+Twp7P4YnmF3VHJjtA+KgRht/QgRJ5Q/LvU6lATAzGPIiKR7oTFLB6FAXH+jG03XfZ0+oUDHhvIyl/fKGvLuRUrqc9XfzMrZA== 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 GV1PR10MB6327.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:5f::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Wed, 15 Jul 2026 11:07:18 +0000 Received: from AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c]) by AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM ([fe80::c54c:ccd8:ebbf:477c%5]) with mapi id 15.21.0202.018; Wed, 15 Jul 2026 11:07:18 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v8 17/17] run-tests: add support for isar-rootless mode Date: Wed, 15 Jul 2026 13:05:48 +0200 Message-ID: <20260715110548.3605767-18-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715110548.3605767-1-felix.moessbauer@siemens.com> References: <20260715110548.3605767-1-felix.moessbauer@siemens.com> X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::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_|GV1PR10MB6327:EE_ X-MS-Office365-Filtering-Correlation-Id: 5d100c14-1827-49fa-c1a7-08dee2613b7c X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|23010399003|10070799003|55112099003|10067099003|22082099003|56012099006|11063799006|18002099003; X-Microsoft-Antispam-Message-Info: impCb9cJZgJF/IwoKjAyO37WjJoIgMUJFIbtmEMBMUCoSFWhsepM7dJWa7/Xpa7NsLyq1J3tC+gIb3DqvKf+F833A9xNUdrUeVWsNKhd8FmGWXnAsZgIDGAdPpWJ9mHmfLRRvjIFNaA+o7ec2/Uia+pD1729l0MAY9iBmcndU0qkjwWoHNb3MhQG1OqHkbc9i3Tpc8b7S3GnOUn/Zir/oQr3F6fH6vOWQhKc8N1d/auOgGIA45I6zulD71RHiyoaog81Bq4LeIN4b93JUS6yt995npdK9IEkTBRdaUXLendAcahLCHzls5+lFMS5dfFu3TnDJ0DdStZRHPap/X8Mj8wbR0t24UF8GJGic8p2SGFTaSIzoIVVGiOwaWo7BAp8GC0WvwaXKiS4Oqi0oFg8MR6/UTx/yIPc6rmzVz+zO5XHH5zu6I/AvFSzhpDaOG2M1tcaxZwORTT/qRXUVTRZ3bKPv7aP0CjJ3umG1i1BeepxZ8eUMiutQ2Dp8jZjtQUG1taW3W2BNfraJS2471eMPgNH0Upqu/KpKg0HHCGQyRKm5v9UOcViV76mQqD3YDlwzITtE+adRAGxiMCi2xEuZC6DPSf1OsOK+Qg9gpK0nqgG8RZzIsyZWJJjQ0PfjMaRWtqL4ElaBy8+NUtPNZmLZBc1fl7dk7yMn75I3Pz0OA0= 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)(1800799024)(376014)(366016)(23010399003)(10070799003)(55112099003)(10067099003)(22082099003)(56012099006)(11063799006)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: P0FD6lLSoUJyVnL9WlwWPixVST+8j4G13ItzHQ5Pu4yKB0bgTUda82U6+1QV1k+05EcAdxm1U4wnJc7j8ot81fx8UzrEZC865vP0CUPqdhL38JcYTZQg7TRYZGX1jhjIO8y9Ro25TV7tc71BxsWvDlI1FJNGHPo9n9RTsbk0E8fddslBp+El2R6ehXVuMGLcGbkkhFvbihJLwe9iW+LPm7uoVX2b8FeiLA/1N3PlRSqXD4IjSySCV0YBpbFYkbtTmbrG9f4q958y4/RcO42HzJjuTJbQatEnLYTAJNOLGSs5Gh/4H2pxqHo2D+FAhlPId4wjU3ySSdhUAluTrlKNbDNKRnLDfAwaD/ufSmw+QKxgOfu4DxJyVEa/Ke2NBZ2eKLIMuFZvojRWR/xiXh6n9HHvskn06Fdie/BtFfink6akc5CkxFQe6OGBQ4TQiRfPe95AryCHS6+zAT9rr3HvZF+4u/slSkVvCXoNt3f2LqNEzAVOmhblMhCAkXsrOcTU+SWqnmgYPkdd1H2dioLyvIonJH2JbsbIeQzxFCIE3rE30FG43LcrIKtjn73jB7zz1Pr75/1Ntr5Vhvh67ZEUc5kU5kDrz1E+gYXQMAcRtnJdWOHVfz7fyMhXJbocsJUo+3Dzh6AaN0nQcGQdf1+pR9RCwnEsBoengbKSCbZHIWC/33QAvkz98iNpC7LqeMi2XVXOAbAj9KUjkMRfOn7AnU680oMPcRg7fcTWWSx397miN+MnpCNxaG+xLL+eI1qkiBIa8eZItyN4NsY7PJ5aDOGwBEqIxjreVfICNpSRB3sPwlHEPaFCel//cU2YIAHD+zM5crprCM+AMkRiZMXIXJYD/E6pT3DmbYZ73LR+YMjx4y3PE/sKywsdpKKzxvToU7PDQzbexiCTWx/OwJWOa78flfOUKQ01AolVK3tQLCBLKjRx/aPtDPHg8b/1lNfd7Sfxsbj3b9lItNrDDbN27f4QuQbEWaJJSjha5wc7pB54XWxFjYVgzvWtY/jBwg6sYAEEufIT2ppi7AplvhaF/MygN+IJkjOrJ1el0kbgHyWl6MKjJLO5szyIlFJi3pqqRXet3+of16fQg07UAbJlfDp71witoaGJlJ47k1I2RkGYsWMoBUcuH6pMEZ24DVRS+LaEwVLy8ruv32SD70hffflMyaA4wGBkGesV4ht1UkFzm3nGOi13nYK3GdSI5WgIhnjo++lRKEUsqqejzfigiLKmG7CoQMsnFMfwDbVH//KVwaZ4lcp3TrdD4erAnAEPLYqK9BbIoN/EPYUCS7xVuyY3ntK5eXlGdHfJs60/afE2PZXcWowvlvRIeNSZ2s+vPFY1ja7KT8L1Qg103dQV/dXZwnLguiBn1lrmjFsmNnKgPzX28BAvOUru0ex3TtginN/Nf4LCPzOSHGA8oSeuJa2AoPd/qHeyOoKW3/TH4lS/pXHquPt+6KWx9NLDb92NtCrsnOyaGyuHyuRk+vBj/dgWtdeYLFG431iA5zXWLXwg/WXyH3s/TG4Svbxzs7YrA7p2JaTyUUmQaK+1RHquQKhC3b0cCpvbyjM3y3sZoygmZF4nZx7RAtAsCOQ3wCTMLqSjlLY9lbZGAJ5jOT9o+1ujvu6MH9sUFipn9iiDW1WBF/+Dq9CWNkuarnb49f1uwagos9l+ghnYUgODpeEK4UGYgurb2vAVU1AB3mBMyvplWNsgPXaRJEtiI9RezpuUurTNeDJ9+hLF51H3bmZzH6ZdkMygZN0ngLz69tAT8Q3qaFLq6yM7TLVfChv2MEJORlBPUhta X-MS-Exchange-AntiSpam-MessageData-1: STtWMsARVCJZGUXx/6i1VxBH3kFPUNkMLqE= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5d100c14-1827-49fa-c1a7-08dee2613b7c X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2026 11:07:17.1918 (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: eQVvf8/LA+m8tUlzuEzIlcbmG0wJBLlF/8qUXmAgPqhWN1lK5xcj1F7RHu4NkI0SE5yd+yRV60wRQmS3iL6innM3l7hlry3GslKAZVAvYsE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR10MB6327 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=q2UbW7BS; 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::6 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?= If the testsuite is started in rootless mode (-p rootless=1), then start the container in rootless mode as well. By that, we can seamlessly switch between rootfull and rootless mode when testing. Note, that this requires a recent enough kas-container version (>5.3). Signed-off-by: Felix Moessbauer --- scripts/run-tests.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/run-tests.sh b/scripts/run-tests.sh index bce10d70..ed373af7 100755 --- a/scripts/run-tests.sh +++ b/scripts/run-tests.sh @@ -15,4 +15,9 @@ TEST_CONTAINER_VERSION=$(cat ${ISAR_DIR}/testsuite/dockerdata/version) export KAS_CONTAINER_IMAGE_DISTRO="container:$TEST_CONTAINER_VERSION" export KAS_CONTAINER_IMAGE=${CONTAINER_BASENAME:-ghcr.io/ilbers/isar}/test -${ISAR_DIR}/kas/kas-container --isar --repo-ro shell -c "$*" +ISAR_FLAG="--isar" +case "$*" in + *"-p rootless=1"*) ISAR_FLAG="--isar-rootless" ;; +esac + +${ISAR_DIR}/kas/kas-container ${ISAR_FLAG} --repo-ro shell -c "$*"