diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-06-30 18:33:22 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-06-30 18:33:22 -0700 |
commit | 4951d8d694433995b382088cb36af7aa800719b7 (patch) | |
tree | 6a401bd658305f51e2fc88a3533f62b3d8827a3d | |
parent | 19d71ef90609303586323e4a5c17dc0005838d8c (diff) | |
download | portage-4951d8d694433995b382088cb36af7aa800719b7.tar.gz portage-4951d8d694433995b382088cb36af7aa800719b7.tar.bz2 portage-4951d8d694433995b382088cb36af7aa800719b7.zip |
LinkageMapElf.isMasterLink(): handle libproc
The version component of the libproc-3.2.8.so soname is formed
slightly differently than most other libraries.
-rw-r--r-- | pym/portage/util/_dyn_libs/LinkageMapELF.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/pym/portage/util/_dyn_libs/LinkageMapELF.py b/pym/portage/util/_dyn_libs/LinkageMapELF.py index 4b9817e56..c56caae18 100644 --- a/pym/portage/util/_dyn_libs/LinkageMapELF.py +++ b/pym/portage/util/_dyn_libs/LinkageMapELF.py @@ -485,6 +485,13 @@ class LinkageMapELF(object): that its basename is the same as the beginning part of the soname and it lacks the soname's version component. + Examples: + + soname | master symlink name + -------------------------------------------- + libarchive.so.2.8.4 | libarchive.so + libproc-3.2.8.so | libproc.so + @param obj: absolute path to an object @type obj: string (example: '/usr/bin/foo') @rtype: Boolean @@ -499,7 +506,9 @@ class LinkageMapELF(object): raise KeyError("%s (%s) not in object list" % (obj_key, obj)) basename = os.path.basename(obj) soname = self._obj_properties[obj_key][3] - return len(basename) < len(soname) and soname.startswith(basename) + return len(basename) < len(soname) and \ + basename.endswith(".so") and \ + soname.startswith(basename[:-3]) def listLibraryObjects(self): """ |