]> code.ossystems Code Review - openembedded-core.git/commitdiff
bitbake-dev: Sync again with upstream after fixes from Poky bitbake 1.8 were merged
authorRichard Purdie <rpurdie@linux.intel.com>
Tue, 19 Jan 2010 15:33:31 +0000 (15:33 +0000)
committerRichard Purdie <rpurdie@linux.intel.com>
Tue, 19 Jan 2010 15:34:01 +0000 (15:34 +0000)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
bitbake-dev/bin/bitbake
bitbake-dev/lib/bb/data_smart.py
bitbake-dev/lib/bb/parse/parse_py/BBHandler.py
bitbake-dev/lib/bb/providers.py
bitbake-dev/lib/bb/server/xmlrpc.py
bitbake-dev/lib/bb/taskdata.py
bitbake-dev/lib/bb/utils.py

index 33ae1b96e952bce762469cc12d9ba4b0f9e3a3b5..23c9d73ee40f7c1f371e69f77a1608a1a41f283d 100755 (executable)
@@ -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)
 
 #============================================================================#
index c93aea7fef3dc900d435a85e472db765a60cc6cd..988d5c3578fb0a631355486a981781c72f3308d4 100644 (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)
             
index f34599136cbe9235d3de36bbe0fab4a5ccb0a814..9b353634ed6feb465cb3f1a3fe14804ebd497ffc 100644 (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)
 
index 6c1cf78eb3547c71b6c806189be2c421d7e88765..8617251ca3ce3e54eaa424489f964ffba518164f 100644 (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
index b4d69f7be3a4b5a2015b52766f7adaeb7c68bb2b..3364918c77fb5502d1a94e259593526ce579598a 100644 (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
index e3a60b9884928f0290d6e2607cd774ec9f4601c8..4a88e75f6ded06c2dba465cbcdae89fe14d41436 100644 (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)
 
index 5b0aaba4a7b3810f67d73cf08f6c2c468c960d33..5fc1463e678c7f876894839a8c4a879e59a3f7fe 100644 (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)