Skip to content
Snippets Groups Projects
do_gatherlibs.sh 1.24 KiB
#!/bin/sh  

#
# note:  no trailing slashes, as the comparison will fail.
#
safe_dir_list="	/lib /lib/tls/i686/cmov 			\
		/usr/lib /lib/i686/cmov /lib/i386-linux-gnu 	\
		/usr/local/lib					\ 
		/usr/lib/i386-linux-gnu 			\ 
		/lib/x86_64-linux-gn				\
		/lib64 						\
		/usr/lib/x86_64-linux-gnu /lib32		\
		/lib/i386-linux-gnu/i686/cmov/			\
	"
#safe_dir_list="/lib /usr/lib"

# Add all library directories under /opt/stonesoup/dependencies if present
if [ -d "/opt/stonesoup/dependencies" ]; then
	stonesoup_dir_list=$( ( for d in `find /opt/stonesoup/dependencies/* -name 'lib*.so'`; do dirname $(realpath $d); done ) | sort | uniq | tr "\\n" " " )
	safe_dir_list="$safe_dir_list $stonesoup_dir_list"
fi

is_safe()
{
	for j in $safe_dir_list; do
		if [ $j = `dirname $1` ]; then
			return 1
		fi
	done
	return 0
}



mkdir shared_objects
rm -f shared_libs
touch shared_libs

libs=`$PEASOUP_HOME/tools/getlibs.sh a.ncexe`

if [ $? -ne 0 ]; then
	echo Failed to gather all libraries.  
	exit 1
fi

for i in  $libs
do
	is_safe $i 
	if [ $? = 0 ]; then
		echo Copying $i.
		echo `basename $i` >> shared_libs
		if [ ! -f $i ]; then
			echo Missing library fille $i
			exit 255
		fi
		cp $i shared_objects
	else
		echo "Skipping $i as it is detected as safe."
	fi
done