#!/bin/sh # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ # note this works for both a.out and ELF executables # it also auto-generates requirment lines for shell scripts ulimit -c 0 filelist=$(sed "s/['\"]/\\\&/g") exelist=$(echo $filelist | $XARGS file | grep ":.*executable" | cut -d: -f1 ) scriptlist=$(echo $filelist | $XARGS file | egrep ":.* (commands|script) " | cut -d: -f1 ) liblist=$(echo $filelist | $XARGS file | grep ":.*shared object" | cut -d : -f1 ) for f in $exelist; do if [ -x $f ]; then ldd $f | awk '/=>/ { print $1 }' fi done | sort -u | sed "s/['\"]/\\\&/g" | $XARGS -n 1 basename | grep -v 'libNoVersion.so' | sort -u for f in $liblist; do ldd $f | awk '/=>/ { print $1 }' done | sort -u | sed "s/['\"]/\\\&/g" | $XARGS -n 1 basename | grep -v 'libNoVersion.so' | sort -u for f in $scriptlist; do if [ -x $f ]; then head -1 $f | sed -e 's/^\#\![ ]*//' | cut -d" " -f1 fi done | sort -u #for f in $liblist $exelist ; do # objdump -p $f | awk ' # BEGIN { START=0; LIBNAME=""; } # /Version References:/ { START=1; } # /required from/ && (START==1) { # sub(/:/, "", $3); # LIBNAME=$3; # } # (START==1) && (LIBNAME!="") && ($4~/^GLIBC_*/) { print LIBNAME "(" $4 ")"; } # /^$/ { START=0; } # ' #done | sort -u