diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-09-12 16:39:49 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-09-16 22:12:29 +0100 |
commit | fe00d4f479c4fb5e4be5dda616a4de0a257ef6c3 (patch) | |
tree | c76a752d80ba3b9a972c50a64913bcc468d38552 | |
parent | 75040a098e11927e6872e3a2a6286fe3ed0c7f47 (diff) | |
download | openembedded-core-fe00d4f479c4fb5e4be5dda616a4de0a257ef6c3.tar.gz openembedded-core-fe00d4f479c4fb5e4be5dda616a4de0a257ef6c3.tar.bz2 openembedded-core-fe00d4f479c4fb5e4be5dda616a4de0a257ef6c3.zip |
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.bbclass | 9 |
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)) |