aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/license.bbclass
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 /meta/classes/license.bbclass
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>
Diffstat (limited to 'meta/classes/license.bbclass')
-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))