All pastes #824035 Raw Edit

masta

public shellscript v1 · immutable
·published 2007-12-19 19:12 UTC
rendered paste body
# wants a (list of) dir(s) as the argument(s)# returns a list of libraries on stdout.# NEVER PUT ANYTHING HERE THAT ECHOS TO STDOUT OR STDERR.ldd_dir() {        local BIN_PATH I        while :; do                [ $# -eq 0 ] && break                [ ! -d ${1} ] && continue                BIN_PATH=${1} && shift                for I in ${BIN_PATH}/* ;                        do ldd -f "%p\n" ${I} 2>/dev/null || continue                done        done | sort -u}# this requires a DESTDIR (param 1)# this uses ldd_dir() to scan DESTDIR for libs to copy.# copies libs from the base system to the DESTDIR.libcopy() {        local DESTDIR BINDIRS I        [ $# -lt "2" ] && return 255        [ -d $1 ] || return 254        DESTDIR=$1 && shift        for I in $*; do                if [ -z "${BINDIRS}" ] ;                        then    BINDIRS="${DESTDIR}/${I}"                        else    BINDIRS="${BINDIRS} ${DESTDIR}/${I}"                fi        done        shift $#        for I in `ldd_dir ${BINDIRS}`; do                cp ${VERBOPTS} -Rpf ${I} ${DESTDIR}/${I}                liblink ${I}        done        return 0}