On 5/5/16 10:47 AM, Martin Jansa wrote:
> On Tue, Apr 19, 2016 at 05:47:07PM +0100, Richard Purdie wrote:
>> If you configure a bz2 debugfs, pbzip2-native currently isn't built.
>> This patch makes sure the dependencies are added.

I thought this had been fixed.

IMAGE_FSTYPES_DEBUGFS -should- be set to default to:

IMAGE_FSTYPES_DEBUGFS ?= "${IMAGE_FSTYPES}"

I usually set it to "tar.gz" myself.

So this is a bug, and we definitely need to fix it.  :P

--Mark

> BTW: I've tried to enable IMAGE_GEN_DEBUGFS for first time as described in 
> manual:
>   Build sysroot paths are now removed from debug symbol files. Removing these 
> paths means that remote GDB using an unstripped build system sysroot will no 
> longer work (although this was never documented to work). The supported 
> method to accomplish something similar is to set IMAGE_GEN_DEBUGFS to "1", 
> which will generate a companion debug image containing unstripped binaries 
> and associated debug sources alongside the image.
> 
> and it fails with ugly exception, because IMAGE_FSTYPES_DEBUGFS isn't set by 
> default.
> 
> It should either be mentioned in the manual or there should be some sane 
> default for it.
> 
> meta/conf/local.conf.sample.extended shows example how to set it next to 
> IMAGE_GEN_DEBUGFS,
> people reading this sample may notice it, but the comment also says:
>   If IMAGE_FSTYPES_DEBUGFS is not defined, it defaults to IMAGE_FSTYPES.
> which isn't true for some reason in my setup, looking at the code I don't see 
> where it is supposed
> to default to IMAGE_FSTYPES
> 
>     if d.getVar('IMAGE_GEN_DEBUGFS', True) == "1":
>         debugfs_fstypes = d.getVar('IMAGE_FSTYPES_DEBUGFS', True).split()
>         for t in debugfs_fstypes:
>             alltypes.append("debugfs_" + t)
> 
> Maybe the author meant that IMAGE_FSTYPES variable is set to 
> IMAGE_FSTYPES_DEBUGFS
> only when IMAGE_FSTYPES_DEBUGFS is set, but that still leaves that split()
> causing parse failure.
> 
>     debugfs_image_fstypes = d.getVar('IMAGE_FSTYPES_DEBUGFS', True)
>     if debugfs_image_fstypes:
>         d.setVar('IMAGE_FSTYPES', debugfs_image_fstypes)
> 
> ERROR: 
> /OE/build/wpb/webos-ports/meta-webos-ports/meta-luneos/recipes-core/images/luneos-image.bb:
>  Error executing a python function in <code>:
> 
> The stack trace of python calls that resulted in this exception/failure was:
> File: '<code>', lineno: 14, function: <module>
>      
> 0010:__anon_38__OE_build_wpb_webos_ports_openembedded_core_meta_classes_rootfs_ipk_bbclass(d)
>      
> 0011:__anon_113__OE_build_wpb_webos_ports_openembedded_core_meta_classes_image_bbclass(d)
>      
> 0012:__anon_176__OE_build_wpb_webos_ports_openembedded_core_meta_classes_image_bbclass(d)
>      
> 0013:__anon_146__OE_build_wpb_webos_ports_openembedded_core_meta_classes_siteinfo_bbclass(d)
>  *** 
> 0014:__anon_439__OE_build_wpb_webos_ports_openembedded_core_meta_classes_image_bbclass(d)
> File: 
> '/OE/build/wpb/webos-ports/openembedded-core/meta/classes/image.bbclass', 
> lineno: 322, function: 
> __anon_439__OE_build_wpb_webos_ports_openembedded_core_meta_classes_image_bbclass
>      0318:    typedeps = {}
>      0319:
>      0320:    if d.getVar('IMAGE_GEN_DEBUGFS', True) == "1":
>      0321:        debugfs_fstypes = d.getVar('IMAGE_FSTYPES_DEBUGFS', 
> True).split()
>  *** 0322:        for t in debugfs_fstypes: 
>      0323:            alltypes.append("debugfs_" + t)
>      0324:
>      0325:    def _add_type(t):
>      0326:        baset = _image_base_type(t)
> Exception: AttributeError: 'NoneType' object has no attribute 'split'
> 
> ERROR: Failed to parse recipe: 
> /OE/build/wpb/webos-ports/meta-webos-ports/meta-luneos/recipes-core/images/luneos-image.bb
> 
> Summary: There were 3 ERROR messages shown, returning a non-zero exit code.
> 
> 
>>
>> Signed-off-by: Richard Purdie <richard.pur...@linuxfoundation.org>
>>
>> diff --git a/meta/classes/image_types.bbclass 
>> b/meta/classes/image_types.bbclass
>> index e2467bd..122e080 100644
>> --- a/meta/classes/image_types.bbclass
>> +++ b/meta/classes/image_types.bbclass
>> @@ -17,7 +17,9 @@ def imagetypes_getdepends(d):
>>  
>>      deps = []
>>      ctypes = d.getVar('COMPRESSIONTYPES', True).split()
>> -    for type in (d.getVar('IMAGE_FSTYPES', True) or "").split():
>> +    fstypes = set((d.getVar('IMAGE_FSTYPES', True) or "").split())
>> +    fstypes |= set((d.getVar('IMAGE_FSTYPES_DEBUGFS', True) or "").split())
>> +    for type in fstypes:
>>          if type in ["vmdk", "vdi", "qcow2", "hdddirect", "live", "iso", 
>> "hddimg"]:
>>              type = "ext4"
>>          basetype = type
>>
>>
>> -- 
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> 
> 
> 

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to