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/
Date: Sun, 02 Dec 2012 12:59:04
Message-Id: 1354452921.89c1b7cf341eb96b3fb65e9232523710da87455c.grobian@gentoo
1 commit: 89c1b7cf341eb96b3fb65e9232523710da87455c
2 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
3 AuthorDate: Sun Dec 2 12:55:21 2012 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Sun Dec 2 12:55:21 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=89c1b7cf
7
8 install_qa_check_macho: drop automagic fixing of install_names
9
10 Remove the fraction of the code that got moved to gen_usr_ldscript here:
11 http://overlays.gentoo.org/proj/alt/changeset/61477
12
13 This makes Portage's behaviour clearer, doing just checks, no fixing.
14 The latter went wrong for libraries that on an upgrade got moved, which
15 gen_usr_ldscript now should handle correctly, because it has more
16 context.
17
18 ---
19 bin/misc-functions.sh | 30 +++++-------------------------
20 1 files changed, 5 insertions(+), 25 deletions(-)
21
22 diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh
23 index d64a61f..c30c7e0 100644
24 --- a/bin/misc-functions.sh
25 +++ b/bin/misc-functions.sh
26 @@ -1072,7 +1072,6 @@ install_qa_check_macho() {
27 fi
28
29 # this is ugly, paths with spaces won't work
30 - reevaluate=0
31 for lib in ${needed//,/ } ; do
32 if [[ ${lib} == ${D}* ]] ; then
33 eqawarn "QA Notice: install_name references \${D}: ${lib} in ${obj}"
34 @@ -1081,32 +1080,13 @@ install_qa_check_macho() {
35 eqawarn "QA Notice: install_name references \${S}: ${lib} in ${obj}"
36 touch "${T}"/.install_name_check_failed
37 elif [[ ! -e ${lib} && ! -e ${D}${lib} && ${lib} != "@executable_path/"* && ${lib} != "@loader_path/"* ]] ; then
38 - # try to "repair" this if possible, happens because of
39 - # gen_usr_ldscript tactics
40 - s=${lib%usr/*}${lib##*/usr/}
41 - if [[ -e ${D}${s} ]] ; then
42 - ewarn "correcting install_name from ${lib} to ${s} in ${obj}"
43 - install_name_tool -change \
44 - "${lib}" "${s}" "${D}${obj}"
45 - reevaluate=1
46 - else
47 - eqawarn "QA Notice: invalid reference to ${lib} in ${obj}"
48 - # remember we are in an implicit subshell, that's
49 - # why we touch a file here ... ideally we should be
50 - # able to die correctly/nicely here
51 - touch "${T}"/.install_name_check_failed
52 - fi
53 + eqawarn "QA Notice: invalid reference to ${lib} in ${obj}"
54 + # remember we are in an implicit subshell, that's
55 + # why we touch a file here ... ideally we should be
56 + # able to die correctly/nicely here
57 + touch "${T}"/.install_name_check_failed
58 fi
59 done
60 - if [[ ${reevaluate} == 1 ]]; then
61 - # install_name(s) have been changed, refresh data so we
62 - # store the correct meta data
63 - l=$(scanmacho -qyF '%a;%p;%S;%n' ${D}${obj})
64 - arch=${l%%;*}; l=${l#*;}
65 - obj="/${l%%;*}"; l=${l#*;}
66 - install_name=${l%%;*}; l=${l#*;}
67 - needed=${l%%;*}; l=${l#*;}
68 - fi
69
70 # backwards compatability
71 echo "${obj} ${needed}" >> "${PORTAGE_BUILDDIR}"/build-info/NEEDED