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

git at git.openembedded.org git at git.openembedded.org
Fri Sep 12 16:46:14 UTC 2014


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

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.

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