Contents of /trunk/mage/usr/lib/mage/autodepend.sh
Parent Directory | Revision Log
Revision 3173 -
(show annotations)
(download)
(as text)
Mon Jul 31 08:46:56 2023 UTC (9 months, 3 weeks ago) by niro
File MIME type: application/x-sh
File size: 1257 byte(s)
Mon Jul 31 08:46:56 2023 UTC (9 months, 3 weeks ago) by niro
File MIME type: application/x-sh
File size: 1257 byte(s)
-honor lib32
1 | #!/bin/bash |
2 | # $Id$ |
3 | |
4 | SCANELF="scanelf -LnyRB" |
5 | BINDIR="$1" |
6 | |
7 | if [[ -z ${BINDIR} ]] |
8 | then |
9 | echo "No \$BINDIR given" |
10 | exit 1 |
11 | fi |
12 | |
13 | 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 | local libdir |
28 | local deps |
29 | local i |
30 | local prefix |
31 | local resolved |
32 | |
33 | for soname in ${SONAME_LIST} |
34 | do |
35 | # if /lib /lib64 are symlinks than add a prefix to honor usr-move |
36 | libdir="${soname%/*}" |
37 | prefix="" |
38 | resolved="" |
39 | if [[ ${libdir} = /lib ]] || [[ ${libdir} = /lib64 ]] || [[ ${libdir} = /lib32 ]] |
40 | then |
41 | if [[ -L /lib ]] || [[ -L /lib64 ]] || [[ -L /lib32 ]] |
42 | then |
43 | prefix="/usr" |
44 | fi |
45 | fi |
46 | |
47 | resolved="$(magequery -e ${prefix}${soname})" |
48 | if [[ -z ${resolved} ]] |
49 | then |
50 | # soname in the actual build included? |
51 | if [[ -z $(find ${BINDIR} -name ${soname}) ]] |
52 | then |
53 | resolved="${prefix}${soname}:_not_found" |
54 | fi |
55 | fi |
56 | deps+=" ${resolved}" |
57 | done |
58 | DEPNAME_LIST="$(for i in ${deps}; do echo ${i}; done | sort -u)" |
59 | export DEPNAME_LIST |
60 | } |
61 | |
62 | build_soname_list |
63 | build_dep_list |
64 | |
65 | #echo "${SONAME_LIST}" |
66 | echo "${DEPNAME_LIST}" | sed 's:\(.*\)-r.*:>= \1:' |
Properties
Name | Value |
---|---|
svn:executable | * |