#!/bin/sh

usage() {
	echo >&2 "Usage: chrapt stable|unstable apt-get|apt-cache args"
	echo >&2 "   (can abbr. chroot name to first 2 letters or -X)"
	exit 1
}

if [ $# -lt 3 ]; then usage; fi

case "$1" in
	-s|st|stable )
		DIST=stable ;;
	-f|fr|frozen )
		DIST=frozen ;;
	-u|un|unstable )
		DIST=unstable ;;
	 * )
		usage ;;
esac
shift

# see if the chroot root directory is set in environment, else use default
if [ ! -z "$SBUILD_CHROOT_ROOT" ]; then
	CHROOT_ROOT=$SBUILD_CHROOT_ROOT
else
   	CHROOT_ROOT=/usr/local/chroot
fi
CHROOT=$CHROOT_ROOT/$DIST

if [ ! -d $CHROOT ]; then
	echo >&2 "..no such directory: $CHROOT"
	exit 1
fi

# FHS change, potato -> woody
if [ -d $CHROOT/var/lib/apt/lists ]; then
	APTDIR=lib
else
	APTDIR=state
fi

cmd=$1
shift
exec sudo $cmd \
	-o Dir::State=$CHROOT/var/$APTDIR/apt \
	-o Dir::State::status=$CHROOT/var/lib/dpkg/status \
	-o Dir::Cache=$CHROOT/var/cache/apt \
	-o Dir::Etc=$CHROOT/etc/apt \
	-o DPkg::Options::=--root=$CHROOT \
	-o DPkg::Run-Directory=$CHROOT \
	"$@"
