tests/docker: fix copying of executable in "update"

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>
This commit is contained in:
Alex Bennée 2021-05-12 11:20:22 +01:00
parent 367196caa0
commit 3218d829e3
1 changed files with 8 additions and 1 deletions

View File

@ -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()