diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-08-11 16:45:06 +1200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-08-17 10:35:41 +0100 |
commit | 64ffbd4869fecc053cd158c2c70cf6575c31245e (patch) | |
tree | 8218eef9cb609940877e70b66d4cae2be2192586 /meta/files | |
parent | cea1632471ca6671425ffc753246e6b8fea0d19d (diff) | |
download | poky-64ffbd4869fecc053cd158c2c70cf6575c31245e.tar.gz |
classes/populate_sdk_ext: add some pre-install checks
Check a number of things as early as possible in the eSDK installer
script so that the user gets an error up front rather than waiting for
the build system to be extracted and then have the error produced:
* Check for missing utilities specified in SANITY_REQUIRED_UTILITIES
(along with gcc and g++), taking into account that some of these are
satisfied by buildtools which ships as part of the SDK. We use the
newly added capability to list an SDK's contents to allow us to see
exactly which binaries are inside the buildtools installer.
* Check that Python is available (since the buildtools installer's
relocate script is written in Python).
* Check that locale value set by the script is actually available
* Check that the install path is not on NFS
This does duplicate some of the checks in sanity.bbclass but it's
difficult to avoid that given that here they have to be written in shell
and there they are written in Python, as well as the fact that we only
need to run some of the checks here and not all (i.e. the ones that
relate to the host system or install path, and not those that check the
configuration or metadata). Given those issues and the fact that the
amount of code is fairly small I elected to just re-implement the checks
here.
Fixes [YOCTO #8657].
(From OE-Core rev: 6e6999a920b913ad9fdd2751100219c07cd14e54)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/files')
-rw-r--r-- | meta/files/toolchain-shar-extract.sh | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/meta/files/toolchain-shar-extract.sh b/meta/files/toolchain-shar-extract.sh index 434510470b..66c017f50d 100644 --- a/meta/files/toolchain-shar-extract.sh +++ b/meta/files/toolchain-shar-extract.sh | |||
@@ -143,6 +143,16 @@ if [ "$SDK_EXTENSIBLE" = "1" ]; then | |||
143 | "characters such as spaces, @, \$ or +. Abort!" | 143 | "characters such as spaces, @, \$ or +. Abort!" |
144 | exit 1 | 144 | exit 1 |
145 | fi | 145 | fi |
146 | # The build system doesn't work well with /tmp on NFS | ||
147 | fs_dev_path="$target_sdk_dir" | ||
148 | while [ ! -d "$fs_dev_path" ] ; do | ||
149 | fs_dev_path=`dirname $fs_dev_path` | ||
150 | done | ||
151 | fs_dev_type=`stat -f -c '%t' "$fs_dev_path"` | ||
152 | if [ "$fsdevtype" = "6969" ] ; then | ||
153 | echo "The target directory path $target_sdk_dir is on NFS, this is not possible. Abort!" | ||
154 | exit 1 | ||
155 | fi | ||
146 | else | 156 | else |
147 | if [ -n "$(echo $target_sdk_dir|grep ' ')" ]; then | 157 | if [ -n "$(echo $target_sdk_dir|grep ' ')" ]; then |
148 | echo "The target directory path ($target_sdk_dir) contains spaces. Abort!" | 158 | echo "The target directory path ($target_sdk_dir) contains spaces. Abort!" |