Annotation of /trunk/mage/usr/lib/mage/autodepend.sh
Parent Directory | Revision Log
Revision 2803 -
(hide annotations)
(download)
(as text)
Tue Sep 2 13:03:02 2014 UTC (9 years, 8 months ago) by niro
File MIME type: application/x-sh
File size: 966 byte(s)
Tue Sep 2 13:03:02 2014 UTC (9 years, 8 months ago) by niro
File MIME type: application/x-sh
File size: 966 byte(s)
-fixed broken use-move honor logic
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 | 2803 | local libdir |
28 | niro | 1643 | local deps |
29 | local i | ||
30 | niro | 1954 | local prefix |
31 | niro | 1643 | |
32 | for soname in ${SONAME_LIST} | ||
33 | do | ||
34 | niro | 2803 | # if /lib /lib64 are symlinks than add a prefix to honor usr-move |
35 | libdir="${soname%/*}" | ||
36 | prefix="" | ||
37 | if [[ ${libdir} = /lib ]] || [[ ${libdir} = /lib64 ]] | ||
38 | then | ||
39 | if [[ -L /lib ]] || [[ -L /lib64 ]] | ||
40 | then | ||
41 | prefix="/usr" | ||
42 | fi | ||
43 | fi | ||
44 | niro | 2039 | deps+=" $(magequery -e ${prefix}${soname})" |
45 | niro | 1643 | done |
46 | DEPNAME_LIST="$(for i in ${deps}; do echo ${i}; done | sort -u)" | ||
47 | export DEPNAME_LIST | ||
48 | } | ||
49 | |||
50 | build_soname_list | ||
51 | build_dep_list | ||
52 | |||
53 | #echo "${SONAME_LIST}" | ||
54 | niro | 1954 | echo "${DEPNAME_LIST}" | sed 's:\(.*\)-r.*:>= \1:' |
Properties
Name | Value |
---|---|
svn:executable | * |