#!/bin/bash

exithook()
{
    true
}

SHAREDIR="$(cd $(dirname $0) && pwd)"
[ -r "${SHAREDIR}/common.sh" ] || SHAREDIR=/usr/share/apt-zip
. "${SHAREDIR}/common.sh"

check_medium
az_mount

APTZIPINSFILE="${MEDIUM}/${APTZIPINSFILE}"

if [ -r "${APTZIPINSFILE}" ] ; then
    . "${APTZIPINSFILE}"
else
    [ -z "$PACKAGES" -a -z "$APTGETACTION" ] &&
        error "There is no ${APTZIPINSFILE} file. Set --aptgetaction or --packages instead."
fi

[ -z "$PACKAGES" ] && PACKAGES=${DEF_PACKAGES}
[ -z "$APTGETACTION" ] && APTGETACTION=${DEF_APTGETACTION}
[ -z "$APTGETEXTRAOPTS" ] && APTGETEXTRAOPTS=${DEF_APTGETEXTRAOPTS}

if [ -r "${MEDIUM}/${APTZIPTARFILE}" ]
then
    if [ "$APTGETACTION" = "update" ]
    then
        EXTRACTDIR=/var/lib/apt/lists
        echo >&2 "Uncompressing index archives..."
        (
            cd $EXTRACTDIR
            tar xvf ${MEDIUM}/${APTZIPTARFILE} |
            while read FILE
            do
              [ `basename "$FILE" .bz2` != "$FILE" ] && bunzip2 -f "$FILE"
              [ `basename "$FILE" .gz`  != "$FILE" ] && gunzip  -f "$FILE"
            done
            rm -f foo-stamp
        )
    else
        EXTRACTDIR=/var/cache/apt/archives
        echo >&2 "Unpacking tarball..."
        ( cd $EXTRACTDIR ; tar xvf ${MEDIUM}/${APTZIPTARFILE} )
    fi
else
    [ "$APTGETACTION" = "update" ] \
        && echo "Error: the \`tar' option should be set when using" \
                "\`--aptgetaction update'" \
        && exit 1
    APTGETCACHE="-o dir::cache::archives=${MEDIUM}"
fi

APTGETEXTRAOPTS="${APTGETEXTRAOPTS} ${APTGETCACHE}"

[ -n "$PACKAGES" ] && apt-get ${APTGETEXTRAOPTS} install $PACKAGES
[ -n "$APTGETACTION" ] && apt-get ${APTGETEXTRAOPTS} ${APTGETACTION}

az_umount


# vim: nowrap:ts=4:sw=4:et:tw=78

