<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 28, 2013 at 4:13 PM, Saul Wold <span dir="ltr">&lt;<a href="mailto:sgw@linux.intel.com" target="_blank">sgw@linux.intel.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb adM"><div class="h5">On 08/28/2013 09:12 AM, Christopher Larson wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
From: Christopher Larson &lt;<a href="mailto:chris_larson@mentor.com" target="_blank">chris_larson@mentor.com</a>&gt;<br>
<br>
Currently we don&#39;t enable any immodules for gtk+3, yet we unconditionally 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 the<br>
modules if we have any modules to split.<br>
<br>
Signed-off-by: Christopher Larson &lt;<a href="mailto:chris_larson@mentor.com" target="_blank">chris_larson@mentor.com</a>&gt;<br>
---<br>
  meta/recipes-gnome/gtk+/gtk+3.<u></u>inc | 3 ++-<br>
  1 file changed, 2 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/meta/recipes-gnome/gtk+/gtk+<u></u>3.inc b/meta/recipes-gnome/gtk+/gtk+<u></u>3.inc<br>
index f4d5254..204a425 100644<br>
--- a/meta/recipes-gnome/gtk+/gtk+<u></u>3.inc<br>
+++ b/meta/recipes-gnome/gtk+/gtk+<u></u>3.inc<br>
@@ -94,7 +94,8 @@ python populate_packages_prepend () {<br>
      immodules_root = os.path.join(gtk_libdir, &#39;immodules&#39;)<br>
      printmodules_root = os.path.join(gtk_libdir, &#39;printbackends&#39;);<br>
<br>
-    d.setVar(&#39;GTKIMMODULES_<u></u>PACKAGES&#39;, &#39; &#39;.join(do_split_packages(d, immodules_root, &#39;^im-(.*)\.so$&#39;, &#39;gtk3-immodule-%s&#39;, &#39;GTK input module for %s&#39;)))<br>
+    if os.path.exists(os.path.join(d.<u></u>getVar(&#39;D&#39;, True), immodules_root)):<br>
+        d.setVar(&#39;GTKIMMODULES_<u></u>PACKAGES&#39;, &#39; &#39;.join(do_split_packages(d, immodules_root, &#39;^im-(.*)\.so$&#39;, &#39;gtk3-immodule-%s&#39;, &#39;GTK input module for %s&#39;)))<br>
      do_split_packages(d, printmodules_root, &#39;^libprintbackend-(.*)\.so$&#39;, &#39;gtk3-printbackend-%s&#39;, &#39;GTK printbackend module for %s&#39;)<br>
<br>
      if (d.getVar(&#39;DEBIAN_NAMES&#39;, 1)):<br>
<br>
</blockquote>
<br></div></div>
This seems to give me the following QA error:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
ERROR: QA Issue: gtk+3: Files/directories were installed but not shipped<br>
  /usr/lib/gtk-3.0/3.0.0/<u></u>immodules/im-viqr.so<br>
  /usr/lib/gtk-3.0/3.0.0/<u></u>immodules/im-am-et.so<br>
  /usr/lib/gtk-3.0/3.0.0/<u></u>immodules/im-xim.so<br>
  /usr/lib/gtk-3.0/3.0.0/<u></u>immodules/im-multipress.so<br>
  /usr/lib/gtk-3.0/3.0.0/<u></u>immodules/im-cedilla.so<br>
  /usr/lib/gtk-3.0/3.0.0/<u></u>immodules/im-ti-et.so<br>
  /usr/lib/gtk-3.0/3.0.0/<u></u>immodules/im-ipa.so<br>
  /usr/lib/gtk-3.0/3.0.0/<u></u>immodules/im-inuktitut.so<br>
  /usr/lib/gtk-3.0/3.0.0/<u></u>immodules/im-ti-er.so<br>
  /usr/lib/gtk-3.0/3.0.0/<u></u>immodules/im-thai.so<br>
  /usr/lib/gtk-3.0/3.0.0/<u></u>immodules/im-cyrillic-<u></u>translit.so<br>
ERROR: QA run found fatal errors. Please consider fixing them.<br>
ERROR: Function failed: do_package_qa<br>
ERROR: Logfile of failure stored in: /srv/hdd/builds/world/tmp/<u></u>work/x86_64-poky-linux/gtk+3/<u></u>3.8.2-r0/temp/log.do_package.<u></u>17386<br>
ERROR: Task 6017 (/srv/hdd/poky/meta/recipes-<u></u>gnome/gtk+/gtk+<a href="http://3_3.8.2.bb" target="_blank">3_3.8.2.bb</a>, do_package) failed with exit code &#39;1&#39;<br>
NOTE: Tasks Summary: Attempted 6199 tasks of which 6190 didn&#39;t need to be rerun and 1 failed.</blockquote></blockquote></div><br>Huh, interesting, on this box it doesn&#39;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&#39;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.<br>

-- <br>Christopher Larson</div></div>