Magellan Linux

Annotation of /trunk/mage/usr/lib/mage/autodepend.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2268 - (hide annotations) (download) (as text)
Fri Oct 25 06:48:57 2013 UTC (10 years, 6 months ago) by niro
File MIME type: application/x-sh
File size: 843 byte(s)
-fixed header
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     local deps
28     local i
29 niro 1954 local prefix
30 niro 1643
31 niro 1954 # if /lib /lib64 are symlinks than add a prefix to honor usr-move
32     if [[ -L /lib ]] || [[ -L /lib64 ]]
33     then
34     prefix="/usr"
35     fi
36    
37 niro 1643 for soname in ${SONAME_LIST}
38     do
39 niro 2039 deps+=" $(magequery -e ${prefix}${soname})"
40 niro 1643 done
41     DEPNAME_LIST="$(for i in ${deps}; do echo ${i}; done | sort -u)"
42     export DEPNAME_LIST
43     }
44    
45     build_soname_list
46     build_dep_list
47    
48     #echo "${SONAME_LIST}"
49 niro 1954 echo "${DEPNAME_LIST}" | sed 's:\(.*\)-r.*:>= \1:'

Properties

Name Value
svn:executable *