summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2007-08-17 23:31:37 +0000
committerRichard Purdie <rpurdie@linux.intel.com>2007-08-17 23:31:37 +0000
commitb3b407dc9899d80579e0d8a8e89071be77239f4b (patch)
treef2b0e64513b34134d6bba6ef78861b88f2344498
parenta562112049d0a4fe725a0958c5b91d3028422822 (diff)
downloadbitbake-b3b407dc9899d80579e0d8a8e89071be77239f4b.tar.gz
bb/__init.py: Sort digraph output to make builds more reproducible
-rw-r--r--ChangeLog2
-rw-r--r--lib/bb/__init__.py14
2 files changed, 14 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 165d947ea..37f5017ac 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,6 +28,8 @@ Changes in Bitbake 1.8.x:
- Expand data in addtasks
- Print the list of missing DEPENDS,RDEPENDS for the "No buildable providers available for required...."
error message.
+ - Rework add_task to be more efficient (6% speedup, 7% number of function calls reduction)
+ - Sort digraph output to make builds more reproducible
Changes in Bitbake 1.8.6:
diff --git a/lib/bb/__init__.py b/lib/bb/__init__.py
index 585eec887..c2f2f7dbf 100644
--- a/lib/bb/__init__.py
+++ b/lib/bb/__init__.py
@@ -1124,7 +1124,12 @@ class digraph:
def allnodes(self):
"returns all nodes in the dictionary"
- return self.dict.keys()
+ keys = self.dict.keys()
+ ret = []
+ for key in keys:
+ ret.append(key)
+ ret.sort()
+ return ret
def firstzero(self):
"returns first node with zero references, or NULL if no such node exists"
@@ -1168,7 +1173,12 @@ class digraph:
def getparents(self, item):
if not self.hasnode(item):
return []
- return self.dict[item][1]
+ parents = self.dict[item][1]
+ ret = []
+ for parent in parents:
+ ret.append(parent)
+ ret.sort()
+ return ret
def getchildren(self, item):
if not self.hasnode(item):