#!/bin/sh
# $Id: functions,v 1.4 2004/02/02 12:33:03 lioka Exp $

WITHOUT_RC_COMPAT=1
# Source function library, we need absolute() at least
. /etc/init.d/functions

find_executables()
{
    local e exe
    sh --rpm-requires "$1" | sort |uniq |\
    sed -e '/^function/d' -e 's|^executable(\([^)]\+\).\+$|\1|' |\
    while read; do
	exe=$(absolute $REPLY);
	e=$(readlink -fn $exe)
	[ "$exe" != "$e" ] && echo $e
	echo $exe
    done
}

find_libraries()
{
    local l
    ldd "$1"| while read junk junk lib junk; do
	[ "$lib" == "dynamic" ] && continue
	l=$(readlink -fn $lib)
	[ "$lib" != "$l" ] && echo $l
	echo $lib
    done
}

find_shell_deps()
{
    local exe
    for exe in $(find_executables "$1"); do
	echo $exe
	find_libraries $exe
    done
}
