[OE-core] [oe][Patch] package.bbclass: fix host contamination warnings for source files

Richard Purdie richard.purdie at linuxfoundation.org
Sun Apr 3 21:45:34 UTC 2016


On Sun, 2016-04-03 at 22:57 +0200, Max Krummenacher wrote:
> Addresses https://bugzilla.yoctoproject.org/show_bug.cgi?id=8939
> 
> Source files deployed with the *-dbg packages are owned by the user
> running bitbake leading to warnings as the one below.
> 
> WARNING: glibc-2.23-r0 do_package_qa: QA Issue: glibc: /glibc
> -dbg/usr/src/debug/glibc/2.23-r0/git/include/resolv.h is owned by uid
> 1000, which is the same as the user running bitbake. This may be due
> to host contamination
> glibc: /glibc-dbg/usr/src/debug/glibc/2.23-r0/git/include/monetary.h
> is owned by uid 1000, which is the same as the user running bitbake.
> This may be due to host contamination
> glibc: /glibc-dbg/usr/src/debug/glibc/2.23-r0/git/include/locale.h is
> owned by uid 1000, which is the same as the user running bitbake.
> This may be due to host contamination
> ...
> 
> The files are copied as part of the do_package task.
> The patch chowns all file in packages/usr/src after cpio copied them
> into the
> package directory.
> 
> Signed-off-by: Max Krummenacher <max.krummenacher at toradex.com>
> ---
> 
> 
>  meta/classes/package.bbclass | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/meta/classes/package.bbclass
> b/meta/classes/package.bbclass
> index bdbe96d..d9ef62c 100644
> --- a/meta/classes/package.bbclass
> +++ b/meta/classes/package.bbclass
> @@ -362,6 +362,7 @@ def copydebugsources(debugsrcdir, d):
>      # and copied to the destination here.
>  
>      import stat
> +    import subprocess
>  
>      sourcefile = d.expand("${WORKDIR}/debugsources.list")
>      if debugsrcdir and os.path.isfile(sourcefile):
> @@ -410,6 +411,28 @@ def copydebugsources(debugsrcdir, d):
>          if retval:
>              bb.fatal("debugsrc symlink fixup failed with exit code
> %s (cmd was %s)" % (retval, cmd))
>  
> +        # cpio --no-preserve-owner does not create the destination
> files with
> +        # owner root even when run under pseudo, chown them
> explicitely.

How about passing --owner=0:0 to cpio? 

I'm a little worried about why I don't see this failure on my own local
builds.

We have a few cases where things sometimes seem to work out and
sometimes don't and I'd love to get to the bottom of how to reproduce
it and to understand why its different for different people.

Cheers,

Richard



More information about the Openembedded-core mailing list