#/bin/bash

name=$(basename $(pwd))
binary=build/src/$name.so

if [ ! -f $binary ]
then
	echo "error: missing binary (did you forget to build?)"
	exit 1
fi

# Check missing libraries
missing=$(ldd $binary | grep 'not found')
if [ ! -z "$missing" ]
then
	echo "error: missing libraries"
	echo $missing | sed 's/ => not found//'
	exit 1
fi

# List libraries
libs=$(ldd $binary | sed -r -e 's_.*=> ([^ ]*) .*_\1_' -e 's_[\t ]*(/[^ ]*) .*_\1_')

# List corresponding packages
if [ -x "$(which dpkg 2>/dev/null)" ]
then
	packages="$(dpkg -S $libs 2>/dev/null | cut -f 1 -d : | sort | uniq)"
elif [ -x "$(which rpm 2>/dev/null)" ]
then
	packages="$(rpm -qf $libs 2>/dev/null | cut -f 1 -d : | sort | uniq)"
fi

# Format package list for checkinstall CLI
packages=$(echo -e $packages | sed 's/ /, /g')

echo $packages
