[OE-core] [PATCH RESEND] staging.bbclass: Fix wrong library path in sysroot_strip
Junling Zheng
zhengjunling at huawei.com
Sat Nov 16 10:33:40 UTC 2019
On 2019/11/16 7:21, Richard Purdie wrote:
> On Fri, 2019-11-15 at 18:45 +0800, Junling Zheng wrote:
>> Do not reset libdir and base_libdir in sysroot_strip, and just pass
>> crude
>> paths as they will be reset later in strip_execs.
>>
>> Signed-off-by: Junling Zheng <zhengjunling at huawei.com>
>> ---
>> meta/classes/staging.bbclass | 2 --
>> 1 file changed, 2 deletions(-)
>>
>> diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
>> index cca0b7e0d6..58d57a4323 100644
>> --- a/meta/classes/staging.bbclass
>> +++ b/meta/classes/staging.bbclass
>> @@ -75,8 +75,6 @@ python sysroot_strip () {
>>
>> dstdir = d.getVar('SYSROOT_DESTDIR')
>> pn = d.getVar('PN')
>> - libdir = os.path.abspath(dstdir + os.sep + d.getVar("libdir"))
>> - base_libdir = os.path.abspath(dstdir + os.sep + d.getVar("base_libdir"))
>> qa_already_stripped = 'already-stripped' in (d.getVar('INSANE_SKIP_' + pn) or "").split()
>> strip_cmd = d.getVar("STRIP")
>
> To show this function in full:
>
> python sysroot_strip () {
> inhibit_sysroot = d.getVar('INHIBIT_SYSROOT_STRIP')
> if inhibit_sysroot and oe.types.boolean(inhibit_sysroot):
> return
>
> dstdir = d.getVar('SYSROOT_DESTDIR')
> pn = d.getVar('PN')
> libdir = os.path.abspath(dstdir + os.sep + d.getVar("libdir"))
> base_libdir = os.path.abspath(dstdir + os.sep + d.getVar("base_libdir"))
> qa_already_stripped = 'already-stripped' in (d.getVar('INSANE_SKIP_' + pn) or "").split()
> strip_cmd = d.getVar("STRIP")
>
> oe.package.strip_execs(pn, dstdir, strip_cmd, libdir, base_libdir, d,
> qa_already_stripped=qa_already_stripped)
> }
>
> so if we apply this patch, we just have two undefined variables which
> we pass into oe.package.strip_execs() which would cause a undefined
> variable failure?
>
Yes, you're right. I'm sorry for my patch without testing :(
Removing them in strip_execs() will work, and I'll send a v2 patch :)
Thanks,
Junling
> I think I do see a potential problem as dstdir is added here and then
> again strip_execs() itself which does:
>
> def strip_execs(pn, dstdir, strip_cmd, libdir, base_libdir, d, qa_already_stripped=False):
>
> libdir = os.path.abspath(dstdir + os.sep + libdir)
> base_libdir = os.path.abspath(dstdir + os.sep + base_libdir)
>
> but the patch as submitted doesn't solve this.
>
> Cheers,
>
> Richard
>
>
> .
>
More information about the Openembedded-core
mailing list