From patchwork Mon Nov 3 11:52:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kiszka X-Patchwork-Id: 4497 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 03 Nov 2025 12:52:35 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f62.google.com (mail-wm1-f62.google.com [209.85.128.62]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5A3BqX20000713 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 3 Nov 2025 12:52:33 +0100 Received: by mail-wm1-f62.google.com with SMTP id 5b1f17b1804b1-47106a388cfsf34267585e9.0 for ; Mon, 03 Nov 2025 03:52:33 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1762170743; cv=pass; d=google.com; s=arc-20240605; b=EmZnmb1Jfo4ToJ0JlHibwGdah+wyvhhilMTBy19DViMgCUBNiSbIlCQ2mSUd6Od2pj HMQ/oZ5///TTkz6gOGQwF1Z/u6OakP5vzq+svcOZQ3XQgJ5Z8/7j0N3FCuXJVpxOyJNM jVkn3h7diGJPrLYYCE4HHwt6DPNVpaDjA1bzmppJ69Uv9UmkP04+LrgAVHj2l3CwaTcl Wb3tNAWjg4LbK8ipxWqtdJgBHBExgvEm/DMVndy3stOdLUwkTuwEZN4ieL4KrAZ+9gQP mTfqXipMP6Qbtq8vw2ZXeirVfFcjIEu3dI8jSd1gdMQ4M82dCFpWBRoj/+Zr84Z0/tuN uwyA== 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=qKHW2FDqlPL0eZXGtA5cMTjTFb0BNYp9+On/lJ4rxH8=; fh=oD9foi86Uj9HIKbghYbjzVGfTRawrMh3YQqVK6roqxw=; b=cjuMLpdaKBak0ByW4NG8pH5xcKsGK6e0RPpfiyo4BcNokwg8iev9mTLLDpf+0a5Y+W NS7nPHU9Bf00ODnLaCS5cMTZnWD5g+UQ7CTMgmplJ6D/mkqfvxpAQs/CQR8/UwFcetCO BmhufN3n+6F4QNShdtrbPvSBMKMiuYGlfOMmC4i0CGA/IqF3qkRe3d/zYRqmOrf3rl8Q taEYAC+2RX2H/G7XqhHQL7GbdoThX3UHc6+TnBtbKI4alW/HWV8e7euYO6E+pQZlHoPg LSJ6QsXX0TiHghEgm6yXZLKdyNiy93A2DSZ2pgfmdjW8X3JX+pNCTvqaWIxdnpGz3TFu ytbQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=B2yxTLwZ; spf=pass (google.com: domain of fm-294854-202511031152195d18151c5c00020769-_pzeoz@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-294854-202511031152195d18151c5c00020769-_pzEoZ@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=1762170742; x=1762775542; 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=qKHW2FDqlPL0eZXGtA5cMTjTFb0BNYp9+On/lJ4rxH8=; b=EjnQvvBteKVESGagii4gGXqU8o5459GunLulyWnaWUMO+FdsP99jSbYGKeMGuFNUd7 HruiqA/CfKWcOfNPQcySgF57UFTsohCe8Mf5qR3L/b+GT9CAeXVy+t+uuFn/Z1ZGZ9hC pXEs+2IDxuWFYh0Mm2iKc+KCp+ceJ3cQn7v+Yrr8fxlnvHNZEMs6sexKlHdnH1g4snfQ f128onb6phqVSHxz1FPCENmYf9TcjKtNguuK9vt+C0VfkWbzxfiIZPW6F0TMS4mi9Qqi RYXd04CiFR/bVS5eWZPR68R7B/sfgsRTRYLVZomrKs0s+JvEp0m3SezUJLC27yVs85Ny Hk5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762170742; x=1762775542; 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=qKHW2FDqlPL0eZXGtA5cMTjTFb0BNYp9+On/lJ4rxH8=; b=YUnWT/DQKOzQt1eKbDQwTaj7b89RjDO6R6qrsx4byGDyrfqeHl22aXZFoDpW3u49rQ 5hzrJxXt7GGOuLExYd+NXc71f/HshdKcTAiw3AKvl1qL2+mvwq2bwCJPJKcaY/JpBSK+ Hwu6NudJLr81nCf5/EoNKyigzsN3BfebuPQigfT3BIGLj0YKH4tbPC93db4FzgGbFliH ZCEGztF9LGQNB8UAIfxRLJkDvvbmgtnHF9Pg2RB62qHAbIEF1SDJTylB6yu2iGCMQVuB LE6t4fRqUHdBmWHDF0XYESAnUEXyX/KMMyd0ffEebWegza0F1I16ExHwHnHOhZUyDjGG QdNQ== X-Forwarded-Encrypted: i=2; AJvYcCXDEvK2yp2XP7R41dXEa2q8aPZCnx2S+PACmgYhZdW02WTdS2S5dFse+390Zb6HhYxM0cPxkV4=@isar-build.org X-Gm-Message-State: AOJu0YxUB+vDpNxnWa8cXF9f/Wl+y7HLLYniLcaeoqqTdCew21MygI51 tz9huGa5UHgtnWl01sWep8IOU72eceNi71ZqTUp7JVIVopIQRC3FPN7t X-Google-Smtp-Source: AGHT+IEsx7Or+GGLam8x8oslOB1Gm0/QScjYSs4gJ+eVFPHAwhgIxrX32yF3jWI2EEmDuaCw2cRnoA== X-Received: by 2002:a05:600c:5026:b0:46e:4a13:e6c6 with SMTP id 5b1f17b1804b1-4773087e7e7mr120740455e9.19.1762170742563; Mon, 03 Nov 2025 03:52:22 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+ZyqAaX9X6xDDk5EdCRc22Ac/RVugRqdJ0gHOrGUzba9A==" Received: by 2002:a05:6000:290c:b0:426:cb20:6c35 with SMTP id ffacd0b85a97d-429b4d9375als2767700f8f.0.-pod-prod-06-eu; Mon, 03 Nov 2025 03:52:19 -0800 (PST) X-Received: by 2002:a05:6000:1acd:b0:3ee:1586:6c73 with SMTP id ffacd0b85a97d-429bd67c47amr9736272f8f.19.1762170739401; Mon, 03 Nov 2025 03:52:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1762170739; cv=none; d=google.com; s=arc-20240605; b=LaVn9JxmclyhGtsMQa+vdrZlL3++SFAQ334ZKh/rPwv0MpNhiBoHk1LylvAloq5kpT Mb7dyYxnQXFgh9KGnCQX5Zwvq2wnLQj7QySYacT+bf6oSbGuszi5w9pBYQqb+2eZZBM7 IPPfnde6gmiK/AcgAGF680EqtJuR84taXVQaRHrnjwavYQLIeyOzlUwqaC3gEIKiWqoX VsJhMGrS4tKzaykh4LfU6hsA8E4uc1QzoLe7FS5he/V2zWOp9fKnSewVjNENyLSTUR6/ cZIGvNJzWW/Ti1cmvTb4inZldxAwlVvTf5C+DQma1ucEN4s6BEST5Cj+B9zhNoZHjJpX eRNg== 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=Ni56COmwH7fiRQHv3IdCJI+6uDGtSY4BYrovJw8GAeovnvpbD64STvmd+uKmSK9juB O+OE+tuBm3Jzjiu/JTiG3CfkQuNurUoZug4hkUNz/jiTH1c+l5Lz2hvz628JC88QCUQc 5jQKw0k6Dv1BaR2mPEkMnrJpOomqdDEzRCrCrqw/Uxvs/aSwUpYuZzsLaqc6+iuVKtyg s8a+KGfePdmquvQUqrj6Hl6xfmxEjgHBrQRCE66pv+TgpuK7Vm21CpuorN7MxEBmE6Rv MTOYwDzyiOtzdbWVNPUnY+c8ERYo3fEOUh0C2Yw5ubhILR3mmWX5NSittjZoYMZJyT7h YsQg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=B2yxTLwZ; spf=pass (google.com: domain of fm-294854-202511031152195d18151c5c00020769-_pzeoz@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-294854-202511031152195d18151c5c00020769-_pzEoZ@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net. [185.136.64.225]) by gmr-mx.google.com with ESMTPS id ffacd0b85a97d-429cf2d4cabsi95112f8f.1.2025.11.03.03.52.19 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Nov 2025 03:52:19 -0800 (PST) Received-SPF: pass (google.com: domain of fm-294854-202511031152195d18151c5c00020769-_pzeoz@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) client-ip=185.136.64.225; Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 202511031152195d18151c5c00020769 for ; Mon, 03 Nov 2025 12:52:19 +0100 X-Patchwork-Original-From: "'Jan Kiszka' via isar-users" From: Jan Kiszka To: isar-users Subject: [PATCH 25/27] container-loader: Migrate to bbclass'es Date: Mon, 3 Nov 2025 12:52:13 +0100 Message-ID: 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=B2yxTLwZ; spf=pass (google.com: domain of fm-294854-202511031152195d18151c5c00020769-_pzeoz@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-294854-202511031152195d18151c5c00020769-_pzEoZ@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_H2,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