diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-01-23 14:27:33 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-01-25 12:42:47 +0000 |
commit | 32472926832ed1344889c992c1919a2a8b778b2c (patch) | |
tree | 56e2f50861fcfaf09c4ce63a3047630377984e9e /meta/classes/sstate.bbclass | |
parent | c13e458b22ca1b870332540e0edbc1975c342c79 (diff) | |
download | poky-32472926832ed1344889c992c1919a2a8b778b2c.tar.gz |
Split do_packagedata task from do_package
Currently, do_rootfs has a dependency on all the do_package output being present
due to its usage of the pkgdata directories. This means that if you run:
bitbake xxxx-image -c rootfs
you end up having to fetch and unpack all the do_package data which is usually
large and inefficient. It also means rm_work has to leave all the do_package
data lying around so rootfs works.
This patch splits the actual creation of the pkgdata directory off into a separate
task, "packagedata" which happens immediately after do_package. We can then remap
the dependencies so this task is depended upon, not do_package. Sstate can then be
programmed not to require do_package at the appropriate times.
Whilst this patch doesn't do so, it opens the possibility of rm_work wiping
out the do_package output from WORKDIR as long as it also removed the do_package
stamp (both normal and setscene variants) and allowing more space savings
with rm_work which has been regularly requested.
(From OE-Core rev: 6107ee294afde395e39d084c33e8e94013c625a9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/sstate.bbclass')
-rw-r--r-- | meta/classes/sstate.bbclass | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index e92fbae1f6..bc9f7ad739 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass | |||
@@ -655,13 +655,13 @@ def setscene_depvalid(task, taskdependees, notneeded, d): | |||
655 | if dep in notneeded: | 655 | if dep in notneeded: |
656 | continue | 656 | continue |
657 | # do_package_write_* and do_package doesn't need do_package | 657 | # do_package_write_* and do_package doesn't need do_package |
658 | if taskdependees[task][1] == "do_package" and taskdependees[dep][1] in ['do_package', 'do_package_write_deb', 'do_package_write_ipk', 'do_package_write_rpm']: | 658 | if taskdependees[task][1] == "do_package" and taskdependees[dep][1] in ['do_package', 'do_package_write_deb', 'do_package_write_ipk', 'do_package_write_rpm', 'do_packagedata']: |
659 | continue | 659 | continue |
660 | # do_package_write_* and do_package doesn't need do_populate_sysroot | 660 | # do_package_write_* and do_package doesn't need do_populate_sysroot |
661 | if taskdependees[task][1] == "do_populate_sysroot" and taskdependees[dep][1] in ['do_package', 'do_package_write_deb', 'do_package_write_ipk', 'do_package_write_rpm']: | 661 | if taskdependees[task][1] == "do_populate_sysroot" and taskdependees[dep][1] in ['do_package', 'do_package_write_deb', 'do_package_write_ipk', 'do_package_write_rpm', 'do_packagedata']: |
662 | continue | 662 | continue |
663 | # Native/Cross packages don't exist and are noexec anyway | 663 | # Native/Cross packages don't exist and are noexec anyway |
664 | if isNativeCross(taskdependees[dep][0]) and taskdependees[dep][1] in ['do_package_write_deb', 'do_package_write_ipk', 'do_package_write_rpm']: | 664 | if isNativeCross(taskdependees[dep][0]) and taskdependees[dep][1] in ['do_package_write_deb', 'do_package_write_ipk', 'do_package_write_rpm', 'do_packagedata']: |
665 | continue | 665 | continue |
666 | 666 | ||
667 | # Consider sysroot depending on sysroot tasks | 667 | # Consider sysroot depending on sysroot tasks |