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 |