[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v1 2/3] tests/docker: better handle symlinked libs

From: Philippe Mathieu-Daudé
Subject: Re: [PATCH v1 2/3] tests/docker: better handle symlinked libs
Date: Wed, 22 Jan 2020 15:46:07 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2

On 1/22/20 2:24 PM, Wainer dos Santos Moschetta wrote:

On 1/22/20 8:22 AM, Alex Bennée wrote:
When we are copying we want to ensure we grab the first
resolution (the found in path section). However even that binary might
be a symlink so lets make sure we chase the symlinks to copy the right
binary to where it can be found.

Signed-off-by: Alex Bennée <address@hidden>
  tests/docker/docker.py | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tests/docker/docker.py b/tests/docker/docker.py
index 31d8adf836..96d4326d53 100755
--- a/tests/docker/docker.py
+++ b/tests/docker/docker.py
@@ -109,7 +109,7 @@ def _get_so_libs(executable):
      ensure theright data is copied."""
      libs = []
-    ldd_re = re.compile(r"(/.*/)(\S*)")
+    ldd_re = re.compile(r"=> ?(/.*/)(\S*)")

Why the 'optional space' after "=>"?

          ldd_output = subprocess.check_output(["ldd", executable]).decode('utf-8')
          for line in ldd_output.split("\n"):
@@ -145,6 +145,7 @@ def _copy_binary_with_libs(src, bin_dest, dest_dir):
      if libs:
          for l in libs:
              so_path = os.path.dirname(l)
+            real_l = os.path.realpath(l)

real_l is not used.

I suppose the idea is to use it as:

                _copy_with_mkdir(real_l, dest_dir, so_path)

- Wainer

              _copy_with_mkdir(l, dest_dir, so_path)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]