From patchwork Wed Apr 27 22:06:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Schmidt, Adriaan" X-Patchwork-Id: 1722 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3) with LMTPA; Thu, 28 Apr 2022 08:06:46 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f55.google.com (mail-wm1-f55.google.com [209.85.128.55]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPS id 23S66i5T005801 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 28 Apr 2022 08:06:45 +0200 Received: by mail-wm1-f55.google.com with SMTP id l33-20020a05600c1d2100b00394059572d6sf1063426wms.8 for ; Wed, 27 Apr 2022 23:06:44 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1651125999; cv=pass; d=google.com; s=arc-20160816; b=sqal6j2SpyughDo+hVQQkVQiO/bEOICDXYid4vzJF3vKhnx5cy6jsOEz1VgoaqxgM0 dFuTST1HnYDgJN3SGrkrRLbxv1ha0oHc/VXDvqiSdnmEsqWJJN+zNoD/HDbQq9+aXTwE 6PadgX2s4NarDZd2+BcFEpkQQ6+Y1QZBnoWp3qUV4xVVbHo5o0K70jl8HhrOk1VcALZn F93Gxn13pwVA48uUVhb65UnEkJCc0FU0opfMUcxtV10MfGJDEyqnFMgzeAsMJH15x5EK mRxIN1lqaBr++s3z97/6SNmaInrZ12vDtF3ti0+f4W4KuOfi/oJODBzXfjkGNI2skyQP ccTg== 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=djh+yl9TRT1Lat7vpCsBt0s2i0ZR3b6VSuM6SzI8sbg=; b=avN48J/aqSOCADuymsbY/dJ6livD6Es/kD33EgXvOUVEtWDtfTmUVazpO2ZJ9JVK/n xBdMJb2wmat14G8LEIeiQR27fWQFUlym1pPjt9CinmRtSORks3T6B2AReOEfUvwCl6ji aJ/x+cwsuIfF3Ox+6UVJOgzhEUt8WXv4P8qTOvXCE6JmUHzhZbhYiHwv5ARtj04xbjYi TTT5qZQF2YIzLgyI6wa0On0B5FASifGM6SVlKza4kOVzCjCwjCTJGc4EhRJLXvXvpXg8 9mo3gt0hEQnMkGZmiah5Inja83RlZfC31YkB2Eu7PgFEVynCEFRegwCfBPpL95891FIv 2vlg== ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=jFgO7vbn; 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:fe0c::627 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=djh+yl9TRT1Lat7vpCsBt0s2i0ZR3b6VSuM6SzI8sbg=; b=L8vl6nJVNOm8x5y0yy1XBTzjYK+1pQvMxp1mcz7NfJRtFanLE0Q45VDYt8VARlqndo 23/ZHC/6gA8ZAH0GBoFZDy6qqxr4CfKWkdGmHlGXlhtvJ0qSl0aiChLTG/FTTidya4Aw JWxxQhvTyhtFG1jITNjcmmkyQHNZc8ZmQuKcyq63Gt152E4rYPi09L7QsnUF1tYtkzhW 0fcwY/c7BDOSgqE7XMgy2AfoZD60B7HdoirSHsK47mq8aMWoljkCmlO6zwKoypJlIDjL IB5cTMg6vOV2uu0nYhtrs7NPSg/LaNRqnT4WLP4Onb06hogdRNGw4L3qGhvjirpxG2A1 yuYQ== 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=djh+yl9TRT1Lat7vpCsBt0s2i0ZR3b6VSuM6SzI8sbg=; b=e4SAVBbARae8pYTkq0kSpD0GTuJIOtzMm3xS3r6MGqADNRbbSU41T7iTk87qtJBr4+ wJnECoce1memPg+B4kVcAvCd+o9Ud/pdp8pFLLeGTW70drgoGvyQfmlEkX3i2KuEWwr/ XZWC9AzAznOZcYmrhzBLbXlaZ0/2YdjIZ0Io2P8Y2qwklMN5J21xwjKtVa2acD3WPXCq gAgiikbKwOGK2o3sUZ9cmDkIriF1X84QeXndQUCvLZwTaNx1CCLb8DTN2N1Xp5gYyTpS wnw/8YjiMpdOoIFlzjeP5cat7hKQnLr4b3IFnxEKkQWtGIgvgvV2ZC8KG5Gtx5IJ2dVN ctUg== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM530EjDSQEyhNK9XbWeyob639TV4U3rDC/cY81/ggRlvZUW+LT+TA HnSKUKHyZLM7N7iUKtn7zfA= X-Google-Smtp-Source: ABdhPJz27C574+Gk3lqzst8W1RQz4FLhfS26teFV6zr97uG5djKFG5iVHFMa79eKlxaLfTDLvsSdbg== X-Received: by 2002:a5d:5983:0:b0:20a:8801:597b with SMTP id n3-20020a5d5983000000b0020a8801597bmr25321425wri.287.1651125999486; Wed, 27 Apr 2022 23:06:39 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:2747:0:b0:381:80e8:be59 with SMTP id n68-20020a1c2747000000b0038180e8be59ls2023101wmn.1.gmail; Wed, 27 Apr 2022 23:06:38 -0700 (PDT) X-Received: by 2002:a05:600c:4e4a:b0:392:88e1:74a7 with SMTP id e10-20020a05600c4e4a00b0039288e174a7mr38680679wmq.174.1651125998599; Wed, 27 Apr 2022 23:06:38 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1651125998; cv=pass; d=google.com; s=arc-20160816; b=mBjq4wdVVvbK5CGwbcekPunAF98HfqlEJJ9ctA0+8CJh5t/P+WxzqiyMkJrHoW7lG1 7kBJ8QaJbwZ0mtHQL3EydYHBPln3gKZi8vqQAxXnvRrd7rB/rEWq03iVpIMJZf42RKpj WzFMvmECg2XWERVfJcFGXt9y152ajbkkda7oHj8axa7PYhj803lYixIUVGUlk9ZO4OP8 4ibPIimeRomRqjNNyjrfFyjwy3wwgfcxvoFzVM+1CCHlBBCgyv/YW7RDjc3wYc4H7mM0 xoe/+q0z+evvzdJTyT3ntZ1V9qZOupiYmikjQ6aeHnGU847X+1E+x7v3o9SR28Q0H6dH je5w== 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=pqOqQsoDU4tc8SVRZMQZ5oEg+zuyt66nBiByvLQofx61zmIkpxaDj5sBio9NbxEbJP AKynfvcbtHFFNe7eJe7Cv4BR2WbLQBu0nEhsBhlKkQ5/sHgFJsxBnHpQri+S9iL6wstC 5T5vPkCP9m/n+pQYA7PjPQBjqFeMKA+xC6nvcbmrpJvko4Kp3unU2Yy5TcCI6MKTvn2G CAPsidcQAm2M8hPeBTxWZ14CGDq+GnNlSIqhqEQ9vdWfy7H6sUmtbtOqoLdZ4IvwpXAz iYjTy+0+evZ8PVJ7yuh+p4sKedjhrN+gcdi1JmLZ7zKbNJJ/Jbrc55XbxLsRtxccPcQm bdRg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=jFgO7vbn; 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:fe0c::627 as permitted sender) smtp.mailfrom=adriaan.schmidt@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on0627.outbound.protection.outlook.com. [2a01:111:f400:fe0c::627]) by gmr-mx.google.com with ESMTPS id r1-20020a05600c35c100b0038c8b999fa4si283209wmq.1.2022.04.27.23.06.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 Apr 2022 23:06:38 -0700 (PDT) Received-SPF: pass (google.com: domain of adriaan.schmidt@siemens.com designates 2a01:111:f400:fe0c::627 as permitted sender) client-ip=2a01:111:f400:fe0c::627; ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ae3oTuxV6S+YgydeCnquv2WIlmpmrsUksDbMl9wNA2ip2oFvULiJsI6zm7s/wH4hGgefmrT3VXkOHV7IifYXw+AL1qis94OIEIfVm8QpGcF1Vwm0dL4l/K+pnBbO5JUwnjtjOMF+FEcb43hOY9D/of4H+6CfXH1fec6KVgSXSvpyEvZtCa97VveiWL28lZcRpiFDqLjKPFLCi6CahZ5TsXWudasAt9uR9EVQv8Lz+zWV8CpCf2FXoIOLqCAjPP+O1yYwlbBXwmtLPH9h7mh7uecpFNoi8g77jhDgJD3s+Fua9yW3UDEfRbB0fLSqBh0U84qy12vfT24NcBuG/4B3xQ== 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=gPB5CIXj1TTzXUFwX2yw5UXHKWSAwsVNOcFCP9kIMjj3Uee5HVQ1v15Bvo2K04J9F8c68ZSzYmWBfE3u1YhJ62huLMOBC+AhuvAmnFPDDUs6PO3P8K6prH+Xkp6lqv8AU1T3i+8OxVjfZALr4qLt9LkPWgU0ZVBHuOGhIcGMW14eP73rK5lFpO2bqvF/sTfPeD6xljGtsgSFEd5NRJzFOM3mVD86LdOD1YmFH779YD10mUJr3IrTE5yeidj0udYi5jvAxzi2XO+zgnN09/BK9ss7mZ76tmJ+1LsW33X1lGAukTc4SfS+l6bn8SZsWnETbPo5czeK2mwFquVgdeFtbg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 194.138.21.70) 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 SV0P279CA0063.NORP279.PROD.OUTLOOK.COM (2603:10a6:f10:14::14) by AM6PR10MB2566.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:a9::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.14; Thu, 28 Apr 2022 06:06:37 +0000 Received: from HE1EUR01FT069.eop-EUR01.prod.protection.outlook.com (2603:10a6:f10:14:cafe::27) by SV0P279CA0063.outlook.office365.com (2603:10a6:f10:14::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.13 via Frontend Transport; Thu, 28 Apr 2022 06:06:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 194.138.21.70) 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.70 as permitted sender) receiver=protection.outlook.com; client-ip=194.138.21.70; helo=hybrid.siemens.com; Received: from hybrid.siemens.com (194.138.21.70) by HE1EUR01FT069.mail.protection.outlook.com (10.152.1.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5206.12 via Frontend Transport; Thu, 28 Apr 2022 06:06:36 +0000 Received: from DEMCHDC89XA.ad011.siemens.net (139.25.226.103) by DEMCHDC9SJA.ad011.siemens.net (194.138.21.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Thu, 28 Apr 2022 08:06:34 +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; Thu, 28 Apr 2022 08:06:34 +0200 From: Adriaan Schmidt To: CC: Adriaan Schmidt Subject: [PATCH v4 2/8] image: refactor SDK Date: Thu, 28 Apr 2022 08:06:09 +0200 Message-ID: <20220428060615.986332-3-adriaan.schmidt@siemens.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220428060615.986332-1-adriaan.schmidt@siemens.com> References: <20220428060615.986332-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: C1A03137A9E14BD8FEE48D3A726127D95E0867E0ACBAE1EA407365895FE572712000:8 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: db39cabb-bb2b-4772-f306-08da28dd40ef X-MS-TrafficTypeDiagnostic: AM6PR10MB2566: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: 6W9BH8EH8mRCqNw90BuAfJMX0daUY7ZLWiu1YW8zOIAFASwZO5wSc12fAAKrI2imwEb+6EGjDoCTRtJpiafJbDx/Vj9UXrt2725VMIZP7JidMjl2vHi/fmEPL144QapvOlNxrwgLrGQ2iAh/9a2N4TM5zYVIRvkN4M3l2aVyJW93ROHYM6nNWkmcjfTfDs/kv+lwp8KVPBerMMTlUmUpMC6AG8ilzqputjoMKDvz7uZp2uZceWyiZBmYrrQNSF+AoD5PGUqzI1VWP9DalJGG6zKYPFnym1MwFE09Fr7pHhy84ZhfSeS0ocrp0BlF1KkOvVYdYHd/wi6GTiyMtjU1O0OBCNYLfqu2UQXugn8mu0IhWSVKpUfSqCwIfg1S2BgsZUfiE3JSyL7Z7Y8ceyrBsC0XHPE50RnN72WitAA2pMfFvQyvfJ9/aQZvOYa6AfIMPasbjxTuT/06trX6FCLJuSYM6LufOXLY6gzGwFltDXFOfTB//MA79Thhqlm2nNU2BK05oJ2a+tsmFNJvEO5QKmUBBHpJnDN4N/hDSV2O6m4zNRIawUnNVh+cY3FKwFgrJCOIrnGSP2hZElCZrZBXKXRpDQFcYxCRQZgddD2LOX1Vsy/e0//C4JagGde8o0HvutxxwLAwSUMlkZ3c3LjDn6jhxjjFbiz8e7CJ/J48ZSk0rf1CLIZBkWkTJ4KB/aQn X-Forefront-Antispam-Report: CIP:194.138.21.70; CTRY:DE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:hybrid.siemens.com; PTR:hybrid.siemens.com; CAT:NONE; SFS:(13230001)(4636009)(36840700001)(40470700004)(46966006)(186003)(30864003)(7596003)(44832011)(26005)(82310400005)(8676002)(47076005)(336012)(70586007)(1076003)(4326008)(316002)(6916009)(36756003)(8936002)(36860700001)(40460700003)(16526019)(7636003)(70206006)(508600001)(107886003)(83380400001)(6666004)(956004)(2616005)(82960400001)(356005)(86362001)(2906002)(5660300002); DIR:OUT; SFP:1101; X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Apr 2022 06:06:36.7447 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: db39cabb-bb2b-4772-f306-08da28dd40ef 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.70]; Helo=[hybrid.siemens.com] X-MS-Exchange-CrossTenant-AuthSource: HE1EUR01FT069.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR10MB2566 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=jFgO7vbn; 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:fe0c::627 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}" -}