summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-05-27 15:13:54 +0100
committerChris Larson <chris_larson@mentor.com>2011-08-15 17:17:00 -0700
commit8f0178ff222e6bd1cd32f1af9396f8536ec50a25 (patch)
tree0234ad3d6600d462eaa06e74010be6fa8b342617 /lib
parenta87dc5317ce8523d0602186c857622dfa28e5bc7 (diff)
downloadbitbake-8f0178ff222e6bd1cd32f1af9396f8536ec50a25.tar.gz
bitbake/cooker.py: Ensure BBFILES is processed in order
The files found by collect_bbfiles should be processed in order but due to being processed using python's set(), the order was not being preserved. Use a list instead as whilst the code is slightly more ugly, order is preserved. Addresses [YOCTO #1100] Acked-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/bb/cooker.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 9d00c13a0..490fca8cc 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -838,16 +838,21 @@ class BBCooker:
collectlog.error("no recipe files to build, check your BBPATH and BBFILES?")
bb.event.fire(CookerExit(), self.configuration.event_data)
- newfiles = set()
+ # Can't use set here as order is important
+ newfiles = []
for f in files:
if os.path.isdir(f):
dirfiles = self.find_bbfiles(f)
- newfiles.update(dirfiles)
+ for g in dirfiles:
+ if g not in newfiles:
+ newfiles.append(g)
else:
globbed = glob.glob(f)
if not globbed and os.path.exists(f):
globbed = [f]
- newfiles.update(globbed)
+ for g in globbed:
+ if g not in newfiles:
+ newfiles.append(g)
bbmask = bb.data.getVar('BBMASK', self.configuration.data, 1)