diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-03-29 11:57:37 +0100 |
---|---|---|
committer | Saul Wold <sgw@linux.intel.com> | 2011-05-06 17:44:21 -0700 |
commit | 0e55651fd0f12c98c5a4b894dde9162c8abcdca7 (patch) | |
tree | 5da3f8b1b1a6b69cce784deaead964cb623f39a0 | |
parent | 8c888bf67a5c86e1f7f587389ced4075aaad0eb1 (diff) | |
download | poky-0e55651fd0f12c98c5a4b894dde9162c8abcdca7.tar.gz |
sstate: Add support for taking shared lockfiles
(From OE-Core rev: c411a10e06f479ff364c07766f7c77907b7b4a16)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/sstate.bbclass | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index 1dfb43bdff..be650c4af4 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass | |||
@@ -60,6 +60,7 @@ def sstate_init(name, task, d): | |||
60 | ss['dirs'] = [] | 60 | ss['dirs'] = [] |
61 | ss['plaindirs'] = [] | 61 | ss['plaindirs'] = [] |
62 | ss['lockfiles'] = [] | 62 | ss['lockfiles'] = [] |
63 | ss['lockfiles-shared'] = [] | ||
63 | return ss | 64 | return ss |
64 | 65 | ||
65 | def sstate_state_fromvars(d, task = None): | 66 | def sstate_state_fromvars(d, task = None): |
@@ -74,6 +75,7 @@ def sstate_state_fromvars(d, task = None): | |||
74 | outputs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-outputdirs', d) or "", d)).split() | 75 | outputs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-outputdirs', d) or "", d)).split() |
75 | plaindirs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-plaindirs', d) or "", d)).split() | 76 | plaindirs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-plaindirs', d) or "", d)).split() |
76 | lockfiles = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-lockfile', d) or "", d)).split() | 77 | lockfiles = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-lockfile', d) or "", d)).split() |
78 | lockfilesshared = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-lockfile-shared', d) or "", d)).split() | ||
77 | interceptfuncs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-interceptfuncs', d) or "", d)).split() | 79 | interceptfuncs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-interceptfuncs', d) or "", d)).split() |
78 | if not name or len(inputs) != len(outputs): | 80 | if not name or len(inputs) != len(outputs): |
79 | bb.fatal("sstate variables not setup correctly?!") | 81 | bb.fatal("sstate variables not setup correctly?!") |
@@ -82,6 +84,7 @@ def sstate_state_fromvars(d, task = None): | |||
82 | for i in range(len(inputs)): | 84 | for i in range(len(inputs)): |
83 | sstate_add(ss, inputs[i], outputs[i], d) | 85 | sstate_add(ss, inputs[i], outputs[i], d) |
84 | ss['lockfiles'] = lockfiles | 86 | ss['lockfiles'] = lockfiles |
87 | ss['lockfiles-shared'] = lockfilesshared | ||
85 | ss['plaindirs'] = plaindirs | 88 | ss['plaindirs'] = plaindirs |
86 | ss['interceptfuncs'] = interceptfuncs | 89 | ss['interceptfuncs'] = interceptfuncs |
87 | return ss | 90 | return ss |
@@ -103,6 +106,8 @@ def sstate_install(ss, d): | |||
103 | bb.fatal("Package already staged (%s)?!" % manifest) | 106 | bb.fatal("Package already staged (%s)?!" % manifest) |
104 | 107 | ||
105 | locks = [] | 108 | locks = [] |
109 | for lock in ss['lockfiles-shared']: | ||
110 | locks.append(bb.utils.lockfile(lock, True)) | ||
106 | for lock in ss['lockfiles']: | 111 | for lock in ss['lockfiles']: |
107 | locks.append(bb.utils.lockfile(lock)) | 112 | locks.append(bb.utils.lockfile(lock)) |
108 | 113 | ||
@@ -233,6 +238,8 @@ def sstate_clean(ss, d): | |||
233 | 238 | ||
234 | if os.path.exists(manifest): | 239 | if os.path.exists(manifest): |
235 | locks = [] | 240 | locks = [] |
241 | for lock in ss['lockfiles-shared']: | ||
242 | locks.append(bb.utils.lockfile(lock, True)) | ||
236 | for lock in ss['lockfiles']: | 243 | for lock in ss['lockfiles']: |
237 | locks.append(bb.utils.lockfile(lock)) | 244 | locks.append(bb.utils.lockfile(lock)) |
238 | 245 | ||