Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1643 by niro, Fri Jan 13 18:42:36 2012 UTC revision 2823 by niro, Tue Sep 9 13:58:54 2014 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2    # $Id$
3    
4  SCANELF="scanelf -nyRB"  SCANELF="scanelf -LnyRB"
5  BINDIR="$1"  BINDIR="$1"
6    
7    if [[ -z ${BINDIR} ]]
8    then
9     echo "No \$BINDIR given"
10     exit 1
11    fi
12    
13  build_soname_list()  build_soname_list()
14  {  {
15   local sonames   local sonames
# Line 17  build_soname_list() Line 24  build_soname_list()
24  build_dep_list()  build_dep_list()
25  {  {
26   local soname   local soname
27     local libdir
28   local deps   local deps
29   local i   local i
30     local prefix
31     local resolved
32    
33   for soname in ${SONAME_LIST}   for soname in ${SONAME_LIST}
34   do   do
35   deps+=" $(magequery -f ${soname})"   # 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 ]]
40     then
41     if [[ -L /lib ]] || [[ -L /lib64 ]]
42     then
43     prefix="/usr"
44     fi
45     fi
46    
47     resolved="$(magequery -e ${prefix}${soname})"
48     if [[ -z ${resolved} ]]
49     then
50     resolved="${prefix}/${soname}:_not_found"
51     fi
52     deps+=" ${resolved}"
53    
54   done   done
55   DEPNAME_LIST="$(for i in ${deps}; do echo ${i}; done | sort -u)"   DEPNAME_LIST="$(for i in ${deps}; do echo ${i}; done | sort -u)"
56   export DEPNAME_LIST   export DEPNAME_LIST
# Line 32  build_soname_list Line 60  build_soname_list
60  build_dep_list  build_dep_list
61    
62  #echo "${SONAME_LIST}"  #echo "${SONAME_LIST}"
63  echo  "${DEPNAME_LIST}" | sed 's:\(.*\)-r.*:>= \1:'  echo "${DEPNAME_LIST}" | sed 's:\(.*\)-r.*:>= \1:'

Legend:
Removed from v.1643  
changed lines
  Added in v.2823