#!/bin/bash set -e # Set the textdomain for the translations using $"..." TEXTDOMAIN="apt" # Get the configuration from /etc/apt/apt.conf CLEAN="prompt" OPTS="" 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="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|/$||"` 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 STATUS=0 fi if [ x$PROMPT = "xtrue" ]; then echo $"Press [Enter] to continue." && read RES; fi exit $STATUS