<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 28, 2013 at 10:36 PM, Martin Jansa <span dir="ltr"><<a href="mailto:martin.jansa@gmail.com" target="_blank">martin.jansa@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Wed, Aug 28, 2013 at 05:05:38PM -0700, Chris Larson wrote:<br>
> On Wed, Aug 28, 2013 at 4:13 PM, Saul Wold <<a href="mailto:sgw@linux.intel.com">sgw@linux.intel.com</a>> wrote:<br>
><br>
> > On 08/28/2013 09:12 AM, Christopher Larson wrote:<br>
> ><br>
> >> From: Christopher Larson <<a href="mailto:chris_larson@mentor.com">chris_larson@mentor.com</a>><br>
> >><br>
> >> Currently we don't enable any immodules for gtk+3, yet we unconditionally<br>
> >> call<br>
> >> do_split_packages on a nonexistent path. This results in a return value of<br>
> >> None, which it then tries to join, resulting in a TypeError. Only split<br>
> >> the<br>
> >> modules if we have any modules to split.<br>
> >><br>
> >> Signed-off-by: Christopher Larson <<a href="mailto:chris_larson@mentor.com">chris_larson@mentor.com</a>><br>
> >> ---<br>
</div>> >> meta/recipes-gnome/gtk+/gtk+3.**inc | 3 ++-<br>
<div class="im">> >> 1 file changed, 2 insertions(+), 1 deletion(-)<br>
> >><br>
</div>> >> diff --git a/meta/recipes-gnome/gtk+/gtk+**3.inc<br>
> >> b/meta/recipes-gnome/gtk+/gtk+**3.inc<br>
> >> index f4d5254..204a425 100644<br>
> >> --- a/meta/recipes-gnome/gtk+/gtk+**3.inc<br>
> >> +++ b/meta/recipes-gnome/gtk+/gtk+**3.inc<br>
<div class="im">> >> @@ -94,7 +94,8 @@ python populate_packages_prepend () {<br>
> >> immodules_root = os.path.join(gtk_libdir, 'immodules')<br>
> >> printmodules_root = os.path.join(gtk_libdir, 'printbackends');<br>
> >><br>
</div>> >> - d.setVar('GTKIMMODULES_**PACKAGES', ' '.join(do_split_packages(d,<br>
<div class="im">> >> immodules_root, '^im-(.*)\.so$', 'gtk3-immodule-%s', 'GTK input module for<br>
> >> %s')))<br>
</div>> >> + if os.path.exists(os.path.join(d.**getVar('D', True),<br>
> >> immodules_root)):<br>
> >> + d.setVar('GTKIMMODULES_**PACKAGES', '<br>
<div class="im">> >> '.join(do_split_packages(d, immodules_root, '^im-(.*)\.so$',<br>
> >> 'gtk3-immodule-%s', 'GTK input module for %s')))<br>
> >> do_split_packages(d, printmodules_root,<br>
> >> '^libprintbackend-(.*)\.so$', 'gtk3-printbackend-%s', 'GTK printbackend<br>
> >> module for %s')<br>
> >><br>
> >> if (d.getVar('DEBIAN_NAMES', 1)):<br>
> >><br>
> >><br>
> > This seems to give me the following QA error:<br>
> ><br>
> > ERROR: QA Issue: gtk+3: Files/directories were installed but not shipped<br>
</div>> >> /usr/lib/gtk-3.0/3.0.0/**immodules/im-viqr.so<br>
> >> /usr/lib/gtk-3.0/3.0.0/**immodules/im-am-et.so<br>
> >> /usr/lib/gtk-3.0/3.0.0/**immodules/im-xim.so<br>
> >> /usr/lib/gtk-3.0/3.0.0/**immodules/im-multipress.so<br>
> >> /usr/lib/gtk-3.0/3.0.0/**immodules/im-cedilla.so<br>
> >> /usr/lib/gtk-3.0/3.0.0/**immodules/im-ti-et.so<br>
> >> /usr/lib/gtk-3.0/3.0.0/**immodules/im-ipa.so<br>
> >> /usr/lib/gtk-3.0/3.0.0/**immodules/im-inuktitut.so<br>
> >> /usr/lib/gtk-3.0/3.0.0/**immodules/im-ti-er.so<br>
> >> /usr/lib/gtk-3.0/3.0.0/**immodules/im-thai.so<br>
> >> /usr/lib/gtk-3.0/3.0.0/**immodules/im-cyrillic-**translit.so<br>
<div class="im">> >> ERROR: QA run found fatal errors. Please consider fixing them.<br>
> >> ERROR: Function failed: do_package_qa<br>
</div>> >> ERROR: Logfile of failure stored in: /srv/hdd/builds/world/tmp/**<br>
> >> work/x86_64-poky-linux/gtk+3/**3.8.2-r0/temp/log.do_package.**17386<br>
> >> ERROR: Task 6017 (/srv/hdd/poky/meta/recipes-**gnome/gtk+/gtk+<a href="http://3_3.8.2.bb" target="_blank">3_3.8.2.bb</a>,<br>
<div class="im">> >> do_package) failed with exit code '1'<br>
> >> NOTE: Tasks Summary: Attempted 6199 tasks of which 6190 didn't need to be<br>
> >> rerun and 1 failed.<br>
> ><br>
> ><br>
> Huh, interesting, on this box it doesn't build any modules at all, hence<br>
> the need for this.. oh, I see what I did wrong, I used os.path.join(), so<br>
> gtk_libdir squished ${D} down to nothing. I'll send a v2 using the<br>
> oe.path.join, and also try to determine why it builds modules for you but<br>
> not me :) I expect we should be passing an explicit autoconf argument to<br>
> enable all modules, or not.<br>
<br>
</div>Why not use return value from do_split_packages to decide whether to set<br>
GTKIMMODULES_**PACKAGES or not? At least that's what's already used in<br>
some places.</blockquote></div><br>Sent a new short series of 2 patches to do just that as well as fix the real root cause of the issue I was hitting. Thanks for the review.<br>-- <br>Christopher Larson<br>clarson at kergoth dot com<br>
Founder - BitBake, OpenEmbedded, OpenZaurus<br>Maintainer - Tslib<br>Senior Software Engineer, Mentor Graphics
</div></div>