#!/bin/busybox ash
# getDeps is based on concepts from tce-tree.sh - Copyright 2010 Brian Smith
# Licensed under GPLv2 License
# getDeps morphed from tree.sh by Robert Shingledecker - Nov 2012
. /etc/init.d/tc-functions



TCEDIR="/etc/sysconfig/tcedir"
DEBINXDIR="$TCEDIR"/import/debinx
#BUILD=`getBuild`
KERNEL=`uname -r`

getDeps()
{
        PKG=${1}
	[ -e /tmp/work/"$PKG" ] && continue
	if [ ! -f "$DEBINXDIR"/PKGEXCLUDELISTCUSTOM ]; then
		if grep -wq "^$PKG$" "$DEBINXDIR"/PKGEXCLUDELIST > /dev/null 2>&1; then
			echo "$PKG" >> /tmp/.blocked
			continue
		fi
	else
		if grep -wq "^$PKG$" "$DEBINXDIR"/PKGEXCLUDELISTCUSTOM > /dev/null 2>&1; then
			echo "$PKG" >> /tmp/.blocked
			continue
		fi
	fi
	
	echo "$PKG"
	if [ -f /tmp/work/"$PKG" ]; then
		continue
	fi
	touch /tmp/work/"$PKG"
	if grep "^Package: $PKG$" "$TCEDIR"/import/debinx/debinx.* > /dev/null 2>&1 ; then
		DEPLIST=`debGetPkgList $PKG 2>/dev/null`
		[ -s "$DEBINXDIR"/PKGADDDEP ] &&  DEPLIST="$DEPLIST `grep "^$PKG:" "$DEBINXDIR"/PKGADDDEP | cut -f2 -d: | sed "s:KERNEL:$KERNEL:g"`"
		[ -s "$DEBINXDIR"/PKGEXTRAREPODEP ] &&  DEPLIST="$DEPLIST `grep "^$PKG:" "$DEBINXDIR"/PKGEXTRAREPODEP | cut -f2 -d: | sed "s:KERNEL:$KERNEL:g"`"
	elif grep "^$PKG:" "$DEBINXDIR"/PKGPREBUILTDEP > /dev/null 2>&1; then
		DEPLIST="$DEPLIST `grep "^$PKG:" "$DEBINXDIR"/PKGPREBUILTDEP | cut -f2 -d: | sed "s:KERNEL:$KERNEL:g"`"
	else
		DEPLIST=`debGetPkgList $PKG 2>/dev/null`
		[ -s "$DEBINXDIR"/PKGADDDEP ] &&  DEPLIST="$DEPLIST `grep "^$PKG:" "$DEBINXDIR"/PKGADDDEP | cut -f2 -d: | sed "s:KERNEL:$KERNEL:g"`"
	fi
	for D in $DEPLIST; do getDeps $D; done
}

TARGET="$1"
if [ -n "$TARGET" ]; then
	[ -d /tmp/work ] || mkdir /tmp/work
        getDeps "$TARGET"
        echo
else
        echo ""
        echo "Specify package in command line:"
        echo ""
fi
