public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: cedric_hombourger@mentor.com
To: isar-users <isar-users@googlegroups.com>
Subject: Re: [PATCH v2] classes/image-postproc: Add image version
Date: Tue, 21 Apr 2020 12:28:28 -0700 (PDT)	[thread overview]
Message-ID: <f8bdcad7-3efe-485a-85ee-fda69c2d616f@googlegroups.com> (raw)
In-Reply-To: <20200421204939.0ddaa020@md1za8fc.ad001.siemens.net>


[-- Attachment #1.1: Type: text/plain, Size: 4057 bytes --]



On Tuesday, April 21, 2020 at 8:49:43 PM UTC+2, Henning Schild wrote:
>
> On Tue, 21 Apr 2020 17:01:34 +0200 
> "[ext] Q. Gylstorff" <Quirin....@siemens.com <javascript:>> wrote: 
>
> > From: Quirin Gylstorff <quirin....@siemens.com <javascript:>> 
> > 
> > Add the image version as additional identifier to /etc/os-release. 
> > This allows in a update scenario an easier identification of the 
> > the currently used image. 
> > 
> > Signed-off-by: Quirin Gylstorff <quirin....@siemens.com <javascript:>> 
> > --- 
> >  meta/classes/image-postproc-extension.bbclass | 9 ++++++++- 
> >  1 file changed, 8 insertions(+), 1 deletion(-) 
> > 
> > diff --git a/meta/classes/image-postproc-extension.bbclass 
> > b/meta/classes/image-postproc-extension.bbclass index 
> > 7280202..1091fa4 100644 --- 
> > a/meta/classes/image-postproc-extension.bbclass +++ 
> > b/meta/classes/image-postproc-extension.bbclass @@ -4,10 +4,12 @@ 
> >  update_etc_os_release() { 
> >      OS_RELEASE_BUILD_ID="" 
> >      OS_RELEASE_VARIANT="" 
> > +    OS_RELEASE_VARIANT_VERSION="" 
> >      while true; do 
> >          case "$1" in 
> >          --build-id) OS_RELEASE_BUILD_ID=$2; shift ;; 
> >          --variant) OS_RELEASE_VARIANT=$2; shift ;; 
> > +        --version) OS_RELEASE_VARIANT_VERSION=$2; shift ;; 
> >          -*) bbfatal "$0: invalid option specified: $1" ;; 
> >          *) break ;; 
> >          esac 
> > @@ -24,6 +26,11 @@ update_etc_os_release() { 
> >          echo "VARIANT=\"${OS_RELEASE_VARIANT}\"" | \ 
> >              sudo tee -a '${IMAGE_ROOTFS}/etc/os-release' 
> >      fi 
> > +    if [ -n "${OS_RELEASE_VARIANT_VERSION}" ]; then 
> > +        sudo sed -i '/^ISAR_IMAGE_VERSION=.*/d' 
> > '${IMAGE_ROOTFS}/etc/os-release' 
> > +        echo "VARIANT_VERSION=\"${PV}\"" | \ 
> > +            sudo tee -a '${IMAGE_ROOTFS}/etc/os-release' 
>
> Looking at 
> https://www.freedesktop.org/software/systemd/man/os-release.html 
>
> VARIANT_VERSION does not show up in the list of 
> "The following OS identifications parameters may be set using 
> os-release" 
>
> So i would conclude we may not use it. I would suggest either finding a 
> variable that we may use and debian does not use yet. 
>

for everyone's benefits, Henning and I were discussing this offline. from 
my perspective, the freedesktop folks aren't that rigid. 2 quotes from them:

(1) The file is extensible? Awesome! I want a new field XYZ= in it! Sure, 
it's extensible, and we are happy if distributions extend it. Please prefix 
your keys with your distribution's name however.

(2) If you are working on a small/embedded distribution, or a legacy-free 
distribution we encourage you to adopt only this file and not establish any 
other per-distro release file.

I am guilty of adding custom fields in the Debian-based distro we are 
producing over here. I had missed the recommendation to prefix new keys 
with the name of the distro. That's a good thing to do for sure.

With that said, I am not saying that Isar should or should not add custom 
entries there. Just wanted to say that it is not forbidden
Ref: http://0pointer.de/blog/projects/os-release (link found from: 
http://0pointer.de/blog/projects/os-release)

Cedric


> Or the layer with the requirement looks at BUILD_ID and sets a custom 
> ISAR_RELEASE_CMD to inject their clue. 
> Here is an example where people decided to include the date of a build 
>
> ISAR_RELEASE_CMD = "echo $(git -C ${LAYERDIR_isar-XXX} describe --long 
> --dirty --always) $(date --utc --rfc-3339=seconds)" 
>
> Henning 
>
> > +    fi 
> >  } 
> >   
> >  ROOTFS_POSTPROCESS_COMMAND =+ "image_postprocess_configure" 
> > @@ -43,7 +50,7 @@ ROOTFS_POSTPROCESS_COMMAND =+ 
> > "image_postprocess_mark" image_postprocess_mark() { 
> >      BUILD_ID=$(get_build_id) 
> >      update_etc_os_release \ 
> > -        --build-id "${BUILD_ID}" --variant "${DESCRIPTION}" 
> > +        --build-id "${BUILD_ID}" --variant "${DESCRIPTION}" 
> > --version "${PV}" } 
> >   
> >  ROOTFS_POSTPROCESS_COMMAND =+ "image_postprocess_machine_id" 
>
>

[-- Attachment #1.2: Type: text/html, Size: 6406 bytes --]

  parent reply	other threads:[~2020-04-21 19:28 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-14 14:46 [PATCH] classes/image_postprocessing: Add variant version to os_release Q. Gylstorff
2020-04-14 14:55 ` Jan Kiszka
2020-04-21 15:01   ` [PATCH v2] classes/image-postproc: Add image version Q. Gylstorff
2020-04-21 18:49     ` Henning Schild
2020-04-21 18:57       ` Henning Schild
2020-04-21 19:28       ` cedric_hombourger [this message]
2020-04-22  8:36         ` Gylstorff Quirin
2020-04-22 10:51           ` Henning Schild
2020-05-07 19:36     ` Baurzhan Ismagulov

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=f8bdcad7-3efe-485a-85ee-fda69c2d616f@googlegroups.com \
    --to=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