| Submitter | Andy Ross |
|---|---|
| Date | Aug. 20, 2012, 9:05 p.m. |
| Message ID | <1345496758-29154-1-git-send-email-andy.ross@windriver.com> |
| Download | mbox | patch |
| Permalink | /patch/34995/ |
| State | Accepted |
| Commit | 72a924d0686389d648338efd3f675fc85ee2d181 |
| Headers | show |
Comments
On 08/20/2012 02:05 PM, Andy Ross wrote: > 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> > --- > meta/classes/insane.bbclass | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass > index 556a176..9d085a4 100644 > --- a/meta/classes/insane.bbclass > +++ b/meta/classes/insane.bbclass > @@ -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)) > Merged this to OE-Core Thanks Sau!
Patch
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 556a176..9d085a4 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -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))
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> --- meta/classes/insane.bbclass | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)