meta-digi-dey: implement class to generate installer zip package

It's not enabled by default. It's controlled by DEY_IMAGE_INSTALLER
variable in the project's local.conf.

https://jira.digi.com/browse/DEL-3591

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit is contained in:
Javier Viguera 2017-02-01 20:04:12 +01:00
parent 161117caf0
commit aaf2524a08
2 changed files with 58 additions and 0 deletions

View File

@ -0,0 +1,52 @@
#
# Generate DEY installer ZIP package
#
# Copyright 2017, Digi International Inc.
#
DEPENDS += "zip-native"
#
# Filesystem types allowed in the installer ZIP
#
FSTYPES_WHITELIST = " \
boot.ubifs \
boot.vfat \
ext4 \
recovery.ubifs \
recovery.vfat \
ubifs \
"
generate_installer_zip () {
# Get list of files to pack
INSTALLER_FILELIST="${DEPLOY_DIR_IMAGE}/install_linux_fw_sd.scr"
for ext in ${FSTYPES_WHITELIST}; do
if readlink -e "${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.${ext}" >/dev/null; then
INSTALLER_FILELIST="${INSTALLER_FILELIST} ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.${ext}"
fi
done
for ubconf in ${UBOOT_CONFIG}; do
if readlink -e "${DEPLOY_DIR_IMAGE}/u-boot-${ubconf}.${UBOOT_SUFFIX}" >/dev/null; then
INSTALLER_FILELIST="${INSTALLER_FILELIST} ${DEPLOY_DIR_IMAGE}/u-boot-${ubconf}.${UBOOT_SUFFIX}"
fi
done
# Create README file
cat >README.txt <<_EOF_
Digi Embedded Yocto kit installer
---------------------------------
_EOF_
md5sum ${INSTALLER_FILELIST} | sed -e "s,${DEPLOY_DIR_IMAGE}/,,g" >> README.txt
# Pack the files
zip -j ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.installer.zip ${INSTALLER_FILELIST} README.txt
# Create the symlink
if [ -n "${IMAGE_LINK_NAME}" ] && [ -e "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.installer.zip" ]; then
ln -sf ${IMAGE_NAME}.installer.zip ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.installer.zip
fi
}
IMAGE_POSTPROCESS_COMMAND += "generate_installer_zip; "

View File

@ -26,3 +26,9 @@ EXTRA_USERS_PARAMS += "\
# Create QT5 capable toolchain/SDK if 'dey-qt' image feature is enabled # Create QT5 capable toolchain/SDK if 'dey-qt' image feature is enabled
# #
inherit ${@bb.utils.contains("IMAGE_FEATURES", "dey-qt", "populate_sdk_qt5", "",d)} inherit ${@bb.utils.contains("IMAGE_FEATURES", "dey-qt", "populate_sdk_qt5", "",d)}
#
# Generate ZIP installer if configured in the project's local.conf
#
DEY_IMAGE_INSTALLER ?= "0"
inherit ${@base_conditional("DEY_IMAGE_INSTALLER", "1", "dey-image-installer", "", d)}