[bitbake-devel] cooker: Fix support for wildcards in bbappend filenames

Submitted by Nathan Rossi on Nov. 29, 2013, 5:19 a.m. | Patch ID: 62633


Message ID fc56b436-2f80-4db5-a39c-672ddfa04224@TX2EHSMHS044.ehs.local
State New
Headers show

Commit Message

Nathan Rossi Nov. 29, 2013, 5:19 a.m.
The 'bbappend in f' incorrectly compares the current recipe with the avaliable
bbappends recipes. This comparsion causes unrequested bbappend files to be
appended, e.g. in the case of 'libgcc_4.8.bb', the bbappends for 'libgcc_4.8.bb'
and 'gcc_4.8.bb' are added to the filelist (because 'gcc_4.8.bb' is contained in
the 'libgcc_4.8.bb' string) which in turn causes the gcc_4.8.bbappend files to
be appended to the libgcc_4.8 recipe.

This should be a 'bbappend == f' to match the previous implementation of this
function, such that if no wildcard is present the recipe names must match

This issue was introduced by commit 31bc9af9cd56e7b318924869970e850993fafc5f,
which it related to [YOCTO #5411].

Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>

This patch resolves an issue that is seen in the meta-xilinx yocto layer. In the
layer we add appends for both gcc and libgcc, as such we get a duplication of

Please let me know if this patch is expected, or if the change to the bbappend
naming has changed such that the layer needs to be fixed.


 lib/bb/cooker.py |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 1f494ee..b36ed6f 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -1486,7 +1486,7 @@  class CookerCollectFiles(object):
         filelist = []
         f = os.path.basename(fn)
         for bbappend in self.appendlist:
-            if bbappend in f or ('%' in bbappend and bbappend.startswith(f[:bbappend.index('%')])):
+            if (bbappend == f) or ('%' in bbappend and bbappend.startswith(f[:bbappend.index('%')])):
                 for filename in self.appendlist[bbappend]: