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" > wrote: > > > From: Quirin Gylstorff > > > > > 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 > > > --- > > 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" > >