diff options
| -rwxr-xr-x | bitbake-dev/bin/bitbake | 4 | ||||
| -rw-r--r-- | bitbake-dev/lib/bb/data_smart.py | 11 | ||||
| -rw-r--r-- | bitbake-dev/lib/bb/parse/parse_py/BBHandler.py | 3 | ||||
| -rw-r--r-- | bitbake-dev/lib/bb/providers.py | 14 | ||||
| -rw-r--r-- | bitbake-dev/lib/bb/server/xmlrpc.py | 6 | ||||
| -rw-r--r-- | bitbake-dev/lib/bb/taskdata.py | 2 | ||||
| -rw-r--r-- | bitbake-dev/lib/bb/utils.py | 2 | 
7 files changed, 31 insertions, 11 deletions
| diff --git a/bitbake-dev/bin/bitbake b/bitbake-dev/bin/bitbake index 33ae1b96e9..23c9d73ee4 100755 --- a/bitbake-dev/bin/bitbake +++ b/bitbake-dev/bin/bitbake | |||
| @@ -31,8 +31,8 @@ from bb import ui | |||
| 31 | 31 | ||
| 32 | __version__ = "1.9.0" | 32 | __version__ = "1.9.0" | 
| 33 | 33 | ||
| 34 | if sys.hexversion < 0x020600F0: | 34 | if sys.hexversion < 0x020500F0: | 
| 35 | print "Sorry, python 2.6 or later is required for this version of bitbake" | 35 | print "Sorry, python 2.5 or later is required for this version of bitbake" | 
| 36 | sys.exit(1) | 36 | sys.exit(1) | 
| 37 | 37 | ||
| 38 | #============================================================================# | 38 | #============================================================================# | 
| 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 | ||
| 66 | def 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 | ||
| 67 | def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None): | 79 | def 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 | ||
| 34 | import bb | 34 | import bb | 
| 35 | import xmlrpclib | 35 | import xmlrpclib, sys | 
| 36 | from bb import daemonize | 36 | from bb import daemonize | 
| 37 | from bb.ui import uievent | 37 | from bb.ui import uievent | 
| 38 | 38 | ||
| @@ -41,6 +41,10 @@ DEBUG = False | |||
| 41 | from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler | 41 | from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler | 
| 42 | import inspect, select | 42 | import inspect, select | 
| 43 | 43 | ||
| 44 | if sys.hexversion < 0x020600F0: | ||
| 45 | print "Sorry, python 2.6 or later is required for bitbake's XMLRPC mode" | ||
| 46 | sys.exit(1) | ||
| 47 | |||
| 44 | class BitBakeServerCommands(): | 48 | class 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 | ||
| 390 | def empty_environment(): | 390 | def 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) | 
