#!/bin/sh
set +e # its okay to fail in these script, most of the time the apt* stuff will generate errors

local TESTDIR=$(readlink -f $(dirname $0))
. $TESTDIR/framework
BUILDDIRECTORY="${TESTDIR}/../../build/bin"

GENERATE=$1
CODENAME=$2
shift 2

WORKDIR=$(mktemp -d)
trap "rm -rf $WORKDIR" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
touch $WORKDIR/status
TMPGEN=$WORKDIR/Packages
export LANG=C

LISTOFPKGS=$(aptget install $* -t $CODENAME -so Dir::state::status=$WORKDIR/status -o Dir::Cache::archives=$WORKDIR -o pkgCacheGen::Essential=none -o APT::Immediate-Configure=0 2> /dev/null | awk '/^Inst/ {print $2}' | sed -e "s#\$#/$CODENAME#")
aptcache show $LISTOFPKGS --no-all-versions 2> /dev/null > $TMPGEN
sed -i $TMPGEN \
	-e '/^ / d' \
	-e '/^SHA1: / d' -e '/^SHA256: / d' \
	-e '/^Homepage: / d' -e '/^Tag: / d' \
	-e '/^Xul-Appid: / d' \
	-e '/^Status: / d'

if echo "$GENERATE" | grep '^status-' > /dev/null; then
	sed -i $TMPGEN -e '/^Package: / a\
Status: install ok installed' \
		-e '/^Filename: / d' -e '/^Size: / d' -e '/^MD5sum: / d'
fi

apt-sortpkgs $TMPGEN > $GENERATE