diff options
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/populate_sdk_base.bbclass | 12 | ||||
-rw-r--r-- | meta/classes/populate_sdk_ext.bbclass | 11 |
2 files changed, 21 insertions, 2 deletions
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass index 398e943a46..a9e9bd71d2 100644 --- a/meta/classes/populate_sdk_base.bbclass +++ b/meta/classes/populate_sdk_base.bbclass | |||
@@ -51,6 +51,7 @@ PID = "${@os.getpid()}" | |||
51 | EXCLUDE_FROM_WORLD = "1" | 51 | EXCLUDE_FROM_WORLD = "1" |
52 | 52 | ||
53 | SDK_PACKAGING_FUNC ?= "create_shar" | 53 | SDK_PACKAGING_FUNC ?= "create_shar" |
54 | SDK_PRE_INSTALL_COMMAND ?= "" | ||
54 | SDK_POST_INSTALL_COMMAND ?= "" | 55 | SDK_POST_INSTALL_COMMAND ?= "" |
55 | SDK_RELOCATE_AFTER_INSTALL ?= "1" | 56 | SDK_RELOCATE_AFTER_INSTALL ?= "1" |
56 | 57 | ||
@@ -134,15 +135,21 @@ fakeroot create_shar() { | |||
134 | # copy in the template shar extractor script | 135 | # copy in the template shar extractor script |
135 | cp ${COREBASE}/meta/files/toolchain-shar-extract.sh ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh | 136 | cp ${COREBASE}/meta/files/toolchain-shar-extract.sh ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh |
136 | 137 | ||
137 | rm -f ${T}/post_install_command | 138 | rm -f ${T}/pre_install_command ${T}/post_install_command |
138 | 139 | ||
139 | if [ ${SDK_RELOCATE_AFTER_INSTALL} -eq 1 ] ; then | 140 | if [ ${SDK_RELOCATE_AFTER_INSTALL} -eq 1 ] ; then |
140 | cp ${COREBASE}/meta/files/toolchain-shar-relocate.sh ${T}/post_install_command | 141 | cp ${COREBASE}/meta/files/toolchain-shar-relocate.sh ${T}/post_install_command |
141 | fi | 142 | fi |
143 | cat << "EOF" >> ${T}/pre_install_command | ||
144 | ${SDK_PRE_INSTALL_COMMAND} | ||
145 | EOF | ||
146 | |||
142 | cat << "EOF" >> ${T}/post_install_command | 147 | cat << "EOF" >> ${T}/post_install_command |
143 | ${SDK_POST_INSTALL_COMMAND} | 148 | ${SDK_POST_INSTALL_COMMAND} |
144 | EOF | 149 | EOF |
145 | sed -i -e '/@SDK_POST_INSTALL_COMMAND@/r ${T}/post_install_command' ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh | 150 | sed -i -e '/@SDK_PRE_INSTALL_COMMAND@/r ${T}/pre_install_command' \ |
151 | -e '/@SDK_POST_INSTALL_COMMAND@/r ${T}/post_install_command' \ | ||
152 | ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh | ||
146 | 153 | ||
147 | # substitute variables | 154 | # substitute variables |
148 | sed -i -e 's#@SDK_ARCH@#${SDK_ARCH}#g' \ | 155 | sed -i -e 's#@SDK_ARCH@#${SDK_ARCH}#g' \ |
@@ -151,6 +158,7 @@ EOF | |||
151 | -e 's#@REAL_MULTIMACH_TARGET_SYS@#${REAL_MULTIMACH_TARGET_SYS}#g' \ | 158 | -e 's#@REAL_MULTIMACH_TARGET_SYS@#${REAL_MULTIMACH_TARGET_SYS}#g' \ |
152 | -e 's#@SDK_TITLE@#${SDK_TITLE}#g' \ | 159 | -e 's#@SDK_TITLE@#${SDK_TITLE}#g' \ |
153 | -e 's#@SDK_VERSION@#${SDK_VERSION}#g' \ | 160 | -e 's#@SDK_VERSION@#${SDK_VERSION}#g' \ |
161 | -e '/@SDK_PRE_INSTALL_COMMAND@/d' \ | ||
154 | -e '/@SDK_POST_INSTALL_COMMAND@/d' \ | 162 | -e '/@SDK_POST_INSTALL_COMMAND@/d' \ |
155 | ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh | 163 | ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh |
156 | 164 | ||
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 8a80a563f0..b28413b8f5 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass | |||
@@ -173,6 +173,17 @@ install_tools() { | |||
173 | install ${SDK_DEPLOY}/${BUILD_ARCH}-nativesdk-libc.tar.bz2 ${SDK_OUTPUT}/${SDKPATH} | 173 | install ${SDK_DEPLOY}/${BUILD_ARCH}-nativesdk-libc.tar.bz2 ${SDK_OUTPUT}/${SDKPATH} |
174 | } | 174 | } |
175 | 175 | ||
176 | # Since bitbake won't run as root it doesn't make sense to try and install | ||
177 | # the extensible sdk as root. | ||
178 | sdk_ext_preinst() { | ||
179 | if [ "`id -u`" = "0" ]; then | ||
180 | echo "ERROR: The extensible sdk cannot be installed as root." | ||
181 | exit 1 | ||
182 | fi | ||
183 | SDK_EXTENSIBLE="1" | ||
184 | } | ||
185 | SDK_PRE_INSTALL_COMMAND_task-populate-sdk-ext = "${sdk_ext_preinst}" | ||
186 | |||
176 | # FIXME this preparation should be done as part of the SDK construction | 187 | # FIXME this preparation should be done as part of the SDK construction |
177 | sdk_ext_postinst() { | 188 | sdk_ext_postinst() { |
178 | printf "\nExtracting buildtools...\n" | 189 | printf "\nExtracting buildtools...\n" |