1 |
commit: 1293e045ad66ca676a7e330bce668819c7c2fdf7 |
2 |
Author: Nathan Phillip Brink <binki <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Nov 17 01:03:47 2011 +0000 |
4 |
Commit: Thomas Sachau <tommy <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Nov 17 17:59:13 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=1293e045 |
7 |
|
8 |
Treat symlinks in /usr/include more carefully by not removing them when diff(1) thinks they are different. |
9 |
|
10 |
This change recognizes that symlinks can be valid even when they are |
11 |
pointing to files that are nonexistent. When portage-multilib is |
12 |
merging /usr/include, the situation of the link targets disappearing |
13 |
is expected. |
14 |
|
15 |
This fixes invalid installation of media-libs/openjpeg-1.4-r1 on |
16 |
portage-multilib. |
17 |
|
18 |
--- |
19 |
bin/auto-multilib.sh | 13 ++++++++++--- |
20 |
1 files changed, 10 insertions(+), 3 deletions(-) |
21 |
|
22 |
diff --git a/bin/auto-multilib.sh b/bin/auto-multilib.sh |
23 |
index b268b24..aa65d39 100755 |
24 |
--- a/bin/auto-multilib.sh |
25 |
+++ b/bin/auto-multilib.sh |
26 |
@@ -337,9 +337,16 @@ _finalize_abi_install() { |
27 |
if use multilib_abi_"${DEFAULT_ABI}" ; then |
28 |
cd "${base}${dir}/gentoo-multilib/${DEFAULT_ABI}" || die |
29 |
for i in $(find . -type l ; find . -type f); do |
30 |
- for diffabi in ${ALTERNATE_ABIS}; do |
31 |
- diff -q "${i}" ../${diffabi}/"${i}" >/dev/null || files_differ=1 |
32 |
- done |
33 |
+ # Ignore symbolic links, they can't be |
34 |
+ # ABI-ized and diff is confused when the |
35 |
+ # link's target is removed (by this |
36 |
+ # loop). |
37 |
+ if ! [[ -L ${i} ]]; then |
38 |
+ for diffabi in ${ALTERNATE_ABIS}; do |
39 |
+ diff -q "${i}" ../${diffabi}/"${i}" >/dev/null || files_differ=1 |
40 |
+ done |
41 |
+ fi |
42 |
+ |
43 |
if [ -z "${files_differ}" ]; then |
44 |
[ -d "${D}${dir}/${i%/*}" ] || mkdir -p "${D}${dir}/${i%/*}" |
45 |
mv ${base}${dir}/gentoo-multilib/${DEFAULT_ABI}/"${i}" "${D}${dir}/${i}" || die "$DEFAULT_ABI failed" |