commit:     387a96bfcd343df7e357a225c90024f66a1a7f54
Author:     Michael Cook (mackal) <277429+mackal <AT> users <DOT> noreply <DOT> 
github <DOT> com>
AuthorDate: Fri May 24 20:15:52 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Oct 11 05:21:01 2025 +0000
URL:        https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=387a96bf

revdep_rebuild: Fix issue where library is a full path

app-editors/neovim-0.10.0 has one of it's libraries referenced by a full
path, which seems to be causing it want to rebuild.

On my system scanelf shows:
   
/usr/bin/nvim;nvim;;libluv.so.1,libvterm.so.0,/usr/lib64/lua/5.1/lpeg.so,libmsgpack-c.so.2,libtree-sitter.so.0,libunibilium.so.4,libluajit-5.1.so.2,libm.so.6,libuv.so.1,libc.so.6;ELFCLASS64

In the LibCheck.search() function it was passing
"/usr/lib64/lua/5.1/lpeg.so" to LibCheck.check() which searches by
basename, which of course isn't going to match.

Bug: https://bugs.gentoo.org/932671
Part-of: https://github.com/gentoo/gentoolkit/pull/49
Closes: https://github.com/gentoo/gentoolkit/pull/49
Signed-off-by: Sam James <sam <AT> gentoo.org>

 pym/gentoolkit/revdep_rebuild/analyse.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/pym/gentoolkit/revdep_rebuild/analyse.py 
b/pym/gentoolkit/revdep_rebuild/analyse.py
index 1431a2f..a457180 100644
--- a/pym/gentoolkit/revdep_rebuild/analyse.py
+++ b/pym/gentoolkit/revdep_rebuild/analyse.py
@@ -250,6 +250,11 @@ class LibCheck:
                                     "\tFile %s ignored as it is masked" % 
filename
                                 )
                                 continue
+                            if l.startswith('/') and os.path.isfile(l):
+                                self.logger.debug(
+                                    "\tLibrary %s is a full path and it 
exists" % l
+                                )
+                                continue
                             if not bits in found_libs:
                                 found_libs[bits] = {}
                             try:

Reply via email to