summaryrefslogtreecommitdiffstats
path: root/classes/qbsp.bbclass
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/qbsp.bbclass
parent5c5096f39a83476d7d2f6d95cad3a3c29c01ffbb (diff)
downloadmeta-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/qbsp.bbclass')
-rw-r--r--classes/qbsp.bbclass87
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
41INHIBIT_DEFAULT_DEPS = "1" 43INHIBIT_DEFAULT_DEPS = "1"
@@ -49,8 +51,10 @@ QBSP_VERSION ?= "${PV}${VERSION_AUTO_INCREMENT}"
49QBSP_INSTALLER_COMPONENT ?= "${MACHINE}" 51QBSP_INSTALLER_COMPONENT ?= "${MACHINE}"
50QBSP_INSTALL_PATH ?= "/Extras/${MACHINE}" 52QBSP_INSTALL_PATH ?= "/Extras/${MACHINE}"
51 53
52QBSP_LICENSE_DEPENDENCY ?= "" 54QBSP_LICENSE_FILE ?= ""
53QBSP_LICENSE_DEPENDENCY_imx = "qt.embedded.b2qt.freescalelicense" 55QBSP_LICENSE_NAME ?= ""
56QBSP_LICENSE_FILE_imx = "NXP-EULA"
57QBSP_LICENSE_NAME_imx = "NXP Semiconductors Software License Agreement"
54 58
55VERSION_AUTO_INCREMENT = "-0-${DATETIME}" 59VERSION_AUTO_INCREMENT = "-0-${DATETIME}"
56VERSION_AUTO_INCREMENT[vardepsexclude] = "DATETIME" 60VERSION_AUTO_INCREMENT[vardepsexclude] = "DATETIME"
@@ -68,60 +72,77 @@ SDK_MACHINE = "${@d.getVar('SDKMACHINE', True) or '${SDK_ARCH}'}"
68B = "${WORKDIR}/build" 72B = "${WORKDIR}/build"
69 73
70patch_installer_files() { 74patch_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
85prepare_qbsp() { 96prepare_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
127create_qbsp() { 148create_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
140python do_qbsp() { 161python do_qbsp() {