Gentoo Archives: gentoo-commits

From: Thomas Sachau <tommy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:multilib commit in: bin/
Date: Thu, 17 Nov 2011 17:59:38
Message-Id: 1293e045ad66ca676a7e330bce668819c7c2fdf7.tommy@gentoo
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"