* [PATCH v3 0/4] Allow better control over container tags @ 2021-08-02 11:54 Henning Schild 2021-08-02 11:54 ` [PATCH v3 1/4] classes: make sure container extension can run multiple times Henning Schild ` (3 more replies) 0 siblings, 4 replies; 9+ messages in thread From: Henning Schild @ 2021-08-02 11:54 UTC (permalink / raw) To: isar-users; +Cc: Silvano Cirujano Cuesta, Henning Schild changes since v2: - use CONTAINER_TARGET_IMAGE instead of CONTAINER_IMAGE_NAME - update docs changes since v1: - add RECIPE-API-CHANGELOG entry for interface change in p3 -- A container tags consists of "name:tag" and both have been kind of hardcoded so far. "tag" was always "latest" which is not proper versioning. And "name" has always been "isar-DISTRO-ARCH" which is also not proper because the name should probably describe the content and not so much the build system. Plus that name means guaranteed collision if you build two containers with isar based on the same disto and arch. Henning Schild (4): classes: make sure container extension can run multiple times classes: simplify tag handling in container class classes: allow more control over container image name and tag classes: fix comment in container-img class RECIPE-API-CHANGELOG.md | 4 +++ doc/user_manual.md | 8 +++--- meta/classes/container-img.bbclass | 6 ++--- .../classes/image-container-extension.bbclass | 25 ++++++++++--------- meta/classes/image-sdk-extension.bbclass | 2 +- 5 files changed, 24 insertions(+), 21 deletions(-) -- 2.31.1 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 1/4] classes: make sure container extension can run multiple times 2021-08-02 11:54 [PATCH v3 0/4] Allow better control over container tags Henning Schild @ 2021-08-02 11:54 ` Henning Schild 2021-08-02 11:54 ` [PATCH v3 2/4] classes: simplify tag handling in container class Henning Schild ` (2 subsequent siblings) 3 siblings, 0 replies; 9+ messages in thread From: Henning Schild @ 2021-08-02 11:54 UTC (permalink / raw) To: isar-users; +Cc: Silvano Cirujano Cuesta, Henning Schild If the container extension fails somewhere in the middle, it could leave things behind resulting in issues when trying to run only that one task again. So make sure to remove stuff as root and remove another possibly existing directory. Signed-off-by: Henning Schild <henning.schild@siemens.com> --- meta/classes/image-container-extension.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/image-container-extension.bbclass b/meta/classes/image-container-extension.bbclass index e26604a04f06..6537fc693265 100644 --- a/meta/classes/image-container-extension.bbclass +++ b/meta/classes/image-container-extension.bbclass @@ -18,7 +18,7 @@ containerize_rootfs() { # prepare OCI container image skeleton bbdebug 1 "prepare OCI container image skeleton" - rm -rf "${oci_img_dir}" + sudo rm -rf "${oci_img_dir}" "${oci_img_dir}_unpacked" 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}" \ -- 2.31.1 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 2/4] classes: simplify tag handling in container class 2021-08-02 11:54 [PATCH v3 0/4] Allow better control over container tags Henning Schild 2021-08-02 11:54 ` [PATCH v3 1/4] classes: make sure container extension can run multiple times Henning Schild @ 2021-08-02 11:54 ` Henning Schild 2021-08-02 11:54 ` [PATCH v3 3/4] classes: allow more control over container image name and tag Henning Schild 2021-08-02 11:54 ` [PATCH v3 4/4] classes: fix comment in container-img class Henning Schild 3 siblings, 0 replies; 9+ messages in thread From: Henning Schild @ 2021-08-02 11:54 UTC (permalink / raw) To: isar-users; +Cc: Silvano Cirujano Cuesta, Henning Schild Call the variable "tag" and use it in all places where "latest" was hardcoded. This prepares for another patch that will allow chosing something else than "latest" for a tag. Signed-off-by: Henning Schild <henning.schild@siemens.com> --- meta/classes/image-container-extension.bbclass | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/meta/classes/image-container-extension.bbclass b/meta/classes/image-container-extension.bbclass index 6537fc693265..0e70ba9c1405 100644 --- a/meta/classes/image-container-extension.bbclass +++ b/meta/classes/image-container-extension.bbclass @@ -10,7 +10,7 @@ CONTAINER_FORMATS ?= "docker-archive" containerize_rootfs() { local cmd="/bin/dash" local empty_tag="empty" - local full_tag="latest" + local tag="latest" local oci_img_dir="${WORKDIR}/oci-image" local rootfs="$1" local rootfs_id="$2" @@ -33,7 +33,7 @@ containerize_rootfs() { # pack container image bbdebug 1 "pack container image" - sudo umoci repack --image "${oci_img_dir}:${full_tag}" \ + sudo umoci repack --image "${oci_img_dir}:${tag}" \ "${oci_img_dir}_unpacked" sudo umoci remove --image "${oci_img_dir}:${empty_tag}" sudo rm -rf "${oci_img_dir}_unpacked" @@ -49,14 +49,14 @@ containerize_rootfs() { case "${image_type}" in "docker-archive" | "oci-archive") if [ "${image_type}" = "oci-archive" ] ; then - target="${image_type}:${image_archive}:latest" + target="${image_type}:${image_archive}:${tag}" else - target="${image_type}:${image_archive}:${image_name}:latest" + target="${image_type}:${image_archive}:${image_name}:${tag}" fi rm -f "${image_archive}" "${image_archive}.xz" bbdebug 2 "Converting OCI image to ${image_type}" skopeo --insecure-policy copy \ - "oci:${oci_img_dir}:${full_tag}" "${target}" + "oci:${oci_img_dir}:${tag}" "${target}" bbdebug 2 "Compressing image" xz -T0 "${image_archive}" ;; @@ -69,8 +69,8 @@ containerize_rootfs() { die "Adding the container image to a container runtime (${image_type}) not supported if running from a container (e.g. 'kas-container')" fi skopeo --insecure-policy copy \ - "oci:${oci_img_dir}:${full_tag}" \ - "${image_type}:${image_name}:latest" + "oci:${oci_img_dir}:${tag}" \ + "${image_type}:${image_name}:${tag}" ;; *) die "Unsupported format for containerize_rootfs: ${image_type}" -- 2.31.1 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 3/4] classes: allow more control over container image name and tag 2021-08-02 11:54 [PATCH v3 0/4] Allow better control over container tags Henning Schild 2021-08-02 11:54 ` [PATCH v3 1/4] classes: make sure container extension can run multiple times Henning Schild 2021-08-02 11:54 ` [PATCH v3 2/4] classes: simplify tag handling in container class Henning Schild @ 2021-08-02 11:54 ` Henning Schild 2021-08-02 12:26 ` Silvano Cirujano Cuesta 2021-08-02 11:54 ` [PATCH v3 4/4] classes: fix comment in container-img class Henning Schild 3 siblings, 1 reply; 9+ messages in thread From: Henning Schild @ 2021-08-02 11:54 UTC (permalink / raw) To: isar-users; +Cc: Silvano Cirujano Cuesta, Henning Schild This patch allows more fine-grained control over how the resulting container will be tagged. Where the default name will be PN together with DISTRO and ARCH, and tag will be derived from PV and PR Signed-off-by: Henning Schild <henning.schild@siemens.com> --- RECIPE-API-CHANGELOG.md | 4 ++++ doc/user_manual.md | 8 ++++---- meta/classes/container-img.bbclass | 4 +--- meta/classes/image-container-extension.bbclass | 11 ++++++----- meta/classes/image-sdk-extension.bbclass | 2 +- 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 806c2914f13f..d12d30e192a8 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -292,3 +292,7 @@ Migrate your patches so they can be applied with "git am", or Kernel image name for arm64 platforms is vmlinux now. Image format was not changed (uncompressed executable) but now it is named correctly. + +### Change default "TARGET_NAME:TAG" when building container images + +The "TARGET_NAME" used to be rather static and the TAG was always "latest", now the values are derived from recipe variables PN, PV, PR. diff --git a/doc/user_manual.md b/doc/user_manual.md index cf7dc2fee35e..e5c07bd41fc5 100644 --- a/doc/user_manual.md +++ b/doc/user_manual.md @@ -300,14 +300,14 @@ bitbake mc:qemuarm-buster:isar-image-base - Load the container image into the Docker Daemon ``` -docker load -i build/tmp/deploy/images/qemuarm/debian-buster-armhf-docker-archive.tar.xz +docker load -i build/tmp/deploy/images/qemuarm/isar-image-base-debian-buster-armhf-1.0-r0-docker-archive.tar.xz ``` - Run a container using the container image (following commands starting with `#~:` are to be run in the container) ``` -docker run --rm -ti --volume "$(pwd):/build" isar-buster-armhf:latest +docker run --rm -ti --volume "$(pwd):/build" isar-image-base-debian-buster-armhf:1.0-r0 ``` --- @@ -1070,14 +1070,14 @@ bitbake -c do_populate_sdk mc:qemuarm-buster:isar-image-base - Load the SDK container image into the Docker Daemon ``` -docker load -i build/tmp/deploy/images/qemuarm/sdk-debian-buster-armhf-docker-archive.tar.xz +docker load -i build/tmp/deploy/images/qemuarm/isar-image-base-debian-buster-armhf-1.0-r0-docker-archive.tar.xz ``` - Run a container using the SDK container image (following commands starting with `#~:` are to be run in the container) ``` -docker run --rm -ti --volume "$(pwd):/build" isar-sdk-buster-armhf:latest +docker run --rm -ti --volume "$(pwd):/build" isar-image-base-debian-buster-armhf:1.0-r0 ``` - Check that cross toolchains are installed diff --git a/meta/classes/container-img.bbclass b/meta/classes/container-img.bbclass index 79ef3e8d756b..9928a58ef53d 100644 --- a/meta/classes/container-img.bbclass +++ b/meta/classes/container-img.bbclass @@ -9,10 +9,8 @@ do_container_image[stamp-extra-info] = "${DISTRO}-${MACHINE}" do_container_image[vardeps] += "CONTAINER_FORMATS" do_container_image(){ - rootfs_id="${DISTRO}-${DISTRO_ARCH}" - bbdebug 1 "Generate container image in these formats: ${CONTAINER_FORMATS}" - containerize_rootfs "${IMAGE_ROOTFS}" "${rootfs_id}" "${CONTAINER_FORMATS}" + containerize_rootfs "${IMAGE_ROOTFS}" "${CONTAINER_FORMATS}" } addtask container_image before do_image after do_image_tools diff --git a/meta/classes/image-container-extension.bbclass b/meta/classes/image-container-extension.bbclass index 0e70ba9c1405..4f93d30219f9 100644 --- a/meta/classes/image-container-extension.bbclass +++ b/meta/classes/image-container-extension.bbclass @@ -6,15 +6,16 @@ # This class extends the image.bbclass for containerizing the root filesystem. CONTAINER_FORMATS ?= "docker-archive" +CONTAINER_TARGET_NAME ?= "${PN}-${DISTRO}-${DISTRO_ARCH}" +CONTAINER_TAG ?= "${PV}-${PR}" containerize_rootfs() { local cmd="/bin/dash" local empty_tag="empty" - local tag="latest" + local tag="${CONTAINER_TAG}" local oci_img_dir="${WORKDIR}/oci-image" local rootfs="$1" - local rootfs_id="$2" - local container_formats="$3" + local container_formats="$2" # prepare OCI container image skeleton bbdebug 1 "prepare OCI container image skeleton" @@ -42,9 +43,9 @@ containerize_rootfs() { sudo chown --recursive $(id -u):$(id -g) "${oci_img_dir}" # convert the OCI container image to the desired format - image_name="isar-${rootfs_id}" + image_name="${CONTAINER_TARGET_NAME}" for image_type in ${CONTAINER_FORMATS} ; do - image_archive="${DEPLOY_DIR_IMAGE}/${rootfs_id}-${image_type}.tar" + image_archive="${DEPLOY_DIR_IMAGE}/${image_name}-${tag}-${image_type}.tar" bbdebug 1 "Creating container image type: ${image_type}" case "${image_type}" in "docker-archive" | "oci-archive") diff --git a/meta/classes/image-sdk-extension.bbclass b/meta/classes/image-sdk-extension.bbclass index 426b92595554..fa15b588068c 100644 --- a/meta/classes/image-sdk-extension.bbclass +++ b/meta/classes/image-sdk-extension.bbclass @@ -80,7 +80,7 @@ do_populate_sdk() { # 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-${DISTRO}-${DISTRO_ARCH}" "${sdk_container_formats}" + containerize_rootfs "${SDKCHROOT_DIR}" "${sdk_container_formats}" fi } -- 2.31.1 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 3/4] classes: allow more control over container image name and tag 2021-08-02 11:54 ` [PATCH v3 3/4] classes: allow more control over container image name and tag Henning Schild @ 2021-08-02 12:26 ` Silvano Cirujano Cuesta 2021-08-02 13:14 ` Henning Schild 0 siblings, 1 reply; 9+ messages in thread From: Silvano Cirujano Cuesta @ 2021-08-02 12:26 UTC (permalink / raw) To: Henning Schild, isar-users On 02/08/2021 13:54, Henning Schild wrote: > This patch allows more fine-grained control over how the resulting > container will be tagged. Where the default name will be PN together > with DISTRO and ARCH, and tag will be derived from PV and PR > > Signed-off-by: Henning Schild <henning.schild@siemens.com> > --- > RECIPE-API-CHANGELOG.md | 4 ++++ > doc/user_manual.md | 8 ++++---- > meta/classes/container-img.bbclass | 4 +--- > meta/classes/image-container-extension.bbclass | 11 ++++++----- > meta/classes/image-sdk-extension.bbclass | 2 +- > 5 files changed, 16 insertions(+), 13 deletions(-) > > diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md > index 806c2914f13f..d12d30e192a8 100644 > --- a/RECIPE-API-CHANGELOG.md > +++ b/RECIPE-API-CHANGELOG.md > @@ -292,3 +292,7 @@ Migrate your patches so they can be applied with "git am", or > > Kernel image name for arm64 platforms is vmlinux now. Image format was > not changed (uncompressed executable) but now it is named correctly. > + > +### Change default "TARGET_NAME:TAG" when building container images > + > +The "TARGET_NAME" used to be rather static and the TAG was always "latest", now the values are derived from recipe variables PN, PV, PR. > diff --git a/doc/user_manual.md b/doc/user_manual.md > index cf7dc2fee35e..e5c07bd41fc5 100644 > --- a/doc/user_manual.md > +++ b/doc/user_manual.md > @@ -300,14 +300,14 @@ bitbake mc:qemuarm-buster:isar-image-base > - Load the container image into the Docker Daemon > > ``` > -docker load -i build/tmp/deploy/images/qemuarm/debian-buster-armhf-docker-archive.tar.xz > +docker load -i build/tmp/deploy/images/qemuarm/isar-image-base-debian-buster-armhf-1.0-r0-docker-archive.tar.xz > ``` > > - Run a container using the container image (following commands starting with > `#~:` are to be run in the container) > > ``` > -docker run --rm -ti --volume "$(pwd):/build" isar-buster-armhf:latest > +docker run --rm -ti --volume "$(pwd):/build" isar-image-base-debian-buster-armhf:1.0-r0 > ``` > > --- > @@ -1070,14 +1070,14 @@ bitbake -c do_populate_sdk mc:qemuarm-buster:isar-image-base > - Load the SDK container image into the Docker Daemon > > ``` > -docker load -i build/tmp/deploy/images/qemuarm/sdk-debian-buster-armhf-docker-archive.tar.xz > +docker load -i build/tmp/deploy/images/qemuarm/isar-image-base-debian-buster-armhf-1.0-r0-docker-archive.tar.xz > ``` > > - Run a container using the SDK container image (following commands starting > with `#~:` are to be run in the container) > > ``` > -docker run --rm -ti --volume "$(pwd):/build" isar-sdk-buster-armhf:latest > +docker run --rm -ti --volume "$(pwd):/build" isar-image-base-debian-buster-armhf:1.0-r0 > ``` > > - Check that cross toolchains are installed > diff --git a/meta/classes/container-img.bbclass b/meta/classes/container-img.bbclass > index 79ef3e8d756b..9928a58ef53d 100644 > --- a/meta/classes/container-img.bbclass > +++ b/meta/classes/container-img.bbclass > @@ -9,10 +9,8 @@ > do_container_image[stamp-extra-info] = "${DISTRO}-${MACHINE}" > do_container_image[vardeps] += "CONTAINER_FORMATS" > do_container_image(){ > - rootfs_id="${DISTRO}-${DISTRO_ARCH}" > - > bbdebug 1 "Generate container image in these formats: ${CONTAINER_FORMATS}" > - containerize_rootfs "${IMAGE_ROOTFS}" "${rootfs_id}" "${CONTAINER_FORMATS}" > + containerize_rootfs "${IMAGE_ROOTFS}" "${CONTAINER_FORMATS}" > } > > addtask container_image before do_image after do_image_tools > diff --git a/meta/classes/image-container-extension.bbclass b/meta/classes/image-container-extension.bbclass > index 0e70ba9c1405..4f93d30219f9 100644 > --- a/meta/classes/image-container-extension.bbclass > +++ b/meta/classes/image-container-extension.bbclass > @@ -6,15 +6,16 @@ > # This class extends the image.bbclass for containerizing the root filesystem. > > CONTAINER_FORMATS ?= "docker-archive" > +CONTAINER_TARGET_NAME ?= "${PN}-${DISTRO}-${DISTRO_ARCH}" In a comment to patch v2 you mentioned your plan to call it "CONTAINER_TARGET_IMAGE". Have you changed your mind or is it just an error? > +CONTAINER_TAG ?= "${PV}-${PR}" Although only container images can have tags and not containers, I still find this name misleading for container newbies (and some ISAR maintainers will probably be). Your argument that "docker tag" only uses "TAG" doesn't convince me ;-) In general I'd say that both "CONTAINER_TARGET_NAME" and "CONTAINER_TAG" should start with the prefix "CONTAINER_IMAGE_". Both the name and the tag are attributes of a container image. Therefore I'd rather use "CONTAINER_IMAGE_NAME" and "CONTAINER_IMAGE_TAG". But since I'm neither a power user nor a power contributor, my opinion might not be that important. Silvano > > containerize_rootfs() { > local cmd="/bin/dash" > local empty_tag="empty" > - local tag="latest" > + local tag="${CONTAINER_TAG}" > local oci_img_dir="${WORKDIR}/oci-image" > local rootfs="$1" > - local rootfs_id="$2" > - local container_formats="$3" > + local container_formats="$2" > > # prepare OCI container image skeleton > bbdebug 1 "prepare OCI container image skeleton" > @@ -42,9 +43,9 @@ containerize_rootfs() { > sudo chown --recursive $(id -u):$(id -g) "${oci_img_dir}" > > # convert the OCI container image to the desired format > - image_name="isar-${rootfs_id}" > + image_name="${CONTAINER_TARGET_NAME}" > for image_type in ${CONTAINER_FORMATS} ; do > - image_archive="${DEPLOY_DIR_IMAGE}/${rootfs_id}-${image_type}.tar" > + image_archive="${DEPLOY_DIR_IMAGE}/${image_name}-${tag}-${image_type}.tar" > bbdebug 1 "Creating container image type: ${image_type}" > case "${image_type}" in > "docker-archive" | "oci-archive") > diff --git a/meta/classes/image-sdk-extension.bbclass b/meta/classes/image-sdk-extension.bbclass > index 426b92595554..fa15b588068c 100644 > --- a/meta/classes/image-sdk-extension.bbclass > +++ b/meta/classes/image-sdk-extension.bbclass > @@ -80,7 +80,7 @@ do_populate_sdk() { > # 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-${DISTRO}-${DISTRO_ARCH}" "${sdk_container_formats}" > + containerize_rootfs "${SDKCHROOT_DIR}" "${sdk_container_formats}" > fi > } > > -- Silvano Cirujano Cuesta -- Siemens AG, T RDA IOT SES-DE Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 3/4] classes: allow more control over container image name and tag 2021-08-02 12:26 ` Silvano Cirujano Cuesta @ 2021-08-02 13:14 ` Henning Schild 2021-08-02 13:27 ` Silvano Cirujano Cuesta 0 siblings, 1 reply; 9+ messages in thread From: Henning Schild @ 2021-08-02 13:14 UTC (permalink / raw) To: Silvano Cirujano Cuesta; +Cc: isar-users Am Mon, 2 Aug 2021 14:26:02 +0200 schrieb Silvano Cirujano Cuesta <silvano.cirujano-cuesta@siemens.com>: > On 02/08/2021 13:54, Henning Schild wrote: > > This patch allows more fine-grained control over how the resulting > > container will be tagged. Where the default name will be PN together > > with DISTRO and ARCH, and tag will be derived from PV and PR > > > > Signed-off-by: Henning Schild <henning.schild@siemens.com> > > --- > > RECIPE-API-CHANGELOG.md | 4 ++++ > > doc/user_manual.md | 8 ++++---- > > meta/classes/container-img.bbclass | 4 +--- > > meta/classes/image-container-extension.bbclass | 11 ++++++----- > > meta/classes/image-sdk-extension.bbclass | 2 +- > > 5 files changed, 16 insertions(+), 13 deletions(-) > > > > diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md > > index 806c2914f13f..d12d30e192a8 100644 > > --- a/RECIPE-API-CHANGELOG.md > > +++ b/RECIPE-API-CHANGELOG.md > > @@ -292,3 +292,7 @@ Migrate your patches so they can be applied > > with "git am", or > > Kernel image name for arm64 platforms is vmlinux now. Image format > > was not changed (uncompressed executable) but now it is named > > correctly. + > > +### Change default "TARGET_NAME:TAG" when building container images > > + > > +The "TARGET_NAME" used to be rather static and the TAG was always > > "latest", now the values are derived from recipe variables PN, PV, > > PR. diff --git a/doc/user_manual.md b/doc/user_manual.md index > > cf7dc2fee35e..e5c07bd41fc5 100644 --- a/doc/user_manual.md > > +++ b/doc/user_manual.md > > @@ -300,14 +300,14 @@ bitbake mc:qemuarm-buster:isar-image-base > > - Load the container image into the Docker Daemon > > > > ``` > > -docker load -i > > build/tmp/deploy/images/qemuarm/debian-buster-armhf-docker-archive.tar.xz > > +docker load -i > > build/tmp/deploy/images/qemuarm/isar-image-base-debian-buster-armhf-1.0-r0-docker-archive.tar.xz > > ``` > > - Run a container using the container image (following commands > > starting with `#~:` are to be run in the container) > > > > ``` > > -docker run --rm -ti --volume "$(pwd):/build" > > isar-buster-armhf:latest +docker run --rm -ti --volume > > "$(pwd):/build" isar-image-base-debian-buster-armhf:1.0-r0 ``` > > > > --- > > @@ -1070,14 +1070,14 @@ bitbake -c do_populate_sdk > > mc:qemuarm-buster:isar-image-base > > - Load the SDK container image into the Docker Daemon > > > > ``` > > -docker load -i > > build/tmp/deploy/images/qemuarm/sdk-debian-buster-armhf-docker-archive.tar.xz > > +docker load -i > > build/tmp/deploy/images/qemuarm/isar-image-base-debian-buster-armhf-1.0-r0-docker-archive.tar.xz > > ``` > > - Run a container using the SDK container image (following > > commands starting with `#~:` are to be run in the container) > > > > ``` > > -docker run --rm -ti --volume "$(pwd):/build" > > isar-sdk-buster-armhf:latest +docker run --rm -ti --volume > > "$(pwd):/build" isar-image-base-debian-buster-armhf:1.0-r0 ``` > > > > - Check that cross toolchains are installed > > diff --git a/meta/classes/container-img.bbclass > > b/meta/classes/container-img.bbclass index > > 79ef3e8d756b..9928a58ef53d 100644 --- > > a/meta/classes/container-img.bbclass +++ > > b/meta/classes/container-img.bbclass @@ -9,10 +9,8 @@ > > do_container_image[stamp-extra-info] = "${DISTRO}-${MACHINE}" > > do_container_image[vardeps] += "CONTAINER_FORMATS" > > do_container_image(){ > > - rootfs_id="${DISTRO}-${DISTRO_ARCH}" > > - > > bbdebug 1 "Generate container image in these formats: > > ${CONTAINER_FORMATS}" > > - containerize_rootfs "${IMAGE_ROOTFS}" "${rootfs_id}" > > "${CONTAINER_FORMATS}" > > + containerize_rootfs "${IMAGE_ROOTFS}" "${CONTAINER_FORMATS}" > > } > > > > addtask container_image before do_image after do_image_tools > > diff --git a/meta/classes/image-container-extension.bbclass > > b/meta/classes/image-container-extension.bbclass index > > 0e70ba9c1405..4f93d30219f9 100644 --- > > a/meta/classes/image-container-extension.bbclass +++ > > b/meta/classes/image-container-extension.bbclass @@ -6,15 +6,16 @@ > > # This class extends the image.bbclass for containerizing the root > > filesystem. > > CONTAINER_FORMATS ?= "docker-archive" > > +CONTAINER_TARGET_NAME ?= "${PN}-${DISTRO}-${DISTRO_ARCH}" > > In a comment to patch v2 you mentioned your plan to call it > "CONTAINER_TARGET_IMAGE". Have you changed your mind or is it just an > error? Oh right. Picked the wrong one. > > +CONTAINER_TAG ?= "${PV}-${PR}" > > Although only container images can have tags and not containers, I > still find this name misleading for container newbies (and some ISAR > maintainers will probably be). Your argument that "docker tag" only > uses "TAG" doesn't convince me ;-) Ok ... at least you give some insights on the other comment. But you started the "CONTAINER_" thingy. Can containers (not images) have the format docker-archive ? ;) > In general I'd say that both "CONTAINER_TARGET_NAME" and > "CONTAINER_TAG" should start with the prefix "CONTAINER_IMAGE_". Both > the name and the tag are attributes of a container image. > > Therefore I'd rather use "CONTAINER_IMAGE_NAME" and > "CONTAINER_IMAGE_TAG". But since I'm neither a power user nor a power > contributor, my opinion might not be that important. Usage: docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] "CONTAINER_IMAGE_" because that is the name of the class ... and pretty close to how other classes expose their "configurables" except for the weird extension pattern you took over wrong from that truly weird SDK. Which gives me CONTAINER_IMAGE_FORMATS CONTAINER_IMAGE_TAG CONTAINER_IMAGE_TARGET_IMAGE While the last one seems pretty silly ... i will still take it because is is prefix+suffix following a clear pattern. Henning > Silvano > > > > > containerize_rootfs() { > > local cmd="/bin/dash" > > local empty_tag="empty" > > - local tag="latest" > > + local tag="${CONTAINER_TAG}" > > local oci_img_dir="${WORKDIR}/oci-image" > > local rootfs="$1" > > - local rootfs_id="$2" > > - local container_formats="$3" > > + local container_formats="$2" > > > > # prepare OCI container image skeleton > > bbdebug 1 "prepare OCI container image skeleton" > > @@ -42,9 +43,9 @@ containerize_rootfs() { > > sudo chown --recursive $(id -u):$(id -g) "${oci_img_dir}" > > > > # convert the OCI container image to the desired format > > - image_name="isar-${rootfs_id}" > > + image_name="${CONTAINER_TARGET_NAME}" > > for image_type in ${CONTAINER_FORMATS} ; do > > - > > image_archive="${DEPLOY_DIR_IMAGE}/${rootfs_id}-${image_type}.tar" > > + > > image_archive="${DEPLOY_DIR_IMAGE}/${image_name}-${tag}-${image_type}.tar" > > bbdebug 1 "Creating container image type: ${image_type}" case > > "${image_type}" in "docker-archive" | "oci-archive") > > diff --git a/meta/classes/image-sdk-extension.bbclass > > b/meta/classes/image-sdk-extension.bbclass index > > 426b92595554..fa15b588068c 100644 --- > > a/meta/classes/image-sdk-extension.bbclass +++ > > b/meta/classes/image-sdk-extension.bbclass @@ -80,7 +80,7 @@ > > do_populate_sdk() { # 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-${DISTRO}-${DISTRO_ARCH}" "${sdk_container_formats}" > > + containerize_rootfs "${SDKCHROOT_DIR}" > > "${sdk_container_formats}" fi > > } > > > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 3/4] classes: allow more control over container image name and tag 2021-08-02 13:14 ` Henning Schild @ 2021-08-02 13:27 ` Silvano Cirujano Cuesta 2021-08-05 16:01 ` Henning Schild 0 siblings, 1 reply; 9+ messages in thread From: Silvano Cirujano Cuesta @ 2021-08-02 13:27 UTC (permalink / raw) To: Henning Schild; +Cc: isar-users On 02/08/2021 15:14, Henning Schild wrote: > Am Mon, 2 Aug 2021 14:26:02 +0200 > schrieb Silvano Cirujano Cuesta <silvano.cirujano-cuesta@siemens.com>: > >> On 02/08/2021 13:54, Henning Schild wrote: >>> This patch allows more fine-grained control over how the resulting >>> container will be tagged. Where the default name will be PN together >>> with DISTRO and ARCH, and tag will be derived from PV and PR >>> >>> Signed-off-by: Henning Schild <henning.schild@siemens.com> >>> --- >>> RECIPE-API-CHANGELOG.md | 4 ++++ >>> doc/user_manual.md | 8 ++++---- >>> meta/classes/container-img.bbclass | 4 +--- >>> meta/classes/image-container-extension.bbclass | 11 ++++++----- >>> meta/classes/image-sdk-extension.bbclass | 2 +- >>> 5 files changed, 16 insertions(+), 13 deletions(-) >>> >>> diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md >>> index 806c2914f13f..d12d30e192a8 100644 >>> --- a/RECIPE-API-CHANGELOG.md >>> +++ b/RECIPE-API-CHANGELOG.md >>> @@ -292,3 +292,7 @@ Migrate your patches so they can be applied >>> with "git am", or >>> Kernel image name for arm64 platforms is vmlinux now. Image format >>> was not changed (uncompressed executable) but now it is named >>> correctly. + >>> +### Change default "TARGET_NAME:TAG" when building container images >>> + >>> +The "TARGET_NAME" used to be rather static and the TAG was always >>> "latest", now the values are derived from recipe variables PN, PV, >>> PR. diff --git a/doc/user_manual.md b/doc/user_manual.md index >>> cf7dc2fee35e..e5c07bd41fc5 100644 --- a/doc/user_manual.md >>> +++ b/doc/user_manual.md >>> @@ -300,14 +300,14 @@ bitbake mc:qemuarm-buster:isar-image-base >>> - Load the container image into the Docker Daemon >>> >>> ``` >>> -docker load -i >>> build/tmp/deploy/images/qemuarm/debian-buster-armhf-docker-archive.tar.xz >>> +docker load -i >>> build/tmp/deploy/images/qemuarm/isar-image-base-debian-buster-armhf-1.0-r0-docker-archive.tar.xz >>> ``` >>> - Run a container using the container image (following commands >>> starting with `#~:` are to be run in the container) >>> >>> ``` >>> -docker run --rm -ti --volume "$(pwd):/build" >>> isar-buster-armhf:latest +docker run --rm -ti --volume >>> "$(pwd):/build" isar-image-base-debian-buster-armhf:1.0-r0 ``` >>> >>> --- >>> @@ -1070,14 +1070,14 @@ bitbake -c do_populate_sdk >>> mc:qemuarm-buster:isar-image-base >>> - Load the SDK container image into the Docker Daemon >>> >>> ``` >>> -docker load -i >>> build/tmp/deploy/images/qemuarm/sdk-debian-buster-armhf-docker-archive.tar.xz >>> +docker load -i >>> build/tmp/deploy/images/qemuarm/isar-image-base-debian-buster-armhf-1.0-r0-docker-archive.tar.xz >>> ``` >>> - Run a container using the SDK container image (following >>> commands starting with `#~:` are to be run in the container) >>> >>> ``` >>> -docker run --rm -ti --volume "$(pwd):/build" >>> isar-sdk-buster-armhf:latest +docker run --rm -ti --volume >>> "$(pwd):/build" isar-image-base-debian-buster-armhf:1.0-r0 ``` >>> >>> - Check that cross toolchains are installed >>> diff --git a/meta/classes/container-img.bbclass >>> b/meta/classes/container-img.bbclass index >>> 79ef3e8d756b..9928a58ef53d 100644 --- >>> a/meta/classes/container-img.bbclass +++ >>> b/meta/classes/container-img.bbclass @@ -9,10 +9,8 @@ >>> do_container_image[stamp-extra-info] = "${DISTRO}-${MACHINE}" >>> do_container_image[vardeps] += "CONTAINER_FORMATS" >>> do_container_image(){ >>> - rootfs_id="${DISTRO}-${DISTRO_ARCH}" >>> - >>> bbdebug 1 "Generate container image in these formats: >>> ${CONTAINER_FORMATS}" >>> - containerize_rootfs "${IMAGE_ROOTFS}" "${rootfs_id}" >>> "${CONTAINER_FORMATS}" >>> + containerize_rootfs "${IMAGE_ROOTFS}" "${CONTAINER_FORMATS}" >>> } >>> >>> addtask container_image before do_image after do_image_tools >>> diff --git a/meta/classes/image-container-extension.bbclass >>> b/meta/classes/image-container-extension.bbclass index >>> 0e70ba9c1405..4f93d30219f9 100644 --- >>> a/meta/classes/image-container-extension.bbclass +++ >>> b/meta/classes/image-container-extension.bbclass @@ -6,15 +6,16 @@ >>> # This class extends the image.bbclass for containerizing the root >>> filesystem. >>> CONTAINER_FORMATS ?= "docker-archive" >>> +CONTAINER_TARGET_NAME ?= "${PN}-${DISTRO}-${DISTRO_ARCH}" >> >> In a comment to patch v2 you mentioned your plan to call it >> "CONTAINER_TARGET_IMAGE". Have you changed your mind or is it just an >> error? > > Oh right. Picked the wrong one. > >>> +CONTAINER_TAG ?= "${PV}-${PR}" >> >> Although only container images can have tags and not containers, I >> still find this name misleading for container newbies (and some ISAR >> maintainers will probably be). Your argument that "docker tag" only >> uses "TAG" doesn't convince me ;-) > > Ok ... at least you give some insights on the other comment. But you > started the "CONTAINER_" thingy. Can containers (not images) have the > format docker-archive ? ;) You're fully right. Shame on me :-/ Do as I say, not as I do ;-P > >> In general I'd say that both "CONTAINER_TARGET_NAME" and >> "CONTAINER_TAG" should start with the prefix "CONTAINER_IMAGE_". Both >> the name and the tag are attributes of a container image. >> >> Therefore I'd rather use "CONTAINER_IMAGE_NAME" and >> "CONTAINER_IMAGE_TAG". But since I'm neither a power user nor a power >> contributor, my opinion might not be that important. > > Usage: docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] > > "CONTAINER_IMAGE_" because that is the name of the class ... and > pretty close to how other classes expose their "configurables" except > for the weird extension pattern you took over wrong from that truly > weird SDK. > > Which gives me > > CONTAINER_IMAGE_FORMATS I agree that for consistency you would have to rename this variable. Even if it breaks the interface, I think it's worth since this feature is not being widely used yet. > CONTAINER_IMAGE_TAG > CONTAINER_IMAGE_TARGET_IMAGE Why CONTAINER_IMAGE_TARGET_IMAGE? Why not CONTAINER_IMAGE_NAME? "docker tag" needs the "TARGET_" prefix because it needs to differentiate it from the source image. In fact if you look for the nowadays right manpage "man docker-image-tag" you'll get an even "better" mixture of "SOURCE_IMAGE", "TARGET_IMAGE" AND "NAME". But at least the terminology "NAME" and "TAG" appears here clearly defined. Silvano > > While the last one seems pretty silly ... i will still take it because > is is prefix+suffix following a clear pattern. > > Henning > >> Silvano >> >>> >>> containerize_rootfs() { >>> local cmd="/bin/dash" >>> local empty_tag="empty" >>> - local tag="latest" >>> + local tag="${CONTAINER_TAG}" >>> local oci_img_dir="${WORKDIR}/oci-image" >>> local rootfs="$1" >>> - local rootfs_id="$2" >>> - local container_formats="$3" >>> + local container_formats="$2" >>> >>> # prepare OCI container image skeleton >>> bbdebug 1 "prepare OCI container image skeleton" >>> @@ -42,9 +43,9 @@ containerize_rootfs() { >>> sudo chown --recursive $(id -u):$(id -g) "${oci_img_dir}" >>> >>> # convert the OCI container image to the desired format >>> - image_name="isar-${rootfs_id}" >>> + image_name="${CONTAINER_TARGET_NAME}" >>> for image_type in ${CONTAINER_FORMATS} ; do >>> - >>> image_archive="${DEPLOY_DIR_IMAGE}/${rootfs_id}-${image_type}.tar" >>> + >>> image_archive="${DEPLOY_DIR_IMAGE}/${image_name}-${tag}-${image_type}.tar" >>> bbdebug 1 "Creating container image type: ${image_type}" case >>> "${image_type}" in "docker-archive" | "oci-archive") >>> diff --git a/meta/classes/image-sdk-extension.bbclass >>> b/meta/classes/image-sdk-extension.bbclass index >>> 426b92595554..fa15b588068c 100644 --- >>> a/meta/classes/image-sdk-extension.bbclass +++ >>> b/meta/classes/image-sdk-extension.bbclass @@ -80,7 +80,7 @@ >>> do_populate_sdk() { # 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-${DISTRO}-${DISTRO_ARCH}" "${sdk_container_formats}" >>> + containerize_rootfs "${SDKCHROOT_DIR}" >>> "${sdk_container_formats}" fi >>> } >>> >>> > -- Silvano Cirujano Cuesta -- Siemens AG, T RDA IOT SES-DE Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 3/4] classes: allow more control over container image name and tag 2021-08-02 13:27 ` Silvano Cirujano Cuesta @ 2021-08-05 16:01 ` Henning Schild 0 siblings, 0 replies; 9+ messages in thread From: Henning Schild @ 2021-08-05 16:01 UTC (permalink / raw) To: Silvano Cirujano Cuesta; +Cc: isar-users Am Mon, 2 Aug 2021 15:27:58 +0200 schrieb Silvano Cirujano Cuesta <silvano.cirujano-cuesta@siemens.com>: > On 02/08/2021 15:14, Henning Schild wrote: > > Am Mon, 2 Aug 2021 14:26:02 +0200 > > schrieb Silvano Cirujano Cuesta > > <silvano.cirujano-cuesta@siemens.com>: > >> On 02/08/2021 13:54, Henning Schild wrote: > >>> This patch allows more fine-grained control over how the resulting > >>> container will be tagged. Where the default name will be PN > >>> together with DISTRO and ARCH, and tag will be derived from PV > >>> and PR > >>> > >>> Signed-off-by: Henning Schild <henning.schild@siemens.com> > >>> --- > >>> RECIPE-API-CHANGELOG.md | 4 ++++ > >>> doc/user_manual.md | 8 ++++---- > >>> meta/classes/container-img.bbclass | 4 +--- > >>> meta/classes/image-container-extension.bbclass | 11 ++++++----- > >>> meta/classes/image-sdk-extension.bbclass | 2 +- > >>> 5 files changed, 16 insertions(+), 13 deletions(-) > >>> > >>> diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md > >>> index 806c2914f13f..d12d30e192a8 100644 > >>> --- a/RECIPE-API-CHANGELOG.md > >>> +++ b/RECIPE-API-CHANGELOG.md > >>> @@ -292,3 +292,7 @@ Migrate your patches so they can be applied > >>> with "git am", or > >>> Kernel image name for arm64 platforms is vmlinux now. Image > >>> format was not changed (uncompressed executable) but now it is > >>> named correctly. + > >>> +### Change default "TARGET_NAME:TAG" when building container > >>> images + > >>> +The "TARGET_NAME" used to be rather static and the TAG was always > >>> "latest", now the values are derived from recipe variables PN, PV, > >>> PR. diff --git a/doc/user_manual.md b/doc/user_manual.md index > >>> cf7dc2fee35e..e5c07bd41fc5 100644 --- a/doc/user_manual.md > >>> +++ b/doc/user_manual.md > >>> @@ -300,14 +300,14 @@ bitbake mc:qemuarm-buster:isar-image-base > >>> - Load the container image into the Docker Daemon > >>> > >>> ``` > >>> -docker load -i > >>> build/tmp/deploy/images/qemuarm/debian-buster-armhf-docker-archive.tar.xz > >>> +docker load -i > >>> build/tmp/deploy/images/qemuarm/isar-image-base-debian-buster-armhf-1.0-r0-docker-archive.tar.xz > >>> ``` > >>> - Run a container using the container image (following commands > >>> starting with `#~:` are to be run in the container) > >>> > >>> ``` > >>> -docker run --rm -ti --volume "$(pwd):/build" > >>> isar-buster-armhf:latest +docker run --rm -ti --volume > >>> "$(pwd):/build" isar-image-base-debian-buster-armhf:1.0-r0 ``` > >>> > >>> --- > >>> @@ -1070,14 +1070,14 @@ bitbake -c do_populate_sdk > >>> mc:qemuarm-buster:isar-image-base > >>> - Load the SDK container image into the Docker Daemon > >>> > >>> ``` > >>> -docker load -i > >>> build/tmp/deploy/images/qemuarm/sdk-debian-buster-armhf-docker-archive.tar.xz > >>> +docker load -i > >>> build/tmp/deploy/images/qemuarm/isar-image-base-debian-buster-armhf-1.0-r0-docker-archive.tar.xz > >>> ``` > >>> - Run a container using the SDK container image (following > >>> commands starting with `#~:` are to be run in the container) > >>> > >>> ``` > >>> -docker run --rm -ti --volume "$(pwd):/build" > >>> isar-sdk-buster-armhf:latest +docker run --rm -ti --volume > >>> "$(pwd):/build" isar-image-base-debian-buster-armhf:1.0-r0 ``` > >>> > >>> - Check that cross toolchains are installed > >>> diff --git a/meta/classes/container-img.bbclass > >>> b/meta/classes/container-img.bbclass index > >>> 79ef3e8d756b..9928a58ef53d 100644 --- > >>> a/meta/classes/container-img.bbclass +++ > >>> b/meta/classes/container-img.bbclass @@ -9,10 +9,8 @@ > >>> do_container_image[stamp-extra-info] = "${DISTRO}-${MACHINE}" > >>> do_container_image[vardeps] += "CONTAINER_FORMATS" > >>> do_container_image(){ > >>> - rootfs_id="${DISTRO}-${DISTRO_ARCH}" > >>> - > >>> bbdebug 1 "Generate container image in these formats: > >>> ${CONTAINER_FORMATS}" > >>> - containerize_rootfs "${IMAGE_ROOTFS}" "${rootfs_id}" > >>> "${CONTAINER_FORMATS}" > >>> + containerize_rootfs "${IMAGE_ROOTFS}" "${CONTAINER_FORMATS}" > >>> } > >>> > >>> addtask container_image before do_image after do_image_tools > >>> diff --git a/meta/classes/image-container-extension.bbclass > >>> b/meta/classes/image-container-extension.bbclass index > >>> 0e70ba9c1405..4f93d30219f9 100644 --- > >>> a/meta/classes/image-container-extension.bbclass +++ > >>> b/meta/classes/image-container-extension.bbclass @@ -6,15 +6,16 @@ > >>> # This class extends the image.bbclass for containerizing the > >>> root filesystem. > >>> CONTAINER_FORMATS ?= "docker-archive" > >>> +CONTAINER_TARGET_NAME ?= "${PN}-${DISTRO}-${DISTRO_ARCH}" > >> > >> In a comment to patch v2 you mentioned your plan to call it > >> "CONTAINER_TARGET_IMAGE". Have you changed your mind or is it just > >> an error? > > > > Oh right. Picked the wrong one. > > > >>> +CONTAINER_TAG ?= "${PV}-${PR}" > >> > >> Although only container images can have tags and not containers, I > >> still find this name misleading for container newbies (and some > >> ISAR maintainers will probably be). Your argument that "docker > >> tag" only uses "TAG" doesn't convince me ;-) > > > > Ok ... at least you give some insights on the other comment. But you > > started the "CONTAINER_" thingy. Can containers (not images) have > > the format docker-archive ? ;) > > You're fully right. Shame on me :-/ > > Do as I say, not as I do ;-P > > > > >> In general I'd say that both "CONTAINER_TARGET_NAME" and > >> "CONTAINER_TAG" should start with the prefix "CONTAINER_IMAGE_". > >> Both the name and the tag are attributes of a container image. > >> > >> Therefore I'd rather use "CONTAINER_IMAGE_NAME" and > >> "CONTAINER_IMAGE_TAG". But since I'm neither a power user nor a > >> power contributor, my opinion might not be that important. > > > > Usage: docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] > > > > "CONTAINER_IMAGE_" because that is the name of the class ... and > > pretty close to how other classes expose their "configurables" > > except for the weird extension pattern you took over wrong from > > that truly weird SDK. > > > > Which gives me > > > > CONTAINER_IMAGE_FORMATS > > I agree that for consistency you would have to rename this variable. > Even if it breaks the interface, I think it's worth since this > feature is not being widely used yet. > > > CONTAINER_IMAGE_TAG > > CONTAINER_IMAGE_TARGET_IMAGE > > Why CONTAINER_IMAGE_TARGET_IMAGE? Why not CONTAINER_IMAGE_NAME? > "docker tag" needs the "TARGET_" prefix because it needs to > differentiate it from the source image. > > In fact if you look for the nowadays right manpage "man > docker-image-tag" you'll get an even "better" mixture of > "SOURCE_IMAGE", "TARGET_IMAGE" AND "NAME". But at least the > terminology "NAME" and "TAG" appears here clearly defined. Ok ... read this too late for v5. I will take NAME because it is used in that docker manpage .. and it is somewhat appearing here Usage: podman tag IMAGE TARGET_NAME [TARGET_NAME...] So CONTAINER_IMAGE_NAME:CONTAINER_IMAGE_TAG ... before anyone goes and looks it up in oci standards. Henning > Silvano > > > > > While the last one seems pretty silly ... i will still take it > > because is is prefix+suffix following a clear pattern. > > > > Henning > > > >> Silvano > >> > >>> > >>> containerize_rootfs() { > >>> local cmd="/bin/dash" > >>> local empty_tag="empty" > >>> - local tag="latest" > >>> + local tag="${CONTAINER_TAG}" > >>> local oci_img_dir="${WORKDIR}/oci-image" > >>> local rootfs="$1" > >>> - local rootfs_id="$2" > >>> - local container_formats="$3" > >>> + local container_formats="$2" > >>> > >>> # prepare OCI container image skeleton > >>> bbdebug 1 "prepare OCI container image skeleton" > >>> @@ -42,9 +43,9 @@ containerize_rootfs() { > >>> sudo chown --recursive $(id -u):$(id -g) "${oci_img_dir}" > >>> > >>> # convert the OCI container image to the desired format > >>> - image_name="isar-${rootfs_id}" > >>> + image_name="${CONTAINER_TARGET_NAME}" > >>> for image_type in ${CONTAINER_FORMATS} ; do > >>> - > >>> image_archive="${DEPLOY_DIR_IMAGE}/${rootfs_id}-${image_type}.tar" > >>> + > >>> image_archive="${DEPLOY_DIR_IMAGE}/${image_name}-${tag}-${image_type}.tar" > >>> bbdebug 1 "Creating container image type: ${image_type}" case > >>> "${image_type}" in "docker-archive" | "oci-archive") > >>> diff --git a/meta/classes/image-sdk-extension.bbclass > >>> b/meta/classes/image-sdk-extension.bbclass index > >>> 426b92595554..fa15b588068c 100644 --- > >>> a/meta/classes/image-sdk-extension.bbclass +++ > >>> b/meta/classes/image-sdk-extension.bbclass @@ -80,7 +80,7 @@ > >>> do_populate_sdk() { # 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-${DISTRO}-${DISTRO_ARCH}" "${sdk_container_formats}" > >>> + containerize_rootfs "${SDKCHROOT_DIR}" > >>> "${sdk_container_formats}" fi > >>> } > >>> > >>> > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 4/4] classes: fix comment in container-img class 2021-08-02 11:54 [PATCH v3 0/4] Allow better control over container tags Henning Schild ` (2 preceding siblings ...) 2021-08-02 11:54 ` [PATCH v3 3/4] classes: allow more control over container image name and tag Henning Schild @ 2021-08-02 11:54 ` Henning Schild 3 siblings, 0 replies; 9+ messages in thread From: Henning Schild @ 2021-08-02 11:54 UTC (permalink / raw) To: isar-users; +Cc: Silvano Cirujano Cuesta, Henning Schild The task name is in fact a different one, the function sits in another class. Signed-off-by: Henning Schild <henning.schild@siemens.com> --- meta/classes/container-img.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/container-img.bbclass b/meta/classes/container-img.bbclass index 9928a58ef53d..edd0e7f8f932 100644 --- a/meta/classes/container-img.bbclass +++ b/meta/classes/container-img.bbclass @@ -3,7 +3,7 @@ # # SPDX-License-Identifier: MIT # -# This class provides the task 'containerize_rootfs' +# This class provides the task 'container_image' # to create container images containing the target rootfs. do_container_image[stamp-extra-info] = "${DISTRO}-${MACHINE}" -- 2.31.1 ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-08-05 16:01 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-08-02 11:54 [PATCH v3 0/4] Allow better control over container tags Henning Schild 2021-08-02 11:54 ` [PATCH v3 1/4] classes: make sure container extension can run multiple times Henning Schild 2021-08-02 11:54 ` [PATCH v3 2/4] classes: simplify tag handling in container class Henning Schild 2021-08-02 11:54 ` [PATCH v3 3/4] classes: allow more control over container image name and tag Henning Schild 2021-08-02 12:26 ` Silvano Cirujano Cuesta 2021-08-02 13:14 ` Henning Schild 2021-08-02 13:27 ` Silvano Cirujano Cuesta 2021-08-05 16:01 ` Henning Schild 2021-08-02 11:54 ` [PATCH v3 4/4] classes: fix comment in container-img class Henning Schild
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox