From d05bcee7f21250854c56fd47b1d5c064ac95efb2 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 22 May 2007 11:50:37 +0000 Subject: bitbake: Merge bugfixes from bitbake-1.8 svn git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1759 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- bitbake/ChangeLog | 9 +++++++++ bitbake/bin/bitbake | 2 +- bitbake/lib/bb/__init__.py | 2 +- bitbake/lib/bb/cooker.py | 4 ++-- bitbake/lib/bb/parse/parse_py/BBHandler.py | 6 ++++-- bitbake/lib/bb/runqueue.py | 8 ++++++-- bitbake/lib/bb/taskdata.py | 6 +++--- 7 files changed, 26 insertions(+), 11 deletions(-) diff --git a/bitbake/ChangeLog b/bitbake/ChangeLog index 0cb85db870..b254ce4ab6 100644 --- a/bitbake/ChangeLog +++ b/bitbake/ChangeLog @@ -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 diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake index 70a862a815..b96b6b111c 100755 --- a/bitbake/bin/bitbake +++ b/bitbake/bin/bitbake @@ -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 diff --git a/bitbake/lib/bb/__init__.py b/bitbake/lib/bb/__init__.py index e34122a61e..6ce8e7949a 100644 --- a/bitbake/lib/bb/__init__.py +++ b/bitbake/lib/bb/__init__.py @@ -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__ = [ diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 4b2a906133..1868b268a3 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -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]] diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py index 2c39316325..20fa60355e 100644 --- a/bitbake/lib/bb/parse/parse_py/BBHandler.py +++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py @@ -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: diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 059f800b65..83c3ccf882 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -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(): diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py index 3d3adfdbda..fdd7848bb7 100644 --- a/bitbake/lib/bb/taskdata.py +++ b/bitbake/lib/bb/taskdata.py @@ -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: -- cgit v1.2.3-54-g00ecf