From 14ef03182e1e5fe7cf6b4112f29e6609631aa78d Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 24 Apr 2014 10:17:18 +0100 Subject: utils: Add hardlinkdir shell function In a number of places it would be helpful to be able to copy trees of files using hardlinks. This turns out to be harder than you'd expect since there is no good single command that does this well and handles all file types correctly. Abstracting this into a function therefore makes sense, cpio seems as good an option as any other. Signed-off-by: Richard Purdie --- meta/classes/utils.bbclass | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'meta/classes') diff --git a/meta/classes/utils.bbclass b/meta/classes/utils.bbclass index 0a533afb1f..89ad8c5531 100644 --- a/meta/classes/utils.bbclass +++ b/meta/classes/utils.bbclass @@ -292,6 +292,15 @@ END chmod +x $cmd } +# Copy files/directories from $1 to $2 but using hardlinks +# (preserve symlinks) +hardlinkdir () { + from=$1 + to=$2 + (cd $from; find . -print0 | cpio --null -pdlu $to) +} + + def check_app_exists(app, d): app = d.expand(app) path = d.getVar('PATH', d, True) -- cgit 1.2.3-korg