[OE-core] [PATCH 1/7] classes/license: fix handling of symlinks pointed to in LIC_FILES_CHKSUM

Khem Raj raj.khem at gmail.com
Mon Oct 31 19:23:04 UTC 2016


Is this sstate safe?

On Oct 30, 2016 9:11 PM, "Paul Eggleton" <paul.eggleton at linux.intel.com>
wrote:

> If you set LIC_FILES_CHKSUM to point to a relative symlink then you'll
> get "Could not copy license file" warnings in copy_license_files() since
> the symlink won't be valid after it's copied. If the source is a symlink
> then we need to dereference it first.
>
> I encountered this when I used recipetool on the sources for capnproto,
> where the c++ directory contains a LICENSE.txt symlink to the LICENSE
> file in the parent directory, and this symlink ends up being pointed to
> in LIC_FILES_CHKSUM.
>
> Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
> ---
>  meta/classes/license.bbclass | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
> index da4fc3e..660b85f 100644
> --- a/meta/classes/license.bbclass
> +++ b/meta/classes/license.bbclass
> @@ -351,6 +351,8 @@ def copy_license_files(lic_files_paths, destdir):
>              dst = os.path.join(destdir, basename)
>              if os.path.exists(dst):
>                  os.remove(dst)
> +            if os.path.islink(src):
> +                src = os.path.realpath(src)
>              canlink = os.access(src, os.W_OK) and (os.stat(src).st_dev ==
> os.stat(destdir).st_dev)
>              if canlink:
>                  try:
> --
> 2.5.5
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20161031/2fa53e73/attachment-0002.html>


More information about the Openembedded-core mailing list