Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/util/_dyn_libs/
Date: Fri, 01 Jul 2011 01:37:27
Message-Id: 4951d8d694433995b382088cb36af7aa800719b7.zmedico@gentoo
1 commit: 4951d8d694433995b382088cb36af7aa800719b7
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jul 1 01:33:22 2011 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Fri Jul 1 01:33:22 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=4951d8d6
7
8 LinkageMapElf.isMasterLink(): handle libproc
9
10 The version component of the libproc-3.2.8.so soname is formed
11 slightly differently than most other libraries.
12
13 ---
14 pym/portage/util/_dyn_libs/LinkageMapELF.py | 11 ++++++++++-
15 1 files changed, 10 insertions(+), 1 deletions(-)
16
17 diff --git a/pym/portage/util/_dyn_libs/LinkageMapELF.py b/pym/portage/util/_dyn_libs/LinkageMapELF.py
18 index 4b9817e..c56caae 100644
19 --- a/pym/portage/util/_dyn_libs/LinkageMapELF.py
20 +++ b/pym/portage/util/_dyn_libs/LinkageMapELF.py
21 @@ -485,6 +485,13 @@ class LinkageMapELF(object):
22 that its basename is the same as the beginning part of the
23 soname and it lacks the soname's version component.
24
25 + Examples:
26 +
27 + soname | master symlink name
28 + --------------------------------------------
29 + libarchive.so.2.8.4 | libarchive.so
30 + libproc-3.2.8.so | libproc.so
31 +
32 @param obj: absolute path to an object
33 @type obj: string (example: '/usr/bin/foo')
34 @rtype: Boolean
35 @@ -499,7 +506,9 @@ class LinkageMapELF(object):
36 raise KeyError("%s (%s) not in object list" % (obj_key, obj))
37 basename = os.path.basename(obj)
38 soname = self._obj_properties[obj_key][3]
39 - return len(basename) < len(soname) and soname.startswith(basename)
40 + return len(basename) < len(soname) and \
41 + basename.endswith(".so") and \
42 + soname.startswith(basename[:-3])
43
44 def listLibraryObjects(self):
45 """