From: Richard Purdie Date: Fri, 12 Sep 2014 15:39:49 +0000 (+0100) Subject: license: Improve disk usage X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~32396 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fe00d4f479c4fb5e4be5dda616a4de0a257ef6c3;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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 --- diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index 601f5611cc1..a34ea39493c 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))