[OE-core] [jethro][PATCH v3] license.bbclass: fix host contamination warnings for license files

Martin Jansa martin.jansa at gmail.com
Fri Mar 4 12:51:54 UTC 2016


On Fri, Dec 04, 2015 at 08:57:04PM +0530, Jagadeesh Krishnanjanappa wrote:
> Ping.
> Any updates regarding this patch?

Ping.

AFAIK: This still wasn't applied in master nor jethro - I just got 250+
these warnings in small(ish) Jethro build.

$ grep "WARNING: QA Issue: .*/licenses/" consoleText.txt  | wc -l
257

> On Sat, Nov 28, 2015 at 1:39 PM, Jagadeesh Krishnanjanappa <
> jkrishnanjanappa at mvista.com> wrote:
> 
> > We get below host contamination warnings of license files for
> > each recipe, when we try to create a separate ${PN}-lic package (which
> > contains license files), by setting LICENSE_CREATE_PACKAGE equal to "1"
> > in local.conf.
> >
> > -- snip --
> > WARNING: QA Issue: libcgroup:
> > /libcgroup-lic/usr/share/licenses/libcgroup/generic_LGPLv2.1 is owned by
> > uid 5001, which is the same as the user running bitbake. This may be due to
> > host contamination [host-user-contaminated]
> > WARNING: QA Issue: attr: /attr-lic/usr/share/licenses/attr/libattr.c is
> > owned by uid 5001, which is the same as the user running bitbake. This may
> > be due to host contamination [host-user-contaminated]
> > WARNING: QA Issue: bash: /bash-lic/usr/share/licenses/bash/COPYING is
> > owned by uid 5001, which is the same as the user running bitbake. This may
> > be due to host contamination [host-user-contaminated]
> > -- CUT --
> >
> > Since the license files from source and OE-core, are populated in a normal
> > shell environment rather in pseudo environment (fakeroot); the ownership of
> > these files will be same as host user running bitbake. During the
> > do_package
> > task (which runs in pseudo environment (fakeroot)), os.link preserves the
> > ownership of these license files as host user instead of root user.
> > This causes license files to have UID same as host user id and resulting in
> > above warnings during do_package_qa task.
> >
> > Changing ownership of license files to root user (which has UID and GID as
> > 0)
> > under pseudo environment will solve above warnings, and on exiting pseudo
> > environment the license files will continue to be owned by host user.
> > Perform
> > this manipulation within try/except statements, as tasks which are not
> > exected
> > under pseudo (such as do_populate_lic) result in OSError when trying to
> > change ownership of license files.
> >
> > Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa at mvista.com>
> > ---
> >  meta/classes/license.bbclass | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> >
> > diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
> > index c616a20..8fff156 100644
> > --- a/meta/classes/license.bbclass
> > +++ b/meta/classes/license.bbclass
> > @@ -185,6 +185,15 @@ def copy_license_files(lic_files_paths, destdir):
> >                  os.remove(dst)
> >              if os.access(src, os.W_OK) and (os.stat(src).st_dev ==
> > os.stat(destdir).st_dev):
> >                  os.link(src, dst)
> > +                try:
> > +                    os.chown(dst,0,0)
> > +                except OSError as err:
> > +                    if err.errno == 1:
> > +                        # suppress "Operation not permitted" error, as
> > +                        # sometimes this function is not executed under
> > pseudo
> > +                        pass
> > +                    else:
> > +                        raise
> >              else:
> >                  shutil.copyfile(src, dst)
> >          except Exception as e:
> > --
> > 1.9.1
> >
> >

> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160304/10a25d96/attachment-0002.sig>


More information about the Openembedded-core mailing list