<div dir="ltr">IMHO this is a solid improvement that should go in.<br></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Jul 17, 2018 at 8:09 AM Ruslan Bilovol via Openembedded-core <<a href="mailto:openembedded-core@lists.openembedded.org">openembedded-core@lists.openembedded.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
Any comments on this patch?<br>
<br>
Thanks<br>
Ruslan<br>
<br>
On 11/22/2017 01:20 PM, Ruslan Bilovol wrote:<br>
> This patch removes hardcodes added to relocate_sdk.py<br>
> during SDK build, making it flexible and reusable.<br>
> Now default SDK path is passed to the script as<br>
> parameter rather then harcoded inside it.<br>
> <br>
> This allows to reuse this script for multiple<br>
> relocations, and adds possibility to relocate<br>
> SDK multiple times<br>
> <br>
> Signed-off-by: Ruslan Bilovol <<a href="mailto:rbilovol@cisco.com" target="_blank">rbilovol@cisco.com</a>><br>
> ---<br>
> meta/classes/populate_sdk_base.bbclass | 5 -----<br>
> meta/files/toolchain-shar-relocate.sh | 2 +-<br>
> scripts/relocate_sdk.py | 17 +++++++++--------<br>
> 3 files changed, 10 insertions(+), 14 deletions(-)<br>
> <br>
> diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass<br>
> index 424c63c..e7aa5a8 100644<br>
> --- a/meta/classes/populate_sdk_base.bbclass<br>
> +++ b/meta/classes/populate_sdk_base.bbclass<br>
> @@ -152,11 +152,6 @@ do_populate_sdk[stamp-extra-info] = "${MACHINE}${SDKMACHINE}"<br>
> <br>
> fakeroot create_sdk_files() {<br>
> cp ${COREBASE}/scripts/relocate_sdk.py ${SDK_OUTPUT}/${SDKPATH}/<br>
> -<br>
> - # Replace the ##DEFAULT_INSTALL_DIR## with the correct pattern.<br>
> - # Escape special characters like '+' and '.' in the SDKPATH<br>
> - escaped_sdkpath=$(echo ${SDKPATH} |sed -e "s:[\+\.]:\\\\\\\\\0:g")<br>
> - sed -i -e "s:##DEFAULT_INSTALL_DIR##:$escaped_sdkpath:" ${SDK_OUTPUT}/${SDKPATH}/relocate_sdk.py<br>
> }<br>
> <br>
> python check_sdk_sysroots() {<br>
> diff --git a/meta/files/toolchain-shar-relocate.sh b/meta/files/toolchain-shar-relocate.sh<br>
> index e3c1001..f82ff2b 100644<br>
> --- a/meta/files/toolchain-shar-relocate.sh<br>
> +++ b/meta/files/toolchain-shar-relocate.sh<br>
> @@ -36,7 +36,7 @@ if [ x\${PYTHON} = "x" ]; then<br>
> echo "SDK could not be relocated. No python found."<br>
> exit 1<br>
> fi<br>
> -\${PYTHON} ${env_setup_script%/*}/relocate_sdk.py $target_sdk_dir $dl_path $executable_files<br>
> +\${PYTHON} ${env_setup_script%/*}/relocate_sdk.py $DEFAULT_INSTALL_DIR $target_sdk_dir $dl_path $executable_files<br>
> EOF<br>
> <br>
> $SUDO_EXEC mv $tdir/relocate_sdk.sh ${env_setup_script%/*}/relocate_sdk.sh<br>
> diff --git a/scripts/relocate_sdk.py b/scripts/relocate_sdk.py<br>
> index c752fa2..0d5a6f5 100755<br>
> --- a/scripts/relocate_sdk.py<br>
> +++ b/scripts/relocate_sdk.py<br>
> @@ -38,8 +38,6 @@ else:<br>
> def b(x):<br>
> return x.encode(sys.getfilesystemencoding())<br>
> <br>
> -old_prefix = re.compile(b("##DEFAULT_INSTALL_DIR##"))<br>
> -<br>
> def get_arch():<br>
> f.seek(0)<br>
> e_ident =f.read(16)<br>
> @@ -212,19 +210,22 @@ def change_dl_sysdirs(elf_file_name):<br>
> f.write(sysdirslen)<br>
> <br>
> # MAIN<br>
> -if len(sys.argv) < 4:<br>
> +if len(sys.argv) < 5:<br>
> sys.exit(-1)<br>
> <br>
> # In python > 3, strings may also contain Unicode characters. So, convert<br>
> # them to bytes<br>
> if sys.version_info < (3,):<br>
> - new_prefix = sys.argv[1]<br>
> - new_dl_path = sys.argv[2]<br>
> + new_prefix = sys.argv[2]<br>
> + new_dl_path = sys.argv[3]<br>
> else:<br>
> - new_prefix = sys.argv[1].encode()<br>
> - new_dl_path = sys.argv[2].encode()<br>
> + new_prefix = sys.argv[2].encode()<br>
> + new_dl_path = sys.argv[3].encode()<br>
> +<br>
> +executables_list = sys.argv[4:]<br>
> <br>
> -executables_list = sys.argv[3:]<br>
> +old_prefix_ne = b(sys.argv[1])<br>
> +old_prefix = re.compile(re.escape(old_prefix_ne));<br>
> <br>
> for e in executables_list:<br>
> perms = os.stat(e)[stat.ST_MODE]<br>
> <br>
-- <br>
_______________________________________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@lists.openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr">Christopher Larson<br>kergoth at gmail dot com<br>Founder - BitBake, OpenEmbedded, OpenZaurus<br>Senior Software Engineer, Mentor Graphics</div></div></div></div>