]> code.ossystems Code Review - openembedded-core.git/commitdiff
license_image.bbclass: Don't attempt to symlink to the same file
authorMike Looijmans <mike.looijmans@topic.nl>
Fri, 5 Feb 2021 14:53:33 +0000 (15:53 +0100)
committerAnuj Mittal <anuj.mittal@intel.com>
Tue, 9 Feb 2021 01:08:51 +0000 (09:08 +0800)
Sometimes (that is, in all my builds) the lic_manifest_dir and
lic_manifest_symlink_dir end up pointing to the same file, resulting
in an error like this:
  Exception: FileExistsError: [Errno 17] File exists: '/.../tmp-glibc/deploy/licenses/my-image-tdkz15' -> '/.../tmp-glibc/deploy/licenses/my-image-tdkz15'

First check to see if this is the case before attempting to create
the link.

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 50f83fb542065eaf7a20ac07b63ae06441ada180)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
meta/classes/license_image.bbclass

index 119c8dfc869bd8489aa90c45ccef93a1987e87b0..6f478ce22cbdcd51896258f1b042ca61b58fee06 100644 (file)
@@ -210,7 +210,8 @@ def license_deployed_manifest(d):
             os.unlink(lic_manifest_symlink_dir)
 
         # create the image dir symlink
-        os.symlink(lic_manifest_dir, lic_manifest_symlink_dir)
+        if lic_manifest_dir != lic_manifest_symlink_dir:
+            os.symlink(lic_manifest_dir, lic_manifest_symlink_dir)
 
 def get_deployed_dependencies(d):
     """