aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-09-12 16:39:49 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-09-16 22:12:29 +0100
commitfe00d4f479c4fb5e4be5dda616a4de0a257ef6c3 (patch)
treec76a752d80ba3b9a972c50a64913bcc468d38552
parent75040a098e11927e6872e3a2a6286fe3ed0c7f47 (diff)
downloadopenembedded-core-contrib-fe00d4f479c4fb5e4be5dda616a4de0a257ef6c3.tar.gz
license: Improve disk usage
Currently copies of the license files are made which wastes disk space and adversely affects performance. We can link these instead in most cases for small performance gains. (From OE-Core rev: 0b0f3631fd22f731b6aeedb73965e367b695028b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/license.bbclass9
1 files changed, 8 insertions, 1 deletions
diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
index 601f5611cc..a34ea39493 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes/license.bbclass
@@ -145,7 +145,14 @@ def copy_license_files(lic_files_paths, destdir):
bb.utils.mkdirhier(destdir)
for (basename, path) in lic_files_paths:
try:
- ret = shutil.copyfile(path, os.path.join(destdir, basename))
+ src = path
+ dst = os.path.join(destdir, basename)
+ if os.path.exists(dst):
+ os.remove(dst)
+ if (os.stat(src).st_dev == os.stat(destdir).st_dev):
+ os.link(src, dst)
+ else:
+ shutil.copyfile(src, dst)
except Exception as e:
bb.warn("Could not copy license file %s: %s" % (basename, e))