diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-07-30 16:01:09 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-07-31 15:13:31 +0100 |
commit | 0fcf2247b372bb6267e3a6b2598ce552012cd391 (patch) | |
tree | 6b60e42334e260cbe48dee59aff4386cf0340d54 /meta/classes | |
parent | 35e3cb3012d79f62da03f0e1dc592ee45759edea (diff) | |
download | poky-0fcf2247b372bb6267e3a6b2598ce552012cd391.tar.gz |
sstate: Improve SSTATE_SKIP_CREATION
Currently, dummy archives are created for skipped sstate tasks. We relied
on these never being installed (the setscene task is missing) however this
leads to odd behaviour as for example the setscene stamps are never looked
at.
Rather than trying to continue with the two separate behaviours, really
skip package creation. We do need the file manipulation steps to install files
under sstate control from a manifest perspective so we only skip at the final
creation step.
(From OE-Core rev: 1e95fc5419a131a5e4091b8ff01639de99284399)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/sstate.bbclass | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index f446c3df02..6af0d388bc 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass | |||
@@ -346,8 +346,6 @@ def sstate_installpkgdir(ss, d): | |||
346 | oe.path.remove(dir) | 346 | oe.path.remove(dir) |
347 | 347 | ||
348 | for state in ss['dirs']: | 348 | for state in ss['dirs']: |
349 | if d.getVar('SSTATE_SKIP_CREATION') == '1': | ||
350 | continue | ||
351 | prepdir(state[1]) | 349 | prepdir(state[1]) |
352 | os.rename(sstateinst + state[0], state[1]) | 350 | os.rename(sstateinst + state[0], state[1]) |
353 | sstate_install(ss, d) | 351 | sstate_install(ss, d) |
@@ -596,8 +594,6 @@ def sstate_package(ss, d): | |||
596 | for state in ss['dirs']: | 594 | for state in ss['dirs']: |
597 | if not os.path.exists(state[1]): | 595 | if not os.path.exists(state[1]): |
598 | continue | 596 | continue |
599 | if d.getVar('SSTATE_SKIP_CREATION') == '1': | ||
600 | continue | ||
601 | srcbase = state[0].rstrip("/").rsplit('/', 1)[0] | 597 | srcbase = state[0].rstrip("/").rsplit('/', 1)[0] |
602 | # Find and error for absolute symlinks. We could attempt to relocate but its not | 598 | # Find and error for absolute symlinks. We could attempt to relocate but its not |
603 | # clear where the symlink is relative to in this context. We could add that markup | 599 | # clear where the symlink is relative to in this context. We could add that markup |
@@ -625,6 +621,10 @@ def sstate_package(ss, d): | |||
625 | 621 | ||
626 | d.setVar('SSTATE_BUILDDIR', sstatebuild) | 622 | d.setVar('SSTATE_BUILDDIR', sstatebuild) |
627 | d.setVar('SSTATE_PKG', sstatepkg) | 623 | d.setVar('SSTATE_PKG', sstatepkg) |
624 | d.setVar('SSTATE_INSTDIR', sstatebuild) | ||
625 | |||
626 | if d.getVar('SSTATE_SKIP_CREATION') == '1': | ||
627 | return | ||
628 | 628 | ||
629 | for f in (d.getVar('SSTATECREATEFUNCS') or '').split() + \ | 629 | for f in (d.getVar('SSTATECREATEFUNCS') or '').split() + \ |
630 | ['sstate_create_package', 'sstate_sign_package'] + \ | 630 | ['sstate_create_package', 'sstate_sign_package'] + \ |
@@ -634,8 +634,6 @@ def sstate_package(ss, d): | |||
634 | 634 | ||
635 | bb.siggen.dump_this_task(sstatepkg + ".siginfo", d) | 635 | bb.siggen.dump_this_task(sstatepkg + ".siginfo", d) |
636 | 636 | ||
637 | d.setVar('SSTATE_INSTDIR', sstatebuild) | ||
638 | |||
639 | return | 637 | return |
640 | 638 | ||
641 | def pstaging_fetch(sstatefetch, sstatepkg, d): | 639 | def pstaging_fetch(sstatefetch, sstatepkg, d): |