From patchwork Mon Nov 10 07:22:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kiszka X-Patchwork-Id: 4566 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 10 Nov 2025 08:22:56 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-ej1-f60.google.com (mail-ej1-f60.google.com [209.85.218.60]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5AA7MtCb015423 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 10 Nov 2025 08:22:55 +0100 Received: by mail-ej1-f60.google.com with SMTP id a640c23a62f3a-b6d42c454c2sf245114266b.0 for ; Sun, 09 Nov 2025 23:22:55 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1762759369; cv=pass; d=google.com; s=arc-20240605; b=L7/PN94bs9H7xf5Hf8dRJ0LYgFoYm5dFhqqzUudI1g8JnkhjDG5c7bIKxqU1j8X/Mt p45Jaw6VSfqM+ebZMscZDJfXuL6e5/j2ZpxokhhHNKuiIFbSWDI9Hx8eM0DdNufxnYqu Dl4Y6uHtLzt00YfItoj7boJAf3mgZq+zPXht+mIpGtn0uAW5HHK6GiDk9M6QaiVqAS36 KNBa+Um1/fxyftQro+Bcc3wtaysGdKUpDRxAOjRCFbCZSeaRA53Bo7oNFYebiL9PNbPk w84LxgWMkti3WOh1GK5GWIxhEXuUIEUCtshKBDVZL5zp5sUHrujAnZYWErI3K7pAqIfw viSw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=yIC/DqairCFv+zLS2xVDbDEPBykpIWcIP1D3GJ1E+RU=; fh=w3LCGcoMTFzgcyG+jtmV1rHr0u0iJB7McR+B/4iRD7A=; b=TBRCn5/aGFyxlyQLOzNGcoeV2kSmvBPEPJ4SXZdjnDlGULqF3zN+83qyytd/WOi7OE b8ZTml5loeUEHSlOQBE7XBaCzjTxFcz9q+XBBsehPykjiEl2MuopaN0D70dQbZeH8SSu 3psPWNNNcOjXG268iICCvHaKlNXsNYBb2Kr9niT532tY4antkUH96CYYON3qjc+cK4Jh RnrYNMSSYV5SAgALCvJ8rBYxAFBqbucJk3WFX+Bh3ZsBUx9pj062T3IWyII1UHTREO5M oU7jTN9qISHXK6VipjnHZrJsUWpY8sce4gx+nlOZLUAiA0a2ymttk6dVdjz204ZnHXKh UCMQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=eyl3Kf21; spf=pass (google.com: domain of fm-294854-202511100722455c20ead30400020731-hrio_i@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-294854-202511100722455c20ead30400020731-hriO_I@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1762759369; x=1763364169; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:to:from :from:to:cc:subject:date:message-id:reply-to; bh=yIC/DqairCFv+zLS2xVDbDEPBykpIWcIP1D3GJ1E+RU=; b=gxPU6wbEQs98fd8hrsYsK2lweOIHK+JzMW3pTkyuCbYZYoU9dB6/lmgeCyCXJPdV/c 9p/C4tnzl4jXdPAjT/en74t/TzLsWnwpEZMKgaOH+s1PmBRJhGzIwtHhZ8gyNp0aL2m7 P/6sTB8nu/IsnXyrNyX8t637GTvPPLeL5nrt3hymb2dRbR4ksZrqLlqpQcbHtyloSlrN nPOlXTiDmbGzWgZ2aFzJ5jRxRiXvcZXzLP1ip5SBSzeSXAypd9IimdOmSLN7QI0vl0VZ Y3hD8qW5S0bZlgriX7vqfs40HkMz4nHkIGh7K0ou7nXYwBMLOhWSvybsjWycAczZkwbq mXaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762759369; x=1763364169; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:to:from :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=yIC/DqairCFv+zLS2xVDbDEPBykpIWcIP1D3GJ1E+RU=; b=KAserJ9ypd3IF2T3xt0QIBLg/b+0epGM24AhS6HOb9Pkao8+D4swMpd2KFUAE5KXU9 BcKwSZmh9MEaC9zbtXb12gfQLogyh1MWXHGGWsd6/cEXt9krOpCFVCU44cqJuivyZnim v12P+7ZF6ZxoKLNmzWViG3kciylacA1N9XYLHnwH6IFTyly810SJoLzsHhhCStP43dJX XV9/35gwRznuMIdsb1CbVx+aS5nFeLT2Fe5uBlm2dZ1S0lTwTTB4B+iGaV6mH5gzazB1 GoLqmn8OkKE8E1etG8k+RevTkYMdGRL4nPtz/H1jKsdv9M7PFdn0d5UQYwOjtOa8XvFJ TiIQ== X-Forwarded-Encrypted: i=2; AJvYcCWI9vM81rf8AQiRLujcs5rVe8RBQQRj0u/tpIc99ZDe+0JSj53W82KBAEmyosqRXxTFBM5NI3M=@isar-build.org X-Gm-Message-State: AOJu0Yw31kVW14ILCJESZSbZN9iYXWEbxCfXL4M94qbs92zT/yL+EuYr XVLOGV5e/zy7FB1Z36PzSBOvYAc3KaRgWhCfKiXA3HsRnrA9IvgLpDyI X-Google-Smtp-Source: AGHT+IGzNOz5uwMdYQz14Ni3kvnWyHv6KDzGqyXpko+zaci/EqPqp1aF+JVKWIa6EAyhIVFxrEU+5g== X-Received: by 2002:a17:907:9812:b0:b50:a067:2d85 with SMTP id a640c23a62f3a-b72e03d2742mr665882566b.15.1762759368790; Sun, 09 Nov 2025 23:22:48 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+Y8ZUsmlmp/H4g+0Sh0APNIYQZ27qE1oHs4H/ENTD9Mkw==" Received: by 2002:a05:6402:6d9:b0:640:e7bc:d3c2 with SMTP id 4fb4d7f45d1cf-6411d6ab625ls726098a12.0.-pod-prod-04-eu; Sun, 09 Nov 2025 23:22:45 -0800 (PST) X-Received: by 2002:a17:907:e895:b0:b04:830f:822d with SMTP id a640c23a62f3a-b72e062553dmr689483866b.63.1762759365296; Sun, 09 Nov 2025 23:22:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1762759365; cv=none; d=google.com; s=arc-20240605; b=Ox8ZcflrQZ0dPhEzGSFr7YFa1dQ7ipXyFAj2hLGAHv/RYKOfsN+bMzB1q4Ru04gxAC Gsr08Z+DitAN8c9I2a7g8gMmHSFhgw5aDrPEgevX/AAXplaMLeDke4b5fqQqqQled6q0 CXanzzXrSF6o7bckaeweRPpXXUGI7zskqLQirCxVl/x5xwvHfscweOKjaOXK/yxhFaPe BUCSgLBIeUGef5+CtqOWDmUZLa3hCuxuNg/XhyD/Xh55ronJ3ElEQG8tj8b0gCdg5nnl j3UCuT4iPaLps8CEzeGsiIwLmotHEHD6riJ8um7aU70a56DhQkbDWa26/t71cTrK3Tin q+mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:to:from:dkim-signature; bh=psW/HWZl1wG8xxi1jSYOCR9HsdVo/WXtpHUX+wci2I4=; fh=hOBXq6nisExkIRIwN8IDOmOCLKwX8PM0ANlxQbNMEqA=; b=GpsQ+7dwu5lqgqjli1n6+D0lwVX6+tHn+vnJgzoesEi6TK4PTS9vYvYwuXqeTvFF5z S5W1hQknH1gvJqFWjMYwVoNQABv/8clMsXLs8aPB99+bdTE0fx0LXXaoH4ffWuAU+TUl HnlRYt3EPjDmTgRxdMjCRTvfhsvIMry34v5epurKSyPBJCDQXNQR9l4IDnAwJigAmdeO xJtO13j/EeTNVux284QYTgXytOWFXI1S0/HyjDV2h+lK1Er7axCijCPWdxf4QVx3dFwS 6DnyySdDK/YHyMit/CRePL8YR8UyZwQF8e9B5AoJB4wcFwwPPT0dXf1iXPbU1R+5mrD3 V4Tg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=eyl3Kf21; spf=pass (google.com: domain of fm-294854-202511100722455c20ead30400020731-hrio_i@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-294854-202511100722455c20ead30400020731-hriO_I@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net. [185.136.64.228]) by gmr-mx.google.com with ESMTPS id a640c23a62f3a-b72bc08d36bsi13227866b.0.2025.11.09.23.22.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 09 Nov 2025 23:22:45 -0800 (PST) Received-SPF: pass (google.com: domain of fm-294854-202511100722455c20ead30400020731-hrio_i@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) client-ip=185.136.64.228; Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 202511100722455c20ead30400020731 for ; Mon, 10 Nov 2025 08:22:45 +0100 X-Patchwork-Original-From: "'Jan Kiszka' via isar-users" From: Jan Kiszka To: isar-users Subject: [PATCH v2 25/27] container-loader: Migrate to bbclass'es Date: Mon, 10 Nov 2025 08:22:38 +0100 Message-ID: <7ae01b007194dbe521f197244d75fc043f86bd58.1762759360.git.jan.kiszka@siemens.com> In-Reply-To: References: MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-294854:519-21489:flowmailer X-Original-Sender: jan.kiszka@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=eyl3Kf21; spf=pass (google.com: domain of fm-294854-202511100722455c20ead30400020731-hrio_i@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-294854-202511100722455c20ead30400020731-hriO_I@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Jan Kiszka Reply-To: Jan Kiszka 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=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,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: =?utf-8?q?INBOX?= From: Jan Kiszka "inherit {docker,podman}-loader" is shorter and a more common pattern compared to OE/yocto. Keep the original .inc files as transitional helpers, issuing a warning when they are used with a migration suggestion. Signed-off-by: Jan Kiszka --- doc/user_manual.md | 12 +++++------- .../container-loader.bbclass} | 5 ++--- .../docker-loader.bbclass} | 4 ++-- .../podman-loader.bbclass} | 4 ++-- .../container-loader/docker-loader.inc | 13 ++++++++----- .../container-loader/podman-loader.inc | 13 ++++++++----- 6 files changed, 27 insertions(+), 24 deletions(-) rename meta/{recipes-support/container-loader/container-loader.inc => classes-recipe/container-loader.bbclass} (94%) copy meta/{recipes-support/container-loader/docker-loader.inc => classes-recipe/docker-loader.bbclass} (70%) copy meta/{recipes-support/container-loader/podman-loader.inc => classes-recipe/podman-loader.bbclass} (68%) diff --git a/doc/user_manual.md b/doc/user_manual.md index 3064c17b..26562dfa 100644 --- a/doc/user_manual.md +++ b/doc/user_manual.md @@ -1652,12 +1652,10 @@ image name, replacing all `/` with `.` and appending `:.zst`. Example: To create a Debian package which can carry container images and load them into local storage of docker or podman, there is a set of helpers available. To use -them in an own recipe, add -`require recipes-support/container-loader/docker-loader.inc` when using docker -and `require recipes-support/container-loader/podman-loader.inc` when using -podman. The loader will try to transfer the packaged image into the container -runtime storage on boot, but only if no container image of the same name and -tag is present already. +them in an own recipe, add `inherit docker-loader` when using docker and +`inherit podman-loader` when using podman. The loader will try to transfer the +packaged image into the container runtime storage on boot, but only if no +container image of the same name and tag is present already. Unless `CONTAINER_DELETE_AFTER_LOAD` is set to `1`, the source container images remain by default available and may be used again for loading the storage after @@ -1675,7 +1673,7 @@ runtime services are installed on the target as well. The packaged image will be deleted from the target device's rootfs after successful import. ``` -require recipes-support/container-loader/docker-loader.inc +inherit docker-loader CONTAINER_DELETE_AFTER_LOAD = "1" diff --git a/meta/recipes-support/container-loader/container-loader.inc b/meta/classes-recipe/container-loader.bbclass similarity index 94% rename from meta/recipes-support/container-loader/container-loader.inc rename to meta/classes-recipe/container-loader.bbclass index 90c16228..f76480be 100644 --- a/meta/recipes-support/container-loader/container-loader.inc +++ b/meta/classes-recipe/container-loader.bbclass @@ -1,12 +1,11 @@ # This software is a part of ISAR. -# Copyright (c) Siemens AG, 2024 +# Copyright (c) Siemens AG, 2024-2025 # # SPDX-License-Identifier: MIT -FILESPATH:append := ":${FILE_DIRNAME}/files" - inherit dpkg-raw +FILESPATH:append = ":${LAYERDIR_core}/recipes-support/container-loader/files" SRC_URI += " \ file://container-loader.service.tmpl \ file://container-loader.sh.tmpl" diff --git a/meta/recipes-support/container-loader/docker-loader.inc b/meta/classes-recipe/docker-loader.bbclass similarity index 70% copy from meta/recipes-support/container-loader/docker-loader.inc copy to meta/classes-recipe/docker-loader.bbclass index b864c854..8fc87759 100644 --- a/meta/recipes-support/container-loader/docker-loader.inc +++ b/meta/classes-recipe/docker-loader.bbclass @@ -1,9 +1,9 @@ # This software is a part of ISAR. -# Copyright (c) Siemens AG, 2024 +# Copyright (c) Siemens AG, 2024-2025 # # SPDX-License-Identifier: MIT -require container-loader.inc +inherit container-loader CONTAINER_ENGINE = "docker" diff --git a/meta/recipes-support/container-loader/podman-loader.inc b/meta/classes-recipe/podman-loader.bbclass similarity index 68% copy from meta/recipes-support/container-loader/podman-loader.inc copy to meta/classes-recipe/podman-loader.bbclass index d2c9a12d..30b1a088 100644 --- a/meta/recipes-support/container-loader/podman-loader.inc +++ b/meta/classes-recipe/podman-loader.bbclass @@ -1,9 +1,9 @@ # This software is a part of ISAR. -# Copyright (c) Siemens AG, 2024 +# Copyright (c) Siemens AG, 2024-2025 # # SPDX-License-Identifier: MIT -require container-loader.inc +inherit container-loader CONTAINER_ENGINE = "podman" diff --git a/meta/recipes-support/container-loader/docker-loader.inc b/meta/recipes-support/container-loader/docker-loader.inc index b864c854..8dde04ee 100644 --- a/meta/recipes-support/container-loader/docker-loader.inc +++ b/meta/recipes-support/container-loader/docker-loader.inc @@ -1,10 +1,13 @@ +# Transitional include for docker-loader.bbclass +# # This software is a part of ISAR. -# Copyright (c) Siemens AG, 2024 +# Copyright (c) Siemens AG, 2025 # # SPDX-License-Identifier: MIT -require container-loader.inc - -CONTAINER_ENGINE = "docker" +inherit docker-loader -CONTAINER_ENGINE_PACKAGES ?= "docker.io, apparmor" +do_warn_custom_inc() { + bbwarn "Please migrate from \"require recipes-support/container-loader/docker-loader.inc\" to \"inherit docker-loader\"" +} +addtask warn_custom_inc before do_unpack diff --git a/meta/recipes-support/container-loader/podman-loader.inc b/meta/recipes-support/container-loader/podman-loader.inc index d2c9a12d..dc8bc30f 100644 --- a/meta/recipes-support/container-loader/podman-loader.inc +++ b/meta/recipes-support/container-loader/podman-loader.inc @@ -1,10 +1,13 @@ +# Transitional include for podman-loader.bbclass +# # This software is a part of ISAR. -# Copyright (c) Siemens AG, 2024 +# Copyright (c) Siemens AG, 2025 # # SPDX-License-Identifier: MIT -require container-loader.inc - -CONTAINER_ENGINE = "podman" +inherit podman-loader -CONTAINER_ENGINE_PACKAGES ?= "podman" +do_warn_custom_inc() { + bbwarn "Please migrate from \"require recipes-support/container-loader/podman-loader.inc\" to \"inherit podman-loader\"" +} +addtask warn_custom_inc before do_unpack