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

Martin Jansa martin.jansa at gmail.com
Mon Oct 31 16:56:51 UTC 2016


On Mon, Oct 31, 2016 at 04:59:43PM +1300, Paul Eggleton 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.

Acked-by: Martin Jansa <Martin.Jansa at gmail.com>

Please cherry-pick this to morty as well.

> 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

-- 
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: 163 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20161031/16d2dad7/attachment-0002.sig>


More information about the Openembedded-core mailing list