[yocto] Master build error caused a small typo by commit today : fetch2: unpack revision

Mark Hatle mark.hatle at windriver.com
Sat Feb 12 14:38:26 PST 2011


On 2/12/11 1:17 PM, Gary Thomas wrote:
> On 02/12/2011 12:08 PM, Koen Kooi wrote:
>>
>> Op 12 feb 2011, om 19:09 heeft Mark Hatle het volgende geschreven:
>>
>>> On 2/12/11 3:30 AM, Cui, Dexuan wrote:
>>>> Hi Mark,
>>>> As Liping said, the following change breaks building xorg-minimal-fonts as destdir is not correct.
>>>> Can you please explain the actual different between cp and tar here? I think "cp -p" is similar to "tar -x -p" here?
>>>>
>>>
>>> We can revert the change.  But the reason for it is tar preserves hard links,
>>> while cp does not.
>>
>> The problem is that people can hit things like this:
>>
>> | NOTE: Unpacking /OE/tentacle/sources/angstrom-layers/BSP/TI/recipes-bsp/linux/linux-omap-psp-2.6.32/beagleboard/defconfig to /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/linux-omap-psp-2.6.32-r99+gitr5fc29e7b2a76a64a739f857858ef0b98294aa155/
>> | ERROR: Error executing a python function in /OE/tentacle/sources/angstrom-layers/BSP/TI/recipes-bsp/linux/linux-omap-psp_2.6.32.bb:
>> | TypeError: %d format: a number is required, not str
>> |
>> | ERROR: The stack trace of python calls that resulted in this exception/failure was:
>> | ERROR:   File "base_do_unpack", line 19, in<module>
>> | ERROR:
>> | ERROR:   File "base_do_unpack", line 14, in base_do_unpack
>> | ERROR:
>> | ERROR:   File "/OE/tentacle/sources/bitbake/lib/bb/fetch2/__init__.py", line 1015, in unpack
>> | ERROR:     ud.method.unpack(ud, root, self.d)
>> | ERROR:
>> | ERROR:   File "/OE/tentacle/sources/bitbake/lib/bb/fetch2/__init__.py", line 724, in unpack
>> | ERROR:     cmd = 'tar -cf - -C "%d" -ps . | tar -xf - -C "%s/%s/"' % (file, rootdir, destdir)
> 
> Does not changing this "%d" to "%s" work?

Yes, this is the correct fix.  Nobody has been around today to push the fix into
the tree however.

It was a simple typo.

--Mark

>> | ERROR:
>> | ERROR: The code that was being executed was:
>> | ERROR:      0015:        except bb.fetch2.BBFetchException, e:
>> | ERROR:      0016:            raise bb.build.FuncFailed(e)
>> | ERROR:      0017:
>> | ERROR:      0018:
>> | ERROR:  *** 0019:base_do_unpack(d)
>> | ERROR:      0020:
>> | ERROR: (file: 'base_do_unpack', lineno: 19, function:<module>)
>> | ERROR:      0010:     rootdir = bb.data.getVar('WORKDIR', localdata, True)
>> | ERROR:      0011:
>> | ERROR:      0012:        try:
>> | ERROR:      0013:            fetcher = bb.fetch2.Fetch(src_uri, localdata)
>> | ERROR:  *** 0014:            fetcher.unpack(rootdir)
>> | ERROR:      0015:        except bb.fetch2.BBFetchException, e:
>> | ERROR:      0016:            raise bb.build.FuncFailed(e)
>> | ERROR:      0017:
>> | ERROR:      0018:
>> | ERROR: (file: 'base_do_unpack', lineno: 14, function: base_do_unpack)
>> | ERROR: Function 'base_do_unpack' failed
>>
>> Not sure what triggers it, but it breaks my build. It could be entirely my own fault for having buggy recipes in a BSP :)
>>
>> regards,
>>
>> Koen
>> _______________________________________________
>> yocto mailing list
>> yocto at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/yocto
> 




More information about the yocto mailing list