]> code.ossystems Code Review - openembedded-core.git/commitdiff
bitbake: Merge further fixes from upstream 1.8 branch
authorRichard Purdie <rpurdie@linux.intel.com>
Mon, 11 May 2009 21:41:17 +0000 (22:41 +0100)
committerRichard Purdie <rpurdie@linux.intel.com>
Mon, 11 May 2009 21:41:17 +0000 (22:41 +0100)
* Make the test functionality work
* Optimise BBPATH handling when changing directory
* Optimise file globing for BBFILES

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
bitbake/lib/bb/__init__.py
bitbake/lib/bb/cooker.py
bitbake/lib/bb/data.py
bitbake/lib/bb/parse/parse_py/BBHandler.py
bitbake/lib/bb/parse/parse_py/ConfHandler.py

index 7d01d52b6447f680256d45114bbe99a2a0c8e488..b8f7c7f59eb0a8ae45b19d8eb7b2427b451e2b12 100644 (file)
@@ -1129,4 +1129,5 @@ def dep_opconvert(mysplit, myuse):
 
 if __name__ == "__main__":
     import doctest, bb
+    bb.msg.set_debug_level(0)
     doctest.testmod(bb)
index 9f8c71ff13411cbec64a40773edc5c8aabe36767..610824ab21d1a4fb3eea2b4bd36e9c5f9d7b5837 100644 (file)
@@ -281,13 +281,13 @@ class BBCooker:
                     print >> depends_file, '"%s" -> "%s"' % (pn, depend)
                 rdepends = self.status.rundeps[fn]
                 for package in rdepends:
-                    for rdepend in rdepends[package]:
-                        print >> depends_file, '"%s" -> "%s" [style=dashed]' % (package, rdepend)
+                    for rdepend in re.findall("([\w.-]+)(\ \(.+\))?", rdepends[package]):
+                        print >> depends_file, '"%s" -> "%s%s" [style=dashed]' % (package, rdepend[0], rdepend[1])
                     packages.append(package)
                 rrecs = self.status.runrecs[fn]
                 for package in rrecs:
-                    for rdepend in rrecs[package]:
-                        print >> depends_file, '"%s" -> "%s" [style=dashed]' % (package, rdepend)
+                    for rdepend in re.findall("([\w.-]+)(\ \(.+\))?", rrecs[package]):
+                        print >> depends_file, '"%s" -> "%s%s" [style=dashed]' % (package, rdepend[0], rdepend[1])
                     if not package in packages:
                         packages.append(package)
                 for package in packages:
@@ -688,7 +688,11 @@ class BBCooker:
                 if dirfiles:
                     newfiles += dirfiles
                     continue
-            newfiles += glob.glob(f) or [ f ]
+            else:
+                globbed = glob.glob(f)
+                if not globbed and os.path.exists(f):
+                    globbed = [f]
+                newfiles += globbed
 
         bbmask = bb.data.getVar('BBMASK', self.configuration.data, 1)
 
@@ -701,9 +705,8 @@ class BBCooker:
             bb.msg.fatal(bb.msg.domain.Collection, "BBMASK is not a valid regular expression.")
 
         finalfiles = []
-        for i in xrange( len( newfiles ) ):
-            f = newfiles[i]
-            if bbmask and bbmask_compiled.search(f):
+        for f in newfiles:
+            if bbmask_compiled.search(f):
                 bb.msg.debug(1, bb.msg.domain.Collection, "skipping masked file %s" % f)
                 masked += 1
                 continue
index cc08d6900967c4946d5315f0d92c9aa14124921f..f424ac7a22f028b85f217c900e9a3faee3a4d3ac 100644 (file)
@@ -553,7 +553,9 @@ def inherits_class(klass, d):
 def _test():
     """Start a doctest run on this module"""
     import doctest
+    import bb
     from bb import data
+    bb.msg.set_debug_level(0)
     doctest.testmod(data)
 
 if __name__ == "__main__":
index 97786c4202f1cfe1c46da539c5a4ae24f79ae01d..d13428aa0b192fe84b5244ae9e13d54726eb6376 100644 (file)
@@ -155,12 +155,6 @@ def handle(fn, d, include = 0):
         f = open(fn,'r')
         abs_fn = fn
 
-    if ext != ".bbclass":
-        dname = os.path.dirname(abs_fn)
-        if bbpath[0] != dname:
-            bbpath.insert(0, dname)
-            data.setVar('BBPATH', ":".join(bbpath), d)
-
     if include:
         bb.parse.mark_dependency(d, abs_fn)
 
index f8a49689e2f7119f3b8ae2f41ad5d6e0734683f5..c9f1ea13fb7d99b23a260e366d5238a4272453cf 100644 (file)
@@ -102,6 +102,13 @@ def include(oldfn, fn, data, error_out):
     fn = bb.data.expand(fn, data)
     oldfn = bb.data.expand(oldfn, data)
 
+    if not os.path.isabs(fn):
+        dname = os.path.dirname(oldfn)
+        bbpath = "%s:%s" % (dname, bb.data.getVar("BBPATH", data, 1))
+        abs_fn = bb.which(bbpath, fn)
+        if abs_fn:
+            fn = abs_fn
+
     from bb.parse import handle
     try:
         ret = handle(fn, data, True)