* [PATCH] cache/cooker: Pass databuilder into bb.cache.Cache()
@ 2016-08-15 17:01 Richard Purdie
0 siblings, 0 replies; only message in thread
From: Richard Purdie @ 2016-08-15 17:01 UTC (permalink / raw)
To: bitbake-devel
Rather that the current mix of static and class methods, refactor
so that the cache has the databuilder object internally. This becomes
useful for the following patches for multi config support.
It effectively completes some of the object oriented work we've been
working towards in the bitbake core for a while.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
diff --git a/bitbake/bin/bitbake-worker b/bitbake/bin/bitbake-worker
index bd7bd4e..b3353fb 100755
--- a/bitbake/bin/bitbake-worker
+++ b/bitbake/bin/bitbake-worker
@@ -116,7 +116,7 @@ def sigterm_handler(signum, frame):
os.killpg(0, signal.SIGTERM)
sys.exit()
-def fork_off_task(worker, cfg, data, workerdata, fn, task, taskname, appends, taskdepdata, quieterrors=False):
+def fork_off_task(worker, cfg, data, databuilder, workerdata, fn, task, taskname, appends, taskdepdata, quieterrors=False):
# We need to setup the environment BEFORE the fork, since
# a fork() or exec*() activates PSEUDO...
@@ -402,7 +402,7 @@ class BitbakeWorker(object):
fn, task, taskname, quieterrors, appends, taskdepdata = pickle.loads(data)
workerlog_write("Handling runtask %s %s %s\n" % (task, fn, taskname))
- pid, pipein, pipeout = fork_off_task(self, self.cookercfg, self.data, self.workerdata, fn, task, taskname, appends, taskdepdata, quieterrors)
+ pid, pipein, pipeout = fork_off_task(self, self.cookercfg, self.data, self.databuilder, self.workerdata, fn, task, taskname, appends, taskdepdata, quieterrors)
self.build_pids[pid] = task
self.build_pipes[pid] = runQueueWorkerPipe(pipein, pipeout)
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index c915bb9..7118c83 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -270,7 +270,9 @@ class Cache(object):
BitBake Cache implementation
"""
- def __init__(self, data, data_hash, caches_array):
+ def __init__(self, databuilder, data_hash, caches_array):
+ data = databuilder.data
+
# Pass caches_array information into Cache Constructor
# It will be used later for deciding whether we
# need extra cache file dump/load support
@@ -279,7 +281,6 @@ class Cache(object):
self.clean = set()
self.checked = set()
self.depends_cache = {}
- self.data = None
self.data_fn = None
self.cacheclean = True
self.data_hash = data_hash
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 11c611d..43c4f78 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -1974,6 +1974,7 @@ class CookerParser(object):
self.cooker = cooker
self.cfgdata = cooker.data
self.cfghash = cooker.data_hash
+ self.cfgbuilder = cooker.databuilder
# Accounting statistics
self.parsed = 0
@@ -1988,7 +1989,7 @@ class CookerParser(object):
self.current = 0
self.process_names = []
- self.bb_cache = bb.cache.Cache(self.cfgdata, self.cfghash, cooker.caches_array)
+ self.bb_cache = bb.cache.Cache(self.cfgbuilder, self.cfghash, cooker.caches_array)
self.fromcache = []
self.willparse = []
for filename in self.filelist:
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2016-08-15 17:01 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-15 17:01 [PATCH] cache/cooker: Pass databuilder into bb.cache.Cache() Richard Purdie
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.