[oe-commits] Richard Purdie : license: Improve disk usage

git at git.openembedded.org git at git.openembedded.org
Tue Sep 16 21:16:11 UTC 2014


Module: openembedded-core.git
Branch: master-next
Commit: fe00d4f479c4fb5e4be5dda616a4de0a257ef6c3
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=fe00d4f479c4fb5e4be5dda616a4de0a257ef6c3

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Fri Sep 12 16:39:49 2014 +0100

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 at linuxfoundation.org>

---

 meta/classes/license.bbclass | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

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))
 



More information about the Openembedded-commits mailing list