]> code.ossystems Code Review - openembedded-core.git/commitdiff
meta/files/toolchain-shar-relocate.sh: Detect different python binaries and select...
authorLiam R. Howlett <Liam.Howlett@windriver.com>
Tue, 19 Jan 2016 20:20:17 +0000 (15:20 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 22 Jan 2016 23:42:37 +0000 (23:42 +0000)
Although the relocate_sdk.sh 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.

Signed-off-by: Liam R. Howlett <Liam.Howlett@WindRiver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/files/toolchain-shar-relocate.sh

index 4ef29271712133bddf2bc825d18881380edc53a0..4f34fb4bfb90eb7e989506a7394f610ba42e0960 100644 (file)
@@ -13,8 +13,23 @@ if [ x$tdir = x ] ; then
    echo "SDK relocate failed, could not create a temporary directory"
    exit 1
 fi
-echo "#!/bin/bash" > $tdir/relocate_sdk.sh
-echo exec ${env_setup_script%/*}/relocate_sdk.py $target_sdk_dir $dl_path $executable_files >> $tdir/relocate_sdk.sh
+cat <<EOF >> $tdir/relocate_sdk.sh
+#!/bin/bash
+for py in python python2 python3
+do
+       PYTHON=\`which \${py} 2>/dev/null\`
+       if [ \$? -eq 0 ]; then
+               break;
+       fi
+done
+
+if [ x\${PYTHON} = "x"  ]; then
+       echo "SDK could not be relocated.  No python found."
+       exit 1
+fi
+\${PYTHON} ${env_setup_script%/*}/relocate_sdk.py $target_sdk_dir $dl_path $executable_files
+EOF
+
 $SUDO_EXEC mv $tdir/relocate_sdk.sh ${env_setup_script%/*}/relocate_sdk.sh
 $SUDO_EXEC chmod 755 ${env_setup_script%/*}/relocate_sdk.sh
 rm -rf $tdir