Magellan Linux

Annotation of /branches/mage-next/src/tools/autodepend.in

Parent Directory Parent Directory | Revision Log 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)
-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:'