From 6057f540e9a25014bd95072fe25c65f54f64e28f Mon Sep 17 00:00:00 2001 From: Michael Haubenwallner Date: Fri, 1 Jul 2011 21:06:51 +0200 Subject: [PATCH] preserve-libs: list executables in NEEDED.XCOFF.1 too Do not prepend filenames with '.' twice when calculating the preserve-lib helper-filenames. Can't say which commit triggers this problem, as this did work before. --- bin/misc-functions.sh | 4 +++- pym/portage/util/_dyn_libs/LinkageMapXCoff.py | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh index bfb6b031a..5b4ff8af3 100644 --- a/bin/misc-functions.sh +++ b/bin/misc-functions.sh @@ -1189,7 +1189,9 @@ install_qa_check_xcoff() { fi prev_FILE=${FILE} - [[ " ${FLAGS} " == *" SHROBJ "* ]] || continue + # shared objects have both EXEC and SHROBJ flags, + # while executables have EXEC flag only. + [[ " ${FLAGS} " == *" EXEC "* ]] || continue # Make sure we disallow insecure RUNPATH's # Don't want paths that point to the tree where the package was built diff --git a/pym/portage/util/_dyn_libs/LinkageMapXCoff.py b/pym/portage/util/_dyn_libs/LinkageMapXCoff.py index 782cc542d..925960257 100644 --- a/pym/portage/util/_dyn_libs/LinkageMapXCoff.py +++ b/pym/portage/util/_dyn_libs/LinkageMapXCoff.py @@ -255,7 +255,11 @@ class LinkageMapXCoff(LinkageMapELF): def as_contentmember(obj): if obj.endswith("]"): if obj.find("/") >= 0: + if obj[obj.rfind("/")+1] == ".": + return obj return obj[:obj.rfind("/")] + "/." + obj[obj.rfind("/")+1:] + if obj[0] == ".": + return obj return "." + obj return obj -- 2.26.2