Created
August 30, 2014 14:29
-
-
Save aarroyoc/bbb29a76a845946d8e20 to your computer and use it in GitHub Desktop.
Copy Shared Library dependencies UNIX
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Author : Hemanth.HM | |
# Email : hemanth[dot]hm[at]gmail[dot]com | |
# License : GNU GPLv3 | |
# | |
function useage() | |
{ | |
cat << EOU | |
Useage: bash $0 <path to the binary> <path to copy the dependencies> | |
EOU | |
exit 1 | |
} | |
#Validate the inputs | |
[[ $# < 2 ]] && useage | |
#Check if the paths are vaild | |
[[ ! -e $1 ]] && echo "Not a vaild input $1" && exit 1 | |
[[ -d $2 ]] || echo "No such directory $2 creating..."&& mkdir -p "$2" | |
#Get the library dependencies | |
echo "Collecting the shared library dependencies for $1..." | |
deps=$(ldd $1 | awk 'BEGIN{ORS=" "}$1~/^\//{print $1}$3~/^\//{print $3}' | sed 's/,$/\n/') | |
echo "Copying the dependencies to $2" | |
#Copy the deps | |
for dep in $deps | |
do | |
echo "Copying $dep to $2" | |
cp "$dep" "$2" | |
done | |
echo "Done!" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment