[oe] [PATCH] insane bbclass: extend RPATH check to cover sysroots as well

Philip Balister philip at balister.org
Wed Jan 19 19:35:24 UTC 2011


On 01/19/2011 11:21 AM, Koen Kooi wrote:
> * Having rpath to sysroot is just as bad as one to workdir

When you do a build with this, how many recipes have issues?

Philip


>
> Based on insane.bbclass from yocto
>
> Signed-off-by: Koen Kooi<koen at openembedded.org>
> ---
>   classes/insane.bbclass |   11 ++++++-----
>   1 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/classes/insane.bbclass b/classes/insane.bbclass
> index 677db27..50752b5 100644
> --- a/classes/insane.bbclass
> +++ b/classes/insane.bbclass
> @@ -160,20 +160,21 @@ def package_qa_check_rpath(file,name,d, elf):
>       import bb, os
>       sane = True
>       scanelf = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf')
> -    bad_dir = bb.data.getVar('TMPDIR', d, True) + "/work"
> +    bad_dirs = [bb.data.getVar('TMPDIR', d, True) + "/work", bb.data.getVar('STAGING_DIR_TARGET', d, True)]
>       bad_dir_test = bb.data.getVar('TMPDIR', d, True)
>       if not os.path.exists(scanelf):
>           bb.fatal("Can not check RPATH, scanelf (part of pax-utils-native) not found")
>
> -    if not bad_dir in bb.data.getVar('WORKDIR', d, True):
> +    if not bad_dirs[0] in bb.data.getVar('WORKDIR', d, True):
>           bb.fatal("This class assumed that WORKDIR is ${TMPDIR}/work... Not doing any check")
>
>       output = os.popen("%s -B -F%%r#F '%s'" % (scanelf,file))
>       txt    = output.readline().split()
>       for line in txt:
> -        if bad_dir in line:
> -            error_msg = "package %s contains bad RPATH %s in file %s" % (name, line, file)
> -            sane = package_qa_handle_error(1, error_msg, name, file, d)
> +        for dir in bad_dirs:
> +            if dir in line:
> +                error_msg = "package %s contains bad RPATH %s in file %s" % (name, line, file)
> +                sane = sane + package_qa_handle_error(1, error_msg, name, file, d)
>
>       return sane
>




More information about the Openembedded-devel mailing list