Gentoo Archives: gentoo-commits

From: "Mike Frysinger (vapier)" <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-projects commit in pax-utils: lddtree.sh
Date: Tue, 01 Dec 2009 10:17:07
Message-Id: E1NFPn7-000877-MA@stork.gentoo.org
1 vapier 09/12/01 10:17:05
2
3 Modified: lddtree.sh
4 Log:
5 cache rpath/ldso lookups when possible to speed things up
6
7 Revision Changes Path
8 1.6 pax-utils/lddtree.sh
9
10 file : http://sources.gentoo.org/viewcvs.py/gentoo-projects/pax-utils/lddtree.sh?rev=1.6&view=markup
11 plain: http://sources.gentoo.org/viewcvs.py/gentoo-projects/pax-utils/lddtree.sh?rev=1.6&content-type=text/plain
12 diff : http://sources.gentoo.org/viewcvs.py/gentoo-projects/pax-utils/lddtree.sh?r1=1.5&r2=1.6
13
14 Index: lddtree.sh
15 ===================================================================
16 RCS file: /var/cvsroot/gentoo-projects/pax-utils/lddtree.sh,v
17 retrieving revision 1.5
18 retrieving revision 1.6
19 diff -u -r1.5 -r1.6
20 --- lddtree.sh 1 Dec 2009 10:16:30 -0000 1.5
21 +++ lddtree.sh 1 Dec 2009 10:17:05 -0000 1.6
22 @@ -39,8 +39,20 @@
23 done
24 return 1
25 }
26 - check_paths "${elf}" $(scanelf -qF '#F%r' "${needed_by}") && return 0
27 - check_paths "${elf}" $(sed -e 's:^[[:space:]]*#.*::' /etc/ld.so.conf) && return 0
28 + if [[ ${__last_needed_by} != ${needed_by} ]] ; then
29 + __last_needed_by=${needed_by}
30 + __last_needed_by_rpaths=$(scanelf -qF '#F%r' "${needed_by}" | sed 's|:| |g')
31 + fi
32 + check_paths "${elf}" ${__last_needed_by_rpaths} && return 0
33 + if [[ -z ${__ldso_paths} ]] ; then
34 + if [[ -r /etc/ld.so.conf ]] ; then
35 + __ldso_paths=$(sed -e 's:^[[:space:]]*#.*::' /etc/ld.so.conf)
36 + fi
37 + : ${__ldso_paths:= }
38 + fi
39 + if [[ ${__ldso_paths} != " " ]] ; then
40 + check_paths "${elf}" ${__ldso_paths} && return 0
41 + fi
42 check_paths "${elf}" /lib* /usr/lib* /usr/local/lib* && return 0
43 fi
44 return 1