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 |
""" |