summaryrefslogtreecommitdiffstats
path: root/bitbake-dev/lib
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-01-19 15:33:31 +0000
committerRichard Purdie <rpurdie@linux.intel.com>2010-01-19 15:34:01 +0000
commitb65e8ec5931afbfcb29482db5a3afb9a752166cf (patch)
tree4eecc2d466e0e7d68e2a73c348c9051a36df9fbd /bitbake-dev/lib
parent43788606bda9bef3e0c796271af8a03e01d9853d (diff)
downloadpoky-b65e8ec5931afbfcb29482db5a3afb9a752166cf.tar.gz
bitbake-dev: Sync again with upstream after fixes from Poky bitbake 1.8 were merged
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'bitbake-dev/lib')
-rw-r--r--bitbake-dev/lib/bb/data_smart.py11
-rw-r--r--bitbake-dev/lib/bb/parse/parse_py/BBHandler.py3
-rw-r--r--bitbake-dev/lib/bb/providers.py14
-rw-r--r--bitbake-dev/lib/bb/server/xmlrpc.py6
-rw-r--r--bitbake-dev/lib/bb/taskdata.py2
-rw-r--r--bitbake-dev/lib/bb/utils.py2
6 files changed, 29 insertions, 9 deletions
diff --git a/bitbake-dev/lib/bb/data_smart.py b/bitbake-dev/lib/bb/data_smart.py
index c93aea7fef..988d5c3578 100644
--- a/bitbake-dev/lib/bb/data_smart.py
+++ b/bitbake-dev/lib/bb/data_smart.py
@@ -171,14 +171,15 @@ class DataSmart:
171 Rename the variable key to newkey 171 Rename the variable key to newkey
172 """ 172 """
173 val = self.getVar(key, 0) 173 val = self.getVar(key, 0)
174 if val is None: 174 if val is not None:
175 return 175 self.setVar(newkey, val)
176
177 self.setVar(newkey, val)
178 176
179 for i in ('_append', '_prepend'): 177 for i in ('_append', '_prepend'):
178 src = self.getVarFlag(key, i)
179 if src is None:
180 continue
181
180 dest = self.getVarFlag(newkey, i) or [] 182 dest = self.getVarFlag(newkey, i) or []
181 src = self.getVarFlag(key, i) or []
182 dest.extend(src) 183 dest.extend(src)
183 self.setVarFlag(newkey, i, dest) 184 self.setVarFlag(newkey, i, dest)
184 185
diff --git a/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py b/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py
index f34599136c..9b353634ed 100644
--- a/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py
+++ b/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py
@@ -329,7 +329,8 @@ def feeder(lineno, s, fn, root, d):
329 after = m.group("after") 329 after = m.group("after")
330 if func is None: 330 if func is None:
331 return 331 return
332 var = "do_" + func 332 if func[:3] != "do_":
333 var = "do_" + func
333 334
334 data.setVarFlag(var, "task", 1, d) 335 data.setVarFlag(var, "task", 1, d)
335 336
diff --git a/bitbake-dev/lib/bb/providers.py b/bitbake-dev/lib/bb/providers.py
index 6c1cf78eb3..8617251ca3 100644
--- a/bitbake-dev/lib/bb/providers.py
+++ b/bitbake-dev/lib/bb/providers.py
@@ -63,6 +63,18 @@ def sortPriorities(pn, dataCache, pkg_pn = None):
63 63
64 return tmp_pn 64 return tmp_pn
65 65
66def preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r):
67 """
68 Check if the version pe,pv,pr is the preferred one.
69 If there is preferred version defined and ends with '%', then pv has to start with that version after removing the '%'
70 """
71 if (pr == preferred_r or preferred_r == None):
72 if (pe == preferred_e or preferred_e == None):
73 if preferred_v == pv:
74 return True
75 if preferred_v != None and preferred_v.endswith('%') and pv.startswith(preferred_v[:len(preferred_v)-1]):
76 return True
77 return False
66 78
67def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None): 79def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
68 """ 80 """
@@ -96,7 +108,7 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
96 for file_set in pkg_pn: 108 for file_set in pkg_pn:
97 for f in file_set: 109 for f in file_set:
98 pe,pv,pr = dataCache.pkg_pepvpr[f] 110 pe,pv,pr = dataCache.pkg_pepvpr[f]
99 if preferred_v == pv and (preferred_r == pr or preferred_r == None) and (preferred_e == pe or preferred_e == None): 111 if preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r):
100 preferred_file = f 112 preferred_file = f
101 preferred_ver = (pe, pv, pr) 113 preferred_ver = (pe, pv, pr)
102 break 114 break
diff --git a/bitbake-dev/lib/bb/server/xmlrpc.py b/bitbake-dev/lib/bb/server/xmlrpc.py
index b4d69f7be3..3364918c77 100644
--- a/bitbake-dev/lib/bb/server/xmlrpc.py
+++ b/bitbake-dev/lib/bb/server/xmlrpc.py
@@ -32,7 +32,7 @@
32""" 32"""
33 33
34import bb 34import bb
35import xmlrpclib 35import xmlrpclib, sys
36from bb import daemonize 36from bb import daemonize
37from bb.ui import uievent 37from bb.ui import uievent
38 38
@@ -41,6 +41,10 @@ DEBUG = False
41from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler 41from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
42import inspect, select 42import inspect, select
43 43
44if sys.hexversion < 0x020600F0:
45 print "Sorry, python 2.6 or later is required for bitbake's XMLRPC mode"
46 sys.exit(1)
47
44class BitBakeServerCommands(): 48class BitBakeServerCommands():
45 def __init__(self, server, cooker): 49 def __init__(self, server, cooker):
46 self.cooker = cooker 50 self.cooker = cooker
diff --git a/bitbake-dev/lib/bb/taskdata.py b/bitbake-dev/lib/bb/taskdata.py
index e3a60b9884..4a88e75f6d 100644
--- a/bitbake-dev/lib/bb/taskdata.py
+++ b/bitbake-dev/lib/bb/taskdata.py
@@ -173,6 +173,8 @@ class TaskData:
173 ids = [] 173 ids = []
174 for dep in task_deps['depends'][task].split(): 174 for dep in task_deps['depends'][task].split():
175 if dep: 175 if dep:
176 if ":" not in dep:
177 bb.msg.fatal(bb.msg.domain.TaskData, "Error, dependency %s does not contain ':' character\n. Task 'depends' should be specified in the form 'packagename:task'" % (depend, fn))
176 ids.append(((self.getbuild_id(dep.split(":")[0])), dep.split(":")[1])) 178 ids.append(((self.getbuild_id(dep.split(":")[0])), dep.split(":")[1]))
177 self.tasks_idepends[taskid].extend(ids) 179 self.tasks_idepends[taskid].extend(ids)
178 180
diff --git a/bitbake-dev/lib/bb/utils.py b/bitbake-dev/lib/bb/utils.py
index 5b0aaba4a7..5fc1463e67 100644
--- a/bitbake-dev/lib/bb/utils.py
+++ b/bitbake-dev/lib/bb/utils.py
@@ -389,7 +389,7 @@ def clean_environment():
389 389
390def empty_environment(): 390def empty_environment():
391 """ 391 """
392 Remove all variable from the environment. 392 Remove all variables from the environment.
393 """ 393 """
394 for s in os.environ.keys(): 394 for s in os.environ.keys():
395 os.unsetenv(s) 395 os.unsetenv(s)