@@ -36,7 +36,7 @@ python do_populate_lic() {
# The base directory we wrangle licenses to
destdir = os.path.join(d.getVar('LICSSTATEDIR'), d.getVar('LICENSE_DEPLOY_PATHCOMPONENT'), d.getVar('PN'))
- copy_license_files(lic_files_paths, destdir)
+ copy_license_files(lic_files_paths, destdir, d)
info = get_recipe_info(d)
with open(os.path.join(destdir, "recipeinfo"), "w") as f:
for key in sorted(info.keys()):
@@ -52,7 +52,7 @@ python perform_packagecopy:prepend () {
# LICENSE_FILES_DIRECTORY starts with '/' so os.path.join cannot be used to join D and LICENSE_FILES_DIRECTORY
destdir = d.getVar('D') + os.path.join(d.getVar('LICENSE_FILES_DIRECTORY'), d.getVar('PN'))
- copy_license_files(lic_files_paths, destdir)
+ copy_license_files(lic_files_paths, destdir, d)
add_package_and_files(d)
}
perform_packagecopy[vardeps] += "LICENSE_CREATE_PACKAGE"
@@ -76,10 +76,11 @@ def add_package_and_files(d):
d.setVar('PACKAGES', "%s %s" % (pn_lic, packages))
d.setVar('FILES:' + pn_lic, files)
-def copy_license_files(lic_files_paths, destdir):
+def copy_license_files(lic_files_paths, destdir, d):
import shutil
import errno
+ tmpdir = d.getVar("TMPDIR")
bb.utils.mkdirhier(destdir)
for (basename, path, beginline, endline) in lic_files_paths:
try:
@@ -89,7 +90,7 @@ def copy_license_files(lic_files_paths, destdir):
os.remove(dst)
if os.path.islink(src):
src = os.path.realpath(src)
- canlink = os.access(src, os.W_OK) and (os.stat(src).st_dev == os.stat(destdir).st_dev) and beginline is None and endline is None
+ canlink = src.startswith(tmpdir) and os.access(src, os.W_OK) and (os.stat(src).st_dev == os.stat(destdir).st_dev) and beginline is None and endline is None
if canlink:
try:
os.link(src, dst)