summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2017-07-30 16:01:09 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-07-31 15:13:31 +0100
commit0fcf2247b372bb6267e3a6b2598ce552012cd391 (patch)
tree6b60e42334e260cbe48dee59aff4386cf0340d54 /meta/classes
parent35e3cb3012d79f62da03f0e1dc592ee45759edea (diff)
downloadpoky-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.bbclass10
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
641def pstaging_fetch(sstatefetch, sstatepkg, d): 639def pstaging_fetch(sstatefetch, sstatepkg, d):