From patchwork Tue Apr 5 05:24:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Schmidt, Adriaan" X-Patchwork-Id: 1657 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3) with LMTPA; Tue, 05 Apr 2022 15:25:14 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-ej1-f57.google.com (mail-ej1-f57.google.com [209.85.218.57]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPS id 235DOwg0023888 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 5 Apr 2022 15:24:59 +0200 Received: by mail-ej1-f57.google.com with SMTP id jg2-20020a170907970200b006e7eebce76csf3074299ejc.0 for ; Tue, 05 Apr 2022 06:24:59 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1649165093; cv=pass; d=google.com; s=arc-20160816; b=ridsXhPk5ImK47/7r/K9AtfiQaFNrHmCLhjxqEZegShOxfTFTagw0hEPx0lWeyshbp 9z8y29FfmJbgaLyAT21Ci/3NeB/TuuVCJG6agso1Km354I0mB4DpE4ILUXza5PCcQxhO xzFoCCzrGGWCuwGOeKD16ydwibOnvVsKAB/6AXjhJto9iu2ZKdNDa6LAr+TkImLUN7Dq q284SDrBxfZwcWenVW9LBw04fymGD9i8owTxp6OylFQhekELUMSPDzf3ivgLkO+sMjLg IoG6ANHsUB2qnO8iEX9fC7otnFAO5R5pgoRtgbDWfB8ezOgUZgfFsTOiNDMjjSA2lUnz ubdA== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=9joYmTpQPUFb5DLINjbr1jlC4+NZwbHMmCFaAw2T0jc=; b=jgPfUKP0/WoMmtDGlT7RKYxhk72+CX/Eqsej08IPzZ8tenQa11Xf0RDtVeQhnsfzGc wepchORlEJTiCN0QO6PRedRN/QkLfaBC4KezX3J7cGFIhnp+P7db1mddlPnSTqg+caHk 6YEO89VdyY9cFvKG2eRZ2TSyq8B7Zu/zTj6x3PLPx/SBi2NsUmXiyT1ZsYRKOj6bHaEG j3JX2/WHGHiaJJkcrup5YCglBXhcCwdf72HGtIS8w/M+EojMch+1fdu3yadmDgEnrGXS gOmMgURuxmYMMP8LqtN2IaiGq5N1MxIWrf7rbmi3W0r/ID4Sbm9mel9eVRVCCp48FFEv Mdjw== ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=fmE4xyug; arc=pass (i=1 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of adriaan.schmidt@siemens.com designates 2a01:111:f400:fe07::62c as permitted sender) smtp.mailfrom=adriaan.schmidt@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=9joYmTpQPUFb5DLINjbr1jlC4+NZwbHMmCFaAw2T0jc=; b=AFaJAVWAFj03JlLDVYFtsqbvmYBfe5bvnWhyqX0WiNKukdFtuD6c7xEQy4fQkplgLX gCN9D7H0tacmO2207jt8LDwuAhqvSU3xhtFLaq0V94nEed0pse/SYUPKk8x8JBoi7qtW lyEF7t09bVib3s7G9fN6In0NI/JlsGTTULaWqRnc6wFXe9psAfsiHfYBfupPsgjRPo9C qw4jSU+E2GqfavYgedpqeq4PQIH8tlyEumI9bFK/dgiJm/Ql96Jdw8GR0okPsiYRIQvu 8yvMuGUOiWLX+srUzm5IwrNsNM5+l5xIc0gxOu1jGOeF5gXYm/vKaJrpyCdADNmVISSK mbKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=sender:x-gm-message-state:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-spam-checked-in-group:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=9joYmTpQPUFb5DLINjbr1jlC4+NZwbHMmCFaAw2T0jc=; b=5ALJctrZD/x3tMxg5MJAsQ6RcSMTTk1AiyoRivmtONcpy/CqJi4zqAl2AevlBL21eg 4ylu2U4mCy3CmJNGPeEgi7xGKM+0vk62Ir5pfHYUIpEky+yQywyEVgag1zFWTcFWUKSk FSOjMZdSIY2BwS/0JAQadDfpDafWEr7rheX33jwl8U9r8CmTHzDhW/4o4r42QSy/egim 0fV51fEMF3lWqX2iIBq0cqZWlHH+AgbkqxBLP+wYXb5MNKurQ/ubyneLd2qrD+076JKh Adm4sznwK/w/4FLWguT9EimSJI8kaQbzhsTeXZnICEOBcnz9azQi+iWaLOgYF5qxho4f rhkw== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM531WfbKetBdUHySYRTFZ9jiHvV5uAG+nTSTXXVuOeO9Z04Duwnt5 szjlJohPstwLL4DLfXsyO5c= X-Google-Smtp-Source: ABdhPJzfE59GEJOyCpWpwr9nmo0xGVL94NCQwboMWMjvwFsbf82GaUvxhibzBIecQbNwIDsZSFBijQ== X-Received: by 2002:a50:c00a:0:b0:418:f10f:b27c with SMTP id r10-20020a50c00a000000b00418f10fb27cmr3552011edb.204.1649165093624; Tue, 05 Apr 2022 06:24:53 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:907:9622:b0:6e4:ed01:20cd with SMTP id gb34-20020a170907962200b006e4ed0120cdls995515ejc.10.gmail; Tue, 05 Apr 2022 06:24:52 -0700 (PDT) X-Received: by 2002:a17:907:c16:b0:6db:1dfc:ca73 with SMTP id ga22-20020a1709070c1600b006db1dfcca73mr3616512ejc.192.1649165089925; Tue, 05 Apr 2022 06:24:49 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1649165089; cv=pass; d=google.com; s=arc-20160816; b=rhIS34uNcZBWMD11ytS/vFDDcAcGGSxQrmnmwdPJE+ZxOzUv/Ockhsr2Fh9CHiLCy0 m9mBwPhA4idpgzoOPBuepbmr7OijCvS+JNLHLuA9cIPAW7Yqr5g9v9Epz6btz75NHVOo IdqdsHwaq3DXFUcNte7NsNSlVcWSgjJo90wIa3VQvjPhpQomuK3aV8Hqd3fz2k8t0azC uVUv5TNNdxy0etm5WxHjZGSgAoSmxLAZgdffivQezaONelJ0OXf8sBtCQELTM8zMm2Vl S9MnNDzXPBPTPnIerWmXfgm5XGmoJYPFGG5/o6wWCfvuDA4S1EmQYG0KwqxeL4PA44UI nw1g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=YomxRyA9UsNvI+vDY5eZpPX9e0PnJ57IqJe8284t1zY=; b=aXLsW8YU7kvm+hajHssKYJlBqGSSmf/PuYKh2cNpWwJ3toyM57FQq4WzylOG+Ysnwb 5Zl/B5bfqDBKTuqfjV/7lCHhNSoxgh23N+POREgTbW/cAqwtcnz0sWGF9JnQqK8YcJQ8 XEww5xFMqSSNWQDcL/CCofEer6vVAH3L38iMJYMsZAH2v+V7S6DvTiclMWMfsL3nEfq5 KLCRD594TbJcifu6LOwhTNYyNmfbm2HWBKDEaeomlaEJVGxcq/lyfMVpelfWqlDxYr3y wn7juPLMlZ/7lnecVxK5fuNlePN2NK/VzfxzDeTO3WHRKoEkkeaJ/5l8eNkrUUgzYB8O 83yw== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=fmE4xyug; arc=pass (i=1 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of adriaan.schmidt@siemens.com designates 2a01:111:f400:fe07::62c as permitted sender) smtp.mailfrom=adriaan.schmidt@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-am5eur02on062c.outbound.protection.outlook.com. [2a01:111:f400:fe07::62c]) by gmr-mx.google.com with ESMTPS id i7-20020a056402054700b0041b5ea40609si697823edx.4.2022.04.05.06.24.49 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Apr 2022 06:24:49 -0700 (PDT) Received-SPF: pass (google.com: domain of adriaan.schmidt@siemens.com designates 2a01:111:f400:fe07::62c as permitted sender) client-ip=2a01:111:f400:fe07::62c; ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eg30yuVKE0nJc2qFYHHN0Be0f3Ob/uKp8cmbO7ra8nzEVcg/qaiC9+x2Uf6m+/LUmiuhxG6/nzibVOX53aRunFPId6AzXWMkSwPmV/5EUd/iuxSn63/1200QSWLRCDXawOkou5U/uEa76bTy8YLr1ATcf2Myqs/WsQYsYG9y5VRQpU5ARK2lxhcVgGxig7CMls4Xjgd9O5P2/7URmr/DHSZxvK9VXq+5lPzcrOjgyUr2f+AGoYTChgLaTgiPPGC9AkVBIi1+cN7pHTKlym0cWxtKsSznQQdCixk9NL6YJqqo8dkp0UBl0Yw+PfgXMR9TfRwL/OKdc+bUMZgBcI2k6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=YomxRyA9UsNvI+vDY5eZpPX9e0PnJ57IqJe8284t1zY=; b=nOx4IziOWRyITiHFNa2JD9Oy5tkzbbUaKcLo6A7CUOVf2ENKb3uaP7RMKWYpwIHm0Yhyrlc9cbtp4L7WWnu65o4yo0ZDsUU9CcbxBtOvmrE7WGwatTfBwlVoi00It9nUILTfm075tqsWU7AQym7tj8g2OiRWz12226L6oiTq5iQ3PN9lpurWX/Ce/3HwouSNA2tEU0mQl1ujzcEM407A7Jr6cf/s46s6XrJGO9xHJhgnSHiUPyzDHkiGZHwyxqQFRIEOdPDmJHpxDNL0K9zIzqodqgdSzXu+fK4ZUjRWlgSEUar0L/S1sqUrE6mvBsKa3G95bO9DyTl06x31cFUFgg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 194.138.21.73) smtp.rcpttodomain=googlegroups.com smtp.mailfrom=siemens.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=siemens.com; dkim=none (message not signed); arc=none Received: from AM6P194CA0080.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:8f::21) by AS8PR10MB4646.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:337::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.31; Tue, 5 Apr 2022 13:24:48 +0000 Received: from VE1EUR01FT101.eop-EUR01.prod.protection.outlook.com (2603:10a6:209:8f:cafe::40) by AM6P194CA0080.outlook.office365.com (2603:10a6:209:8f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.31 via Frontend Transport; Tue, 5 Apr 2022 13:24:48 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 194.138.21.73) smtp.mailfrom=siemens.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=siemens.com; Received-SPF: Pass (protection.outlook.com: domain of siemens.com designates 194.138.21.73 as permitted sender) receiver=protection.outlook.com; client-ip=194.138.21.73; helo=hybrid.siemens.com; Received: from hybrid.siemens.com (194.138.21.73) by VE1EUR01FT101.mail.protection.outlook.com (10.152.3.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5123.19 via Frontend Transport; Tue, 5 Apr 2022 13:24:48 +0000 Received: from DEMCHDC89XA.ad011.siemens.net (139.25.226.103) by DEMCHDC9SNA.ad011.siemens.net (194.138.21.73) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Tue, 5 Apr 2022 15:24:47 +0200 Received: from random.ppmd.siemens.net (139.25.68.25) by DEMCHDC89XA.ad011.siemens.net (139.25.226.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Tue, 5 Apr 2022 15:24:46 +0200 From: Adriaan Schmidt To: CC: Adriaan Schmidt Subject: [PATCH v2 2/7] image: refactor SDK Date: Tue, 5 Apr 2022 15:24:26 +0200 Message-ID: <20220405132431.2895832-3-adriaan.schmidt@siemens.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220405132431.2895832-1-adriaan.schmidt@siemens.com> References: <20220405132431.2895832-1-adriaan.schmidt@siemens.com> MIME-Version: 1.0 X-Originating-IP: [139.25.68.25] X-ClientProxiedBy: DEMCHDC8A0A.ad011.siemens.net (139.25.226.106) To DEMCHDC89XA.ad011.siemens.net (139.25.226.103) X-TM-AS-Product-Ver: SMEX-14.0.0.3080-8.6.1018-26680.007 X-TM-AS-Result: No-10--11.446700-8.000000 X-TMASE-MatchedRID: f6Rj31JPTe6T5dDfN8TpsRjGdv/OQelyLFD07/Dk8EbDJ+l7OPOolSUn Lzk1+IxzzwO4AjhpI8hyKMxmuvaJnZ/pqLrD52g7aQCt577mlyTzeC+Is7Gv5OcFyNaDjVbg6qG 5M9QNAO2H4I6QZJ07kYdYwzPgNbi6vDxegIKDqbqaF7+MAnd7vAFPyo0NTF0myl2yL95kDWNMkO X0UoduuaShvRjfn4cUXsmnlayA9wlRQk2usXqRT1Tc4Z0AZzK6qj01FlWBadqTeuX4xo2DEHHv4 qNcyiZVHeN0FoxUAvrwr0hp4ZyVdSVHmJGtieUtwQzLZR+1m08rHEi7S0KU+W12v13Qb606UXlp 1FHYSPWQc9WQFO7fU+yA7WWewtfEE3RVIIrNFYDA2ZaU3Vq+6gIjBs/56eDrhLMcPZH93bxF5qV UCGhwT8j0QMA/92m2KUD+tLTtC+F08SF1pHAaTiiduIFM7gsu7DLY2FGw/JtyMswwR1sr68tDHw 9RrCNbIFBEE5CFomI0fAEAYiHbyxLg/KpeJ9kUHqmH5intJM5GPOixR/euoUOTmmhJhc2XMsovp /h9OdFirg8tJChsdMZE1hoM4QIsDIaK37rz7stMFByGxeT+yOfjMrfHxUqlqhcdnP91eXF+CWCc HScOEwrcqCL3+emlPVGDVAzeGHwtZpudd3exsVQFP6X4GAcenPekcWtexz3o5fsYXP0fUIQu+Xf LPysKeI05t861ylGAvBJAefUltNnALnxpVDIzMNGhuzepJ+g7BOj1lchJLKubsOtSWY2QgDLqnr RlXrZ8nn9tnqel2MprJP8FBOIaHyQ+JiGcJ0xbpNyG/Logpxtp6S3/1ZGBt5sNC9xcpR7Q4Q3Ht vvQiw== X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--11.446700-8.000000 X-TMASE-Version: SMEX-14.0.0.3080-8.6.1018-26680.007 X-TM-SNTS-SMTP: 03AEC43A661B5DAB49AA20A0571197581F048A19183B85770F2FA9E5A6111A372000:8 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 87cc8066-025d-4f7c-5a38-08da1707a87c X-MS-TrafficTypeDiagnostic: AS8PR10MB4646:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XHxHYtaocwPQ9IhrB0+is8cm8nPdtNUm9S5aICAFqzKQKxZ/bkNdmOL4oR/Q6P911EKdmrb/wOYXCCM4JGTdUG8gno4ZBUjrHnR8+k/29bVE4dxFQcaxZWOgKbigaAxrOTngCsWz0tBmJH4LNFnFwyGf2i1wYnLukcaP1UeZKEaJZVuM65oUyiWm6CceTmur8tyBBpWjXuVZguTRJMklG5f1bUAyC4t9PgA0UY5Neqvrl4+epNsQDetMmiwX7RXE1NQIPKRqTSCfZeG6dRzioMnv2uM6+SJU+LEbKKhIzZCBQpc0GDhdoo4qyY8qKNncx3wr+CFb2vRxHqEyfNDer5vGMSJTYPAELIykGomphPyaS9/2oKIZLKrSi2aMOgG/gNamca2R0/ml8xZVnQ8XOpMi2nbISYfvKtBHC5uY9Jb810nhmLU5uzIJdg03PkemUfBysO6dV/4h9tN/R0Tx7wnzuL7bxme8rzt8X3/XjUyP6WxQ/Xg9oNvXoae+//dLtTdqgxHC3fYwft8NSX9iV6dHxqh6D8iea4Rq6l3L+XBR4rVt2cM8ty1r0JbkxpjF48zNKiI7o/p2cAstkXZ9kQcY3o87TwjU81lmLfmrAdcoObBHpxZJxIHwnRYyVmKFCF28jPSiPcuoEwqvfM256jL5D1QPGLFWJoEPluInxLxzyI+gXqJXbzznnSg+mm3vlEcgKeXPNl/N79z/UajDaQ== X-Forefront-Antispam-Report: CIP:194.138.21.73; CTRY:DE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:hybrid.siemens.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230001)(4636009)(46966006)(40470700004)(36840700001)(26005)(336012)(186003)(16526019)(1076003)(47076005)(8676002)(4326008)(6916009)(70586007)(70206006)(36756003)(83380400001)(316002)(86362001)(36860700001)(508600001)(82310400005)(8936002)(5660300002)(2616005)(82960400001)(356005)(81166007)(107886003)(30864003)(6666004)(2906002)(956004)(40460700003)(44832011)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Apr 2022 13:24:48.4759 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 87cc8066-025d-4f7c-5a38-08da1707a87c X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=38ae3bcd-9579-4fd4-adda-b42e1495d55a; Ip=[194.138.21.73]; Helo=[hybrid.siemens.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR01FT101.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR10MB4646 X-Original-Sender: adriaan.schmidt@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=fmE4xyug; arc=pass (i=1 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of adriaan.schmidt@siemens.com designates 2a01:111:f400:fe07::62c as permitted sender) smtp.mailfrom=adriaan.schmidt@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com 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=-0.8 required=5.0 tests=DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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: INBOX - turn the image-sdk-extension into an image recipe variant (requires renaming of the class to `sdk` to use BBCLASSEXTEND). - put the logic from sdkchroot into that variant - turn the remainder of sdkcroot into the package sdk-files that that is then installed into SDKs API change: SDK_FORMATS now has the same semantics (and knows the same formats) as IMAGE_FSTYPES. Because there is no image type to generate tar.xz images, for now the default SDK_FORMAT is `targz-img`. NOTE: this patch does not work stand-alone. It requires changes to the way image types are handled. Signed-off-by: Adriaan Schmidt --- meta/classes/image-sdk-extension.bbclass | 87 ----------- meta/classes/image.bbclass | 2 +- meta/classes/sdk.bbclass | 137 ++++++++++++++++++ .../{sdkchroot => sdk-files}/files/README.sdk | 0 .../files/configscript.sh | 0 .../files/gcc-sysroot-wrapper.sh | 0 .../files/relocate-sdk.sh | 0 meta/recipes-devtools/sdk-files/sdk-files.bb | 26 ++++ meta/recipes-devtools/sdkchroot/sdkchroot.bb | 78 ---------- 9 files changed, 164 insertions(+), 166 deletions(-) delete mode 100644 meta/classes/image-sdk-extension.bbclass create mode 100644 meta/classes/sdk.bbclass rename meta/recipes-devtools/{sdkchroot => sdk-files}/files/README.sdk (100%) rename meta/recipes-devtools/{sdkchroot => sdk-files}/files/configscript.sh (100%) rename meta/recipes-devtools/{sdkchroot => sdk-files}/files/gcc-sysroot-wrapper.sh (100%) rename meta/recipes-devtools/{sdkchroot => sdk-files}/files/relocate-sdk.sh (100%) create mode 100644 meta/recipes-devtools/sdk-files/sdk-files.bb delete mode 100644 meta/recipes-devtools/sdkchroot/sdkchroot.bb diff --git a/meta/classes/image-sdk-extension.bbclass b/meta/classes/image-sdk-extension.bbclass deleted file mode 100644 index 052c1b58..00000000 --- a/meta/classes/image-sdk-extension.bbclass +++ /dev/null @@ -1,87 +0,0 @@ -# This software is a part of ISAR. -# Copyright (C) Siemens AG, 2019 -# -# SPDX-License-Identifier: MIT -# -# This class extends the image.bbclass to supply the creation of a sdk - -SDK_INCLUDE_ISAR_APT ?= "0" -SDK_FORMATS ?= "tar-xz" - -sdk_tar_xz() { - # Copy mount_chroot.sh for convenience - sudo cp ${SCRIPTSDIR}/mount_chroot.sh ${SDKCHROOT_DIR} - - # Create SDK archive - cd -P ${SDKCHROOT_DIR}/.. - sudo tar --transform="s|^rootfs|sdk-${DISTRO}-${DISTRO_ARCH}|" \ - -c rootfs | xz -T0 > ${DEPLOY_DIR_IMAGE}/sdk-${DISTRO}-${DISTRO_ARCH}.tar.xz - bbdebug 1 "SDK rootfs available in ${DEPLOY_DIR_IMAGE}/sdk-${DISTRO}-${DISTRO_ARCH}.tar.xz" -} - -do_populate_sdk[stamp-extra-info] = "${DISTRO}-${MACHINE}" -do_populate_sdk[depends] = "sdkchroot:do_build" -do_populate_sdk[vardeps] += "SDK_INCLUDE_ISAR_APT SDK_FORMATS" -do_populate_sdk() { - local sdk_container_formats="" - - if [ "${SDK_INCLUDE_ISAR_APT}" = "1" ]; then - # Copy isar-apt with deployed Isar packages - sudo cp -Trpfx ${REPO_ISAR_DIR}/${DISTRO} ${SDKCHROOT_DIR}/isar-apt - else - # Remove isar-apt repo entry - sudo rm -f ${SDKCHROOT_DIR}/etc/apt/sources.list.d/isar-apt.list - fi - - sudo umount -R ${SDKCHROOT_DIR}/dev || true - sudo umount ${SDKCHROOT_DIR}/proc || true - sudo umount -R ${SDKCHROOT_DIR}/sys || true - - # Remove setup scripts - sudo rm -f ${SDKCHROOT_DIR}/chroot-setup.sh ${SDKCHROOT_DIR}/configscript.sh - - # Make all links relative - for link in $(find ${SDKCHROOT_DIR}/ -type l); do - target=$(readlink $link) - - if [ "${target#/}" != "${target}" ]; then - basedir=$(dirname $link) - new_target=$(realpath --no-symlinks -m --relative-to=$basedir ${SDKCHROOT_DIR}/${target}) - - # remove first to allow rewriting directory links - sudo rm $link - sudo 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 ${SDKCHROOT_DIR}/usr/bin -type f -name "*-linux-gnu*-${tool_pattern}"); do - sudo mv "${tool}" "${tool}.bin" - sudo ln -sf gcc-sysroot-wrapper.sh ${tool} - done - done - - # separate SDK formats: TAR and container formats - for sdk_format in ${SDK_FORMATS} ; do - case ${sdk_format} in - "tar-xz") - sdk_tar_xz - ;; - "docker-archive" | "oci" | "oci-archive" | "docker-daemon" | "containers-storage") - sdk_container_formats="${sdk_container_formats} ${sdk_format}" - ;; - *) - die "unsupported SDK format specified: ${sdk_format}" - ;; - esac - done - - # generate the SDK in all the desired container formats - if [ -n "${sdk_container_formats}" ] ; then - bbnote "Generating SDK container in ${sdk_container_formats} format" - containerize_rootfs "${SDKCHROOT_DIR}" "${sdk_container_formats}" "sdk-" - fi -} - -addtask populate_sdk after do_rootfs diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 8899d1e9..f87b76e7 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -78,7 +78,7 @@ ROOTFS_PACKAGE_SUFFIX ?= "${PN}-${DISTRO}-${MACHINE}" ROOTFS_POSTPROCESS_COMMAND_prepend = "${@bb.utils.contains('BASE_REPO_FEATURES', 'cache-deb-src', 'cache_deb_src', '', d)} " inherit rootfs -inherit image-sdk-extension +inherit sdk inherit image-tools-extension inherit image-postproc-extension inherit image-locales-extension diff --git a/meta/classes/sdk.bbclass b/meta/classes/sdk.bbclass new file mode 100644 index 00000000..adf9a1fe --- /dev/null +++ b/meta/classes/sdk.bbclass @@ -0,0 +1,137 @@ +# This software is a part of ISAR. +# Copyright (C) Siemens AG, 2019 +# +# SPDX-License-Identifier: MIT +# +# This class extends the image.bbclass to supply the creation of a sdk + +# hook up the -sdk image variant +BBCLASSEXTEND = "sdk" +BPN = "${PN}" + +python sdk_virtclass_handler() { + pn = e.data.getVar('PN') + if pn.endswith('-sdk'): + e.data.setVar('BPN', pn[:-len('-sdk')]) + e.data.appendVar('OVERRIDES', ':class-sdk') + # sdkchroot deploy only for sdk image + bb.build.addtask('deploy_sdkchroot', 'do_build', 'do_rootfs', d) + else: + # add do_populate_sdk only to the non-sdk variant + # it only exists to preserve the interface... + bb.build.addtask('populate_sdk', '', '', e.data) + e.data.appendVarFlag('do_populate_sdk', 'depends', '${BPN}-sdk:do_build') + e.data.appendVarFlag('do_clean', 'depends', '${BPN}-sdk:do_clean') +} +addhandler sdk_virtclass_handler +sdk_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise" + +# SDK is image-specific: +SDKCHROOT_DIR = "${DEPLOY_DIR_SDKCHROOT}/${BPN}-${MACHINE}" + +# SDK settings +SDK_INCLUDE_ISAR_APT ?= "0" +SDK_FORMATS ?= "targz-img" +SDK_INSTALL ?= "" +SDK_PREINSTALL += " \ + debhelper \ + autotools-dev \ + dpkg \ + locales \ + docbook-to-man \ + apt \ + automake \ + devscripts \ + equivs" + +TOOLCHAIN = "crossbuild-essential-${DISTRO_ARCH}" +TOOLCHAIN_${HOST_ARCH} = "build-essential" +TOOLCHAIN_i386 = "build-essential" +TOOLCHAIN_append_compat-arch = " crossbuild-essential-${COMPAT_DISTRO_ARCH}" + +# rootfs/image overrides for the SDK +ROOTFS_ARCH_class-sdk = "${HOST_ARCH}" +ROOTFS_DISTRO_class-sdk = "${HOST_DISTRO}" +ROOTFS_PACKAGES_class-sdk = "sdk-files ${TOOLCHAIN} ${SDK_PREINSTALL} ${SDK_INSTALL}" +ROOTFS_FEATURES_append_class-sdk = " clean-package-cache generate-manifest export-dpkg-status" +ROOTFS_MANIFEST_DEPLOY_DIR_class-sdk = "${DEPLOY_DIR_SDKCHROOT}" +ROOTFS_DPKGSTATUS_DEPLOY_DIR_class-sdk = "${DEPLOY_DIR_SDKCHROOT}" + +IMAGE_FSTYPES_class-sdk = "${SDK_FORMATS}" + +# bitbake dependencies +SDKDEPENDS += "sdk-files ${SDK_INSTALL}" +SDKDEPENDS_append_riscv64 = "${@' crossbuild-essential-riscv64' if d.getVar('ISAR_CROSS_COMPILE', True) == '1' and d.getVar('PN') != 'crossbuild-essential-riscv64' else ''}" +DEPENDS_class-sdk = "${SDKDEPENDS}" + +SDKROOTFSDEPENDS = "" +SDKROOTFSDEPENDS_class-sdk = "${BPN}:do_rootfs" +do_rootfs_install[depends] += "${SDKROOTFSDEPENDS}" + +SDKROOTFSVARDEPS = "" +SDKROOTFSVARDEPS_class-sdk = "SDK_INCLUDE_ISAR_APT" +do_rootfs_install[vardeps] += "${SDKROOTFSVARDEPS}" + +# additional SDK steps +ROOTFS_CONFIGURE_COMMAND_append_class-sdk = " ${@'rootfs_configure_isar_apt_dir' if d.getVar('SDK_INCLUDE_ISAR_APT') == '1' else ''}" +rootfs_configure_isar_apt_dir() { + # Copy isar-apt instead of mounting: + sudo cp -Trpfx ${REPO_ISAR_DIR}/${DISTRO} ${ROOTFSDIR}/isar-apt +} + +ROOTFS_POSTPROCESS_COMMAND_prepend_class-sdk = "sdkchroot_configscript " +sdkchroot_configscript () { + sudo chroot ${ROOTFSDIR} /configscript.sh ${DISTRO_ARCH} +} + +ROOTFS_POSTPROCESS_COMMAND_append_class-sdk = " sdkchroot_finalize" +sdkchroot_finalize() { + if [ "${SDK_INCLUDE_ISAR_APT}" = "0" ]; then + # Remove isar-apt repo entry + sudo rm -f ${ROOTFSDIR}/etc/apt/sources.list.d/isar-apt.list + fi + + sudo umount -R ${ROOTFSDIR}/dev || true + sudo umount ${ROOTFSDIR}/proc || true + sudo umount -R ${ROOTFSDIR}/sys || true + + # Remove setup scripts + sudo rm -f ${ROOTFSDIR}/chroot-setup.sh ${ROOTFSDIR}/configscript.sh + + # Make all links relative + for link in $(find ${ROOTFSDIR}/ -type l); do + target=$(readlink $link) + + if [ "${target#/}" != "${target}" ]; then + basedir=$(dirname $link) + 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 + 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} + done + done +} + +do_deploy_sdkchroot[dirs] = "${DEPLOY_DIR_SDKCHROOT}" +do_deploy_sdkchroot() { + ln -Tfsr "${ROOTFSDIR}" "${SDKCHROOT_DIR}" +} + +CLEANFUNCS_class-sdk = "clean_deploy" +clean_deploy() { + rm -f "${SDKCHROOT_DIR}" +} + +do_populate_sdk[noexec] = "1" +do_populate_sdk() { + : +} diff --git a/meta/recipes-devtools/sdkchroot/files/README.sdk b/meta/recipes-devtools/sdk-files/files/README.sdk similarity index 100% rename from meta/recipes-devtools/sdkchroot/files/README.sdk rename to meta/recipes-devtools/sdk-files/files/README.sdk diff --git a/meta/recipes-devtools/sdkchroot/files/configscript.sh b/meta/recipes-devtools/sdk-files/files/configscript.sh similarity index 100% rename from meta/recipes-devtools/sdkchroot/files/configscript.sh rename to meta/recipes-devtools/sdk-files/files/configscript.sh diff --git a/meta/recipes-devtools/sdkchroot/files/gcc-sysroot-wrapper.sh b/meta/recipes-devtools/sdk-files/files/gcc-sysroot-wrapper.sh similarity index 100% rename from meta/recipes-devtools/sdkchroot/files/gcc-sysroot-wrapper.sh rename to meta/recipes-devtools/sdk-files/files/gcc-sysroot-wrapper.sh diff --git a/meta/recipes-devtools/sdkchroot/files/relocate-sdk.sh b/meta/recipes-devtools/sdk-files/files/relocate-sdk.sh similarity index 100% rename from meta/recipes-devtools/sdkchroot/files/relocate-sdk.sh rename to meta/recipes-devtools/sdk-files/files/relocate-sdk.sh diff --git a/meta/recipes-devtools/sdk-files/sdk-files.bb b/meta/recipes-devtools/sdk-files/sdk-files.bb new file mode 100644 index 00000000..36cdb319 --- /dev/null +++ b/meta/recipes-devtools/sdk-files/sdk-files.bb @@ -0,0 +1,26 @@ +# SDK Root filesystem +# +# This software is a part of ISAR. +# Copyright (C) 2015-2018 ilbers GmbH + +DESCRIPTION = "Isar SDK Root filesystem" + +LICENSE = "gpl-2.0" +LIC_FILES_CHKSUM = "file://${LAYERDIR_core}/licenses/COPYING.GPLv2;md5=751419260aa954499f7abaabaa882bbe" + +inherit dpkg-raw + +SRC_URI = " \ + file://configscript.sh \ + file://relocate-sdk.sh \ + file://gcc-sysroot-wrapper.sh \ + file://README.sdk" +PV = "0.1" + +do_install() { + install -m 644 ${WORKDIR}/README.sdk ${D} + install -m 755 ${WORKDIR}/relocate-sdk.sh ${D} + install -m 755 -d ${D}/usr/bin + install -m 755 ${WORKDIR}/gcc-sysroot-wrapper.sh ${D}/usr/bin + install -m 755 ${WORKDIR}/configscript.sh ${D} +} diff --git a/meta/recipes-devtools/sdkchroot/sdkchroot.bb b/meta/recipes-devtools/sdkchroot/sdkchroot.bb deleted file mode 100644 index e367eae2..00000000 --- a/meta/recipes-devtools/sdkchroot/sdkchroot.bb +++ /dev/null @@ -1,78 +0,0 @@ -# SDK Root filesystem -# -# This software is a part of ISAR. -# Copyright (C) 2015-2018 ilbers GmbH - -DESCRIPTION = "Isar SDK Root filesystem" - -LICENSE = "gpl-2.0" -LIC_FILES_CHKSUM = "file://${LAYERDIR_core}/licenses/COPYING.GPLv2;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI = " \ - file://configscript.sh \ - file://relocate-sdk.sh \ - file://gcc-sysroot-wrapper.sh \ - file://README.sdk" -PV = "0.1" - -SDK_INSTALL ?= "" - -DEPENDS += "${SDK_INSTALL}" - -DEPENDS_append_riscv64 = "${@' crossbuild-essential-riscv64' if d.getVar('ISAR_CROSS_COMPILE', True) == '1' and d.getVar('PN') != 'crossbuild-essential-riscv64' else ''}" - -TOOLCHAIN = "crossbuild-essential-${DISTRO_ARCH}" -TOOLCHAIN_${HOST_ARCH} = "build-essential" -TOOLCHAIN_i386 = "build-essential" -TOOLCHAIN_append_compat-arch = " crossbuild-essential-${COMPAT_DISTRO_ARCH}" - -inherit rootfs -ROOTFS_ARCH = "${HOST_ARCH}" -ROOTFS_DISTRO = "${HOST_DISTRO}" -ROOTFSDIR = "${S}" -ROOTFS_PACKAGES = "${SDK_PREINSTALL} ${SDK_INSTALL} ${TOOLCHAIN}" -ROOTFS_FEATURES += "clean-package-cache generate-manifest export-dpkg-status" -ROOTFS_MANIFEST_DEPLOY_DIR = "${DEPLOY_DIR_SDKCHROOT}" -ROOTFS_DPKGSTATUS_DEPLOY_DIR = "${DEPLOY_DIR_SDKCHROOT}" - -SDK_PREINSTALL += " \ - debhelper \ - autotools-dev \ - dpkg \ - locales \ - docbook-to-man \ - apt \ - automake \ - devscripts \ - equivs" - -SDK_INCLUDE_ISAR_APT ?= "0" - -S = "${WORKDIR}/rootfs" - -ROOTFS_CONFIGURE_COMMAND += "${@'rootfs_configure_isar_apt_dir' if d.getVar('SDK_INCLUDE_ISAR_APT') == '1' else ''}" -rootfs_configure_isar_apt_dir() { - # Copy isar-apt instead of mounting: - sudo cp -Trpfx ${REPO_ISAR_DIR}/${DISTRO} ${ROOTFSDIR}/isar-apt -} - -ROOTFS_POSTPROCESS_COMMAND =+ "sdkchroot_install_files" -sdkchroot_install_files() { - # Configure root filesystem - sudo install -m 644 ${WORKDIR}/README.sdk ${S} - sudo install -m 755 ${WORKDIR}/relocate-sdk.sh ${S} - sudo install -m 755 ${WORKDIR}/gcc-sysroot-wrapper.sh ${S}/usr/bin - sudo install -m 755 ${WORKDIR}/configscript.sh ${S} - sudo chroot ${S} /configscript.sh ${DISTRO_ARCH} -} - -do_sdkchroot_deploy[dirs] = "${DEPLOY_DIR_SDKCHROOT}" -do_sdkchroot_deploy() { - ln -Tfsr "${ROOTFSDIR}" "${SDKCHROOT_DIR}" -} -addtask sdkchroot_deploy before do_build after do_rootfs - -CLEANFUNCS = "clean_deploy" -clean_deploy() { - rm -f "${SDKCHROOT_DIR}" -}