]> code.ossystems Code Review - openembedded-core.git/commitdiff
bitbake: Merge bugfixes from bitbake-1.8 svn
authorRichard Purdie <richard@openedhand.com>
Tue, 22 May 2007 11:50:37 +0000 (11:50 +0000)
committerRichard Purdie <richard@openedhand.com>
Tue, 22 May 2007 11:50:37 +0000 (11:50 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1759 311d38ba-8fff-0310-9ca6-ca027cbcb966

bitbake/ChangeLog
bitbake/bin/bitbake
bitbake/lib/bb/__init__.py
bitbake/lib/bb/cooker.py
bitbake/lib/bb/parse/parse_py/BBHandler.py
bitbake/lib/bb/runqueue.py
bitbake/lib/bb/taskdata.py

index 0cb85db8701ea124efe26c86c2178ba215d683c0..b254ce4ab6ab57d19070f26af74f2ba5bfe2b528 100644 (file)
@@ -1,8 +1,17 @@
+Changes in Bitbake 1.8.x:
+       - Make sure __inherit_cache is updated before calling include() (from Michael Krelin)
+       - Fix bug when target was in ASSUME_PROVIDED (#2236)
+       - Raise ParseError for filenames with multiple underscores instead of infinitely looping (#2062)
+       - Fix invalid regexp in BBMASK error handling (missing import) (#1124)
+       - Don't run build sanity checks on incomplete builds
+       - Promote certain warnings from debug to note 2 level
+
 Changes in Bitbake 1.8.2:
        - Catch truncated cache file errors
        - Add PE (Package Epoch) support from Philipp Zabel (pH5)
        - Add code to handle inter-task dependencies
        - Allow operations other than assignment on flag variables
+       - Fix cache errors when generation dotGraphs
 
 Changes in Bitbake 1.8.0:
        - Release 1.7.x as a stable series
index 70a862a815006c3edcb7260de20874104f7d5d02..b96b6b111c6a00e79876003e2605d7f852414ec9 100755 (executable)
@@ -27,7 +27,7 @@ sys.path.insert(0,os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'l
 import bb
 from bb import cooker
 
-__version__ = "1.8.1"
+__version__ = "1.8.3"
 
 #============================================================================#
 # BBOptions
index e34122a61eddf962dbf02ae05c20a781b1851b13..6ce8e7949af923e8740e9dc9e88b7b07d3cfe30f 100644 (file)
@@ -21,7 +21,7 @@
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-__version__ = "1.8.1"
+__version__ = "1.8.3"
 
 __all__ = [
 
index 4b2a90613309e6e65e659b40235561a6ed6e3976..1868b268a394fbad73f3ae9cb016565aba41ce36 100644 (file)
@@ -26,7 +26,7 @@ import sys, os, getopt, glob, copy, os.path, re, time
 import bb
 from bb import utils, data, parse, event, cache, providers, taskdata, runqueue
 from sets import Set
-import itertools
+import itertools, sre_constants
 
 parsespin = itertools.cycle( r'|/-\\' )
 
@@ -201,7 +201,7 @@ class BBCooker:
             fnid = rq.runq_fnid[task]
             fn = taskdata.fn_index[fnid]
             pn = self.status.pkg_fn[fn]
-            version  = self.bb_cache.getVar('PV', fn, True ) + '-' + self.bb_cache.getVar('PR', fn, True)
+            version  = "%s:%s-%s" % self.status.pkg_pepvpr[fn]
             print >> tdepends_file, '"%s.%s" [label="%s %s\\n%s\\n%s"]' % (pn, taskname, pn, taskname, version, fn)
             for dep in rq.runq_depends[task]:
                 depfn = taskdata.fn_index[rq.runq_fnid[dep]]
index 2c39316325e29152f2dea18bf575341d7875bcd0..20fa60355ebead6cded7467fcb00b591c416cfd1 100644 (file)
@@ -72,9 +72,9 @@ def inherit(files, d):
         if not file in __inherit_cache:
             bb.msg.debug(2, bb.msg.domain.Parsing, "BB %s:%d: inheriting %s" % (fn, lineno, file))
             __inherit_cache.append( file )
+            data.setVar('__inherit_cache', __inherit_cache, d)
             include(fn, file, d, "inherit")
-    data.setVar('__inherit_cache', __inherit_cache, d)
-
+            __inherit_cache = data.getVar('__inherit_cache', d) or []
 
 def handle(fn, d, include = 0):
     global __func_start_regexp__, __inherit_regexp__, __export_func_regexp__, __addtask_regexp__, __addhandler_regexp__, __infunc__, __body__, __residue__
@@ -377,6 +377,8 @@ def vars_from_file(mypkg, d):
     myfile = os.path.splitext(os.path.basename(mypkg))
     parts = myfile[0].split('_')
     __pkgsplit_cache__[mypkg] = parts
+    if len(parts) > 3:
+        raise ParseError("Unable to generate default variables from the filename: %s (too many underscores)" % mypkg)
     exp = 3 - len(parts)
     tmplist = []
     while exp != 0:
index 059f800b65ab9a75382a73ce2a184b51bf2c0667..83c3ccf8820253494340b1e2ec139e0364ad5943 100644 (file)
@@ -91,6 +91,10 @@ class RunQueue:
 
         taskData = self.taskData
 
+        if len(taskData.tasks_name) == 0:
+            # Nothing to do
+            return
+
         bb.msg.note(1, bb.msg.domain.RunQueue, "Preparing Runqueue")
 
         for task in range(len(taskData.tasks_name)):
@@ -536,8 +540,8 @@ class RunQueue:
                      self.stats.taskFailed()
                 del self.build_pids[result[0]]
                 self.active_builds = self.active_builds - 1
-            if len(self.failed_fnids) > 0:
-                return self.failed_fnids
+            bb.msg.note(1, bb.msg.domain.RunQueue, "Tasks Summary: Attempted %d tasks of which %d didn't need to be rerun and %d failed." % (self.stats.completed, self.stats.skipped, self.stats.failed))
+            return self.failed_fnids
         except KeyboardInterrupt:
             bb.msg.note(1, bb.msg.domain.RunQueue, "Sending SIGINT to remaining %s tasks" % self.active_builds)
             for k, v in self.build_pids.iteritems():
index 3d3adfdbdac16873451becb18a6ef034c88c3d6f..fdd7848bb74bea9514daf84abcfca261d062bf17 100644 (file)
@@ -348,7 +348,7 @@ class TaskData:
             return
 
         if not item in dataCache.providers:
-            bb.msg.debug(1, bb.msg.domain.Provider, "No providers of build target %s (for %s)" % (item, self.get_dependees_str(item)))
+            bb.msg.note(2, bb.msg.domain.Provider, "No providers of build target %s (for %s)" % (item, self.get_dependees_str(item)))
             bb.event.fire(bb.event.NoProvider(item, cfgData))
             raise bb.providers.NoProvider(item)
 
@@ -365,7 +365,7 @@ class TaskData:
                 eligible.remove(p)
 
         if not eligible:
-            bb.msg.debug(1, bb.msg.domain.Provider, "No providers of build target %s after filtering (for %s)" % (item, self.get_dependees_str(item)))
+            bb.msg.note(2, bb.msg.domain.Provider, "No providers of build target %s after filtering (for %s)" % (item, self.get_dependees_str(item)))
             bb.event.fire(bb.event.NoProvider(item, cfgData))
             raise bb.providers.NoProvider(item)
 
@@ -503,7 +503,7 @@ class TaskData:
         Mark a build target as failed (unbuildable)
         Trigger removal of any files that have this as a dependency
         """
-        bb.msg.debug(1, bb.msg.domain.Provider, "Removing failed build target %s" % self.build_names_index[targetid])
+        bb.msg.note(2, bb.msg.domain.Provider, "Removing failed build target %s" % self.build_names_index[targetid])
         self.failed_deps.append(targetid)
         dependees = self.get_dependees(targetid)
         for fnid in dependees: