aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/utils.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-04-24 10:17:18 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-04-25 17:10:57 +0100
commit14ef03182e1e5fe7cf6b4112f29e6609631aa78d (patch)
tree4e3f3eded092f13a2e9f41a628638810f9b60791 /meta/classes/utils.bbclass
parent866d2854139e0b00063dde06bc3a34d635ae2fc8 (diff)
downloadopenembedded-core-14ef03182e1e5fe7cf6b4112f29e6609631aa78d.tar.gz
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 <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/utils.bbclass')
-rw-r--r--meta/classes/utils.bbclass9
1 files changed, 9 insertions, 0 deletions
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)