From patchwork Wed Nov 4 07:25:59 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Clara Kowalsky X-Patchwork-Id: 5583 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 04 Nov 2026 08:26:39 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-yw1-f190.google.com (mail-yw1-f190.google.com [209.85.128.190]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 6A47QQ5v032343 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 4 Nov 2026 08:26:28 +0100 Received: by mail-yw1-f190.google.com with SMTP id 00721157ae682-8b3030bd581sf7841747b3.3 for ; Tue, 03 Nov 2026 23:26:27 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1793777180; cv=pass; d=google.com; s=arc-20260327; b=YsKCagavf52SOV7yaxsSPW296U0EvLoHGRLg4Z/X4y5TM9xP65LZfGu2RmxJs6dR35 sSq5JOQgJaDF9B9Sw28uob+b2hyXIxa/dxEujZrA3orwz8m/5o6ERsNhTL9slP+h+JWo GDpH98wk1Ld2p2mWQcnnEMQrDaMHdcDdQAPDZwtDZ/z20KqcjS5RAykytVZWv2LLwWwq Ymz5ANV7DZFffMr0flde8BKoOboJnMrs00jLDbxAE+PI9VHkY8zf3QdxEp5mKeZwsiyb B9xBWqsRWlDJvesPPJSFOQW7c2oNV5mvDID9p1bAh7t03WedGKqGNwJY/iUpcmO7xd4E T3aA== 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:message-id :date:subject:cc:to:from:dkim-signature; bh=H7kcVyrFZdmh0wRJ5m7Zru5GDKANiyIgsyI+rsxHT7c=; fh=wqiGyFSPHpSVMIyo2Y+eZj+7vdbjY4esEuDf2rmfejc=; b=i1Zd73hU5ywkU7M0MIL6SkxXFHVBEInlRZeHLE2s3Crye77Pq0/sYLP++7mahoUcaO OffUzNJCMdj2rw6UZg0lEVe59PafaB0OjaulbjOaVr7z3RG25dLvENZQoamKs5TaxYvt qi/sTUVJRdZkJURs7rD+MR4hmAycGf2jjzNUrNlGi2TtdvG5X8MANAP7B/Q1OBFTqAfi cUgzUa7yVYiwSeogwZLc4WqLyfHd1v3Wr/Z+lFYs99cEHL4n06GhAg59kAoXG5scAGF5 r2q4CBwmciWKQEet4IUpocXG8IDOsjLAnmFuh1NtdhwwipxYIrLIQh4uKvCUhp1ndGk9 0cPw==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=GS1u5CX8; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of clara.kowalsky@siemens.com designates 2a01:111:f403:c202::7 as permitted sender) smtp.mailfrom=clara.kowalsky@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20260707; t=1793777180; x=1794381980; 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:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=H7kcVyrFZdmh0wRJ5m7Zru5GDKANiyIgsyI+rsxHT7c=; b=LCpZ9R+gH9mEdrLhRV37jg2Dezukh/aboi4R6IscQrsksVC8AzQVBpRO3dYRjYYcI+ xxQ6TD0jmGAK61muIqDiwU6BvMEKS28Raw8qfianN675QYr8MsKu0dcEMPz+vL1NOnJZ 3iWRqZEZRNQprXolni709CGaey3KXZWroeSxwLmSFjTt3sL0POaO/PxSZ5hi93gcpSq2 Wa5p0gGPiLKJDhc2xyh2YTsoOWILb7B+QhTG/Y+9Tr4eVv7K3ex9DewI59nv/ToeKPAy XrkIyFYNj3QJAbiR0rEP4AvlAXY/n0BNETEAg/1tZinh9eIhAEuhLU3670Fu9mU4wjaZ P+Fw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793777180; x=1794381980; 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: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=H7kcVyrFZdmh0wRJ5m7Zru5GDKANiyIgsyI+rsxHT7c=; b=jcNyHxA3hYHVa0emgZvNmqWrtjaAwKklCdJzf7JenErhpgDdrtReoja4UQsaeA6FDT xQb8clUxETIaMkaqVxC0mGAK7l33tIF/CsyWx1PgwJKKGD3O2uamKh5xQm8asGiyKGJ2 rV1GBqsrCyc6co4gnI2+c7kEACmsPsxwkD5abRtN+UeGOvb9Lm7UbvLDWdahjm8/sPjj l8tzeBuMwbUA+x76tHEJe8FIgji0iP8DA3CYQXBU/4AySRSv0l/ToLiX7p16zToPmq56 /8SxsnJMoN9L/y4WRbjxJv1CrpmbAqFCrYZuvE2xOrsJxhoY7ULtpIomgPetov3McBPV 2Axg== X-Forwarded-Encrypted: i=3; AKwUvBxdXIr3MaQmYns6JR/l86r7oU7Asqm4+V2oO6ujplMpJU7QAiTVN1Ec0Z0CPPWx2vUtRL/w2UY=@isar-build.org X-Gm-Message-State: APuU4Z+4z2Up4O37gT+tkGrczOyQCMZcDcw7XdxoIFs6lkIY4PExUPDL SEl8RttIc4BpZRK8I3GGr++IodbWi7DVaRWzkUrultX/HP5aYG1V31LQ X-Received: by 2002:a53:ac8b:0:b0:679:c916:46f2 with SMTP id 956f58d0204a3-67ba4ef187bmr8759233d50.31.1793777179765; Tue, 03 Nov 2026 23:26:19 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="ATskLdfQu1dqRK7Wky2sX1lo2iECE/TDOBjBo0c+rh2oyoqx3A==" Received: by 2002:a05:690e:168b:b0:679:9438:1a5f with SMTP id 956f58d0204a3-67bed367d71ls475312d50.0.-pod-prod-07-us; Tue, 03 Nov 2026 23:26:18 -0800 (PST) X-Received: by 2002:a05:690c:c4e9:b0:8a9:977a:4149 with SMTP id 00721157ae682-8b2b675d03fmr81897687b3.72.1793777178581; Tue, 03 Nov 2026 23:26:18 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1793777178; cv=pass; d=google.com; s=arc-20260327; b=fuLrWjdtcfCDmcHtzaBEyxEllZPVdTF0szPyXTRNstyy6HddZUBW6UWEZsbq1/R099 704QYPd9oeSS34sw2Esg4eMfymAwuIxIJXR6xCg/l4a0L4HlVqUZerUq62P/nPnPvU9j peUh3lOKpRSLW0QZ2OU79Q9FXudupBJ+L0CjXzKHsxlowKMRNsr1ojbLiMb9ZuuyZkQN euiQY4YIPYLrsdF6x5vTafe+xH9SWs2Qlt12RO60qsUDEWquaQhhsLxpbDhlsC3vJMF4 box2dTPuv2/O7wl/SySODCYt/Lg5lGJ9h8TGXW+uw/6gf2MgTW6NzdPbwiF8AV10Qs+g huGw== 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=566BgE4esmBCKPYkXAaoOlA4dG+EzUxk+3PArpsdMY0=; fh=AqT8zD6jUs4YP+XkSwmnbRYu3wrat9Vyg/xvm1MGQCM=; b=eWjsk/ndVyNGlhjoQE/73vTHDRMrur1g0IAgvtBddZ1vSB5DylEzsPotRnXA4QRXXl mnw6yNd5SZgR6eZO3h68fR5bZFtmPIcta3Nr4mS9DRFWkuwsxs4U4hSnXw9tRt5e8UbM BHcggD1gQk9j5ThDlEqa4+V06H1gJ0c+XH3HssAWhE8EaDBgvFRcGWRMPitIh6kzMTet 5+DZpAi4xIfX9N0gSARTXWolbeUx2XBpYpjl06RcYO97ynoC9v8uzastb106QSWkVV3p ykXtNyTX1GhdMnAyoiIama59ozO/X+gABmu8e0IFPugFXkLjKywENgdoz/EB1eUEoKVB 1Pww==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=GS1u5CX8; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of clara.kowalsky@siemens.com designates 2a01:111:f403:c202::7 as permitted sender) smtp.mailfrom=clara.kowalsky@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazlp170130007.outbound.protection.outlook.com. [2a01:111:f403:c202::7]) by gmr-mx.google.com with ESMTPS id 00721157ae682-8b309aa59ebsi352127b3.12.2026.11.03.23.26.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Nov 2026 23:26:18 -0800 (PST) Received-SPF: pass (google.com: domain of clara.kowalsky@siemens.com designates 2a01:111:f403:c202::7 as permitted sender) client-ip=2a01:111:f403:c202::7; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kJlgKk5/XuVNRmwJEmdhjCz5voxKJObLEtmjzLlkZS+fmb7cLxHrazZsvAcdhEbkxCA6o56UtAqdMxgKvKjFcV9KODP91u0FBk7NvkEwI/PMfURgCUBCI3xunlaJzAt5TYlhvehDi9Pc87xu/0u/TQie49DeNJ/nZnXi5fiKaEqpn3BYGhtGDwAqxbiMNt/JJlPq1qYGkJZtQc0wAr0neA/9eusCvW+85mSr73DwgSxJyx7EGFJQqgvUoeTpLE/5+ikA0sY7kzay5ErJOW7H5oAtSvgDAccdNWVLIYXbaWDpk1Hke3u1NUD2y5mr5jQLXAvwHxYxUjjJzT4a0drJPg== 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=566BgE4esmBCKPYkXAaoOlA4dG+EzUxk+3PArpsdMY0=; b=xTt2bxYxH340fmqSHj1dKbAnMMgDfiQm0H9Ti/JE1kTnfKpqryXah/Ts1eYY4qq1E/EUbxFYTMbRzK9nXwHE8QFeU/I+375fBjM00CmF5GXFCCIOAZq6cnWONhQkck0RAsfP6nSeRXJhG/QvtckfNLWbPE0aEUFLAQsr5xTsdBpcllu14UBX4reXU+zpDOX6gNNyUj23fXuiwmDgArYxae5UM5AKCqhm4VbUVaXlbBuOqS469B1gn9VDvKxikdg4QR8MEqf2Ek49qiBogwsmcMJbJHlWsiFLmlc6VZNVzC49+PZce6c6y09iekE2EfvKRnBIForsrMVd4yRtDwVjPg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none Received: from AM0PR10MB9645.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:740::12) by AS8PR10MB6413.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:56d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.592.9; Wed, 4 Nov 2026 07:26:14 +0000 Received: from AM0PR10MB9645.EURPRD10.PROD.OUTLOOK.COM ([fe80::527e:14a7:bd3e:86be]) by AM0PR10MB9645.EURPRD10.PROD.OUTLOOK.COM ([fe80::527e:14a7:bd3e:86be%6]) with mapi id 15.21.0592.009; Wed, 4 Nov 2026 07:26:14 +0000 X-Patchwork-Original-From: "'Clara Kowalsky' via isar-users" From: Clara Kowalsky To: isar-users@googlegroups.com Cc: Clara Kowalsky Subject: [PATCH v2 1/2] image: remove unrequested intermediate image types Date: Wed, 4 Nov 2026 08:25:59 +0100 Message-ID: <20261104072600.3229817-1-clara.kowalsky@siemens.com> X-Mailer: git-send-email 2.56.0 X-ClientProxiedBy: FR2P281CA0056.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:93::7) To AM0PR10MB9645.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:740::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR10MB9645:EE_|AS8PR10MB6413:EE_ X-MS-Office365-Filtering-Correlation-Id: da746e0e-a4c4-4d92-5b6b-08df3a44e848 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|23010399003|366016|1800799024|6133799003|10067099003|18002099003|55112099003|3023799007|56012099006|5023799004|11063799006|261022115727099003|261022105027099003|261022075727099003|261102123227099003|261026140227099003|261028144727099003|261026121527099003|261021123027099003|261021121427099003|261009223027099003; X-Microsoft-Antispam-Message-Info: Xl+IQiRRog/czRDFcmTLuEWx5sSo0jqZJa7WhupqyNyi/ngdnDOlG6GL1yEKVAn5iQGNXI3bSYwhOAiR/YRb9Cmv0yGUPFNwB+sS5sz+UweUlrevptsgWMGnOxcz71QEB8XpcpIc4mwnq2WzUwawFGRor5avL4e7bs4FWArf+kygFG8HlAZGSlQEmQ7PgbG6TZHyekJoRA7uoQSrqWrAjyGOakYzq3AfiMzDPycHC/53otuI7ccv1ztNwICbezzi/xIkE3M52vAak0/Uj5MoRV2g5DeQNaayjMr8r+c9NDOcIHvdccFbRztR3HybwON/QXG98qymzPFgrugk0/UHzQDHDMMSKGnQEXRADwcxHEdw9kz9+zaTGIZ6hP4Ou7lBdbDtZijq+OuoxbGitvJ2LWS8ys/46AbzJZvdlvQj6L8LK/gpdtNcRE/BjE0fFaYkuxIWnEueW6xxiZbnxJmJTWhig6gp/HsatSFK//N2NH9BlV4GLUxqGPvJXNlV3VvGXOhCT3a//QOYO3Pgi9jl79J8iohTnqONAZ8baNgocs98SB91FMs3gMUtwk0KZWS847lYZ95E/ViKSt5SuyfdL0hg/McYSaNBqmRO0AKFoE3K3iTFIad+X47dre5NVJSbMt+1AYxu05O6RnwbQrF02U2/tYkajK4VDY+dn2T6b3Q= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB9645.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(366016)(1800799024)(6133799003)(10067099003)(18002099003)(55112099003)(3023799007)(56012099006)(5023799004)(11063799006)(261022115727099003)(261022105027099003)(261022075727099003)(261102123227099003)(261026140227099003)(261028144727099003)(261026121527099003)(261021123027099003)(261021121427099003)(261009223027099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: svew5ir/TP6rIveJIJ2wpHN2mXQu/sFiYNjhPgrvL/vdzATJADtWuYA4M60eqi3ZHcn1OCAJfyPke+zGj3E7ontSiCHsh2Ary50JKhsWHa+A9BkwrQoKbeYo6Vz/p4Te6FAcjYJ9aR5871DoNKBnIpML0DPTmQpG9fDeeD04pUghDV2/astAN7dkl+3SQU0OANjdd/f9FEBo7hq9STfEJjs/7Du6kP9ulISN06UfAs/x5CtuzQHivHmP7VZ4zVPGZOFpTGP3SEGgAfLPbJaLLOOU93douaH0x7c1bx1sL4sfCwgm7DYAXQO8C03NEVZthBwNnZULCBPpdgj2/m/qvNof08Uw5UP02x7JvPbv/49pOUd+koEAU4ZXqAhGgrg+BchPSBdyTB7rcQ/DDIWacLyIV718zaiM+YzLyx7bdaQO1suaCygxmfKNF+93PM8KnvIRcEy5tH7nXAh1UAVyeuHIlFV3AtH9V3Vire76iIZ9g3YEPfKHP7JOhjjJY4PSwYkI7RTAgYBMdRr8UpsYhVMCEzgcl9FASeyqt/5SOlPcifIuHcjsBt6WcX5nV0yr2CdIWM8FUsAKTrAbeHnJMtLWtMvFSScAI5PT2qxEi7b//mAIl/W9mfntNDKbX9ewi2CXSZ75+h6tqKKZSkhH0XKDZwpn5NUCIy6vfEPIc5Pouuf/8/E5KsmCFzFr5i3FykMuBW6wPcwPYb/E/Y9uBp6J+q43vxavPm12Xc///4JR0s2HDSK7o9x1rlU7LtcslUvrWDXeKaLhsgy33QIfajOZUOhs9LEogFSiYKUjNGH+yn+HDOvzJ3OiFgNmu7zcBlUkNfFNH8p33xFCUdOXWvh9JYFf8B+LU++6ADTCFBikaxQPU7T26r0Zxr4ipDfQVo5kTlwhfU5kzcO91JlSBWRFGH6Qp08e4FS9KJKhGIGS1gJrBgPQOK3CilZWII10KSYyMTUtyJpWq4V2DmPUyX8vvKFNziUNwqL8uJHWDEbUCfthUv5fk2OpIajdoCnn+cpz7NqMOlBR1qttRxbefXZm9y3PldugUjbe9rT3sFjregGWMqK2BctbqSU16E3/SQIJfPM2CC4Sr8KfG+tYA9vVjeR4011DMNIX5KAEH4yJJHW7LRbd9UO4FpdBmj33aU+kDWPSwMDWHM0mS7PhtP9q+NH/43qt340S+OM8iq0cWj9aR30Fw331SOC223JNNvcJDxRNDfdmzKHib+iAep2PkQE0kaG193UOWM7kKviLq3LxpkapxjxKdlrrR7tUV0rqFpO3TpXn6Bkxpz4bXgsc/9fYKRQFS/H7j+IXWNBwCe4hiaWL/kkGhNnMqEeL790m8lTY3hfUUGKGwAfVxHCfeOVeuurZ81dmrcPPzkLHk4WQ+mwbOY7npWUtBudwVSL8oOp29355MCibB+H1TpO4J2zlUcUWIxsHfjacYzvecZH5xVRmW7wYwj2SR1yLRhp4Q2r98MPq1WlTUK/XP/bLBSOs1M3zfEBYAXAwUyUMac2eiwGNs+wNFZsyg4wEYHByCAPtBKtGJOqJCXvPyVndWIsZfqzk6l46VHfMxC2J/d/7WogV6l39yaoQyFv57+J9wxPBeDluJWJOdOCS3jdWws3+H+Pjk3MEcItw4+V5WxdmynwMXPASRMy2ancnU1DTZIC3JtB8wMP8ATBupzxwrGXu1I6ocVi8dr5+2nW76SxUoE8O3KNJ8G6CTA4SqWJ3gOu/6X2+/GcHZVvdzIODRYe8nQ6nUXojLJmWPt4= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: da746e0e-a4c4-4d92-5b6b-08df3a44e848 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB9645.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2026 07:26:14.0136 (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: oMXCffsnpf7VQknteYN7tPdi7GQXuxYiKT4fxqEwpoww07QQ3LXJIlJvfveXdTYX7MKLyxUHuPO649LDFP7Rl//BFDQA+ACZyEgK6p+YCjo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR10MB6413 X-Original-Sender: clara.kowalsky@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=GS1u5CX8; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of clara.kowalsky@siemens.com designates 2a01:111:f403:c202::7 as permitted sender) smtp.mailfrom=clara.kowalsky@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Clara Kowalsky Reply-To: Clara Kowalsky Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_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?= Images built only as dependencies currently remain in the deploy directory even when they are not listed in IMAGE_FSTYPES. Fix this by keeping only explicitly requested image outputs and removing dependency-only images and conversion intermediates. Users who need a dependency image retained should include it in IMAGE_FSTYPES. Since dependencies are now also removed, run cleanup after all image tasks finish rather than at the end of each producing task. This keeps dependency images available until their consumers have completed. Expanded file paths are recorded, so cleanup also handles type-specific filenames and deploy directories. Unittests are added to test dependency cleanup and retention of requested outputs. Signed-off-by: Clara Kowalsky --- meta/classes-recipe/image.bbclass | 24 ++--- .../unittests/test_image_type_cleanup.py | 92 +++++++++++++++++++ 2 files changed, 104 insertions(+), 12 deletions(-) create mode 100644 testsuite/unittests/test_image_type_cleanup.py diff --git a/meta/classes-recipe/image.bbclass b/meta/classes-recipe/image.bbclass index ce19ae1c..229a37fe 100644 --- a/meta/classes-recipe/image.bbclass +++ b/meta/classes-recipe/image.bbclass @@ -187,6 +187,8 @@ SUDO_CHROOT = "imager_run -d ${PP_ROOTFS} -u root --" # hook up IMAGE_CMD_* python() { image_types = (d.getVar('IMAGE_FSTYPES') or '').split() + requested_types = set(image_types) + intermediate_files = set() conversions = set(d.getVar('IMAGE_CONVERSIONS').split()) chroot_mode = d.getVar('ISAR_CHROOT_MODE') @@ -285,8 +287,10 @@ python() { # add conversions conversion_depends = set() - rm_images = set() def create_conversions(t): + localdata.setVar('type', t) + if t not in requested_types: + intermediate_files.add(localdata.getVar('IMAGE_FILE_HOST')) for c in sorted(conversions): if t.endswith('.' + c): t = t[:-len(c) - 1] @@ -301,20 +305,9 @@ python() { for dep in (localdata.getVar('CONVERSION_DEPS:' + c) or '').split(): conversion_install.add(dep) local_conversion_install.add(dep) - # remove temporary image files - if t not in image_types: - rm_images.add(localdata.expand('${IMAGE_FILE_HOST}')) - for t in basetypes[bt]: create_conversions(t) - if bt not in image_types: - localdata.setVar('type', t) - rm_images.add(localdata.expand('${IMAGE_FILE_HOST}')) - - for image in rm_images: - cmds.append('\trm ' + image) - # image type dependencies after = 'do_image_tools' for dep in typedeps[bt]: @@ -340,6 +333,7 @@ python() { d.appendVar('INSTALL_image_%s' % bt_clean, ' ' + ' '.join(sorted(local_imager_install | local_conversion_install))) d.appendVarFlag(task, 'vardeps', ' INSTALL_image_%s' % bt_clean) + d.setVar('IMAGE_INTERMEDIATE_FILES', ' '.join(sorted(intermediate_files))) d.appendVar('IMAGER_INSTALL', ' ' + ' '.join(sorted(imager_install | conversion_install))) d.appendVar('IMAGER_BOM', ' ' + ' '.join(sorted(imager_bom))) d.appendVar('IMAGER_BUILD_DEPS', ' ' + ' '.join(sorted(imager_build_deps))) @@ -429,6 +423,12 @@ python do_image() { """Virtual task""" pass } +python cleanup_image_intermediates() { + for image in (d.getVar('IMAGE_INTERMEDIATE_FILES') or '').split(): + bb.utils.remove(image) +} +do_image[postfuncs] += "cleanup_image_intermediates" +do_image[vardeps] += "IMAGE_INTERMEDIATE_FILES" addtask image before do_build after do_image_tools python do_deploy() { diff --git a/testsuite/unittests/test_image_type_cleanup.py b/testsuite/unittests/test_image_type_cleanup.py new file mode 100644 index 00000000..1e2ad5b9 --- /dev/null +++ b/testsuite/unittests/test_image_type_cleanup.py @@ -0,0 +1,92 @@ +# This software is a part of Isar. +# Copyright (C) Siemens AG, 2026 +# +# SPDX-License-Identifier: MIT + +import sys +import tempfile +import unittest +from pathlib import Path + +root = Path(__file__).resolve().parents[2] +sys.path.extend([ + str(root / 'bitbake/lib'), + str(root / 'meta/lib'), +]) + +import bb.data +from bb.build import exec_func +from bb.parse import handle + + +data = bb.data.init() +data.setVar('BBPATH', f'{root}/meta:{root}/bitbake') +data.setVar('__bbclasstype', 'recipe') +data.setVar('IMGCLASSES', '') +parsed = handle(str(root / 'meta/classes-recipe/image.bbclass'), data) +data.setVar('IMAGE_TYPEDEP:ova', 'vmdk') +data.setVar('IMAGE_TYPEDEP:vmdk', 'wic') +data.setVar('IMAGE_CMD:vmdk', ':') +namespace = {'bb': bb} +exec(parsed['get_base_type'], namespace) +image_tasks = next( + function for function in parsed.getVar('__BBANONFUNCS', False) + if 'def collect_image_type(' in parsed.getVar(function, False) +) +exec(parsed[image_tasks], namespace) + + +class TestImageTypeCleanup(unittest.TestCase): + def generate_image_tasks(self, image_types, deploy_dir='/deploy'): + d = bb.data.createCopy(data) + d.setVar('IMAGE_FSTYPES', image_types) + d.setVar('DEPLOY_DIR_IMAGE', str(deploy_dir)) + d.setVar('IMAGE_FULLNAME', 'image') + namespace[image_tasks](d) + return d + + def assert_intermediates(self, image_types, expected): + d = self.generate_image_tasks(image_types) + self.assertEqual( + set(d.getVar('IMAGE_INTERMEDIATE_FILES').split()), + {'/deploy/image.' + image_type for image_type in expected}, + ) + + def test_only_unrequested_types_are_intermediates(self): + self.assert_intermediates('ova.zst', {'ova', 'vmdk', 'wic'}) + self.assert_intermediates('vmdk ova.zst', {'ova', 'wic'}) + self.assert_intermediates('ova ova.zst vmdk wic', set()) + + def test_unrequested_conversion_stages_are_cleaned(self): + self.assert_intermediates('tar.gz.xz', {'tar', 'tar.gz'}) + self.assert_intermediates('tar.gz tar.gz.xz', {'tar'}) + + def test_cleanup_uses_image_type_filename_overrides(self): + d = bb.data.createCopy(data) + d.setVar('IMAGE_FSTYPES', 'tar.gz') + d.setVar('IMAGE_FULLNAME:tar', 'custom-image') + d.setVar('DEPLOY_DIR_IMAGE:tar', '/custom-deploy') + namespace[image_tasks](d) + self.assertEqual( + d.getVar('IMAGE_INTERMEDIATE_FILES'), + '/custom-deploy/custom-image.tar', + ) + + def test_cleanup_removes_only_intermediate_files(self): + with tempfile.TemporaryDirectory() as deploy_dir: + deploy_dir = Path(deploy_dir) + for image_type in ('ova', 'wic', 'vmdk', 'ova.zst'): + (deploy_dir / ('image.' + image_type)).touch() + + d = self.generate_image_tasks('vmdk ova.zst', deploy_dir) + d.setVar('T', str(deploy_dir / 'temp')) + exec_func('cleanup_image_intermediates', d) + + self.assertEqual( + {path.name for path in deploy_dir.glob('image.*')}, + {'image.vmdk', 'image.ova.zst'}, + ) + + +if __name__ == '__main__': + unittest.main()