<?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>6839</bug_id>
          
          <creation_ts>2014-10-14 15:32:01 +0000</creation_ts>
          <short_desc>Handle dev package with no main package more gracefully</short_desc>
          <delta_ts>2026-05-28 13:16:30 +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>OE-Core</product>
          <component>core</component>
          <version>1.7</version>
          <rep_platform>All</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>IN PROGRESS DESIGN</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugzilla.yoctoproject.org/show_bug.cgi?id=8222</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>6.1</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Paul Eggleton">bluelightning</reporter>
          <assigned_to name="Unassigned">unassigned</assigned_to>
          <cc>fawzi.khaber</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>randy.macleod</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>yoann.congal</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Don&apos;t know</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>46319</commentid>
    <comment_count>0</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2014-10-14 15:32:01 +0000</bug_when>
    <thetext>At the moment if your recipe produces no main (${PN}) package because it ends up empty then because of the RDEPENDS_${PN}-dev dependency on the ${PN} package, the ${PN}-dev package is unusable (and ${PN}-staticdev as well which depends upon the ${PN}-dev) because the dependency can never be satisfied. This situation can happen if your recipe only produces a static library for example.

Perhaps we could change the RDEPENDS to an RRECOMMENDS to avoid this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94816</commentid>
    <comment_count>1</comment_count>
    <who name="Yoann Congal">yoann.congal</who>
    <bug_when>2023-01-26 16:17:18 +0000</bug_when>
    <thetext>Richard&apos;s idea: Let&apos;s split the bug to make it more easy to solve in steps.
First step : add a QA check for this case : a -dev package depending on a non-existent main package.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94832</commentid>
    <comment_count>2</comment_count>
    <who name="Fawzi KHABER">fawzi.khaber</who>
    <bug_when>2023-01-30 15:22:48 +0000</bug_when>
    <thetext>I would happily work on this one. Is this issue solved by the commit ddbd90a37c7e9089aaeccb42dd008cf47594099b ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94833</commentid>
    <comment_count>3</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2023-01-30 15:29:38 +0000</bug_when>
    <thetext>Add Richard. Please reply to the previous comment/question.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94862</commentid>
    <comment_count>4</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2023-02-02 16:03:18 +0000</bug_when>
    <thetext>ping.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95010</commentid>
    <comment_count>5</comment_count>
    <who name="Yoann Congal">yoann.congal</who>
    <bug_when>2023-02-24 15:03:35 +0000</bug_when>
    <thetext>Sent a RFC patch about this bug :
https://lists.openembedded.org/g/openembedded-core/topic/rfc_patch_0_2_handling_of/97195657</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95013</commentid>
    <comment_count>6</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2023-02-25 10:26:13 +0000</bug_when>
    <thetext>I put some information about this into an oe-arch email: https://lists.openembedded.org/g/openembedded-architecture/message/1701</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96505</commentid>
    <comment_count>7</comment_count>
    <who name="Yoann Congal">yoann.congal</who>
    <bug_when>2023-09-16 12:45:47 +0000</bug_when>
    <thetext>On #8222:
Comment 7 Richard Purdie 2023-09-14 15:24:57 UTC
&gt; I was asked about the status of this. I don&apos;t think there were objections to what I proposed in the email so I&apos;d suggest we proceed in that direction.

Since #8222 looks like a more narrow case than this bug. I&apos;ll work on this one and #8222 may be fixed in the process (?)

The plan proposed by Richard is:
a) Add warnings for dependencies (RDEPENDS or RRECOMMENDS) on packages
which don&apos;t get created for some reason (either not in PACKAGES or not
ALLOW_EMPTY). We should be able to properly check this using
packagedata which never used to exist as it does now when these bugs
were first created! We can leave the warnings disabled at first until
we clean things up for core and our key layers

b) Work through those warnings to work out if we can silence them at
source. I think the dependency creation code for -dbg and -dev packages
will need to be taught to check if a target dependency exists to fix
the bulk of them.

c) Explore whether we should drop PN from PACKAGES in some of the above
cases.

d) Explore whether we can replace the current generic RRECOMMENDS from
PN-dev -&gt; PN with something autogenerated based on the presence of
shared libs

e) For a long time I&apos;ve wondered if we should split the -dbg packages
from one per recipe to one per package with binaries in it. This would
solve some of the problems that we&apos;ll likely encounter in b) but might</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96597</commentid>
    <comment_count>8</comment_count>
    <who name="Yoann Congal">yoann.congal</who>
    <bug_when>2023-09-28 21:59:07 +0000</bug_when>
    <thetext>Patch v1 sent for part a):
[PATCH 0/2] Empty packages and bogus dependencies (Part 1)
https://lists.openembedded.org/g/openembedded-core/message/188381
[PATCH 1/2] insane: Add QA check for RRECOMMENDS on non-existent packages
https://lists.openembedded.org/g/openembedded-core/message/188382
[PATCH 2/2] meta/recipes: Remove empty ${PN}/DEV_PKG_DEPENDENCY workarounds
https://lists.openembedded.org/g/openembedded-core/message/188383</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99381</commentid>
    <comment_count>9</comment_count>
    <who name="Yoann Congal">yoann.congal</who>
    <bug_when>2024-07-14 07:56:42 +0000</bug_when>
    <thetext>Example of a -dev only recipe in meta-oe https://git.openembedded.org/meta-openembedded/tree/meta-oe/recipes-core/opencl/opencl-clhpp_git.bb#n22
with a workaround :
  # Headers only so PN is empty
  RDEPENDS:${PN}-dev = &quot;&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100119</commentid>
    <comment_count>10</comment_count>
    <who name="Yoann Congal">yoann.congal</who>
    <bug_when>2024-11-07 11:01:27 +0000</bug_when>
    <thetext>(Picking this subject up again)

(In reply to Yoann Congal from comment #8)
&gt; Patch v1 sent for part a):
&gt; [PATCH 0/2] Empty packages and bogus dependencies (Part 1)
&gt; https://lists.openembedded.org/g/openembedded-core/message/188381
&gt; [PATCH 1/2] insane: Add QA check for RRECOMMENDS on non-existent packages
&gt; https://lists.openembedded.org/g/openembedded-core/message/188382
&gt; [PATCH 2/2] meta/recipes: Remove empty ${PN}/DEV_PKG_DEPENDENCY workarounds
&gt; https://lists.openembedded.org/g/openembedded-core/message/188383

Those v1 patches were not merged: See RP&apos;s review: https://lists.openembedded.org/g/openembedded-core/topic/101647340#msg190796</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101776</commentid>
    <comment_count>11</comment_count>
    <who name="Yoann Congal">yoann.congal</who>
    <bug_when>2025-04-29 14:41:57 +0000</bug_when>
    <thetext>Bulk move to 5.3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103199</commentid>
    <comment_count>12</comment_count>
    <who name="Yoann Congal">yoann.congal</who>
    <bug_when>2025-11-06 10:57:03 +0000</bug_when>
    <thetext>Bulk move to 6.0 M1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104955</commentid>
    <comment_count>13</comment_count>
    <who name="Yoann Congal">yoann.congal</who>
    <bug_when>2026-04-03 09:25:41 +0000</bug_when>
    <thetext>(Unassigning myself since a do not realistically have the time to work on this)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105614</commentid>
    <comment_count>14</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2026-05-28 13:16:30 +0000</bug_when>
    <thetext>Bulk move of 6.0 Medium bugs to 6.1.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>