diff options
-rw-r--r-- | lib/bb/cooker.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index f44a08889..a2c9b1023 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1408,6 +1408,7 @@ class CookerExit(bb.event.Event): class CookerCollectFiles(object): def __init__(self, priorities): self.appendlist = {} + self.bbappends = [] self.appliedappendlist = [] self.bbfile_config_priorities = priorities @@ -1502,6 +1503,7 @@ class CookerCollectFiles(object): # Build a list of .bbappend files for each .bb file for f in bbappend: base = os.path.basename(f).replace('.bbappend', '.bb') + self.bbappends.append((base, f)) if not base in self.appendlist: self.appendlist[base] = [] if f not in self.appendlist[base]: @@ -1527,11 +1529,11 @@ class CookerCollectFiles(object): """ filelist = [] f = os.path.basename(fn) - for bbappend in self.appendlist: + for b in self.bbappends: + (bbappend, filename) = b 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) + filelist.append(filename) return filelist def collection_priorities(self, pkgfns): @@ -1551,10 +1553,10 @@ class CookerCollectFiles(object): unmatched.add(regex) def findmatch(regex): - for bbfile in self.appendlist: - for append in self.appendlist[bbfile]: - if regex.match(append): - return True + for b in self.bbappends: + (bbfile, append) = b + if regex.match(append): + return True return False for unmatch in unmatched.copy(): |