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

Max Krummenacher max.oss.09 at gmail.com
Sun Apr 3 22:54:56 UTC 2016


Hi Khem

2016-04-03 23:53 GMT+02:00 Khem Raj <raj.khem at gmail.com>:
>
> On Apr 3, 2016 2:45 PM, "Richard Purdie"
> <richard.purdie at linuxfoundation.org> wrote:
>>
>> 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.
>
> Can you dump the dbg rpm from poky and see if the flagged file is there ?
I checked this with -c package followed by -c devshell.
In poky they source files are missing, in angstrom they are in
${WORKDIR}/package/usr/src
but with the 'wrong' owner.

Regards
Max

>>
>> 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
>> --
>> _______________________________________________
>> 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