<?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>4798</bug_id>
          
          <creation_ts>2013-07-02 06:51:38 +0000</creation_ts>
          <short_desc>bitbake -g can&apos;t detect certain nonexistent package</short_desc>
          <delta_ts>2013-10-02 09:39:10 +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>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>VERIFIED</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 M3</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yi Zhao">yi.zhao</reporter>
          <assigned_to name="Robert Yang">liezhi.yang</assigned_to>
          <cc>bluelightning</cc>
    
    <cc>ke.zou</cc>
    
    <cc>ning.zhang</cc>
    
    <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>razvanx.ionescu</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>sgw</cc>
    
    <cc>wenzong.fan</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>34265</commentid>
    <comment_count>0</comment_count>
    <who name="Yi Zhao">yi.zhao</who>
    <bug_when>2013-07-02 06:51:38 +0000</bug_when>
    <thetext>git rev: master/f744edc0b8752b20c2a0335aa67312bc3b953507

Steps:
1. Download the poky source and set the environment.
2. Edit the conf/local.conf, add the following line:
CORE_IMAGE_EXTRA_INSTALL += &quot;ncurses-lib12344&quot;
3. Run &quot;bitbake -g core-image-sato&quot;

Because the package &quot;ncurses-lib12344&quot; doesn&apos;t exist. The bitbake -g should report this error. But now it can not found this error.
When run &quot;bitbake ncurses-lib12344&quot;, it can report the error:
ERROR: Nothing PROVIDES &apos;ncurses-lib12344&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34319</commentid>
    <comment_count>1</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2013-07-04 07:47:43 +0000</bug_when>
    <thetext>This is a bit tricky. Sometimes it is useful to be able to analyse the dependency chain to find out where something that is not provided is being pulled in. I&apos;d expect bitbake -g to warn rather than error in this situation and include the nonexistent items in the graphs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34531</commentid>
    <comment_count>2</comment_count>
    <who name="Robert Yang">liezhi.yang</who>
    <bug_when>2013-07-12 09:40:51 +0000</bug_when>
    <thetext>bitbake -g can find out the no rprovider packages, this case is because ncurses-lib12344 is in ncurses&apos; PACKAGES_DYNAMIC:

PACKAGES_DYNAMIC = &quot;^${PN}-lib.*&quot;

The &quot;^${PN}-lib.*&quot; matches ncurses-lib12344, so there is no errors when &quot;bitbake -g&quot; or bitbake &lt;image-recipe&gt;&quot;.

I think that we&apos;d better not warn such a case since there are many dynamic packages otherwise there would be too many warnings, for example, the perl and kernel modules, maybe we can print a debug info, here is the patch:

diff --git a/bitbake/lib/bb/providers.py b/bitbake/lib/bb/providers.py
index 3d0fb48..c9ca742 100644
--- a/bitbake/lib/bb/providers.py
+++ b/bitbake/lib/bb/providers.py
@@ -376,5 +376,6 @@ def getRuntimeProviders(dataCache, rdepend):
             regexp_cache[pattern] = regexp
         if regexp.match(rdepend):
             rproviders += dataCache.packages_dynamic[pattern]
+            logger.debug(1, &quot;Assuming %s is a dynamic package, but it may not exist&quot; % rdepend)
 
     return rproviders</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35487</commentid>
    <comment_count>3</comment_count>
    <who name="Robert Yang">liezhi.yang</who>
    <bug_when>2013-08-08 10:17:41 +0000</bug_when>
    <thetext>Merged into master:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=e605ecfd95d2b1573cb51de01c2e0c72e10b8ae0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37451</commentid>
    <comment_count>4</comment_count>
    <who name="Razvan Ionescu">razvanx.ionescu</who>
    <bug_when>2013-10-02 09:39:10 +0000</bug_when>
    <thetext>Verified with: e605ecfd95d2b1573cb51de01c2e0c72e10b8ae0
Works as Robert Yang described above.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>