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() { |