<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>5246</bug_id>
          
          <creation_ts>2013-09-20 14:10:03 +0000</creation_ts>
          <short_desc>Variable dependency parsing does not handle braces within functions well</short_desc>
          <delta_ts>2013-09-23 15:48:02 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>BitBake</product>
          <component>bitbake</component>
          <version>1.5</version>
          <rep_platform>All</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium+</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>1.5 M5</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Paul Eggleton">bluelightning</reporter>
          <assigned_to name="Richard Purdie">richard.purdie</assigned_to>
          <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>sgw</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>37023</commentid>
    <comment_count>0</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2013-09-20 14:10:03 +0000</bug_when>
    <thetext>meta/recipes-qt/qt4/qt4-x11-free.inc has some sed expressions that try to replace ${...} references in scripts; however in jumping through hoops to avoid actual ${...} references in the function itself it contains some unclosed {. These don&apos;t cause any problems except when it comes to determining the dependencies for the function - the parser chokes on them resulting in somewhat broken task dependencies:

[&apos;:g\&apos; $pc\n\tdone\n\n\t#Append an E to the qtdemo file\n\tif [ -n &quot;&quot; ] ; then\n\t\t[ -f /home/buildbot/poky/build2/tmp/work/x86_64-poky-linux/qt4-x11-free/4.8.5-r0/image/usr/bin/qtdemo ] &amp;&amp; mv /home/buildbot/poky/build2/tmp/work/x86_64-poky-linux/qt4-x11-free/4.8.5-r0/image/usr/bin/qtdemo /home/buildbot/poky/build2/tmp/work/x86_64-poky-linux/qt4-x11-free/4.8.5-r0/image/usr/bin/qtdemo\n\tfi\n\n\tscript=&quot;/home/buildbot/poky/build2/tmp/work/x86_64-poky-linux/qt4-x11-free/4.8.5-r0/image//usr/share/qt4/environment-setup&quot;\n\ttouch $script\n\techo \&apos;export QT_DIR_NAME=qt4\&apos; &gt;&gt; $script\n\techo \&apos;export QT_LIBINFIX=\&apos; &gt;&gt; $script\n\techo \&apos;export OE_QMAKE_AR=ar\&apos; &gt;&gt; $script\n\techo \&apos;export OE_QMAKE_CC=gcc\&apos; &gt;&gt; $script\n\techo \&apos;export OE_QMAKE_CXX=g++\&apos; &gt;&gt; $script\n\techo \&apos;export OE_QMAKE_LINK=g++\&apos; &gt;&gt; $script\n\techo \&apos;export OE_QMAKE_LIBDIR_QT=/usr/lib\&apos; &gt;&gt; $script\n\techo \&apos;export OE_QMAKE_INCDIR_QT=/usr/include/qt4\&apos; &gt;&gt; $script\n\techo \&apos;export OE_QMAKE_MOC=/usr/bin/moc\&apos; &gt;&gt; $script\n\techo \&apos;export OE_QMAKE_UIC=/usr/bin/uic\&apos; &gt;&gt; $script\n\techo \&apos;export OE_QMAKE_UIC3=/usr/bin/uic3\&apos; &gt;&gt; $script\n\techo \&apos;export OE_QMAKE_RCC=/usr/bin/rcc\&apos; &gt;&gt; $script\n\techo \&apos;export OE_QMAKE_QDBUSCPP2XML=/usr/bin/qdbuscpp2xml\&apos; &gt;&gt; $script\n\techo \&apos;export OE_QMAKE_QDBUSXML2CPP=/usr/bin/qdbusxml2cpp\&apos; &gt;&gt; $script\n\techo \&apos;export OE_QMAKE_QT_CONFIG=/usr/share/qt4/mkspecs/qconfig.pri\&apos; &gt;&gt; $script\n\techo \&apos;export QMAKESPEC=/usr/share/qt4/mkspecs/linux-g++\&apos; &gt;&gt; $script\n\tchmod 0755 $script\n  # fix pkgconfig, libtool and prl files\n  sed -i -e \&apos;s#I/usr/include#Iincludedir&apos;, &apos;ABIEXTENSION&apos;, &apos;AR&apos;, &apos;AS&apos;, &apos;ASNEEDED&apos;, &apos;BPN&apos;, &apos;BUILD_AR&apos;, &apos;BUILD_ARCH&apos;, &apos;BUILD_AS&apos;, &apos;BUILD_AS_ARCH&apos;, &apos;BUILD_CC&apos;, &apos;BUILD_CCLD&apos;, &apos;BUILD_CC_ARCH&apos;, &apos;BUILD_CFLAGS&apos;, &apos;BUILD_CPP&apos;, &apos;BUILD_CPPFLAGS&apos;, &apos;BUILD_CXX&apos;, &apos;BUILD_CXXFLAGS&apos;, &apos;BUILD_F77&apos;, &apos;BUILD_LD&apos;, &apos;BUILD_LDFLAGS&apos;, &apos;BUILD_LD_ARCH&apos;, &apos;BUILD_NM&apos;, &apos;BUILD_OPTIMIZATION&apos;, &apos;BUILD_OS&apos;, &apos;BUILD_PREFIX&apos;, &apos;BUILD_RANLIB&apos;, &apos;BUILD_STRIP&apos;, &apos;BUILD_SYS&apos;, &apos;BUILD_VENDOR&apos;, &apos;CC&apos;, &apos;CCLD&apos;, &apos;CFLAGS&apos;, &apos;CPP&apos;, &apos;CPPFLAGS&apos;, &apos;CXX&apos;, &apos;CXXFLAGS&apos;, &apos;D&apos;, &apos;DEBUG_BUILD&apos;, &apos;DEBUG_FLAGS&apos;, &apos;DEBUG_OPTIMIZATION&apos;, &apos;DEFAULTTUNE&apos;, &apos;EXTENDPE&apos;, &apos;EXTRA_OEMAKE&apos;, &apos;F77&apos;, &apos;FULL_OPTIMIZATION&apos;, &apos;HOST_AS_ARCH&apos;, &apos;HOST_CC_ARCH&apos;, &apos;HOST_LD_ARCH&apos;, &apos;HOST_PREFIX&apos;, &apos;LC_ALL&apos;, &apos;LD&apos;, &apos;LDFLAGS&apos;, &apos;LIBCEXTENSION&apos;, &apos;LINKER_HASH_STYLE&apos;, &apos;MAKE&apos;, &apos;MULTIMACH_TARGET_SYS&apos;, &apos;NM&apos;, &apos;OBJCOPY&apos;, &apos;OBJDUMP&apos;, &apos;OE_QMAKE_AR&apos;, &apos;OE_QMAKE_CC&apos;, &apos;OE_QMAKE_CFLAGS&apos;, &apos;OE_QMAKE_CXX&apos;, &apos;OE_QMAKE_CXXFLAGS&apos;, &apos;OE_QMAKE_INCDIR_QT&apos;, &apos;OE_QMAKE_LCONVERT&apos;, &apos;OE_QMAKE_LDFLAGS&apos;, &apos;OE_QMAKE_LIBDIR_QT&apos;, &apos;OE_QMAKE_LIBS_QT&apos;, &apos;OE_QMAKE_LIBS_X11&apos;, &apos;OE_QMAKE_LIBS_X11SM&apos;, &apos;OE_QMAKE_LINK&apos;, &apos;OE_QMAKE_LRELEASE&apos;, &apos;OE_QMAKE_LUPDATE&apos;, &apos;OE_QMAKE_MOC&apos;, &apos;OE_QMAKE_QDBUSCPP2XML&apos;, &apos;OE_QMAKE_QDBUSXML2CPP&apos;, &apos;OE_QMAKE_QMAKE&apos;, &apos;OE_QMAKE_QT_CONFIG&apos;, &apos;OE_QMAKE_RCC&apos;, &apos;OE_QMAKE_RPATH&apos;, &apos;OE_QMAKE_STRIP&apos;, &apos;OE_QMAKE_UIC&apos;, &apos;OE_QMAKE_UIC3&apos;, &apos;OE_QMAKE_XMLPATTERNS&apos;, &apos;PACKAGE_ARCH&apos;, &apos;PATCH_GET&apos;, &apos;PE&apos;, &quot;PE\\x7d_&apos;][int(d.getVar(&apos;PE&apos;,1) or 0) &gt; 0]&quot;, &apos;PKG_CONFIG_DIR&apos;, &apos;PKG_CONFIG_DISABLE_UNINSTALLED&apos;, &apos;PKG_CONFIG_LIBDIR&apos;, &apos;PKG_CONFIG_PATH&apos;, &apos;PKG_CONFIG_SYSROOT_DIR&apos;, &apos;PN&apos;, &apos;PR&apos;, &apos;PSEUDO_DISABLED&apos;, &apos;PV&apos;, &apos;QMAKESPEC&apos;, &apos;QT_BASE_NAME&apos;, &apos;QT_CONF_PATH&apos;, &apos;QT_DIR_NAME&apos;, &apos;QT_LIBINFIX&apos;, &apos;QT_LIB_NAMES&apos;, &apos;RANLIB&apos;, &apos;S&apos;, &apos;SELECTED_OPTIMIZATION&apos;, &apos;SPECIAL_PKGSUFFIX&apos;, &apos;STAGING_BASE_LIBDIR_NATIVE&apos;, &apos;STAGING_BINDIR_NATIVE&apos;, &apos;STAGING_DATADIR&apos;, &apos;STAGING_DIR&apos;, &apos;STAGING_DIR_NATIVE&apos;, &apos;STAGING_INCDIR&apos;, &apos;STAGING_INCDIR_NATIVE&apos;, &apos;STAGING_LIBDIR&apos;, &apos;STAGING_LIBDIR_NATIVE&apos;, &apos;STRINGS&apos;, &apos;STRIP&apos;, &apos;TARGET_ARCH&apos;, &apos;TARGET_AS_ARCH&apos;, &apos;TARGET_CC_ARCH&apos;, &apos;TARGET_CFLAGS&apos;, &apos;TARGET_CPPFLAGS&apos;, &apos;TARGET_CXXFLAGS&apos;, &apos;TARGET_LDFLAGS&apos;, &apos;TARGET_LD_ARCH&apos;, &apos;TARGET_LINK_HASH_STYLE&apos;, &apos;TARGET_OS&apos;, &apos;TARGET_PREFIX&apos;, &apos;TARGET_SYS&apos;, &apos;TARGET_VENDOR&apos;, &apos;TOOLCHAIN_OPTIONS&apos;, &apos;TUNE_ARCH&apos;, &apos;TUNE_ASARGS&apos;, &apos;TUNE_CCARGS&apos;, &apos;TUNE_FEATURES&apos;, &apos;TUNE_FEATURES_tune-x86-64&apos;, &apos;TUNE_LDARGS&apos;, &apos;TUNE_PKGARCH&apos;, &apos;TUNE_PKGARCH_tune-x86-64&apos;, &apos;WORKDIR&apos;, &apos;X86ARCH32&apos;, &apos;X86ARCH64&apos;, &apos;base_bindir&apos;, &apos;base_libdir&apos;, &apos;base_libdir_native&apos;, &apos;base_prefix&apos;, &apos;base_prune_suffix&apos;, &apos;base_sbindir&apos;, &apos;baselib&apos;, &apos;bbfatal&apos;, &apos;bbnote&apos;, &apos;bindir&apos;, &apos;bindir_native&apos;, &apos;datadir&apos;, &apos;die&apos;, &apos;do_install[fakeroot]&apos;, &apos;do_install[umask]&apos;, &apos;docdir&apos;, &apos;exec_prefix&apos;, &apos;in#g\&apos; \\\n    /home/buildbot/poky/build2/tmp/work/x86_64-poky-linux/qt4-x11-free/4.8.5-r0/image/usr/lib/*.la /home/buildbot/poky/build2/tmp/work/x86_64-poky-linux/qt4-x11-free/4.8.5-r0/image/usr/lib/*.prl /home/buildbot/poky/build2/tmp/work/x86_64-poky-linux/qt4-x11-free/4.8.5-r0/image/usr/lib/pkgconfig/*.pc\n\n  # QT abuses $includedir to point to its headers, which breaks pkgconfig sysroot, so\n  # manually fix it up here:\n  for pc in /home/buildbot/poky/build2/tmp/work/x86_64-poky-linux/qt4-x11-free/4.8.5-r0/image/usr/lib/pkgconfig/*.pc ; do\n    sed -i -e &quot;s:prefix&apos;, &apos;includedir&apos;, &apos;includedir_native&apos;, &apos;infodir&apos;, &apos;libdir&apos;, &apos;libdir_native&apos;, &apos;libexecdir&apos;, &apos;localstatedir&apos;, &apos;mandir&apos;, &apos;name&apos;, &apos;nonarch_base_libdir&apos;, &apos;oe_runmake&apos;, &apos;oldincludedir&apos;, &apos;prefix&apos;, &apos;prefix_native&apos;, &apos;sbindir&apos;, &apos;servicedir&apos;, &apos;sharedstatedir&apos;, &apos;sysconfdir&apos;, &apos;systemd_unitdir&apos;]


Apart from being ugly this has caused problems with sstate rebuilds where the garbage values change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37034</commentid>
    <comment_count>1</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2013-09-21 10:07:01 +0000</bug_when>
    <thetext>This is actually quite serious once you get into it. I&apos;ve a fix queued.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37075</commentid>
    <comment_count>2</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2013-09-23 15:48:02 +0000</bug_when>
    <thetext>Fixed in master with http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=d9955a14fa8758c538caef5045faa96273126776</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>