From ebc185186c36fe839008d94dbfb779383df960c7 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Wed, 12 Nov 2014 23:55:58 -0800 Subject: license.bbclass: hardlink requires write permission Fixed: * The os.link() reqiures write permission on the src file (suppose the src file belongs to another user, then you need write permission to harlink to it since the link count would change) * Print more info when failed to copy The warning was like: WARNING: Could not copy license file COPYING: [Errno 1] Operation not permitted We couldn't know which recipe print the warning from this message. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/license.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index f85d4f9bcf..d659b767c5 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -150,12 +150,12 @@ def copy_license_files(lic_files_paths, destdir): 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): + if os.access(src, os.W_OK) and (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)) + bb.warn("Could not copy license file %s to %s: %s" % (src, dst, e)) def find_license_files(d): """ -- cgit 1.2.3-korg