#!/bin/bash
# xls PKGS... - list files contained in PKGS (including binpkgs)
# xtree PKGS... - list files contained in PKGS (including binpkgs) in a tree-style format

PROG="${0##*/}"
FILTER="cat"

if [ "$PROG" = xtree ]; then
	if type tree >/dev/null; then
		FILTER="tree --noreport --fflinks --fromfile ."
	else
		echo "$PROG: could not find tree, falling back to xls" >&2
	fi
fi

BRANCH=$(git symbolic-ref -q --short HEAD 2>/dev/null)
if [ -n "$XBPS_HOSTDIR" ]; then
	XBPS_BINPKGS="$XBPS_HOSTDIR/binpkgs"
else
	XBPS_DISTDIR="$(xdistdir 2>/dev/null)" || XBPS_DISTDIR=.
	XBPS_BINPKGS="$XBPS_DISTDIR/hostdir/binpkgs"
fi
ADDREPO="
	--repository=$XBPS_BINPKGS/$BRANCH
	--repository=$XBPS_BINPKGS/$BRANCH/nonfree
	--repository=$XBPS_BINPKGS/$BRANCH/multilib
	--repository=$XBPS_BINPKGS/$BRANCH/multilib/nonfree
	--repository=$XBPS_BINPKGS/$BRANCH/debug
	--repository=$XBPS_BINPKGS
	--repository=$XBPS_BINPKGS/nonfree
	--repository=$XBPS_BINPKGS/multilib
	--repository=$XBPS_BINPKGS/multilib/nonfree
	--repository=$XBPS_BINPKGS/debug
"

set -o pipefail
for pkg; do
	xbps-query $ADDREPO -f $pkg | $FILTER
done
