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

Nathan Rossi nathan.rossi at xilinx.com
Fri Nov 29 05:19:11 UTC 2013


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
exactly.

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

Signed-off-by: Nathan Rossi <nathan.rossi at 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
configuration.

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.

Thanks,
Nathan

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

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('%')])):
                 self.appliedappendlist.append(bbappend)
                 for filename in self.appendlist[bbappend]:
                     filelist.append(filename)
-- 
1.7.9.5





More information about the bitbake-devel mailing list