OSDN Git Service

tests/docker: fix copying of executable in "update"
authorAlex Bennée <alex.bennee@linaro.org>
Wed, 12 May 2021 10:20:22 +0000 (11:20 +0100)
committerAlex Bennée <alex.bennee@linaro.org>
Tue, 18 May 2021 08:35:35 +0000 (09:35 +0100)
We have the same symlink chasing problem when doing an "update"
operation. Fix that.

Based-on: 5e33f7fead ("tests/docker: better handle symlinked libs")
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Message-Id: <20210512102051.12134-3-alex.bennee@linaro.org>

tests/docker/docker.py

index d28df4c..0435a55 100755 (executable)
@@ -548,7 +548,14 @@ class UpdateCommand(SubCommand):
         libs = _get_so_libs(args.executable)
         if libs:
             for l in libs:
-                tmp_tar.add(os.path.realpath(l), arcname=l)
+                so_path = os.path.dirname(l)
+                name = os.path.basename(l)
+                real_l = os.path.realpath(l)
+                try:
+                    tmp_tar.add(real_l, arcname="%s/%s" % (so_path, name))
+                except FileNotFoundError:
+                    print("Couldn't add %s/%s to archive" % (so_path, name))
+                    pass
 
         # Create a Docker buildfile
         df = StringIO()