[OE-core] [PATCH] gtk+3: don't split immodules if we have none

Chris Larson kergoth at gmail.com
Thu Aug 29 00:05:38 UTC 2013


On Wed, Aug 28, 2013 at 4:13 PM, Saul Wold <sgw at linux.intel.com> wrote:

> On 08/28/2013 09:12 AM, Christopher Larson wrote:
>
>> From: Christopher Larson <chris_larson at mentor.com>
>>
>> Currently we don't enable any immodules for gtk+3, yet we unconditionally
>> call
>> do_split_packages on a nonexistent path. This results in a return value of
>> None, which it then tries to join, resulting in a TypeError. Only split
>> the
>> modules if we have any modules to split.
>>
>> Signed-off-by: Christopher Larson <chris_larson at mentor.com>
>> ---
>>   meta/recipes-gnome/gtk+/gtk+3.**inc | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/meta/recipes-gnome/gtk+/gtk+**3.inc
>> b/meta/recipes-gnome/gtk+/gtk+**3.inc
>> index f4d5254..204a425 100644
>> --- a/meta/recipes-gnome/gtk+/gtk+**3.inc
>> +++ b/meta/recipes-gnome/gtk+/gtk+**3.inc
>> @@ -94,7 +94,8 @@ python populate_packages_prepend () {
>>       immodules_root = os.path.join(gtk_libdir, 'immodules')
>>       printmodules_root = os.path.join(gtk_libdir, 'printbackends');
>>
>> -    d.setVar('GTKIMMODULES_**PACKAGES', ' '.join(do_split_packages(d,
>> immodules_root, '^im-(.*)\.so$', 'gtk3-immodule-%s', 'GTK input module for
>> %s')))
>> +    if os.path.exists(os.path.join(d.**getVar('D', True),
>> immodules_root)):
>> +        d.setVar('GTKIMMODULES_**PACKAGES', '
>> '.join(do_split_packages(d, immodules_root, '^im-(.*)\.so$',
>> 'gtk3-immodule-%s', 'GTK input module for %s')))
>>       do_split_packages(d, printmodules_root,
>> '^libprintbackend-(.*)\.so$', 'gtk3-printbackend-%s', 'GTK printbackend
>> module for %s')
>>
>>       if (d.getVar('DEBIAN_NAMES', 1)):
>>
>>
> This seems to give me the following QA error:
>
>  ERROR: QA Issue: gtk+3: Files/directories were installed but not shipped
>>   /usr/lib/gtk-3.0/3.0.0/**immodules/im-viqr.so
>>   /usr/lib/gtk-3.0/3.0.0/**immodules/im-am-et.so
>>   /usr/lib/gtk-3.0/3.0.0/**immodules/im-xim.so
>>   /usr/lib/gtk-3.0/3.0.0/**immodules/im-multipress.so
>>   /usr/lib/gtk-3.0/3.0.0/**immodules/im-cedilla.so
>>   /usr/lib/gtk-3.0/3.0.0/**immodules/im-ti-et.so
>>   /usr/lib/gtk-3.0/3.0.0/**immodules/im-ipa.so
>>   /usr/lib/gtk-3.0/3.0.0/**immodules/im-inuktitut.so
>>   /usr/lib/gtk-3.0/3.0.0/**immodules/im-ti-er.so
>>   /usr/lib/gtk-3.0/3.0.0/**immodules/im-thai.so
>>   /usr/lib/gtk-3.0/3.0.0/**immodules/im-cyrillic-**translit.so
>> ERROR: QA run found fatal errors. Please consider fixing them.
>> ERROR: Function failed: do_package_qa
>> ERROR: Logfile of failure stored in: /srv/hdd/builds/world/tmp/**
>> work/x86_64-poky-linux/gtk+3/**3.8.2-r0/temp/log.do_package.**17386
>> ERROR: Task 6017 (/srv/hdd/poky/meta/recipes-**gnome/gtk+/gtk+3_3.8.2.bb,
>> do_package) failed with exit code '1'
>> NOTE: Tasks Summary: Attempted 6199 tasks of which 6190 didn't need to be
>> rerun and 1 failed.
>
>
Huh, interesting, on this box it doesn't build any modules at all, hence
the need for this.. oh, I see what I did wrong, I used os.path.join(), so
gtk_libdir squished ${D} down to nothing. I'll send a v2 using the
oe.path.join, and also try to determine why it builds modules for you but
not me :) I expect we should be passing an explicit autoconf argument to
enable all modules, or not.
-- 
Christopher Larson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20130828/0f90df05/attachment-0002.html>


More information about the Openembedded-core mailing list