Revert "relocate_sdk.py: remove hardcoded SDK path"

This reverts commit 6671a4d980c8bef8f402780a308f6c43a25044aa.

This breaks uninative tarball since the call of relocate_sdk.py from uninative.bbclass
wasn't updated to account for this change. It isn't clear what value that code could
pass in and this isn't simple to fix so revert until a better fix can be found
that doesn't break uninative.

(From OE-Core rev: b247392b4ced57cfe694656032f6a6723740a9e8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2018-07-25 16:45:23 +01:00
parent dafacf0453
commit d8762a1ea7
3 changed files with 14 additions and 10 deletions

View File

@ -161,6 +161,11 @@ do_populate_sdk[stamp-extra-info] = "${MACHINE_ARCH}${SDKMACHINE}"
fakeroot create_sdk_files() {
cp ${COREBASE}/scripts/relocate_sdk.py ${SDK_OUTPUT}/${SDKPATH}/
# Replace the ##DEFAULT_INSTALL_DIR## with the correct pattern.
# Escape special characters like '+' and '.' in the SDKPATH
escaped_sdkpath=$(echo ${SDKPATH} |sed -e "s:[\+\.]:\\\\\\\\\0:g")
sed -i -e "s:##DEFAULT_INSTALL_DIR##:$escaped_sdkpath:" ${SDK_OUTPUT}/${SDKPATH}/relocate_sdk.py
}
python check_sdk_sysroots() {

View File

@ -36,7 +36,7 @@ if [ x\${PYTHON} = "x" ]; then
echo "SDK could not be relocated. No python found."
exit 1
fi
\${PYTHON} ${env_setup_script%/*}/relocate_sdk.py $DEFAULT_INSTALL_DIR $target_sdk_dir $dl_path $executable_files
\${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

View File

@ -38,6 +38,8 @@ else:
def b(x):
return x.encode(sys.getfilesystemencoding())
old_prefix = re.compile(b("##DEFAULT_INSTALL_DIR##"))
def get_arch():
f.seek(0)
e_ident =f.read(16)
@ -210,22 +212,19 @@ def change_dl_sysdirs(elf_file_name):
f.write(sysdirslen)
# MAIN
if len(sys.argv) < 5:
if len(sys.argv) < 4:
sys.exit(-1)
# In python > 3, strings may also contain Unicode characters. So, convert
# them to bytes
if sys.version_info < (3,):
new_prefix = sys.argv[2]
new_dl_path = sys.argv[3]
new_prefix = sys.argv[1]
new_dl_path = sys.argv[2]
else:
new_prefix = sys.argv[2].encode()
new_dl_path = sys.argv[3].encode()
new_prefix = sys.argv[1].encode()
new_dl_path = sys.argv[2].encode()
executables_list = sys.argv[4:]
old_prefix_ne = b(sys.argv[1])
old_prefix = re.compile(re.escape(old_prefix_ne));
executables_list = sys.argv[3:]
for e in executables_list:
perms = os.stat(e)[stat.ST_MODE]