Sfoglia il codice sorgente

swupdate-common.bbclass: Handle empty IMAGE_LINK_NAME

When IMAGE_LINK_NAME is empty or when IMAGE_LINK_NAME is equal to
IMAGE_NAME, this results in an error like:
  Exception: FileExistsError: [Errno 17] File exists:
  'my-image-swu-sd-tdpzu9.swu' -> 'my-image-swu-sd-tdpzu9.swu'

To solve this, check if IMAGE_LINK_NAME is valid before attempting to
create the symlink.

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Stefano Babic <sbabic@denx.de>
Stefano Babic 3 anni fa
parent
commit
e50ebfe82d
1 ha cambiato i file con 5 aggiunte e 2 eliminazioni
  1. 5 2
      classes/swupdate-common.bbclass

+ 5 - 2
classes/swupdate-common.bbclass

@@ -289,11 +289,14 @@ def swupdate_create_cpio(d, swudeploydir, list_for_cpio):
     s = d.getVar('S', True)
     os.chdir(s)
     updateimage = d.getVar('IMAGE_NAME', True) + '.swu'
-    updateimage_link =  d.getVar('IMAGE_LINK_NAME', True) + '.swu'
     line = 'for i in ' + ' '.join(list_for_cpio) + '; do echo $i;done | cpio -ov -H crc > ' + os.path.join(swudeploydir, updateimage)
     os.system(line)
     os.chdir(swudeploydir)
-    os.symlink(updateimage, updateimage_link)
+    updateimage_link = d.getVar('IMAGE_LINK_NAME', True)
+    if updateimage_link:
+        updateimage_link += '.swu'
+        if updateimage_link != updateimage:
+            os.symlink(updateimage, updateimage_link)
 
 python do_swuimage () {
     import shutil