[OE-core] [PATCH] relocate_sdk.py: remove hardcoded SDK path

Christopher Larson kergoth at gmail.com
Tue Jul 17 15:22:34 UTC 2018


IMHO this is a solid improvement that should go in.

On Tue, Jul 17, 2018 at 8:09 AM Ruslan Bilovol via Openembedded-core <
openembedded-core at lists.openembedded.org> wrote:

> Hi all,
>
> Any comments on this patch?
>
> Thanks
> Ruslan
>
> On 11/22/2017 01:20 PM, Ruslan Bilovol wrote:
> > 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>
> > ---
> >   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 424c63c..e7aa5a8 100644
> > --- a/meta/classes/populate_sdk_base.bbclass
> > +++ b/meta/classes/populate_sdk_base.bbclass
> > @@ -152,11 +152,6 @@ do_populate_sdk[stamp-extra-info] =
> "${MACHINE}${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]
> >
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>


-- 
Christopher Larson
kergoth at gmail dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Senior Software Engineer, Mentor Graphics
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20180717/17118206/attachment-0002.html>


More information about the Openembedded-core mailing list