X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/7fd9eec4e33a1afe981a7c26be78a98b8acdb0b3..1ac90757e7d31b21fca7ddf7eb48cfc548b3ffb3:/dselect/update?ds=sidebyside diff --git a/dselect/update b/dselect/update index 9195912ea..411033ca9 100755 --- a/dselect/update +++ b/dselect/update @@ -1,35 +1,48 @@ -#!/bin/sh +#!/bin/bash set -e +# Set the textdomain for the translations using $"..." +TEXTDOMAIN="apt" + # Get the configuration from /etc/apt/apt.conf +CLEAN="prompt" 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" -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` +PROMPT="false" +RES=`apt-config shell CLEAN DSelect::Clean OPTS DSelect::UpdateOptions \ + 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 # It looks slightly ugly to have a double / in the dpkg output CACHEDIR=`echo $CACHEDIR | sed -e "s|/$||"` -set +e -FAILED=0 -$APTGET $OPTS update || FAILED=1 -set -e +STATUS=1 +if $APTGET $OPTS "$APT_OPT0" "$APT_OPT1" update +then + echo $"Merging available information" + rm -f $CACHEDIR/available + $APTCACHE dumpavail > $CACHEDIR/available + $DPKG "$DPKG_OPTS" --update-avail $CACHEDIR/available + rm -f $CACHEDIR/available -echo "Merging Available information" -rm -f $CACHEDIR/available -$APTCACHE dumpavail > $CACHEDIR/available -$DPKG --update-avail $CACHEDIR/available -rm -f $CACHEDIR/available + case "$CLEAN" in + Pre-Auto|PreAuto|pre-auto) + $APTGET "$APT_OPT0" "$APT_OPT1" autoclean;; + esac + + STATUS=0 +fi -if [ $PROMPT = "yes" ]; then - echo "Press enter to continue." && read RES; +if [ x$PROMPT = "xtrue" ]; then + echo $"Press enter to continue." && read RES; fi -exit $FAILED +exit $STATUS