[OE-core] [PATCH RESEND] staging.bbclass: Fix wrong library path in sysroot_strip
Richard Purdie
richard.purdie at linuxfoundation.org
Fri Nov 15 23:21:50 UTC 2019
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?
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