From patchwork Wed Jun 24 13:41:40 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Moessbauer X-Patchwork-Id: 5173 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 24 Jun 2026 15:42:03 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-dl1-f56.google.com (mail-dl1-f56.google.com [74.125.82.56]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 65ODg1Aw030636 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 24 Jun 2026 15:42:02 +0200 Received: by mail-dl1-f56.google.com with SMTP id a92af1059eb24-1383723dfddsf2140544c88.0 for ; Wed, 24 Jun 2026 06:42:02 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1782308515; cv=pass; d=google.com; s=arc-20240605; b=TPBnFLkVG2QWYPZW+kEUfIOwVLvaqrcX7yXVQmWjK0Nl1Eo11GrQ3jK6z+xjj7nJT/ PmZQ/L7ZLxgTEkvoZRUFYbWEWJKks6phHRnGVg8WKZ5mGJGB0IpEXLZBRTe62sIx/Lg+ mVLZhiXZq8OhAP2QaYM8wXDBjYv4pFFVZZSIUtIFy6GNNEbJPyHSGOCtMS5ezcm9zoJU IBCCDxdGJezhIhcHIRH+5yU04i5aiX3c4c3Dze3nmFh14U/Pdog6+JLYoickqpprjSZC MjURyOqkMPp5Uo87vX+0X7oCYj4cE99fkTpH9Ysok82U/faelMUM32WWmAEQE2A9qQs/ okOw== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:mime-version:message-id :date:subject:cc:to:from:dkim-signature; bh=e4jt6/VeJIPz+EI+PS1GTMG0IVMMHpHlUa11Cqn5axc=; fh=jO5OrKL7uKP6rj1RnOMjgHcEGfGyAcFr04gkAVmo6jE=; b=Z1vwOPNxTOOvei5BH0T37r3LsqNnFaCIpeHcMFhcHVTrcqSw+8pb29ZCdj0Tr0Rrhv HC8HCvCfwta/snxO+W6eDdUH7TReTaBpZ4RG4FzCzWtcOitFLNnbpCF+nA5dpKGJbtFm 0PjRimTu+aGD29UK/6req3s4ZrthkdBwCRIM0bXk1Kseb4XZ0pK836hC/NvOOKVpTITw npueAyREBmQh2+4dUmw+iqQb/Zdhxclnul6JZFPJyCI48GJBQS3qqt0u/7L3z6d/Lre6 R5gna1Ywisn9zHy3vfQKSFPQZxmUcmsHe9n+0YWx1AOCnZjfzjuoyHHMHo5zYpo6Keki qHYg==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=KupRCCN1; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::1 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1782308515; x=1782913315; 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 :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=e4jt6/VeJIPz+EI+PS1GTMG0IVMMHpHlUa11Cqn5axc=; b=nNNBfcvYkd4Bap2IJgrW82xZ+VdS6rd65kt4OQxb72ij/Nm3hnNBRcePFshGUGQ/TM AmR43Ldv+CGlDEVjgJ8OYqvEz6UWAPDIg2kNZTszGfgA+LZFrmcTieeIcXrvtKSpsANs bLj3fARr5KFGGA0Y41GV1xZC53DS8WLt8ROH40DuksF+A9elFNFMffI/SaIf/lN0sS10 jSj0iShTzgJ3iPQBamhAs4WD+VEodHndaLMrL0c4IYFA0+iogJLEG7zfp6Xb8H1+5ilk l6uK6IaLiD6ekjL7ZMI+OsrXhDvkJqZF+8nuG7+61ITTe7WVhVOxOwEaBEZDdVP5r0ke wxLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782308515; x=1782913315; 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 :message-id:date:subject:cc:to:from:x-beenthere:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=e4jt6/VeJIPz+EI+PS1GTMG0IVMMHpHlUa11Cqn5axc=; b=GxuKoR8JBOSr7sJv2l82JXnj/w4WjO3MW/TeiT3j++PHkzxHb+Mw9L0V5elB0Y/wds KeMwlgQrCSsyxSlGg2DGps0FQAfugb0U6gUhyFJwBf2ALBQzwzYMwGMizFF7iAJ15qI3 kfS1ev8kcFrI9Sec33ShnqHufGOnJmpL4b+Rw0bU561cmRwl5K++8QHZQvAFjNn/Z5Qc LRpg9AEEQ9sLWCibrz6C5ru3yH/13TCbz8cXNhj48OsMc59IedcPs15CvQBLMWFx9QCW 5PaYhmvK3yJMpxfFp4IC9aUIqELHzHKm7+p2+/21e56mWV273BHTuRBh8V6Z1g5M5Bal t3Wg== X-Forwarded-Encrypted: i=3; AFNElJ8e0jk746ahHBC3MdQ5yXl9cJNAOVBuC2D4XWYRUwdJF4LsSLDvHFpXcw0nlHNE2hkfTOPZ6Tc=@isar-build.org X-Gm-Message-State: AOJu0Yx+4vQ0QZyEjp+x5pugvDNcOyMWWNiQLhip9HaA3JLYfwP0Ukhf uBDF11OxC5ShinGlzTXf43i1mguObfE+Kn4Z529EeXZT264qulWiq0XI X-Received: by 2002:a05:7022:6295:b0:137:f532:e34a with SMTP id a92af1059eb24-139d0c0a8d6mr2440426c88.8.1782308515180; Wed, 24 Jun 2026 06:41:55 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AX0PUUe3HAIpO2Lob0+Nd8hTs/B6dNLPhIqpBu6GW3Uuin+duQ==" Received: by 2002:a05:7023:a5c:20b0:135:2f36:9ea4 with SMTP id a92af1059eb24-13996ea2f73ls2782630c88.2.-pod-prod-07-us; Wed, 24 Jun 2026 06:41:52 -0700 (PDT) X-Received: by 2002:a05:7022:1009:b0:128:d7a7:5271 with SMTP id a92af1059eb24-139d0cab341mr2150605c88.28.1782308511931; Wed, 24 Jun 2026 06:41:51 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1782308511; cv=pass; d=google.com; s=arc-20260327; b=OyxOZjVaMSKxsi39Xt5NO9ih/+aUbj1TPKXjwCkxzFnROKup3gdsr5NTZusQNYIdDu XBRhVXwcPPO09DQAnM0BnaSeb97RHh89Oinr0XT/IB/rACvZDJCfAL05dn6o8bcYXTy7 xmJvYV3aEwv7FgwVjrcsp6TzHGEA0XwhM28H1hJdEs4hofIQ9zGAqz/R23aecLKm7gMG 8bdxtMQfjtc6KnpCMu1FW6tYIllriV0nzoh58iVkS1tlEuudb/iaSSyhpbMzv9pLn09E InRvr9x/cYjDEFhImFYLt/maKzbQNAaFpaD69gwIrHvIaz/t9og6TQ+LXUOybltu96oe lppA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=mime-version:content-transfer-encoding:message-id:date:subject:cc :to:from:dkim-signature; bh=oCGHnciY9mJg/PdsDrIlbWxgHdfddwGf8NCcHSkvz20=; fh=y4Q4sSo60XIDMfQl4kOzeqW/gQkja1RlhaZM6hZs/O8=; b=TCOm/VRm0SgCJDSyQaRZ+RSfEy4jetfFx5jrsvcsK0xk0rnmUBM7gpmT8NiFLoXsy0 nWNErmIo+uv6uHB1wyc731dZQvqFEOzgtnfZcu0nZU27yWsrk5Nnrxqs+vQDtiZCJheH t4mXjzJOHLkPF3n3Czhsg/dXGVnoTZuGXNUDMSd7nDjlBwCgJCOqqizC5qsHOJdsE8/i ivPRfGNdSv9Pae55dFvZ8zso1oy474JyDPcgp2FZO1ih/qMjVPQBm1L/SbBveN8Lr1ab YLbS//00m4xsO56/icPXVu8gMkbzjW7aS4faXkZPZAzYd0sAZZ/qczVA/Pw+emqUvQCl hL0A==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=KupRCCN1; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::1 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazlp170100001.outbound.protection.outlook.com. [2a01:111:f403:c201::1]) by gmr-mx.google.com with ESMTPS id a92af1059eb24-139d37b17f7si48753c88.0.2026.06.24.06.41.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 06:41:51 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::1 as permitted sender) client-ip=2a01:111:f403:c201::1; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fPp8t6a50gZO9qJaJg8Wx1bBlRHaofccGffY2+abngMMFwiTxo8EtV9a6Gfx7mylRtVDSxTsmvTsNuob0Sdd7xalk7Y1imeqb0v1Zr4druxbmr0WQoAUjbRZ8GhQKxU/fn2hMAza/f19vg3IoN33B3HBI3F1QiKctsHCSpbIRUC2dOQPKSJERk6okdsqYCpHf9qxibBYfN6Ev7BaEFfC/vkLpsKD2K+AUwSjRMjK44C3I69s5mMJq2ii790lXYBuPGM59ebQmu8B8Nr36lJNT/+PHr0+yB3F/DkQaV/k7rCP+bwQl8C0Yu6/0BzZHb6gJu5jcUIqMLyZPpyIPQvxLw== 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=oCGHnciY9mJg/PdsDrIlbWxgHdfddwGf8NCcHSkvz20=; b=va7Nu6UbElVXIHqPzIYTlBhooPt0dWEAXR5gUK84SaGO0aIqvVUs5bLXRi4BCkoukrYrr1p4nzz7CemOQoyTCFMMeUXSYIjAvd4p8A71caFrWfn0ECs68qaL3xxGu/dM62ohhEyHtk0jnH0SkRt/V6h2dj9NjYl2Cwc8eMo++6MVM9DZ4VWMZctpTPLNLFyXqaZp2vxjbg2gMUEtec1LNTiy7jZ+eCfsEN+YLmeEwlWgxEtLPigrYh9XIFgymAcAG5A8OaA7KE5egujJqgP24X+VyAU83MlYzxdZfjBftkXRjNR/sGp5jWQwQ0TXT5Y5/J0dH8ccDuiQyzEBgZj8LA== 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 VI1PR10MB7753.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:800:1c6::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.14; Wed, 24 Jun 2026 13:41:47 +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.0139.018; Wed, 24 Jun 2026 13:41:47 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: Felix Moessbauer To: isar-users@googlegroups.com Cc: Felix Moessbauer Subject: [PATCH 1/1] update kas to 5.4 Date: Wed, 24 Jun 2026 15:41:40 +0200 Message-ID: <20260624134140.2846634-1-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 X-ClientProxiedBy: PR3P191CA0019.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:54::24) To AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:17e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR10MB3956:EE_|VI1PR10MB7753:EE_ X-MS-Office365-Filtering-Correlation-Id: 3a2a298b-f0bf-4e57-63a5-08ded1f6566b X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|23010399003|18002099003|55112099003|11063799006|6133799003|56012099006; X-Microsoft-Antispam-Message-Info: 8BLJZa6lCXN/FBm6QBcgY3oLEg/Z4ZHkYCiPRAldZciKAC2lQaT8EAyjkl8mHorJrp8XOtU+Z90vLzpKgy/PZ/NpoPbX3T/3HdKDmpeJxqVdLXnMFB3OwE3JkFGcSX7jRvbFphz3ojV8HOx7Tp958kTcvsCXW09/mQxXigeyKyDXp8XPA4uh0SOtxtTjmMdC/MeWUnfyTM3Ne0y+KBAxgMhcGRiHUxoPo2uh7MoiS3DYuYA4g8aw52P9RCS8UL/tgUIQVU74YSBx+v0rfFY8w7Y9yvZMA+o8X6eqEHsQhGQzymb16JToOWT1KBI/SjYUCYOlV1qzpKtSFe5DEAb4ABD7ijU7SetQtXZx4zFQTORIX8sq9c2KcY+BIgrSkGrjEl8UXDWf6ngv+FtWrZik0/vjXizSZLTRFVHxO4RovqJhWEQL4Vta+y32uPIINWvHteuAOVM4OnKG5/alAGkF9r3brlHZa4z+xQhu/tSSLFYHNzqfAKw/UXD8HX4dM2JVNeeMueJD7K1sFtuNNxqhaCBakcOqr+7OW5UzGZRdXc591tyn4SEV4oDOIbKQbdAjN4CaV3GNpgNu2SFyFBTh0O2szEw7L2bC0f3cERwFfckFVGX32ycDExsCroXa3Tvu3YXJxgWYBQDPrawuOUqsvUYEc57Pmf78Sfge0+TfJnA= 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)(376014)(1800799024)(23010399003)(18002099003)(55112099003)(11063799006)(6133799003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: yphSFm/7Ucgumo+9htlf1p0MC8UB7NWMnfUhk0ykjRVpy7EywkTv2IXbQrd7i3b1ML8vhmD6O2f4IriZ2RnixEH92BbMc20ZM789Cx0IlYkG/8UM7AEr96597AJTHp/+/lCOL94mIBlO3smCH+9TBZvZznz6fw2jMa93tHwv9mPviNADAdlqSjmoZtecvZ+OKrzcvyqmTkTOS7/k1Nv26wMF9pBfdxOaPIgyVdgWzKD7qaTxFXRqt0f7r/dRq3wWm+sSELz8cfn0F9B0r8asVy4gkj1Dbamom7JhbGFUj+LitSLXdexi+XeN07V4AcqiArTfQFZLrLVnKIbv3scQo13s4Bjsyzme+xNq3ZyVndb3C0yI+a/D7TfmmBez/qEwLwuzsBizMZr/rcCAFbrZ013ajEgej9PioUK+WSrn3jmbPZZD7f6dSBGpDz7jwPx0OJ4I0rI/d5r+vC0i+GO/VMVi5poNsx/+GK587IF6COo73CvENDEIqMXs26zSXCgm2aqI+ZE/wPMyPGY4f2q1WsQbI9ZigI0Yu1XKmruI++CWF7PQoJtnxvU7S83JFZskx8lYy1sum7pRpg+etxWkSykX6gw4zC7la6l6NLESIIZnp8rt0VjJNVltK2W3CIQqOi+v0iM1rqAuO8IXu0VSVloRRB/t5Q0Vj5iE1XhelVDm7PBubrvlhXnExRPPYoRNHf74MqcsmZyuDlWIyPuh1BViiT+66wnFrBDrYhdalImfFlbSVyQOQAGmJTB/Qz5Ulbd4T4Nx+HMaHDXQtC9+uBhLhkWif0kY6NyMf7EzRDh1AHWKDy4d33d5Vttr1wQZppOQGEqD7C9kT5h6e8A2mrrP0VZdCizM8KfdCi7btDmLRFVdIok44K2TXHa7REo3CC86QBRYYkdvpDcv4nPbUtzNnduECv0dTjrAXGQQGZR/OHOC+c4PVjUTgCtwXOo2zx9sGE+xAUyy6wryF0NQ2ziFNRLL6asJFmnUHf4r4q/Ss/7408rTezqCiOei4fO2fYbxreZ60CkpH5129Mc3MuDLLJ46mF/RxBO53xrh+ztPJfPO2V1fb2spQFGQsa+yZSFGTPTw+jOdYA1sfkCkmPFOuly19X730Va46BhglA0zb4zwk0fNqBZxNcE7kBSfBfZSofECgx3Zy8f9lKTac4ctGo7HT8fnmTALrS1UuAkCKXHEnsGZIMbOFEY1wfZwFINTaA8RGl4CAoCEnQao4AWlfLjM321N1GXZMjQD8OFrVn2k4EqopsIu3wa910zuGa9b1XNos/jkIAYa/pCUsuNf42N89kj2sjxqV+N5yYcEHTM/DRjh9uV/sgAy+7WQ/5CbDII3aJPqEv0aXNDrqZvpBlUvtvbhSB2LEm/LKgKETiFgHqOLfpU7PSR6zV5fOzvneo2okOdnqC+9rPKjt/LmJp1YxAvmQEl6KT5m7ARJX222lg+MwV1ULBnXvEf11/z1DAkJP8L6sjIKh3RmJG7NI4A1MR3OyZym0JDFfzoA21Mb7fLhK87mTUuCAhhiCSDSxBTNlzW6iM4+Gz0YujHe6tG5SUMnNvlLhS1dq8YENMd31/thigRuZCs0qBuPXiLjp8g1DP+hChEc4YRtJHIoa40E4NqSO/HRWcV210BuudIFmyGi1AeuLDx1jjDTmhSVwmInXje89iLIWXYUcmyfAP+DdEaLeoMVaq2iHTJPTkRJ6fpVY7dbq6mrQle0eECMDa46T8RE+tvUdrmNGSnDCCuHnPs850qB6JB2Zfo= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3a2a298b-f0bf-4e57-63a5-08ded1f6566b X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3956.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2026 13:41:47.7356 (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: NWq5xsDr4zb6QE6QtKzccJQN3Dk/2FY3mBXBA9WTlbnzWw9Ier1m3W+HtJUSRFJBQO1rSuIj0U8u4vOUlj0XCGJfScR6J1iUfXH4RTL3t2g= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR10MB7753 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=KupRCCN1; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::1 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= This is the first release that splits the privileged and rootless execution modes. By that, the build_system: isar is deprecated and replaced by isar-privileged / isar-rootless. To preserve the old behavior, we change the build system to isar-privileged. Signed-off-by: Felix Moessbauer --- Dear maintainers, please also rebuild the test container as this allows us to directly test the rootless mode in the CI. Best regards, Felix .gitlab-ci.yml | 2 +- Kconfig | 2 +- kas/isar.yaml | 4 +- kas/kas-container | 300 +++++++++++++----------- meta-isar/test/sample_kas_config.yml | 4 +- meta-isar/test/sample_kas_config_hw.yml | 4 +- 6 files changed, 169 insertions(+), 147 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d997f73c..0711f200 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,5 @@ default: - image: ghcr.io/siemens/kas/kas-isar:4.8.2 + image: ghcr.io/siemens/kas/kas-isar:5.4 variables: GIT_STRATEGY: clone diff --git a/Kconfig b/Kconfig index 86a4aac3..8953fbad 100644 --- a/Kconfig +++ b/Kconfig @@ -14,7 +14,7 @@ config KAS_INCLUDE_MAIN config KAS_BUILD_SYSTEM string - default "isar" + default "isar-privileged" source "kas/machine/Kconfig" source "kas/distro/Kconfig" diff --git a/kas/isar.yaml b/kas/isar.yaml index 16ce8b42..a5194fc8 100644 --- a/kas/isar.yaml +++ b/kas/isar.yaml @@ -2,9 +2,9 @@ # Copyright (C) 2023-2024 ilbers GmbH header: - version: 14 + version: 23 -build_system: isar +build_system: isar-privileged repos: isar: diff --git a/kas/kas-container b/kas/kas-container index 993f0bb8..631e40c3 100755 --- a/kas/kas-container +++ b/kas/kas-container @@ -27,7 +27,7 @@ set -e -KAS_CONTAINER_SCRIPT_VERSION="5.2" +KAS_CONTAINER_SCRIPT_VERSION="5.4" KAS_IMAGE_VERSION_DEFAULT="${KAS_CONTAINER_SCRIPT_VERSION}" KAS_CONTAINER_IMAGE_DISTRO_DEFAULT="" KAS_CONTAINER_IMAGE_PATH_DEFAULT="ghcr.io/siemens/kas" @@ -49,9 +49,10 @@ usage() printf "%b" "\nPositional arguments:\n" printf "%b" "build\t\t\tCheck out repositories and build target.\n" printf "%b" "checkout\t\tCheck out repositories but do not build.\n" + printf "%b" "diff\t\t\tCompare two kas configurations.\n" printf "%b" "dump\t\t\tCheck out repositories and write flat version\n" printf "%b" " \t\t\tof config to stdout.\n" - printf "%b" "lock\t\t\tCreate and update kas project lockfiles\n" + printf "%b" "lock\t\t\tCreate and update kas project lockfiles.\n" printf "%b" "shell\t\t\tRun a shell in the build environment.\n" printf "%b" "for-all-repos\t\tRun specified command in each repository.\n" printf "%b" "clean\t\t\tClean build artifacts, keep sstate cache and " \ @@ -61,20 +62,19 @@ usage() printf "%b" "cleanall\t\tClean build artifacts, sstate cache and " \ "downloads.\n" printf "%b" "purge\t\t\tRemove all data managed by kas. Run with '--dry-run'\n" - printf "%b" " \t\t\tto check what would be removed\n" + printf "%b" " \t\t\tto check what would be removed.\n" printf "%b" "menu\t\t\tProvide configuration menu and trigger " \ "configured build.\n" printf "%b" "\nOptional arguments:\n" - printf "%b" "--isar\t\t\tUse kas-isar container to build Isar image. To force\n" - printf "%b" " \t\t\tthe use of run0 over sudo, set KAS_SUDO_CMD=run0.\n" - printf "%b" "--with-loop-dev Pass a loop device to the " \ - "container. Only required if\n" - printf "%b" "\t\t\tloop-mounting is used by recipes.\n" + printf "%b" "--isar-privileged\tRun an Isar build in privileged mode. " \ + "To force the use\n" + printf "%b" "\t\t\tof run0 over sudo, set KAS_SUDO_CMD=run0.\n" + printf "%b" "--isar-rootless\t\tRun an Isar build in rootless mode.\n" printf "%b" "--runtime-args\t\tAdditional arguments to pass to the " \ - "container runtime\n" + "container runtime.\n" printf "%b" "\t\t\tfor running the build.\n" printf "%b" "-l, --log-level\t\tSet log level (default=info).\n" - printf "%b" "--version\t\tprint program version.\n" + printf "%b" "--version\t\tPrint program version.\n" printf "%b" "--ssh-dir\t\tDirectory containing SSH configurations.\n" printf "%b" "\t\t\tAvoid \$HOME/.ssh unless you fully trust the " \ "container.\n" @@ -83,13 +83,15 @@ usage() printf "%b" "\t\t\tAvoid \$HOME/.aws unless you fully trust the " \ "container.\n" printf "%b" "--git-credential-store\tFile path to the git credential " \ - "store\n" + "store.\n" + printf "%b" "--git-credential-socket\tPath to the git credential cache " \ + "socket.\n" printf "%b" "--no-proxy-from-env\tDo not inherit proxy settings from " \ "environment.\n" printf "%b" "--repo-ro\t\tMount current repository read-only\n" \ - "\t\t\t(default for build command)\n" + "\t\t\t(default for build command).\n" printf "%b" "--repo-rw\t\tMount current repository writable\n" \ - "\t\t\t(default for shell command)\n" + "\t\t\t(default for shell command).\n" printf "%b" "-h, --help\t\tShow this help message and exit.\n" printf "%b" "\n" printf "%b" "You can force the use of podman over docker using " \ @@ -143,11 +145,6 @@ prepare_sudo_cmd() enable_isar_mode() { - if [ -n "${ISAR_MODE}" ]; then - return - fi - ISAR_MODE=1 - KAS_CONTAINER_IMAGE_NAME_DEFAULT="kas-isar" KAS_ISAR_ARGS="--privileged" @@ -159,14 +156,38 @@ enable_isar_mode() export PATH="${PATH}:/usr/sbin" elif [ "${KAS_DOCKER_ROOTLESS}" = "1" ]; then prepare_sudo_cmd - export DOCKER_HOST="${DOCKER_HOST:-unix:///var/run/docker.sock}" - debug "kas-isar does not support rootless docker. Using system docker" + DOCKER_HOST_DEFAULT="$(docker context inspect default --format '{{.Endpoints.docker.Host}}')" + export DOCKER_HOST="${DOCKER_HOST:-$DOCKER_HOST_DEFAULT}" + debug "kas-isar does not support rootless docker. Using system docker in $DOCKER_HOST" # force use of well-known system docker socket KAS_CONTAINER_COMMAND="${_KAS_SUDO_CMD} ${KAS_CONTAINER_COMMAND}" KAS_DOCKER_ROOTLESS=0 fi } +enable_isar_rootless_mode() +{ + KAS_CONTAINER_IMAGE_NAME_DEFAULT="kas-isar" + + # Use --privileged to pass the ambient capabilities into the container. + # When calling from the user session (podman or docker-rootless), this + # is fundamentally different from the system docker run --privileged + if [ "${KAS_CONTAINER_ENGINE}" = "podman" ]; then + KAS_RUNTIME_ARGS="${KAS_RUNTIME_ARGS} --userns=keep-id --privileged" + elif [ "${KAS_DOCKER_ROOTLESS}" = "1" ]; then + KAS_ISAR_ARGS="--privileged" + else + # we don't need --privileged, but we need to run with SYS_ADMIN + # to be able to unshare. + KAS_ISAR_ARGS=" \ + --security-opt seccomp=unconfined \ + --security-opt apparmor=unconfined \ + --security-opt systempaths=unconfined \ + --cap-add=SYS_ADMIN \ + " + fi +} + enable_oe_mode() { if [ "${KAS_CONTAINER_ENGINE}" = "podman" ]; then @@ -174,6 +195,7 @@ enable_oe_mode() # calling "podman run" has a 1:1 mapping KAS_RUNTIME_ARGS="${KAS_RUNTIME_ARGS} --userns=keep-id" fi + BUILD_SYSTEM="openembedded" } enable_unpriv_userns_docker() @@ -210,6 +232,19 @@ check_and_expand() realpath -e "$_varval" } +# SC2034: DIR appears unused (ignore, as they are used inside eval) +# shellcheck disable=2034 +setup_kas_dirs() +{ + KAS_WORK_DIR="${KAS_WORK_DIR:-$(pwd)}" + KAS_WORK_DIR="$(check_and_expand KAS_WORK_DIR required)" + KAS_BUILD_DIR="$(check_and_expand KAS_BUILD_DIR create)" + KAS_REPO_REF_DIR="$(check_and_expand KAS_REPO_REF_DIR required)" + DL_DIR="$(check_and_expand DL_DIR createrec)" + SSTATE_DIR="$(check_and_expand SSTATE_DIR createrec)" + KAS_BUILDTOOLS_DIR="$(check_and_expand KAS_BUILDTOOLS_DIR createrec)" +} + # Params: FILE # Returns: root repo dir of file repo_path_of_file() @@ -260,14 +295,6 @@ forward_dir() fi } -check_docker_rootless() -{ - KAS_DOCKER_ROOTLESS=0 - if [ "$(docker context show)" = "rootless" ]; then - KAS_DOCKER_ROOTLESS=1 - fi -} - enable_docker_rootless() { warning "Rootless docker used, only limited functionality available." @@ -281,118 +308,44 @@ enable_docker_rootless() KAS_RUNTIME_ARGS="${KAS_RUNTIME_ARGS} -e KAS_DOCKER_ROOTLESS=1" } -KAS_GIT_OVERLAY_FILE="" -kas_container_cleanup() -{ - if [ -f "${KAS_GIT_OVERLAY_FILE}" ]; then - trace rm -f "${KAS_GIT_OVERLAY_FILE}" - fi -} -trap kas_container_cleanup EXIT INT TERM - set_container_image_var() { + # if the image is explicitly set, use that + if [ -n "${KAS_CONTAINER_IMAGE}" ]; then + return + fi KAS_IMAGE_VERSION="${KAS_IMAGE_VERSION:-${KAS_IMAGE_VERSION_DEFAULT}}" KAS_CONTAINER_IMAGE_DISTRO="${KAS_CONTAINER_IMAGE_DISTRO:-${KAS_CONTAINER_IMAGE_DISTRO_DEFAULT}}" KAS_CONTAINER_IMAGE_NAME="${KAS_CONTAINER_IMAGE_NAME:-${KAS_CONTAINER_IMAGE_NAME_DEFAULT}}" KAS_CONTAINER_IMAGE_PATH="${KAS_CONTAINER_IMAGE_PATH:-${KAS_CONTAINER_IMAGE_PATH_DEFAULT}}" - KAS_CONTAINER_IMAGE_DEFAULT="${KAS_CONTAINER_IMAGE_PATH}/${KAS_CONTAINER_IMAGE_NAME}:${KAS_IMAGE_VERSION}" - KAS_CONTAINER_IMAGE="${KAS_CONTAINER_IMAGE:-${KAS_CONTAINER_IMAGE_DEFAULT}}" + KAS_CONTAINER_IMAGE="${KAS_CONTAINER_IMAGE_PATH}/${KAS_CONTAINER_IMAGE_NAME}:${KAS_IMAGE_VERSION}" if [ -n "${KAS_CONTAINER_IMAGE_DISTRO}" ]; then KAS_CONTAINER_IMAGE="${KAS_CONTAINER_IMAGE}-${KAS_CONTAINER_IMAGE_DISTRO}" fi } -# SC2034: DIR appears unused (ignore, as they are used inside eval) -# shellcheck disable=2034 -setup_kas_dirs() -{ - KAS_WORK_DIR="${KAS_WORK_DIR:-$(pwd)}" - KAS_WORK_DIR="$(check_and_expand KAS_WORK_DIR required)" - KAS_BUILD_DIR="$(check_and_expand KAS_BUILD_DIR create)" - KAS_REPO_REF_DIR="$(check_and_expand KAS_REPO_REF_DIR required)" - DL_DIR="$(check_and_expand DL_DIR createrec)" - SSTATE_DIR="$(check_and_expand SSTATE_DIR createrec)" - KAS_BUILDTOOLS_DIR="$(check_and_expand KAS_BUILDTOOLS_DIR createrec)" -} -setup_kas_dirs - -KAS_CONTAINER_ENGINE="${KAS_CONTAINER_ENGINE:-${KAS_DOCKER_ENGINE}}" -if [ -z "${KAS_CONTAINER_ENGINE}" ]; then - # Try to auto-detect a container engine - if command -v docker >/dev/null; then - case $(docker -v 2>/dev/null) in - podman*) - # The docker command is an alias for podman - KAS_CONTAINER_ENGINE=podman - ;; - Docker*) - # The docker command is the real docker - KAS_CONTAINER_ENGINE=docker - ;; - *) - # The docker command is an unknown engine - fatal_error "docker command found, but unknown engine detected" - esac - elif command -v podman >/dev/null; then - KAS_CONTAINER_ENGINE=podman - else - fatal_error "no container engine found, need docker or podman" - fi -fi - -KAS_RUNTIME_ARGS="--log-driver=none --user=root" - -case "${KAS_CONTAINER_ENGINE}" in -docker) - KAS_CONTAINER_COMMAND="docker" - enable_unpriv_userns_docker - check_docker_rootless - ;; -podman) - KAS_CONTAINER_COMMAND="podman" - KAS_RUNTIME_ARGS="${KAS_RUNTIME_ARGS} --security-opt label=disable" - ;; -*) - fatal_error "unknown container engine '${KAS_CONTAINER_ENGINE}'" - ;; -esac - -# parse kas-container options +# parse kas-container options, leave build system empty to distinguish between +# explicitly set via flag and implicitly via config. +BUILD_SYSTEM="" +KAS_OPTIONS_DIRECT="" +KAS_EXTRA_RUNTIME_ARGS="" while [ $# -gt 0 ]; do case "$1" in - --isar) - enable_isar_mode + --isar | --isar-privileged) + if [ "$1" = "--isar" ]; then + warning "The semantic of '--isar' might change in the" \ + "future. Please use '--isar-privileged' instead." + fi + BUILD_SYSTEM="isar-privileged" shift 1 ;; - --with-loop-dev) - if ! KAS_LOOP_DEV=$(/sbin/losetup -f 2>/dev/null); then - if [ "$(id -u)" -eq 0 ]; then - fatal_error "loop device not available!" - fi - prepare_sudo_cmd - if ! [ "$KAS_SUDO_CMD" = "sudo" ]; then - fatal_error '--with-loop-dev requires sudo for device setup.' - fi - sudo_command="/sbin/losetup -f" - sudo_message="[sudo] enter password to setup loop" - sudo_message="$sudo_message devices by calling" - sudo_message="$sudo_message '$sudo_command': " - # SC2086: Double quote to prevent globbing and word splitting. - # shellcheck disable=2086 - if ! KAS_LOOP_DEV=$(sudo -p "$sudo_message" $sudo_command \ - 2>/dev/null); then - fatal_error "loop device setup unsuccessful!" \ - "try calling '$sudo_command' with root" \ - "permissions manually." - fi - fi - KAS_WITH_LOOP_DEV="--device ${KAS_LOOP_DEV}" + --isar-rootless) + BUILD_SYSTEM="isar-rootless" shift 1 ;; - --runtime-args|--docker-args) + --runtime-args | --docker-args) [ $# -gt 0 ] || usage - KAS_RUNTIME_ARGS="${KAS_RUNTIME_ARGS} $2" + KAS_EXTRA_RUNTIME_ARGS=" $2" shift 2 ;; --ssh-dir) @@ -417,6 +370,13 @@ while [ $# -gt 0 ]; do KAS_GIT_CREDENTIAL_STORE="$2" shift 2 ;; + + --git-credential-socket) + [ $# -gt 2 ] || usage + KAS_GIT_CREDENTIAL_SOCKET="$2" + shift 2 + ;; + --no-proxy-from-env) KAS_NO_PROXY_FROM_ENV=1 shift 1 @@ -446,19 +406,19 @@ while [ $# -gt 0 ]; do --*) usage ;; - clean|cleansstate|cleanall|purge) + clean | cleansstate | cleanall | purge) KAS_REPO_MOUNT_OPT_DEFAULT="ro" KAS_CMD=$1 shift 1 break ;; - shell|lock) + shell | lock) KAS_REPO_MOUNT_OPT_DEFAULT="rw" KAS_CMD=$1 shift 1 break ;; - build|checkout|for-all-repos|menu) + build | checkout | for-all-repos | menu) KAS_REPO_MOUNT_OPT_DEFAULT="ro" KAS_CMD=$1 shift 1 @@ -486,6 +446,10 @@ while [ $# -gt 0 ]; do esac done +KAS_RUNTIME_ARGS="--log-driver=none --user=root" + +setup_kas_dirs + [ -n "${KAS_CMD}" ] || usage KAS_EXTRA_BITBAKE_ARGS=0 @@ -494,17 +458,17 @@ KAS_FILES= # parse kas sub-command options while [ $# -gt 0 ] && [ $KAS_EXTRA_BITBAKE_ARGS -eq 0 ]; do case "$1" in - --format|--indent|--provenance|--skip|--target|--task) + --format | --indent | --provenance | --skip | --target | --task) KAS_OPTIONS="${KAS_OPTIONS} $1 $2" shift 1 shift 1 || KAS_OPTIONS="--help" ;; - -c|--cmd|--command) + -c | --cmd | --command) KAS_BITBAKE_C_OPTION_ARGS="$2" shift 1 shift 1 || KAS_OPTIONS="--help" ;; - -E|--preserve-env) + -E | --preserve-env) fatal_error "$1 is not supported with ${KAS_CONTAINER_SELF_NAME}" ;; --) @@ -563,10 +527,10 @@ if [ "${KAS_CMD}" = "menu" ]; then if [ "$(echo "${KAS_FIRST_FILES}" | wc -w)" -ne "1" ]; then fatal_error "menu plugin only supports a single Kconfig file" fi - BUILD_SYSTEM=$(tr '\n' '\f' 2>/dev/null < "${KAS_FIRST_FILES}" | \ + BUILD_SYSTEM=${BUILD_SYSTEM:-$(tr '\n' '\f' 2>/dev/null < "${KAS_FIRST_FILES}" | sed -e 's/\(.*\fconfig KAS_BUILD_SYSTEM\f\(.*\)\|.*\)/\2/' \ -e 's/\f\([[:alpha:]].*\|$\)//' \ - -e 's/.*default \"\(.*\)\".*/\1/') + -e 's/.*default \"\(.*\)\".*/\1/')} else if [ -z "${KAS_FIRST_FILES}" ]; then KAS_FIRST_FILES="${KAS_WORK_DIR}/.config.yaml" @@ -574,20 +538,60 @@ else # We only get the first build system and let kas check if mixed _KAS_FIRST_FILE=$(echo "${KAS_FIRST_FILES}" | awk '{print $1}') - BUILD_SYSTEM=$(grep -e "^build_system: " "${_KAS_FIRST_FILE}" 2>/dev/null | \ - sed 's/build_system:[ ]\+//') + BUILD_SYSTEM=${BUILD_SYSTEM:-$(grep -e "^build_system: " "${_KAS_FIRST_FILE}" 2>/dev/null | + sed 's/build_system:[ ]\+//')} +fi + +KAS_CONTAINER_ENGINE="${KAS_CONTAINER_ENGINE:-${KAS_DOCKER_ENGINE}}" +if [ -z "${KAS_CONTAINER_ENGINE}" ]; then + # Try to auto-detect a container engine + # Defaults if there are multiple options: + # podman if build system is isar-rootless, docker otherwise + if [ "${BUILD_SYSTEM}" = "isar-rootless" ] && command -v podman >/dev/null 2>&1; then + KAS_CONTAINER_ENGINE=podman + elif command -v docker >/dev/null 2>&1 && docker -v 2>/dev/null | grep -q '^Docker'; then + KAS_CONTAINER_ENGINE=docker + elif command -v podman >/dev/null 2>&1; then + KAS_CONTAINER_ENGINE=podman + else + fatal_error "no container engine found, need docker or podman" + fi fi -if [ "${BUILD_SYSTEM}" = "isar" ]; then +KAS_DOCKER_ROOTLESS=0 +case "${KAS_CONTAINER_ENGINE}" in +docker) + KAS_CONTAINER_COMMAND="docker" + enable_unpriv_userns_docker + if [ "$(docker context show)" = "rootless" ]; then + KAS_DOCKER_ROOTLESS=1 + fi + ;; +podman) + KAS_CONTAINER_COMMAND="podman" + KAS_RUNTIME_ARGS="${KAS_RUNTIME_ARGS} --security-opt label=disable" + ;; +*) + fatal_error "unknown container engine '${KAS_CONTAINER_ENGINE}'" + ;; +esac + +if [ "${BUILD_SYSTEM}" = "isar" ] || [ "${BUILD_SYSTEM}" = "isar-privileged" ]; then enable_isar_mode -elif [ -z "${ISAR_MODE}" ]; then +elif [ "${BUILD_SYSTEM}" = "isar-rootless" ]; then + enable_isar_rootless_mode +else enable_oe_mode fi # clean can be executed without config, hence manually forward the build system -if [ "${ISAR_MODE}" = "1" ] && echo "${KAS_CMD}" | grep -qe "^clean\|purge"; then - KAS_OPTIONS="${KAS_OPTIONS} --isar" -fi +case "${BUILD_SYSTEM}" in +isar*) + if echo "${KAS_CMD}" | grep -qe "^clean\|purge"; then + KAS_OPTIONS="${KAS_OPTIONS} --${BUILD_SYSTEM}" + fi + ;; +esac set_container_image_var @@ -632,6 +636,16 @@ forward_dir KAS_BUILDTOOLS_DIR "/buildtools" "rw" if git_com_dir=$(git -C "${KAS_REPO_DIR}" rev-parse --git-common-dir 2>/dev/null) \ && [ "$git_com_dir" != "$(git -C "${KAS_REPO_DIR}" rev-parse --git-dir)" ]; then + + KAS_GIT_OVERLAY_FILE="" + kas_container_cleanup() + { + if [ -f "${KAS_GIT_OVERLAY_FILE}" ]; then + trace rm -f "${KAS_GIT_OVERLAY_FILE}" + fi + } + trap kas_container_cleanup EXIT INT TERM + # If (it's a git repo) and the common dir isn't the git-dir, it is shared worktree and # we have to mount the common dir in the container to make git work # The mount path inside the container is different from the host path. Hence, we over-mount @@ -685,6 +699,14 @@ if [ -n "${KAS_GIT_CREDENTIAL_STORE}" ] ; then set -- "$@" -v "$(realpath -e "${KAS_GIT_CREDENTIAL_STORE}")":/var/kas/userdata/.git-credentials:ro fi +if [ -n "${KAS_GIT_CREDENTIAL_SOCKET}" ] ; then + if [ ! -S "${KAS_GIT_CREDENTIAL_SOCKET}" ]; then + fatal_error "passed KAS_GIT_CREDENTIAL_SOCKET '${KAS_GIT_CREDENTIAL_SOCKET}' is not a socket" + fi + KAS_GIT_CREDENTIAL_HELPER_DEFAULT="cache --socket=/var/kas/userdata/.git-cache-socket" + set -- "$@" -v "$(realpath -e "${KAS_GIT_CREDENTIAL_SOCKET}")":/var/kas/userdata/.git-cache-socket +fi + GIT_CREDENTIAL_HELPER="${GIT_CREDENTIAL_HELPER:-${KAS_GIT_CREDENTIAL_HELPER_DEFAULT}}" if [ -n "${GIT_CREDENTIAL_HELPER}" ] ; then @@ -739,7 +761,7 @@ done # propagate only supported SHELL settings case "$SHELL" in -/bin/sh|/bin/bash|/bin/dash) +/bin/sh | /bin/bash | /bin/dash) set -- "$@" -e "SHELL=$SHELL" ;; *) @@ -757,7 +779,7 @@ fi # SC2086: Double quote to prevent globbing and word splitting. # shellcheck disable=2086 -set -- "$@" ${KAS_ISAR_ARGS} ${KAS_WITH_LOOP_DEV} ${KAS_RUNTIME_ARGS} \ +set -- "$@" ${KAS_ISAR_ARGS} ${KAS_RUNTIME_ARGS} ${KAS_EXTRA_RUNTIME_ARGS} \ ${KAS_CONTAINER_IMAGE} ${KAS_OPTIONS_DIRECT} ${KAS_CMD} ${KAS_OPTIONS} if [ -n "${KAS_BITBAKE_C_OPTION_ARGS}" ]; then set -- "$@" -c "${KAS_BITBAKE_C_OPTION_ARGS}" diff --git a/meta-isar/test/sample_kas_config.yml b/meta-isar/test/sample_kas_config.yml index f9b72d82..2eeaaf86 100644 --- a/meta-isar/test/sample_kas_config.yml +++ b/meta-isar/test/sample_kas_config.yml @@ -1,7 +1,7 @@ header: - version: 14 + version: 23 -build_system: isar +build_system: isar-privileged distro: debian-bullseye machine: qemuarm64 diff --git a/meta-isar/test/sample_kas_config_hw.yml b/meta-isar/test/sample_kas_config_hw.yml index 37c7bb31..02830238 100644 --- a/meta-isar/test/sample_kas_config_hw.yml +++ b/meta-isar/test/sample_kas_config_hw.yml @@ -1,7 +1,7 @@ header: - version: 14 + version: 23 -build_system: isar +build_system: isar-privileged distro: raspios-bullseye machine: rpi-arm-v7