summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-06-30 18:33:22 -0700
committerZac Medico <zmedico@gentoo.org>2011-06-30 18:33:22 -0700
commit4951d8d694433995b382088cb36af7aa800719b7 (patch)
tree6a401bd658305f51e2fc88a3533f62b3d8827a3d
parent19d71ef90609303586323e4a5c17dc0005838d8c (diff)
downloadportage-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.py11
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):
"""