[oe-commits] [openembedded-core] 03/06: relocate_sdk.py: remove hardcoded SDK path

git at git.openembedded.org git at git.openembedded.org
Fri Jul 20 08:18:57 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 531bb7d6be6ce1736a3fdc88ff75fdb23ad81c39
Author: Ruslan Bilovol <rbilovol at cisco.com>
AuthorDate: Wed Nov 22 13:20:05 2017 +0200

    relocate_sdk.py: remove hardcoded SDK path
    
    This patch removes hardcodes added to relocate_sdk.py
    during SDK build, making it flexible and reusable.
    Now default SDK path is passed to the script as
    parameter rather then harcoded inside it.
    
    This allows to reuse this script for multiple
    relocations, and adds possibility to relocate
    SDK multiple times
    
    Signed-off-by: Ruslan Bilovol <rbilovol at cisco.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/classes/populate_sdk_base.bbclass |  5 -----
 meta/files/toolchain-shar-relocate.sh  |  2 +-
 scripts/relocate_sdk.py                | 17 +++++++++--------
 3 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index 7ffaf84..e27ee03 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -161,11 +161,6 @@ 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() {
diff --git a/meta/files/toolchain-shar-relocate.sh b/meta/files/toolchain-shar-relocate.sh
index e3c1001..f82ff2b 100644
--- a/meta/files/toolchain-shar-relocate.sh
+++ b/meta/files/toolchain-shar-relocate.sh
@@ -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 $target_sdk_dir $dl_path $executable_files
+\${PYTHON} ${env_setup_script%/*}/relocate_sdk.py $DEFAULT_INSTALL_DIR $target_sdk_dir $dl_path $executable_files
 EOF
 
 $SUDO_EXEC mv $tdir/relocate_sdk.sh ${env_setup_script%/*}/relocate_sdk.sh
diff --git a/scripts/relocate_sdk.py b/scripts/relocate_sdk.py
index c752fa2..0d5a6f5 100755
--- a/scripts/relocate_sdk.py
+++ b/scripts/relocate_sdk.py
@@ -38,8 +38,6 @@ 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)
@@ -212,19 +210,22 @@ def change_dl_sysdirs(elf_file_name):
         f.write(sysdirslen)
 
 # MAIN
-if len(sys.argv) < 4:
+if len(sys.argv) < 5:
     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[1]
-    new_dl_path = sys.argv[2]
+    new_prefix = sys.argv[2]
+    new_dl_path = sys.argv[3]
 else:
-    new_prefix = sys.argv[1].encode()
-    new_dl_path = sys.argv[2].encode()
+    new_prefix = sys.argv[2].encode()
+    new_dl_path = sys.argv[3].encode()
+
+executables_list = sys.argv[4:]
 
-executables_list = sys.argv[3:]
+old_prefix_ne = b(sys.argv[1])
+old_prefix = re.compile(re.escape(old_prefix_ne));
 
 for e in executables_list:
     perms = os.stat(e)[stat.ST_MODE]

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list