]> code.ossystems Code Review - openembedded-core.git/commitdiff
Revert "relocate_sdk.py: remove hardcoded SDK path"
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 25 Jul 2018 15:45:23 +0000 (16:45 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 25 Jul 2018 15:46:47 +0000 (16:46 +0100)
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.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/populate_sdk_base.bbclass
meta/files/toolchain-shar-relocate.sh
scripts/relocate_sdk.py

index e27ee036a24aae71b8ca8572df978bbaad67737d..7ffaf84a45d4cf49e1e6575b318510dd0077cddd 100644 (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() {
index f82ff2be48cd8431e049c9ce735a42c3dc7d7bfa..e3c10018ef12964d27957c38830c428a83c83fca 100644 (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
index 0d5a6f5161c2e3fa14d63f514fb694053c3c0be8..c752fa2c6192c9246dce89bf5c68244d54482e9a 100755 (executable)
@@ -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()
-
-executables_list = sys.argv[4:]
+    new_prefix = sys.argv[1].encode()
+    new_dl_path = sys.argv[2].encode()
 
-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]