Ping. Any updates regarding this patch? Regards, Jagadeesh
On Sat, Nov 28, 2015 at 1:39 PM, Jagadeesh Krishnanjanappa < [email protected]> 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 <[email protected]> > --- > 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 [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
