Annotation of /branches/mage-next/src/tools/autodepend.in
Parent Directory | Revision Log
Revision 2825 -
(hide annotations)
(download)
Tue Sep 9 14:00:23 2014 UTC (9 years, 8 months ago) by niro
File size: 1105 byte(s)
Tue Sep 9 14:00:23 2014 UTC (9 years, 8 months ago) by niro
File size: 1105 byte(s)
-print sonames which where not found
1 | niro | 1643 | #!/bin/bash |
2 | niro | 2268 | # $Id$ |
3 | niro | 1643 | |
4 | niro | 1954 | SCANELF="scanelf -LnyRB" |
5 | niro | 1643 | BINDIR="$1" |
6 | |||
7 | niro | 1644 | if [[ -z ${BINDIR} ]] |
8 | then | ||
9 | echo "No \$BINDIR given" | ||
10 | exit 1 | ||
11 | fi | ||
12 | |||
13 | niro | 1643 | build_soname_list() |
14 | { | ||
15 | local sonames | ||
16 | local i | ||
17 | sonames="$(${SCANELF} ${BINDIR} | cut -d' ' -f2 | sed 's:,:\ :g')" | ||
18 | |||
19 | # now drop all duplicates | ||
20 | SONAME_LIST="$(for i in ${sonames}; do echo ${i}; done | sort -u)" | ||
21 | export SONAME_LIST | ||
22 | } | ||
23 | |||
24 | build_dep_list() | ||
25 | { | ||
26 | local soname | ||
27 | niro | 2804 | local libdir |
28 | niro | 1643 | local deps |
29 | local i | ||
30 | niro | 1954 | local prefix |
31 | niro | 2825 | local resolved |
32 | niro | 1643 | |
33 | for soname in ${SONAME_LIST} | ||
34 | do | ||
35 | niro | 2804 | # if /lib /lib64 are symlinks than add a prefix to honor usr-move |
36 | libdir="${soname%/*}" | ||
37 | prefix="" | ||
38 | niro | 2825 | resolved="" |
39 | niro | 2804 | if [[ ${libdir} = /lib ]] || [[ ${libdir} = /lib64 ]] |
40 | then | ||
41 | if [[ -L /lib ]] || [[ -L /lib64 ]] | ||
42 | then | ||
43 | prefix="/usr" | ||
44 | fi | ||
45 | fi | ||
46 | niro | 2825 | |
47 | resolved="$(magequery -e ${prefix}${soname})" | ||
48 | if [[ -z ${resolved} ]] | ||
49 | then | ||
50 | resolved="${prefix}/${soname}:_not_found" | ||
51 | fi | ||
52 | deps+=" ${resolved}" | ||
53 | niro | 1643 | done |
54 | DEPNAME_LIST="$(for i in ${deps}; do echo ${i}; done | sort -u)" | ||
55 | export DEPNAME_LIST | ||
56 | } | ||
57 | |||
58 | build_soname_list | ||
59 | build_dep_list | ||
60 | |||
61 | #echo "${SONAME_LIST}" | ||
62 | niro | 1954 | echo "${DEPNAME_LIST}" | sed 's:\(.*\)-r.*:>= \1:' |