public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: "Maxim Yu. Osipov" <mosipov@ilbers.de>
To: Cedric Hombourger <Cedric_Hombourger@mentor.com>,
	isar-users@googlegroups.com
Subject: Re: [PATCH v3] image: include image name in the kernel/initrd image copies
Date: Fri, 26 Oct 2018 15:58:46 +0300	[thread overview]
Message-ID: <012d3fdc-9740-938d-da25-e826efdce0de@ilbers.de> (raw)
In-Reply-To: <1540478818-257-1-git-send-email-Cedric_Hombourger@mentor.com>

On 10/25/18 5:46 PM, Cedric Hombourger wrote:
> The kernel and initrd images are really image-specific (especially the later
> as the initrd is created/updated as packages get installed into the root
> file-system). Make sure we retain a per-image copy of these images in the
> image deploy directory by inserting the name of the image (${PN}) into the
> full name of the artifacts (set in ${KERNEL_IMAGE} and ${INITRD_IMAGE}).
> 
> In addition, an IMAGE_FULLNAME variable is introduced to combine the three
> components of the image name: the (base) name of the image, the name of the
> distribution and the name of the machine. This variable is now used in the
> start_vm script and the image classes (image, ext4-img and wic-img).

Applied to the 'next',

Regards,
Maxim.

> Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
> ---
>   RECIPE-API-CHANGELOG.md       | 24 ++++++++++++++++++++++++
>   meta/classes/ext4-img.bbclass |  2 +-
>   meta/classes/image.bbclass    |  7 ++++---
>   meta/classes/wic-img.bbclass  |  6 +++---
>   4 files changed, 32 insertions(+), 7 deletions(-)
> 
> diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
> index 8d93ef4..c7b7552 100644
> --- a/RECIPE-API-CHANGELOG.md
> +++ b/RECIPE-API-CHANGELOG.md
> @@ -3,6 +3,30 @@ Recipe API Changelog
>   
>   Baseline: Release v0.5
>   
> +Upcoming changes (v0.7)
> +-----------------------
> +
> +### more consistent artifact names
> +
> +multiconfig image artifacts are all placed in tmp/deploy/images. They include
> +kernel, initrd and ext4/wic images. A consistent naming scheme is now used:
> +`IMAGE-DISTRO-MACHINE.TYPE`. This scheme was already used for ext4/wic images
> +so no visible changes there. Kernel and initrd images are however affected; for
> +instance:
> +
> +```
> +vmlinuz-4.9.0-8-armmp_debian-stretch-qemuarm
> +```
> +
> +is now
> +
> +```
> +isar-image-base-debian-stretch-qemuarm.vmlinuz-4.9.0-8-armmp
> +```
> +
> +It should be noted that the `KERNEL_IMAGE` and `INITRD_IMAGE` variables were
> +updated hence recipes using them shouldn't be impacted per se.
> +
>   Changes in v0.6
>   ---------------
>   
> diff --git a/meta/classes/ext4-img.bbclass b/meta/classes/ext4-img.bbclass
> index 78036a2..29e5f77 100644
> --- a/meta/classes/ext4-img.bbclass
> +++ b/meta/classes/ext4-img.bbclass
> @@ -1,7 +1,7 @@
>   # This software is a part of ISAR.
>   # Copyright (C) 2015-2017 ilbers GmbH
>   
> -EXT4_IMAGE_FILE = "${DEPLOY_DIR_IMAGE}/${PN}-${DISTRO}-${MACHINE}.ext4.img"
> +EXT4_IMAGE_FILE = "${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.ext4.img"
>   
>   do_ext4_image[stamp-extra-info] = "${DISTRO}-${MACHINE}"
>   
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index 05ff06f..ad19f3d 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -7,6 +7,9 @@ IMAGE_ROOTFS   = "${WORKDIR}/rootfs"
>   
>   IMAGE_INSTALL += "${@ ("linux-image-" + d.getVar("KERNEL_NAME", True)) if d.getVar("KERNEL_NAME", True) else ""}"
>   
> +# Name of the image including distro&machine names
> +IMAGE_FULLNAME = "${PN}-${DISTRO}-${MACHINE}"
> +
>   # These variables are used by wic and start_vm
>   KERNEL_IMAGE ?= "${@get_image_name(d, 'vmlinuz')[1]}"
>   INITRD_IMAGE ?= "${@get_image_name(d, 'initrd.img')[1]}"
> @@ -21,9 +24,7 @@ def get_image_name(d, name_link):
>       path_link = os.path.join(S, name_link)
>       if os.path.exists(path_link):
>           base = os.path.basename(os.path.realpath(path_link))
> -        full = base
> -        full += "_" + d.getVar("DISTRO", True)
> -        full += "-" + d.getVar("MACHINE", True)
> +        full = d.getVar("IMAGE_FULLNAME", True) + "." + base
>           return [base, full]
>       if os.path.islink(path_link):
>           return get_image_name(d, os.path.relpath(os.path.realpath(path_link),
> diff --git a/meta/classes/wic-img.bbclass b/meta/classes/wic-img.bbclass
> index d0747e2..e7527c8 100644
> --- a/meta/classes/wic-img.bbclass
> +++ b/meta/classes/wic-img.bbclass
> @@ -63,7 +63,7 @@ addtask do_rootfs_wicenv after do_copy_boot_files before do_wic_image
>   do_rootfs_wicenv[vardeps] += "${WICVARS}"
>   do_rootfs_wicenv[prefuncs] = 'set_image_size'
>   
> -WIC_IMAGE_FILE ="${DEPLOY_DIR_IMAGE}/${PN}-${DISTRO}-${MACHINE}.wic.img"
> +WIC_IMAGE_FILE ="${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.wic.img"
>   
>   do_build[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}"
>   
> @@ -81,10 +81,10 @@ do_wic_image() {
>       sudo -E chroot ${BUILDCHROOT_DIR} \
>           ${ISARROOT}/scripts/wic create ${WKS_FULL_PATH} \
>               --vars "${STAGING_DIR}/${MACHINE}/imgdata/" \
> -            -o /tmp/${PN}-${DISTRO}-${MACHINE}.wic/ \
> +            -o /tmp/${IMAGE_FULLNAME}.wic/ \
>               -e ${IMAGE_BASENAME} ${WIC_CREATE_EXTRA_ARGS}
>       sudo chown -R $(stat -c "%U" ${ISARROOT}) ${ISARROOT}/meta ${ISARROOT}/meta-isar ${ISARROOT}/scripts || true
> -    cp -f $(ls -t -1 ${BUILDCHROOT_DIR}/tmp/${PN}-${DISTRO}-${MACHINE}.wic/*.direct | head -1) ${WIC_IMAGE_FILE}
> +    cp -f $(ls -t -1 ${BUILDCHROOT_DIR}/tmp/${IMAGE_FULLNAME}.wic/*.direct | head -1) ${WIC_IMAGE_FILE}
>   }
>   
>   do_wic_image[file-checksums] += "${WKS_FULL_PATH}:True"
> 


-- 
Maxim Osipov
ilbers GmbH
Maria-Merian-Str. 8
85521 Ottobrunn
Germany
+49 (151) 6517 6917
mosipov@ilbers.de
http://ilbers.de/
Commercial register Munich, HRB 214197
General Manager: Baurzhan Ismagulov

  reply	other threads:[~2018-10-26 12:58 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-18  9:04 [PATCH] " Cedric Hombourger
2018-10-18  9:27 ` Jan Kiszka
2018-10-18  9:46   ` chombourger
2018-10-18 10:29     ` Jan Kiszka
2018-10-18 10:37       ` Jan Kiszka
2018-10-18 11:45       ` chombourger
2018-10-18 13:53         ` Jan Kiszka
2018-10-18 17:23           ` [PATCH v2] " Cedric Hombourger
2018-10-22 12:49             ` cedric_hombourger
2018-10-22 13:52               ` Jan Kiszka
2018-10-25 11:19                 ` Maxim Yu. Osipov
2018-10-25 11:20                   ` Cedric Hombourger
2018-10-22 15:24             ` Henning Schild
2018-10-25 11:50               ` Cedric Hombourger
2018-10-25 14:22                 ` Henning Schild
2018-10-25 14:46                   ` [PATCH v3] " Cedric Hombourger
2018-10-26 12:58                     ` Maxim Yu. Osipov [this message]
2018-11-09 11:04                       ` Jan Kiszka
2018-10-22 15:48       ` [PATCH] " Henning Schild

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=012d3fdc-9740-938d-da25-e826efdce0de@ilbers.de \
    --to=mosipov@ilbers.de \
    --cc=Cedric_Hombourger@mentor.com \
    --cc=isar-users@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox