From: Richard Purdie Date: Wed, 13 Nov 2013 18:05:30 +0000 (+0000) Subject: staging: Use hardlinking for sysroot_stage_dir X-Git-Tag: rev_ivi_2015_02_04~10399 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9fb1dd4e41de7b4a1a8fc49dc2ae053692f3247a;p=scm%2Fbb%2Ftizen-distro.git staging: Use hardlinking for sysroot_stage_dir This saves about 2GB on a core-image-sato build so is worth doing and is consistent with our efforts to try and decrease our build footprint. Build time in my local test seemed unaffected but on more IO bound machines it should help. (From OE-Core rev: 7136cbc64e5efb09f3fae3e2e35a181ca3d66dd4) Signed-off-by: Richard Purdie --- diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 814f7bc..3985763 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -7,14 +7,11 @@ sysroot_stage_dir() { return fi - # We only want to stage the contents of $src if it's non-empty so first rmdir $src - # then if it still exists (rmdir on non-empty dir fails) we can copy its contents - rmdir "$src" 2> /dev/null || true - # However we always want to stage a $src itself, even if it's empty mkdir -p "$dest" - if [ -d "$src" ]; then - tar -cf - -C "$src" -p . | tar -xf - -C "$dest" - fi + ( + cd $src + find . -print0 | cpio --null -pdlu $dest + ) } sysroot_stage_libdir() {