[OE-core] [PATCH] relocate_sdk.py: remove hardcoded SDK path
Ruslan Bilovol
rbilovol at cisco.com
Thu Jul 26 10:39:39 UTC 2018
Hi Richard,
I see I'm too late and the patch is already reverted. I'll
update it and push again later then.
Thanks,
Ruslan
On 07/25/2018 06:44 PM, Richard Purdie wrote:
> Whilst we merged this, it has unfortunately totally broken uninative-
> tarball. We're under pressure to update to a new uninative to unbreak
> builds on recent distros with sstate sharing and this now blocks doing
> so.
>
> I can't add the value to the relocate_sdk.py call from
> uninative.bbclass since I don't know what value the tarball would have
> been generated with.
>
> I suspect I'll have to revert this and then you can work on a way to
> fix this...
>
> Cheers,
>
> Richard
>
> On Tue, 2018-07-17 at 08:22 -0700, Christopher Larson wrote:
>> 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
>>
>>
More information about the Openembedded-core
mailing list