From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6916819859940573184 X-Received: by 2002:a1c:6287:: with SMTP id w129mr3174996wmb.71.1610452221960; Tue, 12 Jan 2021 03:50:21 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:9916:: with SMTP id b22ls1143760wme.2.canary-gmail; Tue, 12 Jan 2021 03:50:21 -0800 (PST) X-Google-Smtp-Source: ABdhPJztPFOCPNAZOLBsAs1d8fY3SS5HIColxEIXekGBH6LaKGxcNN5ZQSbG64srQHQfIeEM1kZp X-Received: by 2002:a7b:c19a:: with SMTP id y26mr3139282wmi.20.1610452221071; Tue, 12 Jan 2021 03:50:21 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1610452221; cv=pass; d=google.com; s=arc-20160816; b=lpjizi6gojp2nFeeIY6vrV9WlNbG8OcDL+PbZWUis6G7ehzSzQKkYX7ul4htgjw2E4 +yufG4a1g2c9JdvM1fKwMck+FPBYT8pOfZ0GXvcNddAKYo10g/rV8jHuCGXz9dJvEbwS T0ndKhF8o0pYgzseJ/A3b2zdYrpVGr5pKU3qVUrTyt0l2jWhWmx2Mue17KmyREs61SqJ D4HCHpRdj1+EGVB7+OW3d/iDafZPXjOvxEj33rGLeBrX6Tbg5fWVIkcAtQIKO9WKeS3Z CWtanQ91qScfHpxQ0ty7pCiR6pnp33TDJBoKRvsZ8ZqlP6Lb7y8sl/7WtIl25I//3YHt PhbA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-language:content-transfer-encoding:in-reply-to :user-agent:date:message-id:from:references:cc:to:subject :dkim-signature; bh=TpCaoR3+3z6Y0DLBRxbuHYVJpw8cWok22pvSsdReVnc=; b=PXPmIBrcPgQyscEWaezKMR/GGXRAmNSO7WG0naQoQWhxrnf0vY1Nw8zYxjcCZ9rddd CNNa80eg3jnygXCbp0Qnnm0R+FfAbPpiIzAaPrjDxmZrL1nBPoQrjOuTVw3YO0/UTSP8 JDxybCvV7BQKxPzyx0CR0lunOq2ueBQGNkC5JsYhxHDM24Nb71F6EwU4VEH9cM26/o4Z HHdJPymNEjTsjbyx8zuoOBs9Ac0GxrN8v9x76QfzrAU5FpX9KHTLTZU21ph/liOVtbrI rVpYM8ZIKMngweKuz/qzdY1HefszJQ2Bi7x5GPgaIg2rzAYwdhmXiUHVib6h888V84tx Fo+w== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.onmicrosoft.com header.s=selector1-siemens-onmicrosoft-com header.b="cJRG/WPB"; 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 silvano.cirujano-cuesta@siemens.com designates 40.107.8.72 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80072.outbound.protection.outlook.com. [40.107.8.72]) by gmr-mx.google.com with ESMTPS id z188si146042wmc.1.2021.01.12.03.50.20 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Jan 2021 03:50:21 -0800 (PST) Received-SPF: pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 40.107.8.72 as permitted sender) client-ip=40.107.8.72; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.onmicrosoft.com header.s=selector1-siemens-onmicrosoft-com header.b="cJRG/WPB"; 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 silvano.cirujano-cuesta@siemens.com designates 40.107.8.72 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eWRwEGXhrH9gwy/QKk7bphH60+UwO2we73T1Kvc9R8LebYyL8kkG+i2ayhjTWN0TION7DgATMAjzRU6NVG3Dhu+rAkK5XZGKmwWVW3IhnH+NcEGOGYYq4Xm2BEVrQpZGQHBhQ+PDMp6MZQr2KmzDIXeVW8jWswsAcv9yc8zzbIoCnM9D7LBXbUSuV9P8ZLrdxWV2xx9WsTjrQhGxxmSSv9EfkA62w1X1uFu8wYTax0DPl4N3ZnWlQln3U9OaZ3f1wO4PjB62Wzc9LEUhnmsk+Mft+qcEEMGcb4Rwj3r4NCOXv1nM1BF0LLFf5TauUDEhAnraywVfs7qAaqD3d+krlg== 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-SenderADCheck; bh=TpCaoR3+3z6Y0DLBRxbuHYVJpw8cWok22pvSsdReVnc=; b=nUDTFNEyvdi1XN7nWo+yynp+Fn0TO4fus0ERfnEXtpDQKkVTz+mNC0UBOAVp2Wzyd2nQPqVDo/XptOSCEFH/KSy0DndAbCKNSEUeSMwOOpkApFXg8LRGF5NXZgqvwCkoNfs/emmneZnYUkns5F53UlJUlDgFN6B4bm6U44JU57zXCjBp6STLqhTvXODr3bd04b0ZXPM8CGDIEDBSXmi1WSRndjRVl2cjblvvpEu/1RSCflDWJ1bftDtqQWvSi351Zv/F5XLt7YhC/85eeD2BX1iRhhbXLB6L/JYGRcDS1qvlyU1j6Z0Vlfbtly4WVFvRf+WQ5fMFi5H+iVjG04BTLw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.onmicrosoft.com; s=selector1-siemens-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TpCaoR3+3z6Y0DLBRxbuHYVJpw8cWok22pvSsdReVnc=; b=cJRG/WPBQk8zfmiZam2ynUBIC1b75URT2QZx7z9wd+bPn+Y0uf3cq9OOm/rRXqRiotBFOy7sbVahMHtOuRyVCcX3zb6dBaPC16YvXb41DIyqXKssXzjn1rQILmBQitaT7T4CE0zr6l+IR9rqfwuGUEgptQRz7pI7bVEe2fDZzVE= Authentication-Results: googlegroups.com; dkim=none (message not signed) header.d=none;googlegroups.com; dmarc=none action=none header.from=siemens.com; Received: from AM0PR10MB2708.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:12a::30) by AM9PR10MB4563.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:26d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Tue, 12 Jan 2021 11:50:20 +0000 Received: from AM0PR10MB2708.EURPRD10.PROD.OUTLOOK.COM ([fe80::c035:62d1:fd79:1bc8]) by AM0PR10MB2708.EURPRD10.PROD.OUTLOOK.COM ([fe80::c035:62d1:fd79:1bc8%5]) with mapi id 15.20.3742.012; Tue, 12 Jan 2021 11:50:20 +0000 Subject: Re: [RFC PATCH 1/2] sdk: support creation of container image To: Henning Schild Cc: isar-users@googlegroups.com References: <20210112103338.14712-1-silvano.cirujano-cuesta@siemens.com> <20210112103338.14712-2-silvano.cirujano-cuesta@siemens.com> <20210112123650.6ef81c19@md1za8fc.ad001.siemens.net> From: Silvano Cirujano Cuesta Message-ID: <159e6052-d297-74ee-a5a2-0b5e52262cb3@siemens.com> Date: Tue, 12 Jan 2021 12:50:10 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 In-Reply-To: <20210112123650.6ef81c19@md1za8fc.ad001.siemens.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US X-Originating-IP: [2001:a61:3ba9:3102:e458:f9ae:a68a:ac3d] X-ClientProxiedBy: AM0PR02CA0171.eurprd02.prod.outlook.com (2603:10a6:20b:28e::8) To AM0PR10MB2708.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:12a::30) Return-Path: silvano.cirujano-cuesta@siemens.com MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2001:a61:3ba9:3102:e458:f9ae:a68a:ac3d] (2001:a61:3ba9:3102:e458:f9ae:a68a:ac3d) by AM0PR02CA0171.eurprd02.prod.outlook.com (2603:10a6:20b:28e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.9 via Frontend Transport; Tue, 12 Jan 2021 11:50:19 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: fb5d9395-5103-4da4-eef1-08d8b6f03ccb X-MS-TrafficTypeDiagnostic: AM9PR10MB4563: X-LD-Processed: 38ae3bcd-9579-4fd4-adda-b42e1495d55a,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1751; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: N9wnnxKPlBZNdWIpwKcmY9/ZFWPZBmVWpZAifQ/zYMBkdjancrsV08hpbFNlb742s/pj30S0/FDz8PX8FQGOPWfBIt6Tb3d2rydRYvDKHnnIzYtPzbRg8j7AAa6/RahzbLEDrX2/aEb1U3Xy5oXoKth54yTzhEYtvM62APxi6mt/mEG0hRMASqPOZo2cc43SL11KZMRzuPgQARlY36CXHA3uf0mxBga6PBdPsysqnRg32dUdJphIl6gRt7BVciqvR/JaxZbp4KjmXlKdu4FDDCE0x6PLoLlX/qc8ISaHc2BZln7Vz3LJBl+PpvY9Dm5pJ+6HE5LBm3oWtbYTaS4LCWjkngHJUrIf9Salg9cvgKYXxssNUYgsLq8Rg+CVBQmDFHaEKGN/gTYsOqKUuKTQATYzHnax4nleCV22Ov9c1X+Itsc3jeUnrenG1am1tOBzGDtBWK1oFz0KIHv0dfIMUVATRIIdA9lqV1JHlcNWcZI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB2708.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(2906002)(66476007)(8676002)(31686004)(6486002)(36756003)(4326008)(83380400001)(66556008)(66946007)(6666004)(498600001)(6636002)(2616005)(5660300002)(186003)(53546011)(86362001)(16526019)(6862004)(31696002)(8936002)(37006003)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?QndBVldkbTkxckVlVmU5ZllabWRueXRINFppZVF4RHdFaSt1anBkWmU1d0Z1?= =?utf-8?B?ZEd2YjZ2N2ZhaENQMGpDOHM2cVRjdzJEOFBkQ1psNGJBVjNNRVpDbmsyaTZt?= =?utf-8?B?c0NKNUdHcXhJZ2g3QWVUWW8xUHlGWmtnVWxYSVluN2JCbWh1U0pxU0J0SDZC?= =?utf-8?B?SkpBS0srak1FNlZtYkJxNGxMUFRVekp3aVZkdzZobk1kUFN4YTF1TWJhcVQ4?= =?utf-8?B?Tk12VVh4U0R5eDhrTGtqeDBCUnF5UkFJeFg5cW9YWHV4VkdEYmlZWkdiNDFD?= =?utf-8?B?U0xLWkZOVG50R0I3eHBjdnIwZ1NqSWszNHpOUnBXVXNlZVdlbmp3ZlJibmlD?= =?utf-8?B?WHRINzRXTTU3clVaVEowNlJCSEx6bnVnWDRSMzZWYzlWZWVXYU0zUXMwY3dq?= =?utf-8?B?L0R0UWtGK0U1SU5OZVF3RS9yZk15NHJjc0ZMOXF5SFJndTFTZ202ZEZRa2p1?= =?utf-8?B?T2grQkNuUEhGZHlQSVl5d3REbWQyNmVFNXFzZG0zcDQ1endOU25ubENJRXVF?= =?utf-8?B?MjkyOStPdVI4YTlvSmxkNnVGV3A3QlhuWDBQZHlsTGVsZVRPOGVUbmFXWUFD?= =?utf-8?B?RWZzK1N0Z21HdDNiajFHWHlpaG1va2w2OWU5WnJESUR5K0NCWlpnQStGUHdX?= =?utf-8?B?ZHd3RlBwY0lBMG9UVFB0d09MKzFQT25DN2VFWWh4WFEzU0pITDU5WHlUckZ6?= =?utf-8?B?dWMxMmRJTHZPSGNPK3R4cDdkR2xBaTVWMlpQTm1zMGNOWVRkMUFxUXJPN3B3?= =?utf-8?B?Zkd4a0dsU0RVK2xGSk00TDBobG9Xd1cyZnZnamlaNENtSWxGRHVsSFlGZmt1?= =?utf-8?B?ZUR6YXNvUC9XVWd6d2NYbWJJYXg3TjJsZVJWQ2E5ZTk3dnhPaS9EUC9UYUNK?= =?utf-8?B?ZEpUemYwZDdwSWNta09udmg2a0pBNTAzN1lnQlJ0ZkJzZGkrK0xyTXdrVU9W?= =?utf-8?B?Sm1xNzhKa3BmZ1g4dExyMkg2amh0dHZiRjh3Yi9YVzU2Y0lQdC9jNGE5Qjlz?= =?utf-8?B?b0UvNm5PWTd2SDJIQ1N4TFZIMUpsQnRPalZRWG5HZnJ6Z0pkSVZPSVNnYy9v?= =?utf-8?B?QVNtdmNlNjdUY0pOcGxHSkxqV2hUOTVCdUFsR2xJMlR3aG5Md3ZmSlhSWVl6?= =?utf-8?B?RDgxV01JWjNOOXRuMFoyUm1nU0o3cmg1dU16RUJsRWxxeVRqbWRGWUYxbnYr?= =?utf-8?B?OHh4Y2Y1bFNrVXd4Zkc4SVVOMDkveVREZ1Bsc3IweE9IOE1WMnR3em40VE9N?= =?utf-8?B?cGJ1Ri9HN1dYS0hCWVppdjR6ZW45bHBjcDVQZXVKUFY4YUROR1R0M3RsRlY0?= =?utf-8?B?WlVFTDc1SGNnaytFM0RFRkp6dlVjdXQxc1ZueEhpQlJQWXlmODV0aDQ3Vngr?= =?utf-8?B?bnZsM3IvUnNZT0l3T0dqVXNyR3lKV1RDRUU5ZXV6d0pXSmkzcUtoZDZHd3Zr?= =?utf-8?Q?EFA8VoI3?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB2708.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2021 11:50:20.0779 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-Network-Message-Id: fb5d9395-5103-4da4-eef1-08d8b6f03ccb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /DVWRGDGJFFyR97Kv6mpQmPEHBoxhaipdtbGI6G7iU7ugm6rE1i+WFB20vMLIwxyHFUMvAfANqWKBvBdC8LnVuwJmjC9bJ9twT29q7ZPsoKd+rigcugqd04tdosS/gvn X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR10MB4563 X-TUID: IA78d2GeaXQ6 On 12/01/2021 12:36, Henning Schild wrote: > Am Tue, 12 Jan 2021 11:33:37 +0100 > schrieb "[ext] Silvano Cirujano Cuesta" > : > >> Extend task "populate_sdk" to support the creation of a container >> image containing the SDK. >> >> Signed-off-by: Silvano Cirujano Cuesta >> --- >> meta/classes/image-sdk-extension.bbclass | 99 >> ++++++++++++++++++++++-- 1 file changed, 92 insertions(+), 7 >> deletions(-) >> >> diff --git a/meta/classes/image-sdk-extension.bbclass >> b/meta/classes/image-sdk-extension.bbclass index a8c708a..9317256 >> 100644 --- a/meta/classes/image-sdk-extension.bbclass >> +++ b/meta/classes/image-sdk-extension.bbclass >> @@ -6,10 +6,77 @@ >> # This class extends the image.bbclass to supply the creation of a >> sdk >> SDK_INCLUDE_ISAR_APT ?= "0" >> +SDK_GENERATE_FORMATS = "${@d.getVar("SDK_FORMATS", "tar")}" > I do not understand why there are two variables, maybe one is enough. > And i think a ?= assignment would be a better choice here. Probably lack of ISAR expersite... I don't know why using SDK_FORMATS = "${@d.getVar("SDK_FORMATS", "tar")}" fails. I've also tried SDK_FORMATS ?= "tar" and failed. > >> +sdk_tar() { > I think this should be tar_xz or tar.xz Why not... Will change it. > >> + # 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 +} >> + >> +sdk_container_images() { >> + local cmd="/bin/dash" >> + local empty_tag="empty" >> + local full_tag="latest" >> + local oci_img_dir="${WORKDIR}/oci-image" >> + local sdk_container_formats="$1" >> + >> + # prepare OCI container image skeleton >> + sudo umoci init --layout "${oci_img_dir}" >> + sudo umoci new --image "${oci_img_dir}:${empty_tag}" >> + sudo umoci config --image "${oci_img_dir}:${empty_tag}" \ >> + --config.cmd="${cmd}" >> + sudo umoci unpack --image "${oci_img_dir}:${empty_tag}" \ >> + "${oci_img_dir}_unpacked" >> + >> + # add SDK root filesystem as the flesh of the skeleton >> + sudo cp -a "${SDKCHROOT_DIR}"/* "${oci_img_dir}_unpacked/rootfs/" >> + >> + # pack container image >> + sudo umoci repack --image "${oci_img_dir}:${full_tag}" \ >> + "${oci_img_dir}_unpacked" >> + sudo umoci remove --image "${oci_img_dir}:${empty_tag}" >> + sudo rm -rf "${oci_img_dir}_unpacked" >> + >> + # no root needed anymore >> + sudo chown --recursive $(id -u):$(id -g) "${oci_img_dir}" >> + >> + # convert the OCI container image to the desired format >> + sdk_id="sdk-${DISTRO}-${DISTRO_ARCH}" >> + image_name="isar-${sdk_id}" >> + image_archive="${DEPLOY_DIR_IMAGE}/${sdk_id}-${sdk_format}.tar" >> + for sdk_format in ${sdk_container_formats} ; do >> + case "${sdk_format}" in >> + "docker-archive" | "oci-archive") >> + if [ "${sdk_format}" = "oci-archive" ] ; then >> + target="${sdk_format}:${image_archive}:latest" >> + else >> + >> target="${sdk_format}:${image_archive}:${image_name}:latest" >> + fi >> + skopeo --insecure-policy copy \ >> + "oci:${oci_img_dir}:${full_tag}" "${target}" >> + xz -T0 "${image_archive}" >> + ;; >> + "oci") >> + tar --create --xz --directory "${oci_img_dir}" \ >> + --file "${image_archive}.xz" . >> + ;; > do we not already have tar_xz code we can maybe reuse? Do you mean the function "sdk_tar"? Not enough overlapping with the code in that function to make reuse meaningful. > >> + "docker-daemon" | "containers-storage") >> + skopeo --insecure-policy copy \ >> + "oci:${oci_img_dir}:${full_tag}" \ >> + "${sdk_format}:${image_name}:latest" >> + ;; > i really would not trust "skopeo" to generate valid docker images, the > container world is full of incompatible stuff and compat fake news Alternative? Docker-in-Docker? I would do that. Self-built? Not worth the effort, harder to keep compatibility. > >> + esac >> + done > This is using "umoci" and "skopeo", new runtime deps ... which might > only be available/working in pretty bleeding edge debian. Sorry, I forgot to mention it in the cover-letter. Bleeding edge? Nope: - Umoci is in Debian 10 (Buster, current stable). - Skopeo is in Debian 11 (Bullseye, upcoming stable), it can be easily backported. I've done it on a KAS container, and I'd contribute that addition to that project too.   Silvano > > Henning > >> +} >> >> do_populate_sdk[stamp-extra-info] = "${DISTRO}-${MACHINE}" >> do_populate_sdk[depends] = "sdkchroot:do_build" >> -do_populate_sdk[vardeps] += "SDK_INCLUDE_ISAR_APT" >> +do_populate_sdk[vardeps] += "SDK_INCLUDE_ISAR_APT >> SDK_GENERATE_FORMATS" do_populate_sdk() { >> if [ "${SDK_INCLUDE_ISAR_APT}" = "1" ]; then >> # Copy isar-apt with deployed Isar packages >> @@ -48,12 +115,30 @@ do_populate_sdk() { >> done >> done >> >> - # Copy mount_chroot.sh for convenience >> - sudo cp ${SCRIPTSDIR}/mount_chroot.sh ${SDKCHROOT_DIR} >> + # separate SDK formats: TAR and container formats >> + container_formats="" >> + for sdk_format in ${SDK_GENERATE_FORMATS} ; do >> + case ${sdk_format} in >> + tar) >> + sdk_tar >> + ;; >> + "docker-archive" | "oci" | "oci-archive") >> + container_formats="${container_formats} >> ${sdk_format}" >> + ;; >> + "docker-daemon" | "containers-storage") >> + if [ -f /.dockerenv ] || [ -f /run/.containerenv ] ; >> then >> + die "Adding the SDK container image to a >> container runtime (${sdk_format}) not supported if running from a >> container (e.g. 'kas-container')" >> + fi >> + ;; >> + *) >> + die "unsupported SDK format specified: ${sdk_format}" >> + ;; >> + esac >> + done >> >> - # 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 >> + # generate the SDK in all the desired container formats >> + if [ -n "${container_formats}" ] ; then >> + sdk_container_images "${container_formats}" >> + fi >> } >> addtask populate_sdk after do_rootfs -- Siemens AG, T RDA IOT Corporate Competence Center Embedded Linux