bitbake-dev: Sync again with upstream after fixes from Poky bitbake 1.8 were merged

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
Richard Purdie 2010-01-19 15:33:31 +00:00
parent 43788606bd
commit b65e8ec593
7 changed files with 31 additions and 11 deletions

View File

@ -31,8 +31,8 @@ from bb import ui
__version__ = "1.9.0"
if sys.hexversion < 0x020600F0:
print "Sorry, python 2.6 or later is required for this version of bitbake"
if sys.hexversion < 0x020500F0:
print "Sorry, python 2.5 or later is required for this version of bitbake"
sys.exit(1)
#============================================================================#

View File

@ -171,14 +171,15 @@ class DataSmart:
Rename the variable key to newkey
"""
val = self.getVar(key, 0)
if val is None:
return
self.setVar(newkey, val)
if val is not None:
self.setVar(newkey, val)
for i in ('_append', '_prepend'):
src = self.getVarFlag(key, i)
if src is None:
continue
dest = self.getVarFlag(newkey, i) or []
src = self.getVarFlag(key, i) or []
dest.extend(src)
self.setVarFlag(newkey, i, dest)

View File

@ -329,7 +329,8 @@ def feeder(lineno, s, fn, root, d):
after = m.group("after")
if func is None:
return
var = "do_" + func
if func[:3] != "do_":
var = "do_" + func
data.setVarFlag(var, "task", 1, d)

View File

@ -63,6 +63,18 @@ def sortPriorities(pn, dataCache, pkg_pn = None):
return tmp_pn
def preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r):
"""
Check if the version pe,pv,pr is the preferred one.
If there is preferred version defined and ends with '%', then pv has to start with that version after removing the '%'
"""
if (pr == preferred_r or preferred_r == None):
if (pe == preferred_e or preferred_e == None):
if preferred_v == pv:
return True
if preferred_v != None and preferred_v.endswith('%') and pv.startswith(preferred_v[:len(preferred_v)-1]):
return True
return False
def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
"""
@ -96,7 +108,7 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
for file_set in pkg_pn:
for f in file_set:
pe,pv,pr = dataCache.pkg_pepvpr[f]
if preferred_v == pv and (preferred_r == pr or preferred_r == None) and (preferred_e == pe or preferred_e == None):
if preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r):
preferred_file = f
preferred_ver = (pe, pv, pr)
break

View File

@ -32,7 +32,7 @@
"""
import bb
import xmlrpclib
import xmlrpclib, sys
from bb import daemonize
from bb.ui import uievent
@ -41,6 +41,10 @@ DEBUG = False
from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
import inspect, select
if sys.hexversion < 0x020600F0:
print "Sorry, python 2.6 or later is required for bitbake's XMLRPC mode"
sys.exit(1)
class BitBakeServerCommands():
def __init__(self, server, cooker):
self.cooker = cooker

View File

@ -173,6 +173,8 @@ class TaskData:
ids = []
for dep in task_deps['depends'][task].split():
if dep:
if ":" not in dep:
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))
ids.append(((self.getbuild_id(dep.split(":")[0])), dep.split(":")[1]))
self.tasks_idepends[taskid].extend(ids)

View File

@ -389,7 +389,7 @@ def clean_environment():
def empty_environment():
"""
Remove all variable from the environment.
Remove all variables from the environment.
"""
for s in os.environ.keys():
os.unsetenv(s)