<?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>14870</bug_id>
          
          <creation_ts>2022-08-04 10:25:37 +0000</creation_ts>
          <short_desc>Dangling bbappend behaviour can lead to unexpected surprises (error vs warn)</short_desc>
          <delta_ts>2025-03-24 09:51:41 +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>oe-core other</component>
          <version>unspecified</version>
          <rep_platform>x86</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>5.2</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrei Gherzan">andrei</reporter>
          <assigned_to name="Richard Purdie">richard.purdie</assigned_to>
          <cc>Martin.Jansa</cc>
    
    <cc>randy.macleod</cc>
    
    <cc>richard.purdie</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>93715</commentid>
    <comment_count>0</comment_count>
    <who name="Andrei Gherzan">andrei</who>
    <bug_when>2022-08-04 10:25:37 +0000</bug_when>
    <thetext>BB_DANGLINGAPPENDS_WARNONLY handles how bitbake behaves when at least a dangling bbappend is found. By default, when nothing defines it, bitbake will error out in such a case. This is usually the behaviour that a lot of projects are relying on when handling their bbappends (so they are forced to handle forward-porting or dropping with layer upgrades).

Sadly this is just way too easy to be injected through layer upgrades that can affect this behaviour unexpectedly. For example:

1. a layer starting to define BB_DANGLINGAPPENDS_WARNONLY=1 in layer.conf
2. a distro that does the same when the downstream inherits it or uses it directly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93716</commentid>
    <comment_count>1</comment_count>
    <who name="Martin Jansa">Martin.Jansa</who>
    <bug_when>2022-08-04 10:31:10 +0000</bug_when>
    <thetext>I think a good solution would be to make it more like BBMASK, so that it would list only the .bbappends which might be dangling?

That way such layer can explicitly list only the bbappends which are allowed to be   dangling (even in layer.conf) without affecting any other layers included in the build.

And also it would still allow this variable to be used e.g. from local.conf to temporarily unblock parsing some layer with dangling bbappend without modifying that layer (BBMASK could be used instead, if the bbappend is always dangling).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93717</commentid>
    <comment_count>2</comment_count>
    <who name="Andrei Gherzan">andrei</who>
    <bug_when>2022-08-04 10:33:47 +0000</bug_when>
    <thetext>@martin Wouldn&apos;t this just duplicate BBMASK (or at least be a subset of it)? I am tempted to say that my vote is to drop it altogether - drop BB_DANGLINGAPPENDS_WARNONLY.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93718</commentid>
    <comment_count>3</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2022-08-04 10:38:08 +0000</bug_when>
    <thetext>Layers being able to change behaviours of other layers is a poor API and I&apos;m tempted to remove this and refer people to BBMASK if they need it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93719</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Jansa">Martin.Jansa</who>
    <bug_when>2022-08-04 11:00:23 +0000</bug_when>
    <thetext>Yes, it would be very similar to BBMASK, but the difference would be that it won&apos;t be _always_ masked, only when the recipe doesn&apos;t exist (while triggering the warning) and applied when it can be applied.

But as said on IRC I don&apos;t use BB_DANGLINGAPPENDS_WARNONLY, someone with valid use-case for it, should comment on this (before they start complaining after it&apos;s dropped completely).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93720</commentid>
    <comment_count>5</comment_count>
    <who name="Andrei Gherzan">andrei</who>
    <bug_when>2022-08-04 11:03:21 +0000</bug_when>
    <thetext>&gt; But as said on IRC I don&apos;t use BB_DANGLINGAPPENDS_WARNONLY, someone with
&gt; valid use-case for it, should comment on this (before they start complaining
&gt; after it&apos;s dropped completely).

Totally agree - same here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99508</commentid>
    <comment_count>6</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2024-08-07 16:31:22 +0000</bug_when>
    <thetext>Proposal made to OE-Arch: https://lists.openembedded.org/g/openembedded-architecture/message/2029</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101473</commentid>
    <comment_count>7</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2025-03-24 09:51:41 +0000</bug_when>
    <thetext>https://git.yoctoproject.org/poky/commit/?id=282cc1ea929f2dc43c095c0029c3b3974bb40566</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>