]> code.ossystems Code Review - openembedded-core.git/commitdiff
insane.bbclass: Fix RPATH warning in the face of funny path strings
authorAndy Ross <andy.ross@windriver.com>
Mon, 20 Aug 2012 21:05:58 +0000 (14:05 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 21 Aug 2012 10:49:45 +0000 (11:49 +0100)
In toolchain edge cases it's possible for the RPATH of a library to be
set to something like "/usr/lib/../lib".  This should be detected as
"/usr/lib" and generate a warning.

Signed-off-by: Andy Ross <andy.ross@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/insane.bbclass

index 0f3f1cd082c544bf58be0e4d739f496e858e340c..8b6f05413d6082851ddd85e167c54aeae38d729a 100644 (file)
@@ -166,6 +166,9 @@ def package_qa_check_useless_rpaths(file, name, d, elf, messages):
     """
     Check for RPATHs that are useless but not dangerous
     """
+    def rpath_eq(a, b):
+        return os.path.normpath(a) == os.path.normpath(b)
+
     if not elf:
         return
 
@@ -181,7 +184,7 @@ def package_qa_check_useless_rpaths(file, name, d, elf, messages):
        m = rpath_re.match(line)
        if m:
           rpath = m.group(1)
-          if rpath == libdir or rpath == base_libdir:
+          if rpath_eq(rpath, libdir) or rpath_eq(rpath, base_libdir):
              # The dynamic linker searches both these places anyway.  There is no point in
              # looking there again.
              messages.append("%s: %s contains probably-redundant RPATH %s" % (name, package_qa_clean_path(file, d), rpath))