mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-24 03:59:52 +00:00
tests/docker: preserve original name when copying libs
While it is important we chase down the symlinks to copy the correct
data we can confuse the kernel by renaming the interpreter to what is
in the binary. Extend _copy_with_mkdir to preserve the original name
of the file when asked.
Fixes: 5e33f7fead
("tests/docker: better handle symlinked libs")
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20210202134001.25738-5-alex.bennee@linaro.org>
This commit is contained in:
parent
dffccf3d34
commit
3971c70f15
@ -93,7 +93,7 @@ def _guess_engine_command():
|
||||
commands_txt)
|
||||
|
||||
|
||||
def _copy_with_mkdir(src, root_dir, sub_path='.'):
|
||||
def _copy_with_mkdir(src, root_dir, sub_path='.', name=None):
|
||||
"""Copy src into root_dir, creating sub_path as needed."""
|
||||
dest_dir = os.path.normpath("%s/%s" % (root_dir, sub_path))
|
||||
try:
|
||||
@ -102,7 +102,7 @@ def _copy_with_mkdir(src, root_dir, sub_path='.'):
|
||||
# we can safely ignore already created directories
|
||||
pass
|
||||
|
||||
dest_file = "%s/%s" % (dest_dir, os.path.basename(src))
|
||||
dest_file = "%s/%s" % (dest_dir, name if name else os.path.basename(src))
|
||||
|
||||
try:
|
||||
copy(src, dest_file)
|
||||
@ -155,8 +155,9 @@ def _copy_binary_with_libs(src, bin_dest, dest_dir):
|
||||
if libs:
|
||||
for l in libs:
|
||||
so_path = os.path.dirname(l)
|
||||
name = os.path.basename(l)
|
||||
real_l = os.path.realpath(l)
|
||||
_copy_with_mkdir(real_l, dest_dir, so_path)
|
||||
_copy_with_mkdir(real_l, dest_dir, so_path, name)
|
||||
|
||||
|
||||
def _check_binfmt_misc(executable):
|
||||
|
Loading…
Reference in New Issue
Block a user