]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
image-artifact-names.bbclass: add IMAGE_VERSION_SUFFIX_DATETIME which uses SOURCE_DAT...
authorMartin Jansa <martin.jansa@gmail.com>
Wed, 15 Nov 2023 11:37:40 +0000 (12:37 +0100)
committerMartin Jansa <martin.jansa@gmail.com>
Fri, 12 Jul 2024 07:36:57 +0000 (09:36 +0200)
* since https://git.openembedded.org/openembedded-core/diff/meta/classes/image-artifact-names.bbclass?id=abb0671d2cebfd7e8df94796404bbe9c7f961058
  which removed the
  bb.data.inherits_class('reproducible_build', d)
  condition this was already applied in all the builds which used DATETIME, so we
  can move it to the default value directly and DISTRO configs than can choose
  to use IMAGE_VERSION_SUFFIX_DATETIME as they want

[YOCTO #12937]

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
meta/classes-global/base.bbclass
meta/classes-recipe/image-artifact-names.bbclass

index b6940bbb6ff097c1f06aa00a79e3ed5b804cf330..ddede6ace71d8e00157e44f8d215daa87297b573 100644 (file)
@@ -225,6 +225,9 @@ do_unpack[postfuncs] += "create_source_date_epoch_stamp"
 
 def get_source_date_epoch_value(d):
     return oe.reproducible.epochfile_read(d.getVar('SDE_FILE'), d)
+def get_source_date_epoch_value_datetime(d):
+    import datetime
+    return datetime.datetime.fromtimestamp(int(get_source_date_epoch_value(d)), datetime.timezone.utc).strftime('%Y%m%d%H%M%S')
 
 def get_layers_branch_rev(d):
     revisions = oe.buildcfg.get_layer_revisions(d)
index d0f1b0dc5558d3c77207984c8194d8eeca73e0e0..2d18f34c9c7e8b679e63a258498b1ecdafcf6d19 100644 (file)
@@ -9,8 +9,9 @@
 ##################################################################
 
 IMAGE_BASENAME ?= "${PN}"
-IMAGE_VERSION_SUFFIX ?= "-${PKGE}-${PKGV}-${PKGR}-${DATETIME}"
-IMAGE_VERSION_SUFFIX[vardepsexclude] += "DATETIME SOURCE_DATE_EPOCH"
+IMAGE_VERSION_SUFFIX_DATETIME = "${@get_source_date_epoch_value_datetime(d)}"
+IMAGE_VERSION_SUFFIX_DATETIME[vardepvalue] = ""
+IMAGE_VERSION_SUFFIX ?= "-${PKGE}-${PKGV}-${PKGR}-${IMAGE_VERSION_SUFFIX_DATETIME}"
 IMAGE_NAME ?= "${IMAGE_BASENAME}${IMAGE_MACHINE_SUFFIX}${IMAGE_NAME_SUFFIX}"
 IMAGE_LINK_NAME ?= "${IMAGE_NAME}${IMAGE_VERSION_SUFFIX}"
 
@@ -32,10 +33,3 @@ IMAGE_MACHINE_SUFFIX ??= "-${MACHINE}"
 # by default) followed by additional suffices which describe the format (.ext4,
 # .ext4.xz, etc.).
 IMAGE_NAME_SUFFIX ??= ".rootfs"
-
-python () {
-    if bb.data.inherits_class('deploy', d) and d.getVar("IMAGE_VERSION_SUFFIX") == "-${DATETIME}":
-        import datetime
-        d.setVar("IMAGE_VERSION_SUFFIX", "-" + datetime.datetime.fromtimestamp(int(d.getVar("SOURCE_DATE_EPOCH")), datetime.timezone.utc).strftime('%Y%m%d%H%M%S'))
-        d.setVarFlag("IMAGE_VERSION_SUFFIX", "vardepvalue", "")
-}