diff options
author | Daniel Robbins <drobbins@funtoo.org> | 2011-05-22 00:03:51 -0600 |
---|---|---|
committer | Daniel Robbins <drobbins@funtoo.org> | 2011-05-22 00:03:51 -0600 |
commit | 042b18e65b5483a250f556a185f4874c3f472b4e (patch) | |
tree | 5b96a454e46ca2d29da9828c635c7208a751dadc | |
parent | adding missing patch for O= fix due to my detached head (diff) | |
download | genkernel-042b18e65b5483a250f556a185f4874c3f472b4e.tar.gz genkernel-042b18e65b5483a250f556a185f4874c3f472b4e.tar.bz2 genkernel-042b18e65b5483a250f556a185f4874c3f472b4e.zip |
adding dynagrab.sh - for grabbing shared libraries required for binaries
-rwxr-xr-x | dynagrab.sh | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/dynagrab.sh b/dynagrab.sh new file mode 100755 index 00000000..ea4c4e56 --- /dev/null +++ b/dynagrab.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +linky() { + out=$1 + shift + case $1 in + */ld-linux*.so.2) + if [ ! -e $out/$1 ]; then + echo "cp $1 $out" + return + fi + ;; + esac + lib=$3 + while [ 1 ] + do + if [ -L $lib ]; then + realfile=$(readlink $lib) + echo "ln -sf $realfile $out/${lib##*/}" + lib=$(readlink -f $lib) + else + echo "cp $lib $out" + break + fi + done +} + +dynagrab() { + ldd $1 | grep -v 'linux-vdso\.so\.1' | while read line; do + linky $2 $line + done +} + +# grab all shared libs required by binary $1 and copy to destination directory $2: +dynagrab $1 $2 |