[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 22:34:16 UTC 2016


> On Oct 31, 2016, at 12:41 PM, Paul Eggleton <paul.eggleton at linux.intel.com> wrote:
> 
> Hi Khem,
> 
> Why wouldn't it be?

Was thinking out loud if the path is expanded to absolute paths then
does it get recorded into task checksums  ?

> 
> Cheers,
> Paul
> 
> On Mon, 31 Oct 2016 12:23:04 Khem Raj wrote:
>> 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
> 
> --
> 
> Paul Eggleton
> Intel Open Source Technology Centre

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20161031/3ccc8cdb/attachment-0002.sig>


More information about the Openembedded-core mailing list