From ebace0167f2a5b5b62d57b288f6059743e9a2fa7 Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Mon, 20 Sep 2004 16:57:16 +0000 Subject: Add another DSelect::Clean option: pre-auto, which runs... Author: bod Date: 2001-03-13 01:45:36 GMT Add another DSelect::Clean option: pre-auto, which runs autoclean after a successful update, to provide space for downloading newer packages. --- dselect/update | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) (limited to 'dselect') diff --git a/dselect/update b/dselect/update index a61086d79..66b942bcb 100755 --- a/dselect/update +++ b/dselect/update @@ -2,6 +2,7 @@ set -e # Get the configuration from /etc/apt/apt.conf +CLEAN="prompt" OPTS="-f" APTGET="/usr/bin/apt-get" APTCACHE="/usr/bin/apt-cache" @@ -11,28 +12,34 @@ APT_OPT0="-oDir::State::status=$1/status" APT_OPT1="-oDPkg::Options::=$DPKG_OPTS" CACHEDIR="/var/cache/apt" PROMPT="false" -RES=`apt-config shell 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` +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 "$APT_OPT0" "$APT_OPT1" 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 + + case "$CLEAN" in + Pre-Auto|PreAuto|pre-auto) + $APTGET "$APT_OPT0" "$APT_OPT1" autoclean;; + esac -echo "Merging Available information" -rm -f $CACHEDIR/available -$APTCACHE dumpavail > $CACHEDIR/available -$DPKG "$DPKG_OPTS" --update-avail $CACHEDIR/available -rm -f $CACHEDIR/available + STATUS=0 +fi if [ x$PROMPT = "xtrue" ]; then echo "Press enter to continue." && read RES; fi -exit $FAILED +exit $STATUS -- cgit v1.2.3