diff options
| author | Samuli Piippo <samuli.piippo@qt.io> | 2016-12-05 18:55:17 +0200 |
|---|---|---|
| committer | Samuli Piippo <samuli.piippo@qt.io> | 2017-01-02 06:41:21 +0000 |
| commit | 0303ce3b821d1402c856fd637ef51d8bc3af04bf (patch) | |
| tree | 57439d7e7476f08836673e7ce112feb311f96cf0 /classes | |
| parent | 5c5096f39a83476d7d2f6d95cad3a3c29c01ffbb (diff) | |
| download | meta-boot2qt-0303ce3b821d1402c856fd637ef51d8bc3af04bf.tar.gz | |
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.bbclass | 87 |
1 files changed, 54 insertions, 33 deletions
diff --git a/classes/qbsp.bbclass b/classes/qbsp.bbclass index 6707ce3..3216edb 100644 --- a/classes/qbsp.bbclass +++ b/classes/qbsp.bbclass | |||
| @@ -36,6 +36,8 @@ SRC_URI = "\ | |||
| 36 | file://image_package.xml \ | 36 | file://image_package.xml \ |
| 37 | file://toolchain_package.xml \ | 37 | file://toolchain_package.xml \ |
| 38 | file://toolchain_installscript.qs \ | 38 | file://toolchain_installscript.qs \ |
| 39 | file://license_package.xml \ | ||
| 40 | file://NXP-EULA \ | ||
| 39 | " | 41 | " |
| 40 | 42 | ||
| 41 | INHIBIT_DEFAULT_DEPS = "1" | 43 | INHIBIT_DEFAULT_DEPS = "1" |
| @@ -49,8 +51,10 @@ QBSP_VERSION ?= "${PV}${VERSION_AUTO_INCREMENT}" | |||
| 49 | QBSP_INSTALLER_COMPONENT ?= "${MACHINE}" | 51 | QBSP_INSTALLER_COMPONENT ?= "${MACHINE}" |
| 50 | QBSP_INSTALL_PATH ?= "/Extras/${MACHINE}" | 52 | QBSP_INSTALL_PATH ?= "/Extras/${MACHINE}" |
| 51 | 53 | ||
| 52 | QBSP_LICENSE_DEPENDENCY ?= "" | 54 | QBSP_LICENSE_FILE ?= "" |
| 53 | QBSP_LICENSE_DEPENDENCY_imx = "qt.embedded.b2qt.freescalelicense" | 55 | QBSP_LICENSE_NAME ?= "" |
| 56 | QBSP_LICENSE_FILE_imx = "NXP-EULA" | ||
| 57 | QBSP_LICENSE_NAME_imx = "NXP Semiconductors Software License Agreement" | ||
| 54 | 58 | ||
| 55 | VERSION_AUTO_INCREMENT = "-0-${DATETIME}" | 59 | VERSION_AUTO_INCREMENT = "-0-${DATETIME}" |
| 56 | VERSION_AUTO_INCREMENT[vardepsexclude] = "DATETIME" | 60 | VERSION_AUTO_INCREMENT[vardepsexclude] = "DATETIME" |
| @@ -68,60 +72,77 @@ SDK_MACHINE = "${@d.getVar('SDKMACHINE', True) or '${SDK_ARCH}'}" | |||
| 68 | B = "${WORKDIR}/build" | 72 | B = "${WORKDIR}/build" |
| 69 | 73 | ||
| 70 | patch_installer_files() { | 74 | patch_installer_files() { |
| 71 | sed -e 's#@NAME@#${DEPLOY_CONF_NAME}#' \ | 75 | LICENSE_DEPENDENCY="" |
| 72 | -e 's#@VERSION@#${QBSP_VERSION}#' \ | 76 | if [ -n "${QBSP_LICENSE_FILE}" ]; then |
| 73 | -e 's#@RELEASEDATE@#${RELEASEDATE}#' \ | 77 | LICENSE_DEPENDENCY="${QBSP_INSTALLER_COMPONENT}.license" |
| 74 | -e 's#@MACHINE@#${MACHINE}#' \ | 78 | fi |
| 75 | -e 's#@SYSROOT@#${REAL_MULTIMACH_TARGET_SYS}#' \ | 79 | |
| 76 | -e 's#@TARGET@#${TARGET_SYS}#' \ | 80 | sed -e "s#@NAME@#${DEPLOY_CONF_NAME}#" \ |
| 77 | -e 's#@ABI@#${ABI}#' \ | 81 | -e "s#@VERSION@#${QBSP_VERSION}#" \ |
| 78 | -e 's#@INSTALLPATH@#${QBSP_INSTALL_PATH}#' \ | 82 | -e "s#@RELEASEDATE@#${RELEASEDATE}#" \ |
| 79 | -e 's#@SDKPATH@#${SDKPATH}#' \ | 83 | -e "s#@MACHINE@#${MACHINE}#" \ |
| 80 | -e 's#@SDKFILE@#${SDK_NAME}#' \ | 84 | -e "s#@SYSROOT@#${REAL_MULTIMACH_TARGET_SYS}#" \ |
| 81 | -e 's#@LICENSEDEPENDENCY@#${QBSP_LICENSE_DEPENDENCY}#' \ | 85 | -e "s#@TARGET@#${TARGET_SYS}#" \ |
| 86 | -e "s#@ABI@#${ABI}#" \ | ||
| 87 | -e "s#@INSTALLPATH@#${QBSP_INSTALL_PATH}#" \ | ||
| 88 | -e "s#@SDKPATH@#${SDKPATH}#" \ | ||
| 89 | -e "s#@SDKFILE@#${SDK_NAME}#" \ | ||
| 90 | -e "s#@LICENSEDEPENDENCY@#${LICENSE_DEPENDENCY}#" \ | ||
| 91 | -e "s#@LICENSEFILE@#${QBSP_LICENSE_FILE}#" \ | ||
| 92 | -e "s#@LICENSENAME@#${QBSP_LICENSE_NAME}#" \ | ||
| 82 | -i ${1}/* | 93 | -i ${1}/* |
| 83 | } | 94 | } |
| 84 | 95 | ||
| 85 | prepare_qbsp() { | 96 | prepare_qbsp() { |
| 86 | # Toolchain component | 97 | # Toolchain component |
| 87 | TOOLCHAIN_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}.toolchain" | 98 | COMPONENT_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}.toolchain" |
| 88 | mkdir -p ${TOOLCHAIN_PATH}/meta | 99 | mkdir -p ${COMPONENT_PATH}/meta |
| 89 | mkdir -p ${TOOLCHAIN_PATH}/data | 100 | mkdir -p ${COMPONENT_PATH}/data |
| 90 | 101 | ||
| 91 | cp ${WORKDIR}/toolchain_package.xml ${TOOLCHAIN_PATH}/meta/package.xml | 102 | cp ${WORKDIR}/toolchain_package.xml ${COMPONENT_PATH}/meta/package.xml |
| 92 | cp ${WORKDIR}/toolchain_installscript.qs ${TOOLCHAIN_PATH}/meta/installscript.qs | 103 | cp ${WORKDIR}/toolchain_installscript.qs ${COMPONENT_PATH}/meta/installscript.qs |
| 93 | patch_installer_files ${TOOLCHAIN_PATH}/meta | 104 | patch_installer_files ${COMPONENT_PATH}/meta |
| 94 | 105 | ||
| 95 | mkdir -p ${B}/toolchain/${QBSP_INSTALL_PATH}/toolchain | 106 | mkdir -p ${B}/toolchain/${QBSP_INSTALL_PATH}/toolchain |
| 96 | if [ "${SDK_POSTFIX}" == "7z" ]; then | 107 | if [ "${SDK_POSTFIX}" = "7z" ]; then |
| 97 | 7z x ${DEPLOY_DIR}/sdk/${SDK_NAME} -o${B}/toolchain/${QBSP_INSTALL_PATH}/toolchain/ | 108 | 7z x ${DEPLOY_DIR}/sdk/${SDK_NAME} -o${B}/toolchain/${QBSP_INSTALL_PATH}/toolchain/ |
| 98 | else | 109 | else |
| 99 | cp ${DEPLOY_DIR}/sdk/${SDK_NAME} ${B}/toolchain/${QBSP_INSTALL_PATH}/toolchain/ | 110 | cp ${DEPLOY_DIR}/sdk/${SDK_NAME} ${B}/toolchain/${QBSP_INSTALL_PATH}/toolchain/ |
| 100 | fi | 111 | fi |
| 101 | 112 | ||
| 102 | cd ${B}/toolchain | 113 | cd ${B}/toolchain |
| 103 | archivegen ${TOOLCHAIN_PATH}/data/toolchain.7z * | 114 | 7z a ${COMPONENT_PATH}/data/toolchain.7z * |
| 104 | 115 | ||
| 105 | # Image component | 116 | # Image component |
| 106 | IMAGE_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}.system" | 117 | COMPONENT_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}.system" |
| 107 | mkdir -p ${IMAGE_PATH}/meta | 118 | mkdir -p ${COMPONENT_PATH}/meta |
| 108 | mkdir -p ${IMAGE_PATH}/data | 119 | mkdir -p ${COMPONENT_PATH}/data |
| 109 | 120 | ||
| 110 | cp ${WORKDIR}/image_package.xml ${IMAGE_PATH}/meta/package.xml | 121 | cp ${WORKDIR}/image_package.xml ${COMPONENT_PATH}/meta/package.xml |
| 111 | patch_installer_files ${IMAGE_PATH}/meta | 122 | patch_installer_files ${COMPONENT_PATH}/meta |
| 112 | 123 | ||
| 113 | mkdir -p ${B}/images/${QBSP_INSTALL_PATH}/images | 124 | mkdir -p ${B}/images/${QBSP_INSTALL_PATH}/images |
| 114 | 7z x ${DEPLOY_DIR_IMAGE}/${IMAGE_PACKAGE} -o${B}/images/${QBSP_INSTALL_PATH}/images/ | 125 | 7z x ${DEPLOY_DIR_IMAGE}/${IMAGE_PACKAGE} -o${B}/images/${QBSP_INSTALL_PATH}/images/ |
| 115 | 126 | ||
| 116 | cd ${B}/images | 127 | cd ${B}/images |
| 117 | archivegen ${IMAGE_PATH}/data/image.7z * | 128 | 7z a ${COMPONENT_PATH}/data/image.7z * |
| 129 | |||
| 130 | # License component | ||
| 131 | if [ -n "${QBSP_LICENSE_FILE}" ]; then | ||
| 132 | COMPONENT_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}.license" | ||
| 133 | mkdir -p ${COMPONENT_PATH}/meta | ||
| 134 | |||
| 135 | cp ${WORKDIR}/license_package.xml ${COMPONENT_PATH}/meta/package.xml | ||
| 136 | cp ${WORKDIR}/${QBSP_LICENSE_FILE} ${COMPONENT_PATH}/meta/ | ||
| 137 | patch_installer_files ${COMPONENT_PATH}/meta | ||
| 138 | fi | ||
| 118 | 139 | ||
| 119 | # Base component | 140 | # Base component |
| 120 | BASE_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}" | 141 | COMPONENT_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}" |
| 121 | mkdir -p ${BASE_PATH}/meta | 142 | mkdir -p ${COMPONENT_PATH}/meta |
| 122 | 143 | ||
| 123 | cp ${WORKDIR}/base_package.xml ${BASE_PATH}/meta/package.xml | 144 | cp ${WORKDIR}/base_package.xml ${COMPONENT_PATH}/meta/package.xml |
| 124 | patch_installer_files ${BASE_PATH}/meta | 145 | patch_installer_files ${COMPONENT_PATH}/meta |
| 125 | } | 146 | } |
| 126 | 147 | ||
| 127 | create_qbsp() { | 148 | create_qbsp() { |
| @@ -131,10 +152,10 @@ create_qbsp() { | |||
| 131 | repogen -p ${B}/pkg ${B}/repository | 152 | repogen -p ${B}/pkg ${B}/repository |
| 132 | 153 | ||
| 133 | mkdir -p ${DEPLOY_DIR}/qbsp | 154 | mkdir -p ${DEPLOY_DIR}/qbsp |
| 134 | rm -f ${DEPLOY_DIR}/qbsp/${PN}-${MACHINE}.qbsp | 155 | rm -f ${DEPLOY_DIR}/qbsp/${PN}-${SDK_MACHINE}-${MACHINE}.qbsp |
| 135 | 156 | ||
| 136 | cd ${B}/repository | 157 | cd ${B}/repository |
| 137 | archivegen ${DEPLOY_DIR}/qbsp/${PN}-${SDK_MACHINE}-${MACHINE}.qbsp * | 158 | 7z a ${DEPLOY_DIR}/qbsp/${PN}-${SDK_MACHINE}-${MACHINE}.qbsp * |
| 138 | } | 159 | } |
| 139 | 160 | ||
| 140 | python do_qbsp() { | 161 | python do_qbsp() { |
