Gentoo Archives: gentoo-commits

From: Mike Frysinger <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/crossdev:master commit in: /
Date: Thu, 01 Mar 2012 18:43:30
Message-Id: 1330579687.97f8b65255f856e69caceb7bd40ccaa3a5e7c98b.vapier@gentoo
1 commit: 97f8b65255f856e69caceb7bd40ccaa3a5e7c98b
2 Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
3 AuthorDate: Wed Feb 29 23:03:47 2012 +0000
4 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
5 CommitDate: Thu Mar 1 05:28:07 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/crossdev.git;a=commit;h=97f8b652
7
8 crossdev: ignore collisions in build-id paths
9
10 Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org>
11
12 ---
13 crossdev | 10 ++++++++++
14 1 files changed, 10 insertions(+), 0 deletions(-)
15
16 diff --git a/crossdev b/crossdev
17 index 8979ca3..cc505bb 100755
18 --- a/crossdev
19 +++ b/crossdev
20 @@ -794,9 +794,19 @@ set_env() {
21 local pkg=$1 env=$2 output
22 shift ; shift
23
24 + # We have to ignore collisions in the build-id tree because it's
25 + # easy to create a cross-program that is the same. For example,
26 + # if we try to build gdb for both arm-eabi and cross-arm-linux-gnueabi,
27 + # then these gdb's might have the same build-id and try to install
28 + # into the same paths. Ignoring the collisions isn't great since
29 + # updating one can drop the symlink for another, but for now, it's
30 + # the best we've got without implementing reference counting on
31 + # installed paths in the PM.
32 +
33 output="env/cross-${CTARGET}/${pkg}.conf"
34 cat <<-EOF > "${output}"
35 SYMLINK_LIB=no
36 + COLLISION_IGNORE="\${COLLISION_IGNORE} /usr/lib/debug/.build-id"
37 $(printf '%b' "${env}")
38 EOF