[oe] [PATCH][v2] base.bbclass: re-add backward compatibility with bitbake w.r.t decodeurl fix in bitbake

Graham Gower graham.gower at gmail.com
Thu Jul 15 07:21:41 UTC 2010


On 7 July 2010 19:08, Frans Meulenbroeks <fransmeulenbroeks at gmail.com> wrote:
> 2010/7/7 Khem Raj <raj.khem at gmail.com>:
>> This patch seems to work with both bitbakes
>>
>>
>> Signed-off-by: Khem Raj <raj.khem at gmail.com>
>> ---
>>  classes/base.bbclass |   15 +++++++++++++--
>>  1 files changed, 13 insertions(+), 2 deletions(-)
>>
>> diff --git a/classes/base.bbclass b/classes/base.bbclass
>> index 2da0b7a..b30310d 100644
>> --- a/classes/base.bbclass
>> +++ b/classes/base.bbclass
>> @@ -219,14 +219,25 @@ def oe_unpack_file(file, data, url = None):
>>                        # The "destdir" handling was specifically done for FILESPATH
>>                        # items.  So, only do so for file:// entries.
>>                        if type == "file":
>> -                               dest = os.path.dirname(path) or "."
>> +                               if not host:
>> +                                       dest = os.path.dirname(path) or "."
>> +                               else:
>> +                               # this case is for backward compatiblity with older version
>> +                               # of bitbake which do not have the fix
>> +                               # http://cgit.openembedded.org/cgit.cgi/bitbake/commit/?id=ca257adc587bb0937ea76d8b32b654fdbf4192b8
>> +                               # this should not be needed once all releases of bitbake has this fix
>> +                               # applied/backported
>> +                                       dest = host + os.path.dirname(path) or "."
>>                        else:
>>                                dest = "."
>>                        bb.mkdirhier("%s" % os.path.join(os.getcwd(),dest))
>>                        cmd = 'cp %s %s' % (file, os.path.join(os.getcwd(), dest))
>>        if not cmd:
>>                return True
>> -       dest = os.path.join(os.getcwd(), path)
>> +       if not host:
>> +               dest = os.path.join(os.getcwd(), path)
>> +       else:
>> +               dest = os.path.join(os.getcwd(), os.path.join(host, path))
>>        if os.path.exists(dest):
>>                if os.path.samefile(file, dest):
>>                        return True
>> --
>> 1.7.1
>>
>
> This fixes things for me so:
> Acked-by: Frans Meulenbroeks <fransmeulenbroeks at gmail.com>
>

This change appears to have broken lsof_4.83.bb.

lsof has a weird tar within a tar, and thus a custom do_unpack(). The
result is that the inner tar is not extracted, and do_configure fails
to find a configure script.

-Graham




More information about the Openembedded-devel mailing list