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:13:51 +0100 |
commit | 40e1c38dbf636f54175814343c017d42c6f25bf5 (patch) | |
tree | 1d003463aa9c22a6cda8f5dd008d5bf46f06d14b /meta/classes/license.bbclass | |
parent | 57edf5991a80c3714e21408f92d9b9218a54d0ff (diff) | |
download | ast2050-yocto-poky-40e1c38dbf636f54175814343c017d42c6f25bf5.zip ast2050-yocto-poky-40e1c38dbf636f54175814343c017d42c6f25bf5.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)
(From OE-Core rev: fe00d4f479c4fb5e4be5dda616a4de0a257ef6c3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/license.bbclass')
-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 601f561..a34ea39 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)) |