diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-02-03 17:34:54 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-02-06 13:12:59 +0000 |
commit | dd61d225843346f2c4500a54a609e63394f4cc35 (patch) | |
tree | dca2c837bdac2c18e7d7b4a47c9b1eb447040117 /meta/classes/sstate.bbclass | |
parent | 6c7d6d6c8a35568c7e7db6e32fa86825bd2cda65 (diff) | |
download | poky-dd61d225843346f2c4500a54a609e63394f4cc35.tar.gz |
sstate/path.py: Add copyhardlinktree() function and use for performance optimisation
Add a function which copys a tree as a set of hardlinks to the original
files, then use this in sstate to reduce some of the overhead of sstate
package creation since the file isn't actually copied.
(From OE-Core rev: 8e373e69acac853213a62afb8bbdf0adc0c5045a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/sstate.bbclass')
-rw-r--r-- | meta/classes/sstate.bbclass | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index a79d2b557e..6f77bb9013 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass | |||
@@ -458,14 +458,14 @@ def sstate_package(ss, d): | |||
458 | dstpath = srcpath.replace(state[1], sstatebuild + state[0]) | 458 | dstpath = srcpath.replace(state[1], sstatebuild + state[0]) |
459 | make_relative_symlink(srcpath, dstpath, d) | 459 | make_relative_symlink(srcpath, dstpath, d) |
460 | bb.debug(2, "Preparing tree %s for packaging at %s" % (state[1], sstatebuild + state[0])) | 460 | bb.debug(2, "Preparing tree %s for packaging at %s" % (state[1], sstatebuild + state[0])) |
461 | oe.path.copytree(state[1], sstatebuild + state[0]) | 461 | oe.path.copyhardlinktree(state[1], sstatebuild + state[0]) |
462 | 462 | ||
463 | workdir = d.getVar('WORKDIR', True) | 463 | workdir = d.getVar('WORKDIR', True) |
464 | for plain in ss['plaindirs']: | 464 | for plain in ss['plaindirs']: |
465 | pdir = plain.replace(workdir, sstatebuild) | 465 | pdir = plain.replace(workdir, sstatebuild) |
466 | bb.mkdirhier(plain) | 466 | bb.mkdirhier(plain) |
467 | bb.mkdirhier(pdir) | 467 | bb.mkdirhier(pdir) |
468 | oe.path.copytree(plain, pdir) | 468 | oe.path.copyhardlinktree(plain, pdir) |
469 | 469 | ||
470 | d.setVar('SSTATE_BUILDDIR', sstatebuild) | 470 | d.setVar('SSTATE_BUILDDIR', sstatebuild) |
471 | d.setVar('SSTATE_PKG', sstatepkg) | 471 | d.setVar('SSTATE_PKG', sstatepkg) |