Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:prefix commit in: bin/, pym/portage/util/_dyn_libs/
Date: Fri, 01 Jul 2011 19:08:52
Message-Id: 6057f540e9a25014bd95072fe25c65f54f64e28f.grobian@gentoo
1 commit: 6057f540e9a25014bd95072fe25c65f54f64e28f
2 Author: Michael Haubenwallner <haubi <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jul 1 19:06:51 2011 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Fri Jul 1 19:06:51 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=6057f540
7
8 preserve-libs: list executables in NEEDED.XCOFF.1 too
9
10 Do not prepend filenames with '.' twice when calculating the
11 preserve-lib helper-filenames. Can't say which commit triggers this
12 problem, as this did work before.
13
14 ---
15 bin/misc-functions.sh | 4 +++-
16 pym/portage/util/_dyn_libs/LinkageMapXCoff.py | 4 ++++
17 2 files changed, 7 insertions(+), 1 deletions(-)
18
19 diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh
20 index bfb6b03..5b4ff8a 100644
21 --- a/bin/misc-functions.sh
22 +++ b/bin/misc-functions.sh
23 @@ -1189,7 +1189,9 @@ install_qa_check_xcoff() {
24 fi
25 prev_FILE=${FILE}
26
27 - [[ " ${FLAGS} " == *" SHROBJ "* ]] || continue
28 + # shared objects have both EXEC and SHROBJ flags,
29 + # while executables have EXEC flag only.
30 + [[ " ${FLAGS} " == *" EXEC "* ]] || continue
31
32 # Make sure we disallow insecure RUNPATH's
33 # Don't want paths that point to the tree where the package was built
34
35 diff --git a/pym/portage/util/_dyn_libs/LinkageMapXCoff.py b/pym/portage/util/_dyn_libs/LinkageMapXCoff.py
36 index 782cc54..9259602 100644
37 --- a/pym/portage/util/_dyn_libs/LinkageMapXCoff.py
38 +++ b/pym/portage/util/_dyn_libs/LinkageMapXCoff.py
39 @@ -255,7 +255,11 @@ class LinkageMapXCoff(LinkageMapELF):
40 def as_contentmember(obj):
41 if obj.endswith("]"):
42 if obj.find("/") >= 0:
43 + if obj[obj.rfind("/")+1] == ".":
44 + return obj
45 return obj[:obj.rfind("/")] + "/." + obj[obj.rfind("/")+1:]
46 + if obj[0] == ".":
47 + return obj
48 return "." + obj
49 return obj