From d2dc36988fc0d2304c655a4f2866473351350eeb Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Tue, 28 May 2019 08:59:05 +0200 Subject: Revert "image_type_tezi.bbclass: drop some useless code" With thud I still see "basehash value changed" errors, even though the commit e74158b6c is available in the OE thud branch. This reverts commit 9f84ffa4b42b4d518191116614aef269ab227f0e. Signed-off-by: Max Krummenacher --- classes/image_type_tezi.bbclass | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/classes/image_type_tezi.bbclass b/classes/image_type_tezi.bbclass index 36f8815..e612bc5 100644 --- a/classes/image_type_tezi.bbclass +++ b/classes/image_type_tezi.bbclass @@ -26,6 +26,10 @@ UBOOT_BINARY_TEZI_RAWNAND ?= "${UBOOT_BINARY}" UBOOT_ENV_TEZI_EMMC ?= "uEnv.txt" UBOOT_ENV_TEZI_RAWNAND ?= "uEnv.txt" +# For generic images this is not yet defined +TDX_VERDATE ?= "-${DATE}" +TDX_VERDATE[vardepsexclude] = "DATE" + # Append tar command to store uncompressed image size to ${T}. # If a custom rootfs type is used make sure this file is created # before compression. @@ -204,13 +208,16 @@ def rootfs_tezi_json(d, flash_type, flash_data, json_file, uenv_file): from datetime import datetime deploydir = d.getVar('DEPLOY_DIR_IMAGE') + # Patched in IMAGE_CMD_teziimg() below + release_date = "%release_date%" + data = OrderedDict({ "config_format": 2, "autoinstall": False }) # Use image recipes SUMMARY/DESCRIPTION/PV... data["name"] = d.getVar('SUMMARY') data["description"] = d.getVar('DESCRIPTION') data["version"] = d.getVar('PV') - data["release_date"] = datetime.strptime(d.getVar('DATE'), '%Y%m%d').date().isoformat() + data["release_date"] = release_date data["u_boot_env"] = uenv_file if os.path.exists(os.path.join(deploydir, "prepare.sh")): data["prepare_script"] = "prepare.sh" @@ -246,8 +253,6 @@ def rootfs_tezi_json(d, flash_type, flash_data, json_file, uenv_file): json.dump(data, outfile, indent=4) bb.note("Toradex Easy Installer metadata file {0} written.".format(json_file)) -rootfs_tezi_json[vardepsexclude] = "DATE" - python rootfs_tezi_run_json() { flash_type = d.getVar('TORADEX_FLASH_TYPE') if flash_type is None: @@ -277,7 +282,14 @@ do_image_teziimg[prefuncs] += "create_tezi_bootfs rootfs_tezi_run_json" IMAGE_CMD_teziimg () { bbnote "Create Toradex Easy Installer tarball" + # Fixup release_date in image.json, convert ${TDX_VERDATE} to isoformat + # This works around the non fatal ERRORS: "the basehash value changed" when DATE is referenced + # in a python prefunction to do_image + ISODATE=$(echo ${TDX_VERDATE} | sed 's/.\(....\)\(..\)\(..\).*/\1-\2-\3/') + sed -i "s/%release_date%/$ISODATE/" ${DEPLOY_DIR_IMAGE}/image.json + cd ${DEPLOY_DIR_IMAGE} + case "${TORADEX_FLASH_TYPE}" in rawnand) # The first transform strips all folders from the files to tar, the @@ -285,7 +297,7 @@ IMAGE_CMD_teziimg () { ${IMAGE_CMD_TAR} \ --transform='s/.*\///' \ --transform 's,^,${IMAGE_NAME}-Tezi_${PV}/,' \ - -chf ${IMGDEPLOYDIR}/${IMAGE_NAME}-Tezi_${PV}-${DATE}.tar \ + -chf ${IMGDEPLOYDIR}/${IMAGE_NAME}-Tezi_${PV}${TDX_VERDATE}.tar \ image.json toradexlinux.png marketing.tar prepare.sh wrapup.sh \ ${SPL_BINARY} ${UBOOT_BINARY_TEZI_RAWNAND} ${UBOOT_ENV_TEZI_RAWNAND} ${TEZI_KERNEL_IMAGETYPE} ${TEZI_KERNEL_DEVICETREE} \ ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${TEZI_ROOT_SUFFIX} @@ -296,7 +308,7 @@ IMAGE_CMD_teziimg () { ${IMAGE_CMD_TAR} \ --transform='s/.*\///' \ --transform 's,^,${IMAGE_NAME}-Tezi_${PV}/,' \ - -chf ${IMGDEPLOYDIR}/${IMAGE_NAME}-Tezi_${PV}-${DATE}.tar \ + -chf ${IMGDEPLOYDIR}/${IMAGE_NAME}-Tezi_${PV}${TDX_VERDATE}.tar \ image.json toradexlinux.png marketing.tar prepare.sh wrapup.sh \ ${SPL_BINARY} ${UBOOT_BINARY_TEZI_EMMC} ${UBOOT_ENV_TEZI_EMMC} ${IMGDEPLOYDIR}/${IMAGE_NAME}.bootfs.tar.xz \ ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${TEZI_ROOT_SUFFIX} @@ -347,10 +359,19 @@ IMAGE_CMD_teziimg-distro () { bbnote "Create Toradex Easy Installer tarball" cd ${DEPLOY_DIR_IMAGE} + + # Fixup release_date in image.json, convert ${DATE} to isoformat + # This works around the non fatal ERRORS: "the basehash value changed" when DATE is referenced + # in a python prefunction to do_image + ISODATE=$(echo ${DATE} | sed 's/\(....\)\(..\)\(..\)/\1-\2-\3/') + for TEZI_IMAGE_JSON in ${TEZI_IMAGE_JSON_FILES}; do + sed -i "s/%release_date%/$ISODATE/" ${DEPLOY_DIR_IMAGE}/${TEZI_IMAGE_JSON} + done + ${IMAGE_CMD_TAR} \ --transform='s/.*\///' \ --transform 's,^,${IMAGE_NAME}-Tezi_${PV}/,' \ - -chf ${IMGDEPLOYDIR}/${IMAGE_NAME}-Tezi_${PV}-${DATE}.tar \ + -chf ${IMGDEPLOYDIR}/${IMAGE_NAME}-Tezi_${PV}${TDX_VERDATE}.tar \ ${TEZI_IMAGE_JSON_FILES} toradexlinux.png marketing.tar prepare.sh wrapup.sh \ ${TEZI_IMAGE_UBOOT_FILES} ${IMGDEPLOYDIR}/${IMAGE_NAME}.bootfs.tar.xz \ ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${TEZI_ROOT_SUFFIX} -- cgit v1.2.3