From patchwork Thu Apr 14 22:56:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Schmidt, Adriaan" X-Patchwork-Id: 1690 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3) with LMTPA; Fri, 15 Apr 2022 08:56:46 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f58.google.com (mail-lf1-f58.google.com [209.85.167.58]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPS id 23F6uj4K010363 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 15 Apr 2022 08:56:45 +0200 Received: by mail-lf1-f58.google.com with SMTP id l13-20020a056512110d00b0046ed385ed94sf641003lfg.1 for ; Thu, 14 Apr 2022 23:56:45 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1650005800; cv=pass; d=google.com; s=arc-20160816; b=wcLFaZuyqHjHKS/pfAWHCuo6ySeY2mfH8Tqb734d7JRyUH8J1eKTVTjv8YCQFsEaCu XVkxsBB8oZdgyIE5lMazmF9HWuTUy6fymwESBLGK3wkZ5sHEADlEruT2HLQn4r2nkYzr lX8nzvT/Ruqn/XSU5lCdZTB1DBMrT4BAFR6BYnHvOhW4BiFNUDBjGV3zkDsU9N6Xnt6i 8wo4ccWIJzOyppb66+QKIL9FYOAVdPu4Ofi7xBfDt1K+sT8MEI5fAYKO+2mi0Ym+UzxN 8idRguw+a9A/1+NGGFW2+0qqxFI9WlMI+QCJNQIwMua17iZTItwRHfgrBDJP1TDm9F/a vMSA== 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=mDJE8IvLDo4S2j3qp8eO7FPwT5T2KqfFRE/KP1We8MU=; b=ckgjbWYLGKsuvOZLJAELjesC2BNs6mLyhOTy6AuiL2Wnkqhtv7mvwqo4IvarfqLYOb NWhtCUv/T/2KPfbhehlXz5ckqHSBWXqYPRHMjbudnrwd50M/NxSw9etam+MS49YxfaPy WC865atcskMOr1BMC4JK2CgQxkF3yZeJLVWqDpxq9HYlXlgcvyDOifE62zkuymbMk7kH QhaSBAD2b6YjWnmaQtz/JTpLlFochd42zNuQ2qNqO3wsucaat7uMdUjreeG1s2upaR77 jQcvC0OdRgjOMq6IWMrBmGVVHLN0gxDe8xK79yNtDafEXyBfnNin5Ejk1vzk7bFVjjR0 Mw7w== ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=q4yHpV5s; 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:fe0e::615 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=mDJE8IvLDo4S2j3qp8eO7FPwT5T2KqfFRE/KP1We8MU=; b=D1Xa9K3qkol8KvU0lFoWr2yjKy+OlCnmODw3EiBVW3u5PMJMSlz/kd4ZmI1S+Z4eRS IorRhLQYMrUDYP9uwMClXepXEimKxWT3MMldNzBV3P9258btdFLB7ojCNkeY+Xs3tVwI +9kN6MbvnnqSutKyIWM3PlPzb+XVQ0WifLtFpVuj+FVZPKrUp3E8jADQWtRy9euKpu/H UYDALGY5AveivnqI3qdhOsO/vmaoBj2X3EQqxpqEyiAXm+AQ1kE+iM2mpT+1j4PyhHAk P0Mim/jzmez01ltT7E7DUZ36vtzYJHV0Kd7PNvI9NBl9okLH0Rd86+NCnGpWim/kpziv 5Osw== 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=mDJE8IvLDo4S2j3qp8eO7FPwT5T2KqfFRE/KP1We8MU=; b=a8UFmHcD3rjsmSFHO8nQ1ghittwctlL0UTIDl8fV6CK/qSl9S4spOAGZqH6E6hBe4i MuPjKrm8jknIRdXnPTZaoAVPrdioxFyG2AjwO9luRWHx4rYylzlKn295DHPzkiJDh08u gxnThifkCd4aOLfzALfRVzpP5fST9UORefuVEfgq5mfGQXI7IxrImjfBAmFpW2goBeAK FOUf8EFD413Jp1nocdzJd47aSS9ad449DO6OatcWFXHfUGhc98um77foHDuOMFHcHBle /5/d17Br0FgqzJ1ecx6AC2b5cFW7LquP2DC16Z+3wThgjSS/dU+GbFKv1vudcrVrChHv uWug== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM5302uCzB5ejcu1cKHpEYeCjqI8rsovtS7vBlVvhZkWpEghnMw4JZ CmBZwG1Hx+NPKtSY+beYe2g= X-Google-Smtp-Source: ABdhPJwcWzmCe1SsrCrHmoVz6ZAO37toOlUXOWo5mLOPjcOJZBOm0sbxPdjwsGULc+sv73Y2KBoX7w== X-Received: by 2002:a05:6512:4006:b0:44a:7434:9829 with SMTP id br6-20020a056512400600b0044a74349829mr4271352lfb.661.1650005800014; Thu, 14 Apr 2022 23:56:40 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:3f16:b0:449:f5bf:6f6a with SMTP id y22-20020a0565123f1600b00449f5bf6f6als5947260lfa.2.gmail; Thu, 14 Apr 2022 23:56:38 -0700 (PDT) X-Received: by 2002:a05:6512:1096:b0:46b:fbfd:b7f3 with SMTP id j22-20020a056512109600b0046bfbfdb7f3mr4206652lfg.174.1650005798689; Thu, 14 Apr 2022 23:56:38 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1650005798; cv=pass; d=google.com; s=arc-20160816; b=Ex+Y2uyca1PVnRqhg89FRd4PdWTHhedyW+qI/8YiOWm9H09AoKOB7sGZoiI2TLfV3Y Co58MxVCaVeb4XoxUsL8g8hY7dEHR2C9eGK3vrvwbeXHgIfqpC3eO8pm9C3psIf3k+pf 3n7oEanjq+kEr3sRUEW2eBRScPBnNtk0vRISm+YY/xJDFWhJlaUoQR/GOtWhoPt6d4xD kUOzxRFawIBIIOLiC20gHXQWcNb8/muJ1iggKel9w0RfzJqdtmpkPEPamaJ+9EWuHnrw vE4as9sSMMx6kUch0Y+AU/4s7koNrrqHp3Q4l+V8r5P8fGH/GtXo7H8t7Rw5kGoVrAeN XjPw== 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=kd9zDnafGZ5UUSYn9POUQsPN6BZi8wLWJfFVULkdXIaQu4O9IDNt/Fy7bYpjS18FIb r4LD8aR6FXmOBmRqp7k6TyEsyT81O6Mo5eoygNLwfV1SQ1vRyiAEy2yFOJVACg0ZRBTD wKUya+hxWQGAHH34B/WUaKkQqlE3CBDWuygRPZ6bAc0v7AW9NIzvuVnecwjQfUxk9PGj 0UoRYCu6iFaqxvGPdyvCpWk8ko53zAMDnApFbNrwfmM3/Fna+po7vYS6ifornpv3qxfg w2yzxZJn+CyDxmuasZkeH+N+UtOvqbUnwtpyYyH3bHvlD2U7Dsf25NrEHKtbGO1OyGPA 6rnQ== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=q4yHpV5s; 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:fe0e::615 as permitted sender) smtp.mailfrom=adriaan.schmidt@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on0615.outbound.protection.outlook.com. [2a01:111:f400:fe0e::615]) by gmr-mx.google.com with ESMTPS id t6-20020a199106000000b0044ada592078si45686lfd.6.2022.04.14.23.56.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Apr 2022 23:56:38 -0700 (PDT) Received-SPF: pass (google.com: domain of adriaan.schmidt@siemens.com designates 2a01:111:f400:fe0e::615 as permitted sender) client-ip=2a01:111:f400:fe0e::615; ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oKwsJCTUr9st6UtH1lPs28pyyEv3/O8wSSFsHeKaW1KmgL1HYw0nXsqSO/GMJE9YzGQwSlyN0AJB+DMobixugLjS3m66Te7gdEzLsN1efcuWGlqvbetcD5eEU93g/k/N3nMAy+UdO56tevEAcPvIdNaOvoR3PftKOu0Rvplb5QU2mStgmY9HkBkZKgXMbmDxttq7RzaN5FII7bcCIeAuJ2HyjFnsEbEt1rldSLNVuo4f+5e9hxsMTrXnocCq1VSgdURefgabT4Aks083K4M8mkPTzrNC2II9gdVxwc7j4FHCYN2rsvoWZjV2QfCBepSlVgUjCXkqRUVJXYtYAVZ+LQ== 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=Hmsgc8lRClY0v3lw1NWnWlWM3lZOMxY5z4iz3G4yjQodLaAfNplSnM/g54k7ilY6Mt9oC+hanVq5AmyHhpFK0oQpSkOaXiS5LjBtBxCOywPZNn3yDJE+G7QAh6CXul/CYrkUNBNOjdZWkJqrYL+l/gcZYa/bTxuqh51Z9c7Pbl5OPItLnX4z5pLyqcV9/y4CBNBGwMywCGmXYNqZvo3/xAg8xxCfM2ueZeb0x+sIIQ16SepB/iEAsufCOu9eirGDlS7cx4P166IqSnXVZuKtp5eJ3R3K+eCb6NZjTYt9URnM26el0CKJfNjjdP5uVEPmIvBmThLJ1flQJAmwer/ioA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 194.138.21.71) 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 DB9PR02CA0024.eurprd02.prod.outlook.com (2603:10a6:10:1d9::29) by AS8PR10MB4693.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:33a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.20; Fri, 15 Apr 2022 06:56:36 +0000 Received: from DB5EUR01FT061.eop-EUR01.prod.protection.outlook.com (2603:10a6:10:1d9:cafe::63) by DB9PR02CA0024.outlook.office365.com (2603:10a6:10:1d9::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.20 via Frontend Transport; Fri, 15 Apr 2022 06:56:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 194.138.21.71) 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.71 as permitted sender) receiver=protection.outlook.com; client-ip=194.138.21.71; helo=hybrid.siemens.com; Received: from hybrid.siemens.com (194.138.21.71) by DB5EUR01FT061.mail.protection.outlook.com (10.152.5.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5164.19 via Frontend Transport; Fri, 15 Apr 2022 06:56:36 +0000 Received: from DEMCHDC89XA.ad011.siemens.net (139.25.226.103) by DEMCHDC9SKA.ad011.siemens.net (194.138.21.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Fri, 15 Apr 2022 08:56:36 +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; Fri, 15 Apr 2022 08:56:35 +0200 From: Adriaan Schmidt To: CC: Adriaan Schmidt Subject: [PATCH v3 2/7] image: refactor SDK Date: Fri, 15 Apr 2022 08:56:12 +0200 Message-ID: <20220415065617.1910954-3-adriaan.schmidt@siemens.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220415065617.1910954-1-adriaan.schmidt@siemens.com> References: <20220415065617.1910954-1-adriaan.schmidt@siemens.com> MIME-Version: 1.0 X-Originating-IP: [139.25.68.25] X-ClientProxiedBy: DEMCHDC89XA.ad011.siemens.net (139.25.226.103) 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: 4U5WdtFP0Q6T5dDfN8TpsRjGdv/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+g7BOj1lchJLJ4CIKY/Hg3AGdQnQS TrKGPEQdG7H66TyH4gKq42LRYkKOlHURqRoGDjrdVM8yPd3C/XctpwDOP3XM2pCQlY4zt+3Bndf XUhXQ== 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: E637F116E13A7228566FBC124A29A813D28A58F1FE29E1799EC7D918C5FA9B162000:8 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dd500cbb-6e9d-47fb-d1fd-08da1ead1593 X-MS-TrafficTypeDiagnostic: AS8PR10MB4693: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: rxYjbH+k1bBQsNAqdSLWvKFXmEkBLLykQd9XfClZuy0ulPNjT8uKIGAhmtiX5PyMysNaTEhuCDUfkybARyJ5bpZ2r5hipzTJNBDfBa++zfosg+2PFmSHWp0EijvcjqDnCCJRb2RQrSdbnN9wnXqPxPbOIf7Lm7qwLYr891/0090UTHJ5KWS5nInieLKRVdKJBehiVysxI5ywUmWl2YJaTU5i9U4uZxWtapHIKqA0NXFFLGf4c3+9oIpdczxwoTAHy5mwsWoPNqcVK3rsJZ3aahXG10uptX2woBz+v7LuMrtBo++7diRkAYFG1fC3kGTHGQR6FJnHZ3MywYtSBl8XMUZlko9kL9KM51OEtbMvczNEYRnHzIZNI8aSBrutSgMzzeqO90uvJeoDqp5y9abTTiwVwszJ/z7T9CkWIj7acwXMsvnRc8MYZRwYc1cZRNJ/zZIxsQFm2yw1GwvUJgFYHEwKaNeu9Xh+wmUOgxyXYfe88cqFxZVQrhs+DsHZGGjvLSTnEQ0Vo/OqmEMnYeCFiZV4WSh7SR8r9xHGUfA/+FdQo1A/AkLUtvXt2dFh7wHFdfvCe+i9fSiwd6HK6SI3FsfA89VGWmgnzrcRw9zBSz5RZB7clYvZUw0Kirwoqb9XyZTzW9khdK7La0VcyQjM/ciGh2FLEz7xnfSQ0nQuPMHIOAsM+lmr208XxOzA+nAqTcIe5u5uj2DNlhNhgtlARg== X-Forefront-Antispam-Report: CIP:194.138.21.71; CTRY:DE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:hybrid.siemens.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230001)(4636009)(40470700004)(46966006)(36840700001)(81166007)(5660300002)(6666004)(2906002)(82310400005)(356005)(82960400001)(36860700001)(8936002)(8676002)(6916009)(4326008)(70206006)(70586007)(498600001)(336012)(2616005)(44832011)(47076005)(40460700003)(956004)(107886003)(26005)(186003)(16526019)(36756003)(1076003)(30864003)(83380400001)(86362001)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2022 06:56:36.5827 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dd500cbb-6e9d-47fb-d1fd-08da1ead1593 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.71]; Helo=[hybrid.siemens.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR01FT061.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR10MB4693 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=q4yHpV5s; 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:fe0e::615 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.9 required=5.0 tests=DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,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}" -}