path: root/meta/files
diff options
authorLiam R. Howlett <>2016-01-19 15:20:17 -0500
committerRichard Purdie <>2016-01-24 09:40:21 +0000
commit92abb5f1ceb24983c9e432013ee5c63daa461048 (patch)
tree4320748e92ab43a8221e1f69ff0580846c42bb95 /meta/files
parent924e2c37a4a953fbf6c5125719aba01085c4de09 (diff)
meta/files/ Detect different python binaries and select one that exists.
Although the supports python3, fc23 does not symlink /usr/bin/python3 to /usr/bin/python. Using exec instead of a call to the correct interpreter causes a failure on fc23 when python2 is not present. This uses 'which' to locate python, python2, then python3 and uses the first one that's found. (From OE-Core rev: 99d4d97f51b658d58a50789056b422e48df89ad9) Signed-off-by: Liam R. Howlett <> Signed-off-by: Ross Burton <> Signed-off-by: Richard Purdie <>
Diffstat (limited to 'meta/files')
1 files changed, 17 insertions, 2 deletions
diff --git a/meta/files/ b/meta/files/
index 4ef2927171..4f34fb4bfb 100644
--- a/meta/files/
+++ b/meta/files/
@@ -13,8 +13,23 @@ if [ x$tdir = x ] ; then
echo "SDK relocate failed, could not create a temporary directory"
exit 1
-echo "#!/bin/bash" > $tdir/
-echo exec ${env_setup_script%/*}/ $target_sdk_dir $dl_path $executable_files >> $tdir/
+cat <<EOF >> $tdir/
+for py in python python2 python3
+ PYTHON=\`which \${py} 2>/dev/null\`
+ if [ \$? -eq 0 ]; then
+ break;
+ fi
+if [ x\${PYTHON} = "x" ]; then
+ echo "SDK could not be relocated. No python found."
+ exit 1
+\${PYTHON} ${env_setup_script%/*}/ $target_sdk_dir $dl_path $executable_files
$SUDO_EXEC mv $tdir/ ${env_setup_script%/*}/
$SUDO_EXEC chmod 755 ${env_setup_script%/*}/
rm -rf $tdir