mirror of
https://git.yoctoproject.org/poky
synced 2026-04-17 00:32:13 +02:00
sstate: Add support for taking shared lockfiles
(From OE-Core rev: c411a10e06f479ff364c07766f7c77907b7b4a16) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Saul Wold
parent
8c888bf67a
commit
0e55651fd0
@@ -60,6 +60,7 @@ def sstate_init(name, task, d):
|
||||
ss['dirs'] = []
|
||||
ss['plaindirs'] = []
|
||||
ss['lockfiles'] = []
|
||||
ss['lockfiles-shared'] = []
|
||||
return ss
|
||||
|
||||
def sstate_state_fromvars(d, task = None):
|
||||
@@ -74,6 +75,7 @@ def sstate_state_fromvars(d, task = None):
|
||||
outputs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-outputdirs', d) or "", d)).split()
|
||||
plaindirs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-plaindirs', d) or "", d)).split()
|
||||
lockfiles = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-lockfile', d) or "", d)).split()
|
||||
lockfilesshared = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-lockfile-shared', d) or "", d)).split()
|
||||
interceptfuncs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-interceptfuncs', d) or "", d)).split()
|
||||
if not name or len(inputs) != len(outputs):
|
||||
bb.fatal("sstate variables not setup correctly?!")
|
||||
@@ -82,6 +84,7 @@ def sstate_state_fromvars(d, task = None):
|
||||
for i in range(len(inputs)):
|
||||
sstate_add(ss, inputs[i], outputs[i], d)
|
||||
ss['lockfiles'] = lockfiles
|
||||
ss['lockfiles-shared'] = lockfilesshared
|
||||
ss['plaindirs'] = plaindirs
|
||||
ss['interceptfuncs'] = interceptfuncs
|
||||
return ss
|
||||
@@ -103,6 +106,8 @@ def sstate_install(ss, d):
|
||||
bb.fatal("Package already staged (%s)?!" % manifest)
|
||||
|
||||
locks = []
|
||||
for lock in ss['lockfiles-shared']:
|
||||
locks.append(bb.utils.lockfile(lock, True))
|
||||
for lock in ss['lockfiles']:
|
||||
locks.append(bb.utils.lockfile(lock))
|
||||
|
||||
@@ -233,6 +238,8 @@ def sstate_clean(ss, d):
|
||||
|
||||
if os.path.exists(manifest):
|
||||
locks = []
|
||||
for lock in ss['lockfiles-shared']:
|
||||
locks.append(bb.utils.lockfile(lock, True))
|
||||
for lock in ss['lockfiles']:
|
||||
locks.append(bb.utils.lockfile(lock))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user