From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6925703954041929728 X-Received: by 2002:a7b:c1d7:: with SMTP id a23mr3192181wmj.149.1612524261558; Fri, 05 Feb 2021 03:24:21 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:fd09:: with SMTP id e9ls4016100wrr.0.gmail; Fri, 05 Feb 2021 03:24:20 -0800 (PST) X-Google-Smtp-Source: ABdhPJwUjeGMnVEnMZNsVgjVV4EcvyhTCsTsuD2cnbsF6wqVB+LGHcV2r/nDUyt4CrgtZT9tGtXs X-Received: by 2002:a5d:4528:: with SMTP id j8mr4590150wra.352.1612524260663; Fri, 05 Feb 2021 03:24:20 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1612524260; cv=pass; d=google.com; s=arc-20160816; b=CCJdQK0mDDuNQT9zBhxGdm1vOe8mzFZ9vpnNEsBT3quB2Rq9c4QiQVeLLkC/GZ5+9J vsWkTn1fytEtVmoSob5FYGmcdun3NCL1KnShpqirnb8nMgH8mjMHVqpMgRX1Nzigc9Mh JtRbnZknRpxA9sMmnAOCMjBi4oc6EtITpI1RA/z0kHw1x/pp2hTVmLoUCv8abVPOpmon pCyi3hmNkzHhcDakXpvSWq4BnT4JvC3XAka7nG+7F0MIrJFFup0Ljp/a1RHXR0yQ8aCw 4IbT9pXXdggAafeoia4jLH5WRRP4WGjNfze+Eilund9DPALzwoWQl2SKH/O1Od/AbijY qkGA== 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:to:subject :dkim-signature; bh=715WpJEzC9Kk489shQSJOEV1JA4VS7xEmRn8dxZ515M=; b=khySNc1Y84T8P7138/xDqb9eOUpLnvX6IhaVLLas63V7ZxOhkSCtKRYBiHYJUUhd/3 Qg6dhrefwvp/EG7LaDyNuYXciZ9upCSxAyKZzmO0NQebL9B+Y1NWEehTOBcby5GhlF/6 9cnjHzAGlFnZx26Psi8Qv8MKsg234ddrCAA4TK708i9dI7Fux7YvPdZw9CW3/G18iQCd ocQXZdpUhWmiMIl1q85nkQ6NHgZqKs+ZfDpIFKqOpLg7RvMUjiI8DCe7ZnDFBS90utoe pLz4uoyKQQfeRFnaW3QQ6W8V0PdDvSLrOV2lP45mwxo5qLrtUR95nJdcz6OoVONpLcRw fB7A== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.onmicrosoft.com header.s=selector1-siemens-onmicrosoft-com header.b="WO/Ty6TQ"; 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.15.58 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 EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150058.outbound.protection.outlook.com. [40.107.15.58]) by gmr-mx.google.com with ESMTPS id s74si353017wme.0.2021.02.05.03.24.20 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 05 Feb 2021 03:24:20 -0800 (PST) Received-SPF: pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 40.107.15.58 as permitted sender) client-ip=40.107.15.58; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.onmicrosoft.com header.s=selector1-siemens-onmicrosoft-com header.b="WO/Ty6TQ"; 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.15.58 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=TlV5xtudkqTG2b9/yngGhwLnafvm6tQxCJBT8/YvdZXCgO+PAns+Un4dngOIkWSKZn464LLyDcLbJ1N8v6L/v8nOc825GgKViPbn+r8S9nDsMIGJEWRhwGVN6cDIGH+ObFRgtIP15ptGVoSFFe/U9NYi0l+BN2oLe4J0B9hV0VVG7aLiy8T2Uoa1uY/WeDGyNImkaAYR237DrmsIIRmCs9bmt1E0sFaTSCpGm10NrcmKCRSLzNaC+pI5PCEjPrAWK/312Q8nUe90fcAmrrzXoDgbu9UuHm6+zKH2f6x0SwFQhkMus+Dxr4KgKmqR3mdp+DU0aSuGmCNimuy0XQVfrA== 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=715WpJEzC9Kk489shQSJOEV1JA4VS7xEmRn8dxZ515M=; b=EQyzfXAbADiv2Av9mSfXcw3JMzdrUF0Hdd87DG5BUd+aQkLuLVNVRrWSd/TZgi8u8SkC6WSZ2Ui0aBtQlmM26B7AmphIBPJaRPVFzau0rl+OLcsfs1w8ljhyeRSUWbVGcUzMbuGDLD9n05i0V+4/S+NwNk3+xlv0Q5BBeJF9gH+sQ10qfIGehPV+zNYlrIVEAr1vKWPymz64P8012P5obE5tXwgiXUAB+G5T/yKc3E/FIcPUL6cY2zjJM+0tZ0JxuApmjtGuFObeNOidLsv2gP/RVjHo+9PdzmbcGdAW9jN65oPZ7lOGYfZsqJ1rzxvKIl0l2O/hHix14LNEfBUTaA== 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=715WpJEzC9Kk489shQSJOEV1JA4VS7xEmRn8dxZ515M=; b=WO/Ty6TQzNo8YIRlDQpLUrbw8nZybcqkU5yg67q4WeAcZf7CnNgtN/0tPyCe05CfsFxv9T7Z2lKSqkA4RIXVBirmWhVUau5etik8VevXNuXU4t3pv2hoQTdIApinwfLrQUC+8kkjjyOzLC+2+LBeqHBs5x1R8vXqKJqWpRQr1jw= 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 AM0PR10MB3633.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:15b::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.20; Fri, 5 Feb 2021 11:24:19 +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; Fri, 5 Feb 2021 11:24:19 +0000 Subject: Re: [PATCH 1/2] sdk: support creation of container image To: Jan Kiszka , isar-users@googlegroups.com References: <20210205090827.17788-1-silvano.cirujano-cuesta@siemens.com> <20210205090827.17788-2-silvano.cirujano-cuesta@siemens.com> <1bf47211-0313-48a9-00d8-442e6f9942ae@siemens.com> From: Silvano Cirujano Cuesta Message-ID: <62b4993c-0a7d-f29d-9c65-978936fd8e7c@siemens.com> Date: Fri, 5 Feb 2021 12:24:14 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 In-Reply-To: <1bf47211-0313-48a9-00d8-442e6f9942ae@siemens.com> 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: AM0PR02CA0073.eurprd02.prod.outlook.com (2603:10a6:208:154::14) 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 AM0PR02CA0073.eurprd02.prod.outlook.com (2603:10a6:208:154::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Fri, 5 Feb 2021 11:24:19 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 2516faa7-c4d6-4dec-a51c-08d8c9c89447 X-MS-TrafficTypeDiagnostic: AM0PR10MB3633: 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:1850; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Gmt4G3+HLsEdmWa/Rnb0/EJF7dwJktuMUqS66hRAKSFfGXo5puC2azCb960di3xLPcOhGGvL/O572e9zMfEf9O22Um3eo2jRrpNpJr6giI5rfAVto6a5dQO3opoDI7ODhwHFX58lsUThSO82WO8o5knaJQKhkvjHu6pUIA2jUswxw83a+51PWo4IKfpZ/bmoNHk3Q7zxaweahBaKur1tAV7JyLpELSt5hB90nZl4ZdT84eAUlRxrpHArNNPXjj/ehsL0L7AASyzg5pGI2/Y08VQ9+SwCsR7G69cwfXGi3RSAW7yFgP1evHNR27nBAgOpt8L9ww8n0hlNlT9f8H7NwOTLNRu97V3nQ+ewuw8fXnrBHz2vjDnmKpvL9/zBqDTUGwtoR2aqk8ItpCQ6IGIdJQqzq+/7ZlJyB/McDKoTlyesgg1OFRHZRAKNurBrgBmXPJm1QqrFhFaB/n5xNj9GT23V6YjhYVoJch0fKRBEWeob9IsYZBEMEoOsd2ygmCiJN4YgT0X4hvFuUc3qNgmhHvmensCuNoqEVY8eG0UzKlWCFTqSNEjewoOBruYgfGLhJ9iAdAlP3RnUzxfe+cOfyVyQzH2E/xOdQOzeDMsJT2I= 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)(396003)(346002)(136003)(39860400002)(376002)(366004)(2616005)(2906002)(478600001)(66946007)(86362001)(66476007)(66556008)(8936002)(316002)(16526019)(6486002)(36756003)(186003)(6666004)(8676002)(5660300002)(31696002)(83380400001)(31686004)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?bFE1T01mWWE0V09UYUJibFg2N0RSbDA3UlZhNGYrbDJsOWRpNjZLVkhqWUpD?= =?utf-8?B?VUFtQ1E2d0M3cmlJMjNlUHNYZWlUWURvRndMQ1JWT2djTGJZMDJkWDU4aDVl?= =?utf-8?B?ajljWGJKWnYrQmVoV01sVkRVbU5iOWN5Vnd0T2diTm44ZkliZ013bEFHOCsv?= =?utf-8?B?QytDMVdzcDA5V1BuamdENktyZ3dzTTRYUkxxNlkzS3hXVWR1ZVVIL2EzcFhi?= =?utf-8?B?QW9GVmc5RHVmUDJ4YmkvUXVGS2xoQTh1RGlNN2d0T3IvaXBZSEdvOEV1MTg3?= =?utf-8?B?RS9sa3ZUOWRhM1NySXJ3Uk02c1h2UVJSVFMvekF1cFp3NDhXMk9scGN2dlN6?= =?utf-8?B?N3VPVFF2RlZTaU42K01IOHpQTi9Ed2dWOWVTcXFTYmZQczFDcHc5RHgxdXhX?= =?utf-8?B?MnhpNHhxQ20xUHRGMElLTTg3aFN1OERoVlBkb0xsSkVCSkl6TUtHM1dONXVG?= =?utf-8?B?R0dkTGMrUWk1Y1JsQXJ3ckFNTkdvMkRvM3hkN2IxdW5kQ2IydS9yK3ZjbU5u?= =?utf-8?B?UjE3MTdUbmcxSEhvdGlBS21sVzlzb2NGZ29qc2RsVy85Y0dFREJGMUFNeVJu?= =?utf-8?B?N2RiMGZPeEhTaFQzZ3E2UURQT0plVnJFSC81UmxlbmIreTltWnY5bHAvaitC?= =?utf-8?B?K1JaRFFRelNDUkpDbXNZRHI2N1R4Y0JWMFN5Y3lXbDI2K0VsNGFsa1ArcWJ4?= =?utf-8?B?Slk2S2lnaDJVNTgzOU5wVjlKZjBBaklXa3hRdGt1V0E1TkI2S1pXOHZzRnE4?= =?utf-8?B?QzJBZk9VNjl1WnBocXFTejdLcjJRVHp4cnZwSkJUQ1N5SUluVWx5UlpVN2dl?= =?utf-8?B?TDV2Q3NLS1IvempHaXNMQVpyVHh5a24xY1J3ZlBOZlErclczZ0ErYkYzdUNW?= =?utf-8?B?NmoxdWlTZUx4ako1R0NUdkNaQ1c1SG1oNmlJOC9YZ0p5ZUYyVWRnUW5KeG44?= =?utf-8?B?MXFGdWdWRHhRVlJPOC9QSXhvOTNLWlg3ZmFXd0FaRnFDc2VTVGxUOG8rYm5w?= =?utf-8?B?OWl2eUlZZUtESDA0VU5PSFBHd2NjMVRkbGZTaUVDSk5jMWpSMllrcnYzMHFi?= =?utf-8?B?OS9nN05qWnIrRXRRVGNCRmdxc1FYZkNsSEE3WEo4MytubWhyaHV3VE9WUG00?= =?utf-8?B?Skk2bVQ4Wm44NFcwbWRkYktHWUNOSGgwTXFxVVBvQ2NKV3dNakY4czZlNUZa?= =?utf-8?B?VUVWTmxhQTZnSjNNQllrMjdVTnJtZnZQTkk4ZWdLUklVRHk0ZEJZTFV3SUhI?= =?utf-8?B?MEpOSkpKRjdLczlwMFVJQVpQUGFRRXV3VUVwR3FKVmJHTEdaamkvSTUzeE9V?= =?utf-8?B?aXpOK052Vlowa3B6U2JyUzVlemZOR211S1FJREpsME14WVpTT2pZb2ZicElS?= =?utf-8?B?cjBSbGFDMTFGVlhzT01SOFlNWmFMU0pKVjE0UEc2N3lrMGpsRGZiSWxYaDBJ?= =?utf-8?B?UW0yUFl6bGdDdy9nVlRabk9IcVZjWDgzbDl6bHdDUW9IQjBudHZDbmlhN2FT?= =?utf-8?B?WU4rZmRpV2E1YkRPd0VBQm1qNVpFcW0xdUtML1doY2hZMFgwQ3Z4a2orVVFP?= =?utf-8?B?YWorS1JVSTA3aVovNnZtdDY3U1QyV1lTWU0weTlaMG5iVVU3UzI1SUo4czRv?= =?utf-8?B?UGNRMytjckpobnhaQnBFZDRCd2lNTkZNZnFnSXR0UFFPZlVydkhWQ0FNSGRa?= =?utf-8?B?SnQwZk96Zmp6akk2V05BaGpTMWM0Ym1saDdYbDNPNkxXL0pyNjN5ODdpY3Yv?= =?utf-8?B?SjkyYk9EQ0lUdWdtZ3IxTUJUQ2J4RmpzMEpnb1lVdUErczYvNTRiMnVpTVRG?= =?utf-8?B?Y0VHNHdrVVVGZnhaZzlhcHJYMzgxbndlV2h6MTdhSFJ2WjZGenhaYklscXdX?= =?utf-8?Q?1jvDypslPSpjn?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2516faa7-c4d6-4dec-a51c-08d8c9c89447 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB2708.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 11:24:19.7047 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: yrJompoyCxp5ld7uCDtu506krXednp4qo5Pf0JlxOXMWgyx9VeepTIONN/4WpBC1xHNTv2UKDTV5rKsR1O68Jyf46VDDvyKJs6Ig3v4bM/IN5wnFDMr5ZQnBE8kFjk7m X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3633 X-TUID: lU0wD9R/OYjV On 05/02/2021 12:07, Jan Kiszka wrote: > On 05.02.21 10:08, [ext] Silvano Cirujano Cuesta wrote: >> 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 | 104 +++++++++++++++++++++-- >> 1 file changed, 97 insertions(+), 7 deletions(-) >> >> diff --git a/meta/classes/image-sdk-extension.bbclass b/meta/classes/image-sdk-extension.bbclass >> index a8c708a..082b16d 100644 >> --- a/meta/classes/image-sdk-extension.bbclass >> +++ b/meta/classes/image-sdk-extension.bbclass >> @@ -6,10 +6,81 @@ >> # 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 >> + bbnote "SDK rootfs available in ${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}" >> + bbnote "Containerized SDK available in ${image_archive}.xz" >> + ;; >> + "oci") >> + tar --create --xz --directory "${oci_img_dir}" \ >> + --file "${image_archive}.xz" . >> + bbnote "Containerized SDK available in ${image_archive}.xz" >> + ;; >> + "docker-daemon" | "containers-storage") >> + skopeo --insecure-policy copy \ >> + "oci:${oci_img_dir}:${full_tag}" \ >> + "${sdk_format}:${image_name}:latest" >> + bbnote "Containerized SDK available in ${sdk_format} as '${image_name}:latest'" >> + ;; >> + esac >> + done >> +} >> >> 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_FORMATS" >> do_populate_sdk() { >> if [ "${SDK_INCLUDE_ISAR_APT}" = "1" ]; then >> # Copy isar-apt with deployed Isar packages >> @@ -48,12 +119,31 @@ 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_FORMATS} ; do >> + case ${sdk_format} in >> + "tar-xz") >> + sdk_tar_xz >> + ;; >> + "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 >> + bbnote "Generating SDK container in${container_formats} format" >> + sdk_container_images "${container_formats}" >> + fi >> } >> addtask populate_sdk after do_rootfs >> > How much of this would be reusable of generating a container from a > target rootfs? We should avoid shuffling code around if we can already > line things up nicely while introducing it. With that reuse in mind I can refactor the code to have a class that can be reused for both SDK and target rootfs. It's not a big deal. Is it somehow related to the huge "some image classes" thread that is active right now?  Silvano > > Jan > -- Siemens AG, T RDA IOT SES-DE Corporate Competence Center Embedded Linux