diff options
| -rw-r--r-- | meta/classes/sstate.bbclass | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index f371fda6f2..297e29f883 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass | |||
| @@ -78,10 +78,9 @@ python () { | |||
| 78 | d.appendVarFlag(task, 'postfuncs', " sstate_task_postfunc") | 78 | d.appendVarFlag(task, 'postfuncs', " sstate_task_postfunc") |
| 79 | } | 79 | } |
| 80 | 80 | ||
| 81 | def sstate_init(name, task, d): | 81 | def sstate_init(task, d): |
| 82 | ss = {} | 82 | ss = {} |
| 83 | ss['task'] = task | 83 | ss['task'] = task |
| 84 | ss['name'] = name | ||
| 85 | ss['dirs'] = [] | 84 | ss['dirs'] = [] |
| 86 | ss['plaindirs'] = [] | 85 | ss['plaindirs'] = [] |
| 87 | ss['lockfiles'] = [] | 86 | ss['lockfiles'] = [] |
| @@ -95,24 +94,22 @@ def sstate_state_fromvars(d, task = None): | |||
| 95 | bb.fatal("sstate code running without task context?!") | 94 | bb.fatal("sstate code running without task context?!") |
| 96 | task = task.replace("_setscene", "") | 95 | task = task.replace("_setscene", "") |
| 97 | 96 | ||
| 98 | name = task | ||
| 99 | if task.startswith("do_"): | 97 | if task.startswith("do_"): |
| 100 | name = task[3:] | 98 | task = task[3:] |
| 101 | task = name | ||
| 102 | inputs = (d.getVarFlag("do_" + task, 'sstate-inputdirs', True) or "").split() | 99 | inputs = (d.getVarFlag("do_" + task, 'sstate-inputdirs', True) or "").split() |
| 103 | outputs = (d.getVarFlag("do_" + task, 'sstate-outputdirs', True) or "").split() | 100 | outputs = (d.getVarFlag("do_" + task, 'sstate-outputdirs', True) or "").split() |
| 104 | plaindirs = (d.getVarFlag("do_" + task, 'sstate-plaindirs', True) or "").split() | 101 | plaindirs = (d.getVarFlag("do_" + task, 'sstate-plaindirs', True) or "").split() |
| 105 | lockfiles = (d.getVarFlag("do_" + task, 'sstate-lockfile', True) or "").split() | 102 | lockfiles = (d.getVarFlag("do_" + task, 'sstate-lockfile', True) or "").split() |
| 106 | lockfilesshared = (d.getVarFlag("do_" + task, 'sstate-lockfile-shared', True) or "").split() | 103 | lockfilesshared = (d.getVarFlag("do_" + task, 'sstate-lockfile-shared', True) or "").split() |
| 107 | interceptfuncs = (d.getVarFlag("do_" + task, 'sstate-interceptfuncs', True) or "").split() | 104 | interceptfuncs = (d.getVarFlag("do_" + task, 'sstate-interceptfuncs', True) or "").split() |
| 108 | if not name or len(inputs) != len(outputs): | 105 | if not task or len(inputs) != len(outputs): |
| 109 | bb.fatal("sstate variables not setup correctly?!") | 106 | bb.fatal("sstate variables not setup correctly?!") |
| 110 | 107 | ||
| 111 | if name == "populate_lic": | 108 | if task == "populate_lic": |
| 112 | d.setVar("SSTATE_PKGSPEC", "${SSTATE_SWSPEC}") | 109 | d.setVar("SSTATE_PKGSPEC", "${SSTATE_SWSPEC}") |
| 113 | d.setVar("SSTATE_EXTRAPATH", "") | 110 | d.setVar("SSTATE_EXTRAPATH", "") |
| 114 | 111 | ||
| 115 | ss = sstate_init(name, task, d) | 112 | ss = sstate_init(task, d) |
| 116 | for i in range(len(inputs)): | 113 | for i in range(len(inputs)): |
| 117 | sstate_add(ss, inputs[i], outputs[i], d) | 114 | sstate_add(ss, inputs[i], outputs[i], d) |
| 118 | ss['lockfiles'] = lockfiles | 115 | ss['lockfiles'] = lockfiles |
| @@ -144,7 +141,7 @@ def sstate_install(ss, d): | |||
| 144 | extrainf = d.getVarFlag("do_" + ss['task'], 'stamp-extra-info', True) | 141 | extrainf = d.getVarFlag("do_" + ss['task'], 'stamp-extra-info', True) |
| 145 | if extrainf: | 142 | if extrainf: |
| 146 | d2.setVar("SSTATE_MANMACH", extrainf) | 143 | d2.setVar("SSTATE_MANMACH", extrainf) |
| 147 | manifest = d2.expand("${SSTATE_MANFILEPREFIX}.%s" % ss['name']) | 144 | manifest = d2.expand("${SSTATE_MANFILEPREFIX}.%s" % ss['task']) |
| 148 | 145 | ||
| 149 | if os.access(manifest, os.R_OK): | 146 | if os.access(manifest, os.R_OK): |
| 150 | bb.fatal("Package already staged (%s)?!" % manifest) | 147 | bb.fatal("Package already staged (%s)?!" % manifest) |
| @@ -230,9 +227,9 @@ def sstate_installpkg(ss, d): | |||
| 230 | bb.utils.mkdirhier(dir) | 227 | bb.utils.mkdirhier(dir) |
| 231 | oe.path.remove(dir) | 228 | oe.path.remove(dir) |
| 232 | 229 | ||
| 233 | sstateinst = d.expand("${WORKDIR}/sstate-install-%s/" % ss['name']) | 230 | sstateinst = d.expand("${WORKDIR}/sstate-install-%s/" % ss['task']) |
| 234 | sstatefetch = d.getVar('SSTATE_PKGNAME', True) + '_' + ss['name'] + ".tgz" | 231 | sstatefetch = d.getVar('SSTATE_PKGNAME', True) + '_' + ss['task'] + ".tgz" |
| 235 | sstatepkg = d.getVar('SSTATE_PKG', True) + '_' + ss['name'] + ".tgz" | 232 | sstatepkg = d.getVar('SSTATE_PKG', True) + '_' + ss['task'] + ".tgz" |
| 236 | 233 | ||
| 237 | if not os.path.exists(sstatepkg): | 234 | if not os.path.exists(sstatepkg): |
| 238 | pstaging_fetch(sstatefetch, sstatepkg, d) | 235 | pstaging_fetch(sstatefetch, sstatepkg, d) |
| @@ -302,7 +299,7 @@ def sstate_installpkg(ss, d): | |||
| 302 | def sstate_clean_cachefile(ss, d): | 299 | def sstate_clean_cachefile(ss, d): |
| 303 | import oe.path | 300 | import oe.path |
| 304 | 301 | ||
| 305 | sstatepkgfile = d.getVar('SSTATE_PATHSPEC', True) + "*_" + ss['name'] + ".tgz*" | 302 | sstatepkgfile = d.getVar('SSTATE_PATHSPEC', True) + "*_" + ss['task'] + ".tgz*" |
| 306 | bb.note("Removing %s" % sstatepkgfile) | 303 | bb.note("Removing %s" % sstatepkgfile) |
| 307 | oe.path.remove(sstatepkgfile) | 304 | oe.path.remove(sstatepkgfile) |
| 308 | 305 | ||
| @@ -350,7 +347,7 @@ def sstate_clean(ss, d): | |||
| 350 | else: | 347 | else: |
| 351 | wildcard_stfile = "%s.do_%s*" % (stamp_clean, ss['task']) | 348 | wildcard_stfile = "%s.do_%s*" % (stamp_clean, ss['task']) |
| 352 | 349 | ||
| 353 | manifest = d2.expand("${SSTATE_MANFILEPREFIX}.%s" % ss['name']) | 350 | manifest = d2.expand("${SSTATE_MANFILEPREFIX}.%s" % ss['task']) |
| 354 | 351 | ||
| 355 | if os.path.exists(manifest): | 352 | if os.path.exists(manifest): |
| 356 | locks = [] | 353 | locks = [] |
| @@ -483,8 +480,8 @@ def sstate_package(ss, d): | |||
| 483 | 480 | ||
| 484 | tmpdir = d.getVar('TMPDIR', True) | 481 | tmpdir = d.getVar('TMPDIR', True) |
| 485 | 482 | ||
| 486 | sstatebuild = d.expand("${WORKDIR}/sstate-build-%s/" % ss['name']) | 483 | sstatebuild = d.expand("${WORKDIR}/sstate-build-%s/" % ss['task']) |
| 487 | sstatepkg = d.getVar('SSTATE_PKG', True) + '_'+ ss['name'] + ".tgz" | 484 | sstatepkg = d.getVar('SSTATE_PKG', True) + '_'+ ss['task'] + ".tgz" |
| 488 | bb.utils.remove(sstatebuild, recurse=True) | 485 | bb.utils.remove(sstatebuild, recurse=True) |
| 489 | bb.utils.mkdirhier(sstatebuild) | 486 | bb.utils.mkdirhier(sstatebuild) |
| 490 | bb.utils.mkdirhier(os.path.dirname(sstatepkg)) | 487 | bb.utils.mkdirhier(os.path.dirname(sstatepkg)) |
