#!/usr/bin/bash

# ensure use of cygwin tools
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:$PATH
TAR=`which tar`
AR=`which ar`

[ -x "$TAR" ] || { echo "FATAL ERROR: no tar found"; exit 1; }
[ -x "$AR" ]  || { echo "FATAL ERROR: no 'ar' found"; exit 1; }

function showinfo() {
	EXT=$1
	NOEXT=${EXT/\.ipk/}
	($TAR -xOzf "$EXT" data.tar.gz | tar -tzf - | grep -v "/$" > "$EXT"-tmp ) 2>/dev/null || {
		($TAR -xOzf "$EXT" ./data.tar.gz | tar -tzf - | grep -v "/$" > "$EXT"-tmp ) 2>/dev/null || {
			($AR p "$EXT" data.tar.gz | tar -tzf - | grep -v "/$" > "$EXT"-tmp ) 2>/dev/null || {
				($AR p "$EXT" ./data.tar.gz | tar -tzf - | grep -v "/$" > "$EXT"-tmp ) 2>/dev/null || {
					echo "ERROR: unknown ipk format:$EXT" 1>&2
					return 1
				}
			}
		}
	}
	[ -e "$EXT-tmp" ] || { echo "ERROR: couldnt create $EXT-tmp" 1>&2; return 1; }
	echo -n "$EXT: "
	cat "$EXT"-tmp | while read LINE; do echo -n "$LINE "; done
	rm "$EXT-tmp"
	echo
}

for pkg in $@; do showinfo $pkg; ERRORS=$(($ERRORS + $?)); done;
echo "ERRORS: $ERRORS" 1>&2

