aboutsummaryrefslogtreecommitdiffstats
path: root/classes
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2016-12-05 18:55:17 +0200
committerSamuli Piippo <samuli.piippo@qt.io>2017-01-02 06:41:21 +0000
commit0303ce3b821d1402c856fd637ef51d8bc3af04bf (patch)
tree57439d7e7476f08836673e7ce112feb311f96cf0 /classes
parent5c5096f39a83476d7d2f6d95cad3a3c29c01ffbb (diff)
qbsp: add separate license component
Add license component that can be used to show EULA or similar license terms to user before installation. As an example, the NXP EULA is used for all imx based devices. Task-number: QTBUG-57413 Change-Id: Ib593a14ff713a637082a665e7a33a48f1394e37a Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io> Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Diffstat (limited to 'classes')
-rw-r--r--classes/qbsp.bbclass87
1 files changed, 54 insertions, 33 deletions
diff --git a/classes/qbsp.bbclass b/classes/qbsp.bbclass
index 6707ce37..3216edb8 100644
--- a/classes/qbsp.bbclass
+++ b/classes/qbsp.bbclass
@@ -36,6 +36,8 @@ SRC_URI = "\
file://image_package.xml \
file://toolchain_package.xml \
file://toolchain_installscript.qs \
+ file://license_package.xml \
+ file://NXP-EULA \
"
INHIBIT_DEFAULT_DEPS = "1"
@@ -49,8 +51,10 @@ QBSP_VERSION ?= "${PV}${VERSION_AUTO_INCREMENT}"
QBSP_INSTALLER_COMPONENT ?= "${MACHINE}"
QBSP_INSTALL_PATH ?= "/Extras/${MACHINE}"
-QBSP_LICENSE_DEPENDENCY ?= ""
-QBSP_LICENSE_DEPENDENCY_imx = "qt.embedded.b2qt.freescalelicense"
+QBSP_LICENSE_FILE ?= ""
+QBSP_LICENSE_NAME ?= ""
+QBSP_LICENSE_FILE_imx = "NXP-EULA"
+QBSP_LICENSE_NAME_imx = "NXP Semiconductors Software License Agreement"
VERSION_AUTO_INCREMENT = "-0-${DATETIME}"
VERSION_AUTO_INCREMENT[vardepsexclude] = "DATETIME"
@@ -68,60 +72,77 @@ SDK_MACHINE = "${@d.getVar('SDKMACHINE', True) or '${SDK_ARCH}'}"
B = "${WORKDIR}/build"
patch_installer_files() {
- sed -e 's#@NAME@#${DEPLOY_CONF_NAME}#' \
- -e 's#@VERSION@#${QBSP_VERSION}#' \
- -e 's#@RELEASEDATE@#${RELEASEDATE}#' \
- -e 's#@MACHINE@#${MACHINE}#' \
- -e 's#@SYSROOT@#${REAL_MULTIMACH_TARGET_SYS}#' \
- -e 's#@TARGET@#${TARGET_SYS}#' \
- -e 's#@ABI@#${ABI}#' \
- -e 's#@INSTALLPATH@#${QBSP_INSTALL_PATH}#' \
- -e 's#@SDKPATH@#${SDKPATH}#' \
- -e 's#@SDKFILE@#${SDK_NAME}#' \
- -e 's#@LICENSEDEPENDENCY@#${QBSP_LICENSE_DEPENDENCY}#' \
+ LICENSE_DEPENDENCY=""
+ if [ -n "${QBSP_LICENSE_FILE}" ]; then
+ LICENSE_DEPENDENCY="${QBSP_INSTALLER_COMPONENT}.license"
+ fi
+
+ sed -e "s#@NAME@#${DEPLOY_CONF_NAME}#" \
+ -e "s#@VERSION@#${QBSP_VERSION}#" \
+ -e "s#@RELEASEDATE@#${RELEASEDATE}#" \
+ -e "s#@MACHINE@#${MACHINE}#" \
+ -e "s#@SYSROOT@#${REAL_MULTIMACH_TARGET_SYS}#" \
+ -e "s#@TARGET@#${TARGET_SYS}#" \
+ -e "s#@ABI@#${ABI}#" \
+ -e "s#@INSTALLPATH@#${QBSP_INSTALL_PATH}#" \
+ -e "s#@SDKPATH@#${SDKPATH}#" \
+ -e "s#@SDKFILE@#${SDK_NAME}#" \
+ -e "s#@LICENSEDEPENDENCY@#${LICENSE_DEPENDENCY}#" \
+ -e "s#@LICENSEFILE@#${QBSP_LICENSE_FILE}#" \
+ -e "s#@LICENSENAME@#${QBSP_LICENSE_NAME}#" \
-i ${1}/*
}
prepare_qbsp() {
# Toolchain component
- TOOLCHAIN_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}.toolchain"
- mkdir -p ${TOOLCHAIN_PATH}/meta
- mkdir -p ${TOOLCHAIN_PATH}/data
+ COMPONENT_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}.toolchain"
+ mkdir -p ${COMPONENT_PATH}/meta
+ mkdir -p ${COMPONENT_PATH}/data
- cp ${WORKDIR}/toolchain_package.xml ${TOOLCHAIN_PATH}/meta/package.xml
- cp ${WORKDIR}/toolchain_installscript.qs ${TOOLCHAIN_PATH}/meta/installscript.qs
- patch_installer_files ${TOOLCHAIN_PATH}/meta
+ cp ${WORKDIR}/toolchain_package.xml ${COMPONENT_PATH}/meta/package.xml
+ cp ${WORKDIR}/toolchain_installscript.qs ${COMPONENT_PATH}/meta/installscript.qs
+ patch_installer_files ${COMPONENT_PATH}/meta
mkdir -p ${B}/toolchain/${QBSP_INSTALL_PATH}/toolchain
- if [ "${SDK_POSTFIX}" == "7z" ]; then
+ if [ "${SDK_POSTFIX}" = "7z" ]; then
7z x ${DEPLOY_DIR}/sdk/${SDK_NAME} -o${B}/toolchain/${QBSP_INSTALL_PATH}/toolchain/
else
cp ${DEPLOY_DIR}/sdk/${SDK_NAME} ${B}/toolchain/${QBSP_INSTALL_PATH}/toolchain/
fi
cd ${B}/toolchain
- archivegen ${TOOLCHAIN_PATH}/data/toolchain.7z *
+ 7z a ${COMPONENT_PATH}/data/toolchain.7z *
# Image component
- IMAGE_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}.system"
- mkdir -p ${IMAGE_PATH}/meta
- mkdir -p ${IMAGE_PATH}/data
+ COMPONENT_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}.system"
+ mkdir -p ${COMPONENT_PATH}/meta
+ mkdir -p ${COMPONENT_PATH}/data
- cp ${WORKDIR}/image_package.xml ${IMAGE_PATH}/meta/package.xml
- patch_installer_files ${IMAGE_PATH}/meta
+ cp ${WORKDIR}/image_package.xml ${COMPONENT_PATH}/meta/package.xml
+ patch_installer_files ${COMPONENT_PATH}/meta
mkdir -p ${B}/images/${QBSP_INSTALL_PATH}/images
7z x ${DEPLOY_DIR_IMAGE}/${IMAGE_PACKAGE} -o${B}/images/${QBSP_INSTALL_PATH}/images/
cd ${B}/images
- archivegen ${IMAGE_PATH}/data/image.7z *
+ 7z a ${COMPONENT_PATH}/data/image.7z *
+
+ # License component
+ if [ -n "${QBSP_LICENSE_FILE}" ]; then
+ COMPONENT_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}.license"
+ mkdir -p ${COMPONENT_PATH}/meta
+
+ cp ${WORKDIR}/license_package.xml ${COMPONENT_PATH}/meta/package.xml
+ cp ${WORKDIR}/${QBSP_LICENSE_FILE} ${COMPONENT_PATH}/meta/
+ patch_installer_files ${COMPONENT_PATH}/meta
+ fi
# Base component
- BASE_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}"
- mkdir -p ${BASE_PATH}/meta
+ COMPONENT_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}"
+ mkdir -p ${COMPONENT_PATH}/meta
- cp ${WORKDIR}/base_package.xml ${BASE_PATH}/meta/package.xml
- patch_installer_files ${BASE_PATH}/meta
+ cp ${WORKDIR}/base_package.xml ${COMPONENT_PATH}/meta/package.xml
+ patch_installer_files ${COMPONENT_PATH}/meta
}
create_qbsp() {
@@ -131,10 +152,10 @@ create_qbsp() {
repogen -p ${B}/pkg ${B}/repository
mkdir -p ${DEPLOY_DIR}/qbsp
- rm -f ${DEPLOY_DIR}/qbsp/${PN}-${MACHINE}.qbsp
+ rm -f ${DEPLOY_DIR}/qbsp/${PN}-${SDK_MACHINE}-${MACHINE}.qbsp
cd ${B}/repository
- archivegen ${DEPLOY_DIR}/qbsp/${PN}-${SDK_MACHINE}-${MACHINE}.qbsp *
+ 7z a ${DEPLOY_DIR}/qbsp/${PN}-${SDK_MACHINE}-${MACHINE}.qbsp *
}
python do_qbsp() {