X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/c217f42adc1a82c7400e85178f61bf429fea1bc4..b2e465d6d32d2dc884f58b94acb7e35f671a87fe:/dselect/update diff --git a/dselect/update b/dselect/update index 3260278b6..a61086d79 100755 --- a/dselect/update +++ b/dselect/update @@ -6,24 +6,33 @@ OPTS="-f" APTGET="/usr/bin/apt-get" APTCACHE="/usr/bin/apt-cache" DPKG="/usr/bin/dpkg" +DPKG_OPTS="--admindir=$1" +APT_OPT0="-oDir::State::status=$1/status" +APT_OPT1="-oDPkg::Options::=$DPKG_OPTS" CACHEDIR="/var/cache/apt" -PROMPT="no" +PROMPT="false" RES=`apt-config shell OPTS DSelect::UpdateOptions \ - DPKG Dir::Bin::dpkg APTGET Dir::Bin::apt-get \ - APTCACHE Dir::Bin::apt-cache CACHEDIR Dir::Cache \ - PROMPT DSelect::PromptAfterUpdate` + DPKG Dir::Bin::dpkg/f APTGET Dir::Bin::apt-get/f \ + APTCACHE Dir::Bin::apt-cache/f CACHEDIR Dir::Cache/d \ + PROMPT DSelect::PromptAfterUpdate/b` eval $RES -$APTGET $OPTS update +# It looks slightly ugly to have a double / in the dpkg output +CACHEDIR=`echo $CACHEDIR | sed -e "s|/$||"` + +set +e +FAILED=0 +$APTGET $OPTS "$APT_OPT0" "$APT_OPT1" update || FAILED=1 +set -e echo "Merging Available information" -rm -f /var/cache/apt/available +rm -f $CACHEDIR/available $APTCACHE dumpavail > $CACHEDIR/available -$DPKG --update-avail $CACHEDIR/available +$DPKG "$DPKG_OPTS" --update-avail $CACHEDIR/available rm -f $CACHEDIR/available -if [ $PROMPT == "yes" ]; then +if [ x$PROMPT = "xtrue" ]; then echo "Press enter to continue." && read RES; fi -exit 0 +exit $FAILED